[packages/kernel] - up to 3.5.1
arekm
arekm at pld-linux.org
Thu Aug 9 23:26:03 CEST 2012
commit 6b86c8e5616f12d30b4773db2212d5214b2b1645
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Thu Aug 9 23:25:56 2012 +0200
- up to 3.5.1
kernel-small_fixes.patch | 15 +-------
kernel-vserver-2.3.patch | 91 ++++++++++++++++++++++++++++++++++++++++++++++--
kernel.spec | 4 +--
3 files changed, 92 insertions(+), 18 deletions(-)
---
diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch
index 5da7c5a..5f61c75 100644
--- a/kernel-small_fixes.patch
+++ b/kernel-small_fixes.patch
@@ -77,17 +77,4 @@ index 7a0c800..ec5ebbb 100644
/* purge any lower objects after partial_lookup */
if (bindex < orig_bstart || bindex > orig_bend) {
dput(lower_dentry);
---- linux-3.4.orig/drivers/acpi/apei/apei-base.c 2012-06-08 10:02:06.000000000 +0200
-+++ linux-3.4/drivers/acpi/apei/apei-base.c 2012-06-08 10:04:16.503779775 +0200
-@@ -586,6 +586,11 @@ static int apei_check_gar(struct acpi_ge
- }
- *access_bit_width = 1UL << (access_size_code + 2);
-
-+ /* Fixup common BIOS bug */
-+ if (bit_width == 32 && bit_offset == 0 && (*paddr & 0x03) == 0 &&
-+ *access_bit_width < 32)
-+ *access_bit_width = 32;
-+
- if ((bit_width + bit_offset) > *access_bit_width) {
- pr_warning(FW_BUG APEI_PFX
- "Invalid bit width + offset in GAR [0x%llx/%u/%u/%u/%u]\n",
+
diff --git a/kernel-vserver-2.3.patch b/kernel-vserver-2.3.patch
index 6823045..070b105 100644
--- a/kernel-vserver-2.3.patch
+++ b/kernel-vserver-2.3.patch
@@ -8415,10 +8415,10 @@ diff -NurpP --minimal linux-3.5/include/linux/net.h linux-3.5-vs2.3.4/include/li
--- linux-3.5/include/linux/net.h 2012-07-22 23:39:44.000000000 +0200
+++ linux-3.5-vs2.3.4/include/linux/net.h 2012-07-23 01:45:55.000000000 +0200
@@ -72,6 +72,7 @@ struct net;
- #define SOCK_NOSPACE 2
#define SOCK_PASSCRED 3
#define SOCK_PASSSEC 4
-+#define SOCK_USER_SOCKET 5
+ #define SOCK_EXTERNALLY_ALLOCATED 5
++#define SOCK_USER_SOCKET 6
#ifndef ARCH_HAS_SOCKET_TYPES
/**
@@ -25972,3 +25972,90 @@ diff -NurpP --minimal linux-3.5/security/selinux/hooks.c linux-3.5-vs2.3.4/secur
#include <linux/parser.h>
#include <linux/nfs_mount.h>
#include <net/ipv6.h>
+diff -NurpP --minimal linux-3.5-vs2.3.4/kernel/vserver/limit.c linux-3.5-vs2.3.4.1/kernel/vserver/limit.c
+--- linux-3.5-vs2.3.4/kernel/vserver/limit.c 2012-07-23 01:45:55.000000000 +0200
++++ linux-3.5-vs2.3.4.1/kernel/vserver/limit.c 2012-08-09 19:58:03.000000000 +0200
+@@ -258,11 +258,13 @@ int vc_rlimit_stat(struct vx_info *vxi,
+ void vx_vsi_meminfo(struct sysinfo *val)
+ {
+ #ifdef CONFIG_CGROUP_MEM_RES_CTLR
+- struct mem_cgroup *mcg = mem_cgroup_from_task(current);
++ struct mem_cgroup *mcg;
+ u64 res_limit, res_usage;
+
++ rcu_read_lock();
++ mcg = mem_cgroup_from_task(current);
+ if (!mcg)
+- return;
++ goto out;
+
+ res_limit = mem_cgroup_res_read_u64(mcg, RES_LIMIT);
+ res_usage = mem_cgroup_res_read_u64(mcg, RES_USAGE);
+@@ -273,6 +275,8 @@ void vx_vsi_meminfo(struct sysinfo *val)
+ val->bufferram = 0;
+ val->totalhigh = 0;
+ val->freehigh = 0;
++out:
++ rcu_read_unlock();
+ #endif /* CONFIG_CGROUP_MEM_RES_CTLR */
+ return;
+ }
+@@ -281,12 +285,14 @@ void vx_vsi_swapinfo(struct sysinfo *val
+ {
+ #ifdef CONFIG_CGROUP_MEM_RES_CTLR
+ #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
+- struct mem_cgroup *mcg = mem_cgroup_from_task(current);
++ struct mem_cgroup *mcg;
+ u64 res_limit, res_usage, memsw_limit, memsw_usage;
+ s64 swap_limit, swap_usage;
+
++ rcu_read_lock();
++ mcg = mem_cgroup_from_task(current);
+ if (!mcg)
+- return;
++ goto out;
+
+ res_limit = mem_cgroup_res_read_u64(mcg, RES_LIMIT);
+ res_usage = mem_cgroup_res_read_u64(mcg, RES_USAGE);
+@@ -295,7 +301,7 @@ void vx_vsi_swapinfo(struct sysinfo *val
+
+ /* memory unlimited */
+ if (res_limit == RESOURCE_MAX)
+- return;
++ goto out;
+
+ swap_limit = memsw_limit - res_limit;
+ /* we have a swap limit? */
+@@ -309,6 +315,8 @@ void vx_vsi_swapinfo(struct sysinfo *val
+ /* total shown minus usage gives free swap */
+ val->freeswap = (swap_usage < swap_limit) ?
+ val->totalswap - (swap_usage >> PAGE_SHIFT) : 0;
++out:
++ rcu_read_unlock();
+ #else /* !CONFIG_CGROUP_MEM_RES_CTLR_SWAP */
+ val->totalswap = 0;
+ val->freeswap = 0;
+@@ -319,12 +327,19 @@ void vx_vsi_swapinfo(struct sysinfo *val
+
+ long vx_vsi_cached(struct sysinfo *val)
+ {
++ long cache = 0;
+ #ifdef CONFIG_CGROUP_MEM_RES_CTLR
+- struct mem_cgroup *mcg = mem_cgroup_from_task(current);
++ struct mem_cgroup *mcg;
+
+- return mem_cgroup_stat_read_cache(mcg);
+-#else
+- return 0;
++ rcu_read_lock();
++ mcg = mem_cgroup_from_task(current);
++ if (!mcg)
++ goto out;
++
++ cache = mem_cgroup_stat_read_cache(mcg);
++out:
++ rcu_read_unlock();
+ #endif
++ return cache;
+ }
+
diff --git a/kernel.spec b/kernel.spec
index f196c46..b0c663e 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -91,7 +91,7 @@
%define rel 1
%define basever 3.5
-%define postver .0
+%define postver .1
# __alt_kernel is list of features, empty string if none set
# _alt kernel is defined as: %{nil}%{?alt_kernel:-%{?alt_kernel}} (defined in rpm.macros)
@@ -134,7 +134,7 @@ Source0: http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
# Source0-md5: 24153eaaa81dedc9481ada8cd9c3b83d
%if "%{postver}" != ".0"
Patch0: http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.bz2
-# Patch0-md5: aa1af1c8695c101bfb7e58664c39ffb1
+# Patch0-md5: d51e8baabbb781855f909f9dc1d00598
%endif
Source3: kernel-autoconf.h
More information about the pld-cvs-commit
mailing list