aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-grsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-12-02 10:44:47 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-12-02 10:44:47 +0000
commitaad5e5d0d1b91c39bf02d973b0085f6f3f1ab573 (patch)
tree567b3268c9943ae33629b8d43a790b1d3d7f566e /main/linux-grsec
parenta563341e4fba4c3e529d4a2c3cf91cd4e79097d0 (diff)
downloadaports-aad5e5d0d1b91c39bf02d973b0085f6f3f1ab573.tar.bz2
aports-aad5e5d0d1b91c39bf02d973b0085f6f3f1ab573.tar.xz
main/linux-grsec: upgrade to 3.10.21
Diffstat (limited to 'main/linux-grsec')
-rw-r--r--main/linux-grsec/APKBUILD14
-rw-r--r--main/linux-grsec/grsecurity-2.9.1-3.10.21-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.9.1-3.10.20-unofficial.patch)131
2 files changed, 74 insertions, 71 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 3007b4c50e..f3f8d1adcc 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.10.20
+pkgver=3.10.21
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -151,8 +151,8 @@ dev() {
}
md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz
-6762bab77ec96530b8915728f3bfb813 patch-3.10.20.xz
-f8921f35e2a0c11e7358359d90bd24d4 grsecurity-2.9.1-3.10.20-unofficial.patch
+0d7fd255ad4357b2fde3747163ef8bad patch-3.10.21.xz
+b3496a5c601613e715a5b95580503467 grsecurity-2.9.1-3.10.21-unofficial.patch
a16f11b12381efb3bec79b9bfb329836 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
656ae7b10dd2f18dbfa1011041d08d60 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
aa454ffb96428586447775c21449e284 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
@@ -164,8 +164,8 @@ b3c0153d53e508e03d73b94d15b24a96 sysctl_lxc.patch
cb5c938dccbee36cfb8bb7ee3546b8af kernelconfig.x86
daa81b89f18254155ac33c5239abf3a4 kernelconfig.x86_64"
sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz
-b6d2a828c38e2791d3490d7f05556156f4a0624cb55460631b8e2667c66527fa patch-3.10.20.xz
-7f11be19130a61aad90eb27e0205b5d729150688c35829818499df76c8d8bdae grsecurity-2.9.1-3.10.20-unofficial.patch
+245ae9f97ae4017a231d6bbecfe596429fefe029bb044818e570aadea96fb1a3 patch-3.10.21.xz
+c738ab0b2b021c01f0477ad2ab17e4d1b2226634df5c0e71493ddf8f97e53d2d grsecurity-2.9.1-3.10.21-unofficial.patch
6af3757ac36a6cd3cda7b0a71b08143726383b19261294a569ad7f4042c72df3 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
dc8e82108615657f1fb9d641efd42255a5761c06edde1b00a41ae0d314d548f0 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
0985caa0f3ee8ed0959aeaa4214f5f8057ae8e61d50dcae39194912d31e14892 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
@@ -177,8 +177,8 @@ fc613ac466610b866b721c41836fd5bfb2d4b75bceb67972dc6369d7f62ff47e 0006-ipv4-use-
3e6c4101bfb90b6a30173ef81cd0d0bea51d6a995fc045ca67db7fed271d969d kernelconfig.x86
da67ef700372d080bffb12a86f0a16c987dc79e18fdfb1a88d2704660239e5f0 kernelconfig.x86_64"
sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz
-86c61f1d18c370fb24808cda03c8fe1e33879fe5a4553f78c943ec896e2bed1e196cd9e64ab830e9e6a2f9967d7c8396a848610c44fc09d2e426814618f4deec patch-3.10.20.xz
-7e8dbb18b77adeb43fa99b1283d6101a075f0bbcc06681ae30547698778e66976ae3e7533406c7754b0337e908b88643fbcee3d55aa45073623445c4b906cb43 grsecurity-2.9.1-3.10.20-unofficial.patch
+f4e97e5c564673dd30cf403d3c87ec6ed5a41a2ee60abea765c482b5e77b18ecf68697d400ce4b7addf230f65d0c1c83a36383c9548665a0227bbbb71572531d patch-3.10.21.xz
+7d26eb703bc66a1f78d2716dce791f356f77e5de8e99cc26410be0f760da912f0b17fe2e1b2ae7308673d8afc9fa96bb87ceacf840db89da90d8d814a4bddfa8 grsecurity-2.9.1-3.10.21-unofficial.patch
81e78593288e8b0fd2c03ea9fc1450323887707f087e911f172450a122bc9b591ee83394836789730d951aeec13d0b75a64e1c05f04364abf8f80d883ddc4a02 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
51ecb15b669f6a82940a13a38939116e003bf5dfd24496771c8279e907b72adcc63d607f0340a2940d757e12ddadb7d45c7af78ae311d284935a6296dbcac00c 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
57d0a8bd35d19cf657ded58efe24517d2252aec6984040713ba173a34edb5887ececaa2985076bc6a149eaa57639fd98a042c1c2d226ed4ad8dd5ed0e230717e 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
diff --git a/main/linux-grsec/grsecurity-2.9.1-3.10.20-unofficial.patch b/main/linux-grsec/grsecurity-2.9.1-3.10.21-unofficial.patch
index ece0a705ee..c9028ba6ad 100644
--- a/main/linux-grsec/grsecurity-2.9.1-3.10.20-unofficial.patch
+++ b/main/linux-grsec/grsecurity-2.9.1-3.10.21-unofficial.patch
@@ -281,7 +281,7 @@ index 2fe6e76..889ee23 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index ba784b7..c665163 100644
+index c0635fb..d6af7ff 100644
--- a/Makefile
+++ b/Makefile
@@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -8188,10 +8188,10 @@ index 64f7bd5..8dd550f 100644
if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
-index 0f83122..c0aca6a 100644
+index 3233099..2ada67f 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
-@@ -987,7 +987,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
+@@ -995,7 +995,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka,
/* Save user registers on the stack */
frame = &rt_sf->uc.uc_mcontext;
addr = frame;
@@ -8479,7 +8479,7 @@ index cafad40..9cbc0fc 100644
.priority = 1 /* Must run before sched domains notifier. */
};
diff --git a/arch/powerpc/mm/slice.c b/arch/powerpc/mm/slice.c
-index 3e99c14..f00953c 100644
+index 7ce9cf3..a964087 100644
--- a/arch/powerpc/mm/slice.c
+++ b/arch/powerpc/mm/slice.c
@@ -103,7 +103,7 @@ static int slice_area_is_free(struct mm_struct *mm, unsigned long addr,
@@ -22753,7 +22753,7 @@ index 7272089..0b74104 100644
/*
* End of kprobes section
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
-index 42a392a..fbbd930 100644
+index d4bdd25..912664c 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -105,6 +105,8 @@ ftrace_modify_code_direct(unsigned long ip, unsigned const char *old_code,
@@ -22783,7 +22783,7 @@ index 42a392a..fbbd930 100644
new = ftrace_call_replace(ip, (unsigned long)func);
ret = ftrace_modify_code(ip, old, new);
}
-@@ -279,7 +281,7 @@ static int ftrace_write(unsigned long ip, const char *val, int size)
+@@ -291,7 +293,7 @@ static int ftrace_write(unsigned long ip, const char *val, int size)
* kernel identity mapping to modify code.
*/
if (within(ip, (unsigned long)_text, (unsigned long)_etext))
@@ -22792,7 +22792,7 @@ index 42a392a..fbbd930 100644
return probe_kernel_write((void *)ip, val, size);
}
-@@ -289,7 +291,7 @@ static int add_break(unsigned long ip, const char *old)
+@@ -301,7 +303,7 @@ static int add_break(unsigned long ip, const char *old)
unsigned char replaced[MCOUNT_INSN_SIZE];
unsigned char brk = BREAKPOINT_INSTRUCTION;
@@ -22801,7 +22801,7 @@ index 42a392a..fbbd930 100644
return -EFAULT;
/* Make sure it is what we expect it to be */
-@@ -637,7 +639,7 @@ ftrace_modify_code(unsigned long ip, unsigned const char *old_code,
+@@ -649,7 +651,7 @@ ftrace_modify_code(unsigned long ip, unsigned const char *old_code,
return ret;
fail_update:
@@ -22810,7 +22810,7 @@ index 42a392a..fbbd930 100644
goto out;
}
-@@ -670,6 +672,8 @@ static int ftrace_mod_jmp(unsigned long ip,
+@@ -682,6 +684,8 @@ static int ftrace_mod_jmp(unsigned long ip,
{
unsigned char code[MCOUNT_INSN_SIZE];
@@ -24760,7 +24760,7 @@ index 6c483ba..d10ce2f 100644
static struct dma_map_ops swiotlb_dma_ops = {
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
-index 81a5f5e..20f8b58 100644
+index 59b9037..047a1ef 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -36,7 +36,8 @@
@@ -26854,7 +26854,7 @@ index a20ecb5..d0e2194 100644
out:
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
-index 5953dce..f11a7d2 100644
+index 5484d54..d5f90d0 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -329,6 +329,7 @@ static void invalidate_registers(struct x86_emulate_ctxt *ctxt)
@@ -35093,10 +35093,10 @@ index 7586544..636a2f0 100644
if (err)
return err;
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
-index eb133c7..f571552 100644
+index 4056d31..ef54bc1 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
-@@ -994,7 +994,7 @@ static int acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
+@@ -968,7 +968,7 @@ static int acpi_processor_setup_cpuidle_states(struct acpi_processor *pr)
{
int i, count = CPUIDLE_DRIVER_STATE_START;
struct acpi_processor_cx *cx;
@@ -36854,7 +36854,7 @@ index 4222aff..1f79506 100644
static struct asender_cmd asender_tbl[] = {
[P_PING] = { 0, got_Ping },
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index d92d50f..a7e9d97 100644
+index 0055973..4c768a6 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -232,7 +232,7 @@ static int __do_lo_send_write(struct file *file,
@@ -38316,7 +38316,7 @@ index 94a58a0..f5eba42 100644
container_of(_dev_attr, struct dmi_device_attribute, dev_attr)
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c
-index b95159b..841ae55 100644
+index eb760a2..d71c868 100644
--- a/drivers/firmware/dmi_scan.c
+++ b/drivers/firmware/dmi_scan.c
@@ -497,11 +497,6 @@ void __init dmi_scan_machine(void)
@@ -38331,7 +38331,7 @@ index b95159b..841ae55 100644
p = dmi_ioremap(0xF0000, 0x10000);
if (p == NULL)
goto error;
-@@ -786,7 +781,7 @@ int dmi_walk(void (*decode)(const struct dmi_header *, void *),
+@@ -792,7 +787,7 @@ int dmi_walk(void (*decode)(const struct dmi_header *, void *),
if (buf == NULL)
return -1;
@@ -44823,7 +44823,7 @@ index 7510723..5ba37f5 100644
static inline struct rt2x00_intf* vif_to_intf(struct ieee80211_vif *vif)
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
-index d955741..8730748 100644
+index 1f17f5b..16cddd3 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -252,9 +252,9 @@ static void rt2x00queue_create_tx_descriptor_seq(struct rt2x00_dev *rt2x00dev,
@@ -48742,7 +48742,7 @@ index d3aa353..0e284af 100644
wake_up(&usb_kill_urb_queue);
usb_put_urb(urb);
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index c8b9fa0..abb8ce1 100644
+index 1424a89..62da951 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -27,6 +27,7 @@
@@ -48753,7 +48753,7 @@ index c8b9fa0..abb8ce1 100644
#include <asm/uaccess.h>
#include <asm/byteorder.h>
-@@ -4431,6 +4432,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
+@@ -4436,6 +4437,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
goto done;
return;
}
@@ -54795,10 +54795,10 @@ index 996cdc5..15e2f33 100644
return 1;
if (a < b)
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
-index 7aabc6a..34c1197 100644
+index fa38d07..acce73f 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
-@@ -1565,7 +1565,8 @@ static int configfs_readdir(struct file * filp, void * dirent, filldir_t filldir
+@@ -1577,7 +1577,8 @@ static int configfs_readdir(struct file * filp, void * dirent, filldir_t filldir
}
for (p=q->next; p!= &parent_sd->s_children; p=p->next) {
struct configfs_dirent *next;
@@ -54808,7 +54808,7 @@ index 7aabc6a..34c1197 100644
int len;
struct inode *inode = NULL;
-@@ -1575,7 +1576,12 @@ static int configfs_readdir(struct file * filp, void * dirent, filldir_t filldir
+@@ -1587,7 +1588,12 @@ static int configfs_readdir(struct file * filp, void * dirent, filldir_t filldir
continue;
name = configfs_get_name(next);
@@ -55012,7 +55012,7 @@ index e4141f2..d8263e8 100644
i += packet_length_size;
if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size))
diff --git a/fs/exec.c b/fs/exec.c
-index 1f44670..3c84660 100644
+index bb60cda..c875ac4 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -55,8 +55,20 @@
@@ -55494,7 +55494,7 @@ index 1f44670..3c84660 100644
out:
if (bprm->mm) {
acct_arg_size(bprm, 0);
-@@ -1701,3 +1875,287 @@ asmlinkage long compat_sys_execve(const char __user * filename,
+@@ -1707,3 +1881,287 @@ asmlinkage long compat_sys_execve(const char __user * filename,
return error;
}
#endif
@@ -58732,10 +58732,10 @@ index e76244e..9fe8f2f1 100644
/* Don't cache excessive amounts of data and XDR failures */
if (!statp || len > (256 >> 2)) {
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
-index baf149a..76b86ad 100644
+index 62fd661..e2a1eb7 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
-@@ -940,7 +940,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+@@ -965,7 +965,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
} else {
oldfs = get_fs();
set_fs(KERNEL_DS);
@@ -58744,7 +58744,7 @@ index baf149a..76b86ad 100644
set_fs(oldfs);
}
-@@ -1027,7 +1027,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+@@ -1052,7 +1052,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
/* Write the data. */
oldfs = get_fs(); set_fs(KERNEL_DS);
@@ -58753,7 +58753,7 @@ index baf149a..76b86ad 100644
set_fs(oldfs);
if (host_err < 0)
goto out_nfserr;
-@@ -1573,7 +1573,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
+@@ -1598,7 +1598,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp)
*/
oldfs = get_fs(); set_fs(KERNEL_DS);
@@ -73075,7 +73075,7 @@ index c1da539..1dcec55 100644
struct atmphy_ops {
int (*start)(struct atm_dev *dev);
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
-index 70cf138..0418ee2 100644
+index df97ca4..c4d4aa6 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -73,8 +73,10 @@ struct linux_binfmt {
@@ -76066,7 +76066,7 @@ index 5c76737..61f518e 100644
/*
* The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
-index b508016..237cfe5 100644
+index b3bd7e7..010fa12 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -13,7 +13,7 @@
@@ -76087,7 +76087,7 @@ index b508016..237cfe5 100644
#define HID_BUS_ANY 0xffff
#define HID_GROUP_ANY 0x0000
-@@ -465,7 +465,7 @@ struct dmi_system_id {
+@@ -466,7 +466,7 @@ struct dmi_system_id {
const char *ident;
struct dmi_strmatch matches[4];
void *driver_data;
@@ -76941,7 +76941,7 @@ index 6dacb93..6174423 100644
static inline void anon_vma_merge(struct vm_area_struct *vma,
struct vm_area_struct *next)
diff --git a/include/linux/sched.h b/include/linux/sched.h
-index 178a8d9..918ea01 100644
+index 597c8ab..a4ef49a 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -62,6 +62,7 @@ struct bio_list;
@@ -76980,7 +76980,7 @@ index 178a8d9..918ea01 100644
extern void arch_pick_mmap_layout(struct mm_struct *mm);
extern unsigned long
arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
-@@ -591,6 +604,17 @@ struct signal_struct {
+@@ -595,6 +608,17 @@ struct signal_struct {
#ifdef CONFIG_TASKSTATS
struct taskstats *stats;
#endif
@@ -76998,7 +76998,7 @@ index 178a8d9..918ea01 100644
#ifdef CONFIG_AUDIT
unsigned audit_tty;
unsigned audit_tty_log_passwd;
-@@ -671,6 +695,14 @@ struct user_struct {
+@@ -675,6 +699,14 @@ struct user_struct {
struct key *session_keyring; /* UID's default session keyring */
#endif
@@ -77013,7 +77013,7 @@ index 178a8d9..918ea01 100644
/* Hash table maintenance information */
struct hlist_node uidhash_node;
kuid_t uid;
-@@ -1158,8 +1190,8 @@ struct task_struct {
+@@ -1162,8 +1194,8 @@ struct task_struct {
struct list_head thread_group;
struct completion *vfork_done; /* for vfork() */
@@ -77024,7 +77024,7 @@ index 178a8d9..918ea01 100644
cputime_t utime, stime, utimescaled, stimescaled;
cputime_t gtime;
-@@ -1184,11 +1216,6 @@ struct task_struct {
+@@ -1188,11 +1220,6 @@ struct task_struct {
struct task_cputime cputime_expires;
struct list_head cpu_timers[3];
@@ -77036,7 +77036,7 @@ index 178a8d9..918ea01 100644
char comm[TASK_COMM_LEN]; /* executable name excluding path
- access with [gs]et_task_comm (which lock
it with task_lock())
-@@ -1205,6 +1232,10 @@ struct task_struct {
+@@ -1209,6 +1236,10 @@ struct task_struct {
#endif
/* CPU-specific state of this task */
struct thread_struct thread;
@@ -77047,7 +77047,7 @@ index 178a8d9..918ea01 100644
/* filesystem information */
struct fs_struct *fs;
/* open file information */
-@@ -1278,6 +1309,10 @@ struct task_struct {
+@@ -1282,6 +1313,10 @@ struct task_struct {
gfp_t lockdep_reclaim_gfp;
#endif
@@ -77058,7 +77058,7 @@ index 178a8d9..918ea01 100644
/* journalling filesystem info */
void *journal_info;
-@@ -1316,6 +1351,10 @@ struct task_struct {
+@@ -1320,6 +1355,10 @@ struct task_struct {
/* cg_list protected by css_set_lock and tsk->alloc_lock */
struct list_head cg_list;
#endif
@@ -77069,7 +77069,7 @@ index 178a8d9..918ea01 100644
#ifdef CONFIG_FUTEX
struct robust_list_head __user *robust_list;
#ifdef CONFIG_COMPAT
-@@ -1416,8 +1455,76 @@ struct task_struct {
+@@ -1420,8 +1459,76 @@ struct task_struct {
unsigned int sequential_io;
unsigned int sequential_io_avg;
#endif
@@ -77146,7 +77146,7 @@ index 178a8d9..918ea01 100644
/* Future-safe accessor for struct task_struct's cpus_allowed. */
#define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
-@@ -1476,7 +1583,7 @@ struct pid_namespace;
+@@ -1480,7 +1587,7 @@ struct pid_namespace;
pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
struct pid_namespace *ns);
@@ -77155,7 +77155,7 @@ index 178a8d9..918ea01 100644
{
return tsk->pid;
}
-@@ -1919,7 +2026,9 @@ void yield(void);
+@@ -1923,7 +2030,9 @@ void yield(void);
extern struct exec_domain default_exec_domain;
union thread_union {
@@ -77165,7 +77165,7 @@ index 178a8d9..918ea01 100644
unsigned long stack[THREAD_SIZE/sizeof(long)];
};
-@@ -1952,6 +2061,7 @@ extern struct pid_namespace init_pid_ns;
+@@ -1956,6 +2065,7 @@ extern struct pid_namespace init_pid_ns;
*/
extern struct task_struct *find_task_by_vpid(pid_t nr);
@@ -77173,7 +77173,7 @@ index 178a8d9..918ea01 100644
extern struct task_struct *find_task_by_pid_ns(pid_t nr,
struct pid_namespace *ns);
-@@ -2118,7 +2228,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
+@@ -2122,7 +2232,7 @@ extern void __cleanup_sighand(struct sighand_struct *);
extern void exit_itimers(struct signal_struct *);
extern void flush_itimer_signals(void);
@@ -77182,7 +77182,7 @@ index 178a8d9..918ea01 100644
extern int allow_signal(int);
extern int disallow_signal(int);
-@@ -2309,9 +2419,9 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
+@@ -2313,9 +2423,9 @@ static inline unsigned long *end_of_stack(struct task_struct *p)
#endif
@@ -77893,10 +77893,10 @@ index 7faf933..9b85a0c 100644
#ifdef CONFIG_MAGIC_SYSRQ
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
-index e7e0473..7989295 100644
+index 4ae6f32..425d3e1 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
-@@ -148,6 +148,15 @@ static inline bool test_and_clear_restore_sigmask(void)
+@@ -150,6 +150,15 @@ static inline bool test_and_clear_restore_sigmask(void)
#error "no set_restore_sigmask() provided and default one won't work"
#endif
@@ -79045,7 +79045,7 @@ index b797e8f..8e2c3aa 100644
/**
diff --git a/include/sound/compress_driver.h b/include/sound/compress_driver.h
-index 9031a26..750d592 100644
+index ae6c3b8..fd748ac 100644
--- a/include/sound/compress_driver.h
+++ b/include/sound/compress_driver.h
@@ -128,7 +128,7 @@ struct snd_compr_ops {
@@ -80146,7 +80146,7 @@ index 8c4f59b..3a3f4ff 100644
sem_params.flg = semflg;
sem_params.u.nsems = nsems;
diff --git a/ipc/shm.c b/ipc/shm.c
-index 7b87bea..fd0b9bd 100644
+index 6dc55af..30a00cf 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -72,6 +72,14 @@ static void shm_destroy (struct ipc_namespace *ns, struct shmid_kernel *shp);
@@ -80164,7 +80164,7 @@ index 7b87bea..fd0b9bd 100644
void shm_init_ns(struct ipc_namespace *ns)
{
ns->shm_ctlmax = SHMMAX;
-@@ -551,6 +559,14 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params)
+@@ -554,6 +562,14 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params)
shp->shm_lprid = 0;
shp->shm_atim = shp->shm_dtim = 0;
shp->shm_ctim = get_seconds();
@@ -80179,7 +80179,7 @@ index 7b87bea..fd0b9bd 100644
shp->shm_segsz = size;
shp->shm_nattch = 0;
shp->shm_file = file;
-@@ -604,18 +620,19 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp,
+@@ -607,18 +623,19 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp,
return 0;
}
@@ -80204,7 +80204,7 @@ index 7b87bea..fd0b9bd 100644
shm_params.key = key;
shm_params.flg = shmflg;
shm_params.u.size = size;
-@@ -1076,6 +1093,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
+@@ -1089,6 +1106,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
f_mode = FMODE_READ | FMODE_WRITE;
}
if (shmflg & SHM_EXEC) {
@@ -80217,7 +80217,7 @@ index 7b87bea..fd0b9bd 100644
prot |= PROT_EXEC;
acc_mode |= S_IXUGO;
}
-@@ -1100,10 +1123,22 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
+@@ -1113,6 +1136,15 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
if (err)
goto out_unlock;
@@ -80231,6 +80231,9 @@ index 7b87bea..fd0b9bd 100644
+#endif
+
ipc_lock_object(&shp->shm_perm);
+
+ /* check if shm_destroy() is tearing down shp */
+@@ -1125,6 +1157,9 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr,
path = shp->shm_file->f_path;
path_get(&path);
shp->shm_nattch++;
@@ -83342,10 +83345,10 @@ index 0bf4007..6234708 100644
}
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
-index 335a7ae..3bbbceb 100644
+index afadcf7..7a883f1 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
-@@ -326,7 +326,7 @@ static int ptrace_attach(struct task_struct *task, long request,
+@@ -327,7 +327,7 @@ static int ptrace_attach(struct task_struct *task, long request,
if (seize)
flags |= PT_SEIZED;
rcu_read_lock();
@@ -83354,7 +83357,7 @@ index 335a7ae..3bbbceb 100644
flags |= PT_PTRACE_CAP;
rcu_read_unlock();
task->ptrace = flags;
-@@ -537,7 +537,7 @@ int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst
+@@ -538,7 +538,7 @@ int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst
break;
return -EIO;
}
@@ -83363,7 +83366,7 @@ index 335a7ae..3bbbceb 100644
return -EFAULT;
copied += retval;
src += retval;
-@@ -805,7 +805,7 @@ int ptrace_request(struct task_struct *child, long request,
+@@ -806,7 +806,7 @@ int ptrace_request(struct task_struct *child, long request,
bool seized = child->ptrace & PT_SEIZED;
int ret = -EIO;
siginfo_t siginfo, *si;
@@ -83372,7 +83375,7 @@ index 335a7ae..3bbbceb 100644
unsigned long __user *datalp = datavp;
unsigned long flags;
-@@ -1011,14 +1011,21 @@ SYSCALL_DEFINE4(ptrace, long, request, long, pid, unsigned long, addr,
+@@ -1012,14 +1012,21 @@ SYSCALL_DEFINE4(ptrace, long, request, long, pid, unsigned long, addr,
goto out;
}
@@ -83395,7 +83398,7 @@ index 335a7ae..3bbbceb 100644
goto out_put_task_struct;
}
-@@ -1046,7 +1053,7 @@ int generic_ptrace_peekdata(struct task_struct *tsk, unsigned long addr,
+@@ -1047,7 +1054,7 @@ int generic_ptrace_peekdata(struct task_struct *tsk, unsigned long addr,
copied = access_process_vm(tsk, addr, &tmp, sizeof(tmp), 0);
if (copied != sizeof(tmp))
return -EIO;
@@ -83404,7 +83407,7 @@ index 335a7ae..3bbbceb 100644
}
int generic_ptrace_pokedata(struct task_struct *tsk, unsigned long addr,
-@@ -1140,7 +1147,7 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request,
+@@ -1141,7 +1148,7 @@ int compat_ptrace_request(struct task_struct *child, compat_long_t request,
}
asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
@@ -83413,7 +83416,7 @@ index 335a7ae..3bbbceb 100644
{
struct task_struct *child;
long ret;
-@@ -1156,14 +1163,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
+@@ -1157,14 +1164,21 @@ asmlinkage long compat_sys_ptrace(compat_long_t request, compat_long_t pid,
goto out;
}
@@ -90883,7 +90886,7 @@ index eeed4a0..bb0e9ab 100644
EXPORT_SYMBOL(kmem_cache_free);
diff --git a/mm/slub.c b/mm/slub.c
-index 57707f0..7857bd3 100644
+index c34bd44..11a3c00 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -198,7 +198,7 @@ struct track {
@@ -97069,7 +97072,7 @@ index 29b4ba9..f648ae7 100644
/* make a copy for the caller */
*handle = ctxh;
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
-index 426f8fc..1ef9c32 100644
+index 5b1bf7b..33f5f72 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1288,7 +1288,9 @@ call_start(struct rpc_task *task)
@@ -100445,7 +100448,7 @@ index 7d8803a..559f8d0 100644
list_add(&s->list, &cs4297a_devs);
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
-index 31461ba..d700d1a 100644
+index aeefec7..60de854 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -916,14 +916,10 @@ find_codec_preset(struct hda_codec *codec)