diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-07 10:03:26 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-08-07 10:03:47 +0000 |
commit | a167e9942a598a338f1c4daae7fdf2e26ce865d6 (patch) | |
tree | 60839e0879e8e42376c62dceab956d55ffcf1fc1 /main | |
parent | 1747953569f36106c1f30207067c466154ede6d4 (diff) | |
download | aports-a167e9942a598a338f1c4daae7fdf2e26ce865d6.tar.bz2 aports-a167e9942a598a338f1c4daae7fdf2e26ce865d6.tar.xz |
main/linux-vserver: upgrade to 3.4.56
Diffstat (limited to 'main')
-rw-r--r-- | main/linux-vserver/APKBUILD | 14 | ||||
-rw-r--r-- | main/linux-vserver/patch-3.4.56-vs2.3.3.9.diff (renamed from main/linux-vserver/patch-3.4.51-vs2.3.3.9.diff) | 4022 |
2 files changed, 2259 insertions, 1777 deletions
diff --git a/main/linux-vserver/APKBUILD b/main/linux-vserver/APKBUILD index 59f9ea0afc..21375df67c 100644 --- a/main/linux-vserver/APKBUILD +++ b/main/linux-vserver/APKBUILD @@ -2,7 +2,7 @@ _flavor=vserver pkgname=linux-${_flavor} -pkgver=3.4.51 +pkgver=3.4.56 pkgrel=0 _vsver=vs2.3.3.9 @@ -136,17 +136,17 @@ dev() { } md5sums="967f72983655e2479f951195953e8480 linux-3.4.tar.xz -c74052b5a413496d9182bcf8f9087403 patch-3.4.51.xz -57bf6e2df90c55df27cb345232f75a59 patch-3.4.51-vs2.3.3.9.diff +d13507089f1c81a5f00c510144ae4f2d patch-3.4.56.xz +28aca79d0c947ca90d80d96f24a020f5 patch-3.4.56-vs2.3.3.9.diff 1fce2ef2e47d19c150ab0b2df3373a57 kernelconfig.x86 b6a18f4cb2523bbd2500809e61172f8f kernelconfig.x86_64" sha256sums="ff3dee6a855873d12487a6f4070ec2f7996d073019171361c955639664baa0c6 linux-3.4.tar.xz -693b3370e84f9612357b5ecf5272930a4dfbfb7674b4f257ece42c9d122c39f5 patch-3.4.51.xz -15866fe9338fc9069ab1646149a5fb48ea1eada0d7616bd16ae5c77566ee94bc patch-3.4.51-vs2.3.3.9.diff +71980cb04968fe5141be9f370d542deb767c8c2de8b68073c25035790900cd56 patch-3.4.56.xz +9c44202e615937d338ed5be1dc2f517f3a48b9c100788a1d840aae2f98d196cd patch-3.4.56-vs2.3.3.9.diff e97b45a117671c5a87a9ba4a1f946125053eac078d297f61f9c8d4594acbf830 kernelconfig.x86 d44d1a1be3402847f540cc0cfb201deec7084b4c516e592b92e115ab3f71d4b5 kernelconfig.x86_64" sha512sums="1c49b336750c9c2b49d21e54126f22a800367296be0d57e6df28b1532cbeba7fc3bdf4cfe27d9810576e76c2db2e9c2493f0804451c915137cb78d7aa61f236c linux-3.4.tar.xz -6daa4976c680a66f9d1c0f8b8be855057cad9744353b999ea51331db7056eb6705231cdfa7075c8cbcc4439aac6ff5de9c6ca336569026029560955a5fc70b06 patch-3.4.51.xz -16bd974160323f49fe8590d3a99102f6d0f4bc34942cae6a3b0f239f96d52e51ba64435ef1e9c3ff118abc903f2e2b42ca126e29c97df9261c2623898bb955a1 patch-3.4.51-vs2.3.3.9.diff +608e165b38e6fff0341369e3793edf8675cb5d0d4b123338f446424b4fe4c52050fce2a281a3ebb7d04f45e9fc5f5c9ec9d01c407261194385f60fc35a705726 patch-3.4.56.xz +02a9cd3c7f7dd131e26a8d4512530b054d2b5c61e07995fd1fca5b1b76cbd96c4e12252866f52077626179e40040be5e8ede0af910a1915d2f64679e05e8c7e0 patch-3.4.56-vs2.3.3.9.diff f12f999c84f724a4ac20a736c7f56671e23b2a9ddce4b0576dc17d0b3e8f319f5c4bc40b58992eba75ace44148018d85de24b2516d0a83240cd0ca3803606eae kernelconfig.x86 4cf43a7fc609e9822919e5706f38c03ef72deae2eae6b7d4c4ca7f9f29bccd1f01c0d65660a0c5234df6c2123a1d0c797dbdcb57ca5559e39644704426657f3e kernelconfig.x86_64" diff --git a/main/linux-vserver/patch-3.4.51-vs2.3.3.9.diff b/main/linux-vserver/patch-3.4.56-vs2.3.3.9.diff index 3d00861f87..dead370876 100644 --- a/main/linux-vserver/patch-3.4.51-vs2.3.3.9.diff +++ b/main/linux-vserver/patch-3.4.56-vs2.3.3.9.diff @@ -1,6 +1,8 @@ -diff -NurpP --minimal linux-3.4.48/Documentation/vserver/debug.txt linux-3.4.48-vs2.3.3.9/Documentation/vserver/debug.txt ---- linux-3.4.48/Documentation/vserver/debug.txt 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/Documentation/vserver/debug.txt 2012-05-21 16:15:04.000000000 +0000 +diff --git a/Documentation/vserver/debug.txt b/Documentation/vserver/debug.txt +new file mode 100644 +index 0000000..4464a0f +--- /dev/null ++++ b/Documentation/vserver/debug.txt @@ -0,0 +1,154 @@ + +debug_cvirt: @@ -156,22 +158,23 @@ diff -NurpP --minimal linux-3.4.48/Documentation/vserver/debug.txt linux-3.4.48- + m 2^m "vx_acc_page[%5d,%s,%2d]: %5d%s" + "vx_acc_pages[%5d,%s,%2d]: %5d += %5d" + "vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d" -diff -NurpP --minimal linux-3.4.48/Makefile linux-3.4.48-vs2.3.3.9/Makefile ---- linux-3.4.48/Makefile 2013-06-13 08:59:13.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/Makefile 2013-06-13 13:08:07.000000000 +0000 +diff --git a/Makefile b/Makefile +index 2fe1f6d..a34c518 100644 +--- a/Makefile ++++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 4 --SUBLEVEL = 51 + SUBLEVEL = 56 -EXTRAVERSION = -+SUBLEVEL = 51 +EXTRAVERSION = -vs2.3.3.9 NAME = Saber-toothed Squirrel # *DOCUMENTATION* -diff -NurpP --minimal linux-3.4.48/arch/alpha/Kconfig linux-3.4.48-vs2.3.3.9/arch/alpha/Kconfig ---- linux-3.4.48/arch/alpha/Kconfig 2012-05-21 16:06:12.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/alpha/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig +index 22e58a9..743b861 100644 +--- a/arch/alpha/Kconfig ++++ b/arch/alpha/Kconfig @@ -662,6 +662,8 @@ config DUMMY_CONSOLE depends on VGA_HOSE default y @@ -181,9 +184,10 @@ diff -NurpP --minimal linux-3.4.48/arch/alpha/Kconfig linux-3.4.48-vs2.3.3.9/arc source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/entry.S linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/entry.S ---- linux-3.4.48/arch/alpha/kernel/entry.S 2010-10-21 11:06:45.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/entry.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S +index 6d159ce..eecae79 100644 +--- a/arch/alpha/kernel/entry.S ++++ b/arch/alpha/kernel/entry.S @@ -860,24 +860,15 @@ sys_getxgid: .globl sys_getxpid .ent sys_getxpid @@ -216,9 +220,10 @@ diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/entry.S linux-3.4.48-vs2.3. ret .end sys_getxpid -diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/ptrace.c ---- linux-3.4.48/arch/alpha/kernel/ptrace.c 2012-05-21 16:06:12.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/alpha/kernel/ptrace.c b/arch/alpha/kernel/ptrace.c +index 54616f4..539720c 100644 +--- a/arch/alpha/kernel/ptrace.c ++++ b/arch/alpha/kernel/ptrace.c @@ -13,6 +13,7 @@ #include <linux/user.h> #include <linux/security.h> @@ -227,9 +232,10 @@ diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/ptrace.c linux-3.4.48-vs2.3 #include <asm/uaccess.h> #include <asm/pgtable.h> -diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/systbls.S linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/systbls.S ---- linux-3.4.48/arch/alpha/kernel/systbls.S 2012-01-09 15:13:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/systbls.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S +index e534e1c..df045e4 100644 +--- a/arch/alpha/kernel/systbls.S ++++ b/arch/alpha/kernel/systbls.S @@ -446,7 +446,7 @@ sys_call_table: .quad sys_stat64 /* 425 */ .quad sys_lstat64 @@ -239,10 +245,11 @@ diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/systbls.S linux-3.4.48-vs2. .quad sys_ni_syscall /* sys_mbind */ .quad sys_ni_syscall /* sys_get_mempolicy */ .quad sys_ni_syscall /* sys_set_mempolicy */ -diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/traps.c ---- linux-3.4.48/arch/alpha/kernel/traps.c 2012-05-21 16:06:12.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/alpha/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 -@@ -184,7 +184,8 @@ die_if_kernel(char * str, struct pt_regs +diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c +index 80d987c..83c8bbb 100644 +--- a/arch/alpha/kernel/traps.c ++++ b/arch/alpha/kernel/traps.c +@@ -184,7 +184,8 @@ die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15) #ifdef CONFIG_SMP printk("CPU %d ", hard_smp_processor_id()); #endif @@ -252,9 +259,10 @@ diff -NurpP --minimal linux-3.4.48/arch/alpha/kernel/traps.c linux-3.4.48-vs2.3. dik_show_regs(regs, r9_15); add_taint(TAINT_DIE); dik_show_trace((unsigned long *)(regs+1)); -diff -NurpP --minimal linux-3.4.48/arch/arm/Kconfig linux-3.4.48-vs2.3.3.9/arch/arm/Kconfig ---- linux-3.4.48/arch/arm/Kconfig 2013-06-13 08:59:13.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/arm/Kconfig 2012-12-11 11:42:38.000000000 +0000 +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index 7fe19a3..58612a8 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig @@ -2311,6 +2311,8 @@ source "fs/Kconfig" source "arch/arm/Kconfig.debug" @@ -264,9 +272,10 @@ diff -NurpP --minimal linux-3.4.48/arch/arm/Kconfig linux-3.4.48-vs2.3.3.9/arch/ source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/calls.S linux-3.4.48-vs2.3.3.9/arch/arm/kernel/calls.S ---- linux-3.4.48/arch/arm/kernel/calls.S 2012-01-09 15:13:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/arm/kernel/calls.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S +index 463ff4a..8913128 100644 +--- a/arch/arm/kernel/calls.S ++++ b/arch/arm/kernel/calls.S @@ -322,7 +322,7 @@ /* 310 */ CALL(sys_request_key) CALL(sys_keyctl) @@ -276,9 +285,10 @@ diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/calls.S linux-3.4.48-vs2.3.3. CALL(sys_ioprio_set) /* 315 */ CALL(sys_ioprio_get) CALL(sys_inotify_init) -diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/process.c linux-3.4.48-vs2.3.3.9/arch/arm/kernel/process.c ---- linux-3.4.48/arch/arm/kernel/process.c 2013-06-13 08:59:13.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/arm/kernel/process.c 2012-09-01 08:50:48.000000000 +0000 +diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c +index 48f3624..a2ca40e 100644 +--- a/arch/arm/kernel/process.c ++++ b/arch/arm/kernel/process.c @@ -357,7 +357,8 @@ void __show_regs(struct pt_regs *regs) void show_regs(struct pt_regs * regs) { @@ -289,10 +299,11 @@ diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/process.c linux-3.4.48-vs2.3. __show_regs(regs); dump_stack(); } -diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/arm/kernel/traps.c ---- linux-3.4.48/arch/arm/kernel/traps.c 2013-06-13 08:59:13.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/arm/kernel/traps.c 2012-10-22 13:09:53.000000000 +0000 -@@ -249,8 +249,8 @@ static int __die(const char *str, int er +diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c +index a53a5a3..37938db 100644 +--- a/arch/arm/kernel/traps.c ++++ b/arch/arm/kernel/traps.c +@@ -249,8 +249,8 @@ static int __die(const char *str, int err, struct thread_info *thread, struct pt print_modules(); __show_regs(regs); @@ -303,9 +314,10 @@ diff -NurpP --minimal linux-3.4.48/arch/arm/kernel/traps.c linux-3.4.48-vs2.3.3. if (!user_mode(regs) || in_interrupt()) { dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp, -diff -NurpP --minimal linux-3.4.48/arch/cris/Kconfig linux-3.4.48-vs2.3.3.9/arch/cris/Kconfig ---- linux-3.4.48/arch/cris/Kconfig 2012-03-19 18:46:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/cris/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig +index b3abfb0..397b82e 100644 +--- a/arch/cris/Kconfig ++++ b/arch/cris/Kconfig @@ -675,6 +675,8 @@ source "drivers/staging/Kconfig" source "arch/cris/Kconfig.debug" @@ -315,9 +327,10 @@ diff -NurpP --minimal linux-3.4.48/arch/cris/Kconfig linux-3.4.48-vs2.3.3.9/arch source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/frv/kernel/kernel_thread.S linux-3.4.48-vs2.3.3.9/arch/frv/kernel/kernel_thread.S ---- linux-3.4.48/arch/frv/kernel/kernel_thread.S 2008-12-24 23:26:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/frv/kernel/kernel_thread.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/frv/kernel/kernel_thread.S b/arch/frv/kernel/kernel_thread.S +index 4531c83..fab3b42 100644 +--- a/arch/frv/kernel/kernel_thread.S ++++ b/arch/frv/kernel/kernel_thread.S @@ -37,7 +37,7 @@ kernel_thread: # start by forking the current process, but with shared VM @@ -327,9 +340,10 @@ diff -NurpP --minimal linux-3.4.48/arch/frv/kernel/kernel_thread.S linux-3.4.48- sethi.p #0xe4e4,gr9 ; second syscall arg [newsp] setlo #0xe4e4,gr9 setlos.p #0,gr10 ; third syscall arg [parent_tidptr] -diff -NurpP --minimal linux-3.4.48/arch/h8300/Kconfig linux-3.4.48-vs2.3.3.9/arch/h8300/Kconfig ---- linux-3.4.48/arch/h8300/Kconfig 2012-03-19 18:46:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/h8300/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig +index 56e890d..694dfb0 100644 +--- a/arch/h8300/Kconfig ++++ b/arch/h8300/Kconfig @@ -214,6 +214,8 @@ source "fs/Kconfig" source "arch/h8300/Kconfig.debug" @@ -339,9 +353,10 @@ diff -NurpP --minimal linux-3.4.48/arch/h8300/Kconfig linux-3.4.48-vs2.3.3.9/arc source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/ia64/Kconfig linux-3.4.48-vs2.3.3.9/arch/ia64/Kconfig ---- linux-3.4.48/arch/ia64/Kconfig 2012-03-19 18:46:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/ia64/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig +index bd72669..bd9cfe2 100644 +--- a/arch/ia64/Kconfig ++++ b/arch/ia64/Kconfig @@ -654,6 +654,8 @@ source "fs/Kconfig" source "arch/ia64/Kconfig.debug" @@ -351,9 +366,10 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/Kconfig linux-3.4.48-vs2.3.3.9/arch source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/entry.S linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/entry.S ---- linux-3.4.48/arch/ia64/kernel/entry.S 2012-03-19 18:46:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/entry.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S +index 1ccbe12..8d2c517 100644 +--- a/arch/ia64/kernel/entry.S ++++ b/arch/ia64/kernel/entry.S @@ -1714,7 +1714,7 @@ sys_call_table: data8 sys_mq_notify data8 sys_mq_getsetattr @@ -363,9 +379,10 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/entry.S linux-3.4.48-vs2.3.3 data8 sys_waitid // 1270 data8 sys_add_key data8 sys_request_key -diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/process.c linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/process.c ---- linux-3.4.48/arch/ia64/kernel/process.c 2013-06-13 08:59:14.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/process.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c +index 86d74ab..3c74e03 100644 +--- a/arch/ia64/kernel/process.c ++++ b/arch/ia64/kernel/process.c @@ -111,8 +111,8 @@ show_regs (struct pt_regs *regs) unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri; @@ -377,9 +394,10 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/process.c linux-3.4.48-vs2.3 printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n", regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(), init_utsname()->release); -diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/ptrace.c ---- linux-3.4.48/arch/ia64/kernel/ptrace.c 2012-05-21 16:06:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c +index 4265ff6..e58cc71 100644 +--- a/arch/ia64/kernel/ptrace.c ++++ b/arch/ia64/kernel/ptrace.c @@ -21,6 +21,7 @@ #include <linux/regset.h> #include <linux/elf.h> @@ -388,10 +406,11 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/ptrace.c linux-3.4.48-vs2.3. #include <asm/pgtable.h> #include <asm/processor.h> -diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/traps.c ---- linux-3.4.48/arch/ia64/kernel/traps.c 2012-05-21 16:06:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/ia64/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 -@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re +diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c +index bd42b76..1039099 100644 +--- a/arch/ia64/kernel/traps.c ++++ b/arch/ia64/kernel/traps.c +@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *regs, long err) put_cpu(); if (++die.lock_owner_depth < 3) { @@ -403,7 +422,7 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/traps.c linux-3.4.48-vs2.3.3 if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV) != NOTIFY_STOP) show_regs(regs); -@@ -324,8 +325,9 @@ handle_fpu_swa (int fp_fault, struct pt_ +@@ -324,8 +325,9 @@ handle_fpu_swa (int fp_fault, struct pt_regs *regs, unsigned long isr) if ((last.count & 15) < 5 && (ia64_fetchadd(1, &last.count, acq) & 15) < 5) { last.time = current_jiffies + 5 * HZ; printk(KERN_WARNING @@ -415,10 +434,11 @@ diff -NurpP --minimal linux-3.4.48/arch/ia64/kernel/traps.c linux-3.4.48-vs2.3.3 } } } -diff -NurpP --minimal linux-3.4.48/arch/m32r/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/m32r/kernel/traps.c ---- linux-3.4.48/arch/m32r/kernel/traps.c 2012-05-21 16:06:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/m32r/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 -@@ -195,8 +195,9 @@ static void show_registers(struct pt_reg +diff --git a/arch/m32r/kernel/traps.c b/arch/m32r/kernel/traps.c +index 3bcb207..f962486 100644 +--- a/arch/m32r/kernel/traps.c ++++ b/arch/m32r/kernel/traps.c +@@ -195,8 +195,9 @@ static void show_registers(struct pt_regs *regs) } else { printk("SPI: %08lx\n", sp); } @@ -430,9 +450,10 @@ diff -NurpP --minimal linux-3.4.48/arch/m32r/kernel/traps.c linux-3.4.48-vs2.3.3 /* * When in-kernel, we also print out the stack and code at the -diff -NurpP --minimal linux-3.4.48/arch/m68k/Kconfig linux-3.4.48-vs2.3.3.9/arch/m68k/Kconfig ---- linux-3.4.48/arch/m68k/Kconfig 2012-05-21 16:06:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/m68k/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig +index d318c60..44485f6 100644 +--- a/arch/m68k/Kconfig ++++ b/arch/m68k/Kconfig @@ -146,6 +146,8 @@ source "fs/Kconfig" source "arch/m68k/Kconfig.debug" @@ -442,9 +463,10 @@ diff -NurpP --minimal linux-3.4.48/arch/m68k/Kconfig linux-3.4.48-vs2.3.3.9/arch source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/mips/Kconfig linux-3.4.48-vs2.3.3.9/arch/mips/Kconfig ---- linux-3.4.48/arch/mips/Kconfig 2012-05-21 16:06:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig +index ce30e2f..a8b4dab 100644 +--- a/arch/mips/Kconfig ++++ b/arch/mips/Kconfig @@ -2516,6 +2516,8 @@ source "fs/Kconfig" source "arch/mips/Kconfig.debug" @@ -454,9 +476,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/Kconfig linux-3.4.48-vs2.3.3.9/arch source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/arch/mips/kernel/ptrace.c ---- linux-3.4.48/arch/mips/kernel/ptrace.c 2012-05-21 16:06:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c +index 7c24c29..794a5b0 100644 +--- a/arch/mips/kernel/ptrace.c ++++ b/arch/mips/kernel/ptrace.c @@ -25,6 +25,7 @@ #include <linux/security.h> #include <linux/audit.h> @@ -465,7 +488,7 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/ptrace.c linux-3.4.48-vs2.3. #include <asm/byteorder.h> #include <asm/cpu.h> -@@ -262,6 +263,9 @@ long arch_ptrace(struct task_struct *chi +@@ -262,6 +263,9 @@ long arch_ptrace(struct task_struct *child, long request, void __user *datavp = (void __user *) data; unsigned long __user *datalp = (void __user *) data; @@ -475,9 +498,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/ptrace.c linux-3.4.48-vs2.3. switch (request) { /* when I and D space are separate, these will need to be fixed. */ case PTRACE_PEEKTEXT: /* read word at location addr. */ -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall32-o32.S linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall32-o32.S ---- linux-3.4.48/arch/mips/kernel/scall32-o32.S 2012-01-09 15:14:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall32-o32.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S +index a632bc1..b05626a 100644 +--- a/arch/mips/kernel/scall32-o32.S ++++ b/arch/mips/kernel/scall32-o32.S @@ -523,7 +523,7 @@ einval: li v0, -ENOSYS sys sys_mq_timedreceive 5 sys sys_mq_notify 2 /* 4275 */ @@ -487,9 +511,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall32-o32.S linux-3.4.48-v sys sys_waitid 5 sys sys_ni_syscall 0 /* available, was setaltroot */ sys sys_add_key 5 /* 4280 */ -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-64.S linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-64.S ---- linux-3.4.48/arch/mips/kernel/scall64-64.S 2012-01-09 15:14:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-64.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S +index 3b5a5e9..150ff87f 100644 +--- a/arch/mips/kernel/scall64-64.S ++++ b/arch/mips/kernel/scall64-64.S @@ -362,7 +362,7 @@ sys_call_table: PTR sys_mq_timedreceive PTR sys_mq_notify @@ -499,9 +524,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-64.S linux-3.4.48-vs PTR sys_waitid PTR sys_ni_syscall /* available, was setaltroot */ PTR sys_add_key -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-n32.S linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-n32.S ---- linux-3.4.48/arch/mips/kernel/scall64-n32.S 2012-01-09 15:14:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-n32.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S +index 6be6f70..e241470 100644 +--- a/arch/mips/kernel/scall64-n32.S ++++ b/arch/mips/kernel/scall64-n32.S @@ -361,7 +361,7 @@ EXPORT(sysn32_call_table) PTR compat_sys_mq_timedreceive PTR compat_sys_mq_notify @@ -511,9 +537,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-n32.S linux-3.4.48-v PTR compat_sys_waitid PTR sys_ni_syscall /* available, was setaltroot */ PTR sys_add_key -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-o32.S linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-o32.S ---- linux-3.4.48/arch/mips/kernel/scall64-o32.S 2012-01-09 15:14:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/scall64-o32.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S +index 5422855..316be5e 100644 +--- a/arch/mips/kernel/scall64-o32.S ++++ b/arch/mips/kernel/scall64-o32.S @@ -480,7 +480,7 @@ sys_call_table: PTR compat_sys_mq_timedreceive PTR compat_sys_mq_notify /* 4275 */ @@ -523,10 +550,11 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/scall64-o32.S linux-3.4.48-v PTR sys_32_waitid PTR sys_ni_syscall /* available, was setaltroot */ PTR sys_add_key /* 4280 */ -diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/mips/kernel/traps.c ---- linux-3.4.48/arch/mips/kernel/traps.c 2012-05-21 16:06:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/mips/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 -@@ -343,9 +343,10 @@ void show_registers(struct pt_regs *regs +diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c +index cfdaaa4..6de6d34 100644 +--- a/arch/mips/kernel/traps.c ++++ b/arch/mips/kernel/traps.c +@@ -343,9 +343,10 @@ void show_registers(struct pt_regs *regs) __show_regs(regs); print_modules(); @@ -540,9 +568,10 @@ diff -NurpP --minimal linux-3.4.48/arch/mips/kernel/traps.c linux-3.4.48-vs2.3.3 if (cpu_has_userlocal) { unsigned long tls; -diff -NurpP --minimal linux-3.4.48/arch/parisc/Kconfig linux-3.4.48-vs2.3.3.9/arch/parisc/Kconfig ---- linux-3.4.48/arch/parisc/Kconfig 2012-03-19 18:46:44.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/parisc/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig +index 242a1b7..8c2c34e 100644 +--- a/arch/parisc/Kconfig ++++ b/arch/parisc/Kconfig @@ -279,6 +279,8 @@ source "fs/Kconfig" source "arch/parisc/Kconfig.debug" @@ -552,9 +581,10 @@ diff -NurpP --minimal linux-3.4.48/arch/parisc/Kconfig linux-3.4.48-vs2.3.3.9/ar source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/parisc/kernel/syscall_table.S linux-3.4.48-vs2.3.3.9/arch/parisc/kernel/syscall_table.S ---- linux-3.4.48/arch/parisc/kernel/syscall_table.S 2011-10-24 16:45:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/parisc/kernel/syscall_table.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S +index 3735abd..3f4faa3 100644 +--- a/arch/parisc/kernel/syscall_table.S ++++ b/arch/parisc/kernel/syscall_table.S @@ -361,7 +361,7 @@ ENTRY_COMP(mbind) /* 260 */ ENTRY_COMP(get_mempolicy) @@ -564,10 +594,11 @@ diff -NurpP --minimal linux-3.4.48/arch/parisc/kernel/syscall_table.S linux-3.4. ENTRY_SAME(add_key) ENTRY_SAME(request_key) /* 265 */ ENTRY_SAME(keyctl) -diff -NurpP --minimal linux-3.4.48/arch/parisc/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/parisc/kernel/traps.c ---- linux-3.4.48/arch/parisc/kernel/traps.c 2012-05-21 16:06:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/parisc/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 -@@ -235,8 +235,9 @@ void die_if_kernel(char *str, struct pt_ +diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c +index 45ba99f..f380ca3 100644 +--- a/arch/parisc/kernel/traps.c ++++ b/arch/parisc/kernel/traps.c +@@ -235,8 +235,9 @@ void die_if_kernel(char *str, struct pt_regs *regs, long err) if (err == 0) return; /* STFU */ @@ -579,7 +610,7 @@ diff -NurpP --minimal linux-3.4.48/arch/parisc/kernel/traps.c linux-3.4.48-vs2.3 #ifdef PRINT_USER_FAULTS /* XXX for debugging only */ show_regs(regs); -@@ -269,8 +270,8 @@ void die_if_kernel(char *str, struct pt_ +@@ -269,8 +270,8 @@ void die_if_kernel(char *str, struct pt_regs *regs, long err) pdc_console_restart(); if (err) @@ -590,9 +621,10 @@ diff -NurpP --minimal linux-3.4.48/arch/parisc/kernel/traps.c linux-3.4.48-vs2.3 /* Wot's wrong wif bein' racy? */ if (current->thread.flags & PARISC_KERNEL_DEATH) { -diff -NurpP --minimal linux-3.4.48/arch/parisc/mm/fault.c linux-3.4.48-vs2.3.3.9/arch/parisc/mm/fault.c ---- linux-3.4.48/arch/parisc/mm/fault.c 2010-08-02 14:52:06.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/parisc/mm/fault.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c +index 18162ce..41370f2 100644 +--- a/arch/parisc/mm/fault.c ++++ b/arch/parisc/mm/fault.c @@ -237,8 +237,9 @@ bad_area: #ifdef PRINT_USER_FAULTS @@ -605,9 +637,10 @@ diff -NurpP --minimal linux-3.4.48/arch/parisc/mm/fault.c linux-3.4.48-vs2.3.3.9 if (vma) { printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n", vma->vm_start, vma->vm_end); -diff -NurpP --minimal linux-3.4.48/arch/powerpc/Kconfig linux-3.4.48-vs2.3.3.9/arch/powerpc/Kconfig ---- linux-3.4.48/arch/powerpc/Kconfig 2012-05-21 16:06:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/powerpc/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig +index feab3ba..48c1e14 100644 +--- a/arch/powerpc/Kconfig ++++ b/arch/powerpc/Kconfig @@ -1002,6 +1002,8 @@ source "lib/Kconfig" source "arch/powerpc/Kconfig.debug" @@ -617,9 +650,10 @@ diff -NurpP --minimal linux-3.4.48/arch/powerpc/Kconfig linux-3.4.48-vs2.3.3.9/a source "security/Kconfig" config KEYS_COMPAT -diff -NurpP --minimal linux-3.4.48/arch/powerpc/include/asm/unistd.h linux-3.4.48-vs2.3.3.9/arch/powerpc/include/asm/unistd.h ---- linux-3.4.48/arch/powerpc/include/asm/unistd.h 2012-01-09 15:14:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/powerpc/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h +index d3d1b5e..c43e77b 100644 +--- a/arch/powerpc/include/asm/unistd.h ++++ b/arch/powerpc/include/asm/unistd.h @@ -275,7 +275,7 @@ #endif #define __NR_rtas 255 @@ -629,9 +663,10 @@ diff -NurpP --minimal linux-3.4.48/arch/powerpc/include/asm/unistd.h linux-3.4.4 #define __NR_migrate_pages 258 #define __NR_mbind 259 #define __NR_get_mempolicy 260 -diff -NurpP --minimal linux-3.4.48/arch/powerpc/kernel/process.c linux-3.4.48-vs2.3.3.9/arch/powerpc/kernel/process.c ---- linux-3.4.48/arch/powerpc/kernel/process.c 2013-06-13 08:59:15.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/powerpc/kernel/process.c 2012-09-16 18:49:11.000000000 +0000 +diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c +index c1aef40..f3784c8 100644 +--- a/arch/powerpc/kernel/process.c ++++ b/arch/powerpc/kernel/process.c @@ -661,8 +661,9 @@ void show_regs(struct pt_regs * regs) #else printk("DAR: "REG", DSISR: %08lx\n", regs->dar, regs->dsisr); @@ -644,10 +679,11 @@ diff -NurpP --minimal linux-3.4.48/arch/powerpc/kernel/process.c linux-3.4.48-vs #ifdef CONFIG_SMP printk(" CPU: %d", raw_smp_processor_id()); -diff -NurpP --minimal linux-3.4.48/arch/powerpc/kernel/traps.c linux-3.4.48-vs2.3.3.9/arch/powerpc/kernel/traps.c ---- linux-3.4.48/arch/powerpc/kernel/traps.c 2013-06-13 08:59:15.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/powerpc/kernel/traps.c 2013-06-13 09:46:37.000000000 +0000 -@@ -1119,8 +1119,9 @@ void nonrecoverable_exception(struct pt_ +diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c +index 3bb7197..cef967d 100644 +--- a/arch/powerpc/kernel/traps.c ++++ b/arch/powerpc/kernel/traps.c +@@ -1125,8 +1125,9 @@ void nonrecoverable_exception(struct pt_regs *regs) void trace_syscall(struct pt_regs *regs) { @@ -659,9 +695,10 @@ diff -NurpP --minimal linux-3.4.48/arch/powerpc/kernel/traps.c linux-3.4.48-vs2. regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted()); } -diff -NurpP --minimal linux-3.4.48/arch/s390/Kconfig linux-3.4.48-vs2.3.3.9/arch/s390/Kconfig ---- linux-3.4.48/arch/s390/Kconfig 2012-05-21 16:06:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/s390/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig +index 9015060..4cf4f43 100644 +--- a/arch/s390/Kconfig ++++ b/arch/s390/Kconfig @@ -639,6 +639,8 @@ source "fs/Kconfig" source "arch/s390/Kconfig.debug" @@ -671,9 +708,10 @@ diff -NurpP --minimal linux-3.4.48/arch/s390/Kconfig linux-3.4.48-vs2.3.3.9/arch source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/s390/include/asm/tlb.h linux-3.4.48-vs2.3.3.9/arch/s390/include/asm/tlb.h ---- linux-3.4.48/arch/s390/include/asm/tlb.h 2012-05-21 16:06:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/s390/include/asm/tlb.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h +index 775a5ee..451d100 100644 +--- a/arch/s390/include/asm/tlb.h ++++ b/arch/s390/include/asm/tlb.h @@ -24,6 +24,7 @@ #include <linux/mm.h> #include <linux/pagemap.h> @@ -682,9 +720,10 @@ diff -NurpP --minimal linux-3.4.48/arch/s390/include/asm/tlb.h linux-3.4.48-vs2. #include <asm/processor.h> #include <asm/pgalloc.h> #include <asm/tlbflush.h> -diff -NurpP --minimal linux-3.4.48/arch/s390/include/asm/unistd.h linux-3.4.48-vs2.3.3.9/arch/s390/include/asm/unistd.h ---- linux-3.4.48/arch/s390/include/asm/unistd.h 2012-03-19 18:46:48.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/s390/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h +index 8a8008f..7e960e3 100644 +--- a/arch/s390/include/asm/unistd.h ++++ b/arch/s390/include/asm/unistd.h @@ -202,7 +202,7 @@ #define __NR_clock_gettime (__NR_timer_create+6) #define __NR_clock_getres (__NR_timer_create+7) @@ -694,9 +733,10 @@ diff -NurpP --minimal linux-3.4.48/arch/s390/include/asm/unistd.h linux-3.4.48-v #define __NR_statfs64 265 #define __NR_fstatfs64 266 #define __NR_remap_file_pages 267 -diff -NurpP --minimal linux-3.4.48/arch/s390/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/arch/s390/kernel/ptrace.c ---- linux-3.4.48/arch/s390/kernel/ptrace.c 2012-05-21 16:06:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/s390/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c +index 02f300f..cd5677e 100644 +--- a/arch/s390/kernel/ptrace.c ++++ b/arch/s390/kernel/ptrace.c @@ -21,6 +21,7 @@ #include <linux/tracehook.h> #include <linux/seccomp.h> @@ -705,10 +745,11 @@ diff -NurpP --minimal linux-3.4.48/arch/s390/kernel/ptrace.c linux-3.4.48-vs2.3. #include <trace/syscall.h> #include <asm/segment.h> #include <asm/page.h> -diff -NurpP --minimal linux-3.4.48/arch/s390/kernel/syscalls.S linux-3.4.48-vs2.3.3.9/arch/s390/kernel/syscalls.S ---- linux-3.4.48/arch/s390/kernel/syscalls.S 2012-01-09 15:14:06.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/s390/kernel/syscalls.S 2012-05-21 16:15:04.000000000 +0000 -@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett +diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S +index bcab2f0..6aa93ca 100644 +--- a/arch/s390/kernel/syscalls.S ++++ b/arch/s390/kernel/syscalls.S +@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_settime,sys32_clock_settime_wrapper) SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */ SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper) SYSCALL(sys_clock_nanosleep,sys_clock_nanosleep,sys32_clock_nanosleep_wrapper) @@ -717,9 +758,10 @@ diff -NurpP --minimal linux-3.4.48/arch/s390/kernel/syscalls.S linux-3.4.48-vs2. SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper) SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) -diff -NurpP --minimal linux-3.4.48/arch/sh/Kconfig linux-3.4.48-vs2.3.3.9/arch/sh/Kconfig ---- linux-3.4.48/arch/sh/Kconfig 2012-05-21 16:06:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sh/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig +index ff9e033..620d659 100644 +--- a/arch/sh/Kconfig ++++ b/arch/sh/Kconfig @@ -905,6 +905,8 @@ source "fs/Kconfig" source "arch/sh/Kconfig.debug" @@ -729,9 +771,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sh/Kconfig linux-3.4.48-vs2.3.3.9/arch/s source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/sh/kernel/irq.c linux-3.4.48-vs2.3.3.9/arch/sh/kernel/irq.c ---- linux-3.4.48/arch/sh/kernel/irq.c 2011-07-22 09:17:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sh/kernel/irq.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c +index a3ee919..370c557 100644 +--- a/arch/sh/kernel/irq.c ++++ b/arch/sh/kernel/irq.c @@ -14,6 +14,7 @@ #include <linux/ftrace.h> #include <linux/delay.h> @@ -740,9 +783,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sh/kernel/irq.c linux-3.4.48-vs2.3.3.9/a #include <asm/processor.h> #include <asm/machvec.h> #include <asm/uaccess.h> -diff -NurpP --minimal linux-3.4.48/arch/sparc/Kconfig linux-3.4.48-vs2.3.3.9/arch/sparc/Kconfig ---- linux-3.4.48/arch/sparc/Kconfig 2013-06-13 08:59:15.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sparc/Kconfig 2012-06-08 13:57:24.000000000 +0000 +diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig +index 76c7ccf..123bfcf 100644 +--- a/arch/sparc/Kconfig ++++ b/arch/sparc/Kconfig @@ -599,6 +599,8 @@ source "fs/Kconfig" source "arch/sparc/Kconfig.debug" @@ -752,9 +796,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sparc/Kconfig linux-3.4.48-vs2.3.3.9/arc source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/sparc/include/asm/unistd.h linux-3.4.48-vs2.3.3.9/arch/sparc/include/asm/unistd.h ---- linux-3.4.48/arch/sparc/include/asm/unistd.h 2012-01-09 15:14:07.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sparc/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h +index c7cb0af..1f5c6d7 100644 +--- a/arch/sparc/include/asm/unistd.h ++++ b/arch/sparc/include/asm/unistd.h @@ -335,7 +335,7 @@ #define __NR_timer_getoverrun 264 #define __NR_timer_delete 265 @@ -764,9 +809,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sparc/include/asm/unistd.h linux-3.4.48- #define __NR_io_setup 268 #define __NR_io_destroy 269 #define __NR_io_submit 270 -diff -NurpP --minimal linux-3.4.48/arch/sparc/kernel/systbls_32.S linux-3.4.48-vs2.3.3.9/arch/sparc/kernel/systbls_32.S ---- linux-3.4.48/arch/sparc/kernel/systbls_32.S 2012-01-09 15:14:09.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sparc/kernel/systbls_32.S 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S +index 63402f9..317e23c 100644 +--- a/arch/sparc/kernel/systbls_32.S ++++ b/arch/sparc/kernel/systbls_32.S @@ -70,7 +70,7 @@ sys_call_table: /*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_ni_syscall /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep @@ -776,9 +822,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sparc/kernel/systbls_32.S linux-3.4.48-v /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat -diff -NurpP --minimal linux-3.4.48/arch/sparc/kernel/systbls_64.S linux-3.4.48-vs2.3.3.9/arch/sparc/kernel/systbls_64.S ---- linux-3.4.48/arch/sparc/kernel/systbls_64.S 2013-06-13 08:59:15.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/sparc/kernel/systbls_64.S 2012-06-08 13:57:24.000000000 +0000 +diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S +index 3a58e0d..a782653 100644 +--- a/arch/sparc/kernel/systbls_64.S ++++ b/arch/sparc/kernel/systbls_64.S @@ -71,7 +71,7 @@ sys_call_table32: /*250*/ .word sys_mremap, compat_sys_sysctl, sys32_getsid, sys_fdatasync, sys_nis_syscall .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep @@ -797,9 +844,10 @@ diff -NurpP --minimal linux-3.4.48/arch/sparc/kernel/systbls_64.S linux-3.4.48-v /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat -diff -NurpP --minimal linux-3.4.48/arch/um/Kconfig.rest linux-3.4.48-vs2.3.3.9/arch/um/Kconfig.rest ---- linux-3.4.48/arch/um/Kconfig.rest 2012-01-09 15:14:09.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/um/Kconfig.rest 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/um/Kconfig.rest b/arch/um/Kconfig.rest +index 567eb5f..93eb92f 100644 +--- a/arch/um/Kconfig.rest ++++ b/arch/um/Kconfig.rest @@ -12,6 +12,8 @@ source "arch/um/Kconfig.net" source "fs/Kconfig" @@ -809,9 +857,10 @@ diff -NurpP --minimal linux-3.4.48/arch/um/Kconfig.rest linux-3.4.48-vs2.3.3.9/a source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/x86/Kconfig linux-3.4.48-vs2.3.3.9/arch/x86/Kconfig ---- linux-3.4.48/arch/x86/Kconfig 2013-06-13 08:59:16.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/x86/Kconfig 2013-03-02 15:26:44.000000000 +0000 +diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig +index b1478f4..0784cf7 100644 +--- a/arch/x86/Kconfig ++++ b/arch/x86/Kconfig @@ -2221,6 +2221,8 @@ source "fs/Kconfig" source "arch/x86/Kconfig.debug" @@ -821,9 +870,10 @@ diff -NurpP --minimal linux-3.4.48/arch/x86/Kconfig linux-3.4.48-vs2.3.3.9/arch/ source "security/Kconfig" source "crypto/Kconfig" -diff -NurpP --minimal linux-3.4.48/arch/x86/syscalls/syscall_32.tbl linux-3.4.48-vs2.3.3.9/arch/x86/syscalls/syscall_32.tbl ---- linux-3.4.48/arch/x86/syscalls/syscall_32.tbl 2012-05-21 16:06:42.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/x86/syscalls/syscall_32.tbl 2012-05-21 16:15:04.000000000 +0000 +diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl +index 29f9f05..60f2ef1 100644 +--- a/arch/x86/syscalls/syscall_32.tbl ++++ b/arch/x86/syscalls/syscall_32.tbl @@ -279,7 +279,7 @@ 270 i386 tgkill sys_tgkill 271 i386 utimes sys_utimes compat_sys_utimes @@ -833,9 +883,10 @@ diff -NurpP --minimal linux-3.4.48/arch/x86/syscalls/syscall_32.tbl linux-3.4.48 274 i386 mbind sys_mbind 275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy 276 i386 set_mempolicy sys_set_mempolicy -diff -NurpP --minimal linux-3.4.48/arch/x86/syscalls/syscall_64.tbl linux-3.4.48-vs2.3.3.9/arch/x86/syscalls/syscall_64.tbl ---- linux-3.4.48/arch/x86/syscalls/syscall_64.tbl 2013-06-13 08:59:16.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/arch/x86/syscalls/syscall_64.tbl 2012-09-16 18:49:11.000000000 +0000 +diff --git a/arch/x86/syscalls/syscall_64.tbl b/arch/x86/syscalls/syscall_64.tbl +index fd1f103..cd47b1e 100644 +--- a/arch/x86/syscalls/syscall_64.tbl ++++ b/arch/x86/syscalls/syscall_64.tbl @@ -242,7 +242,7 @@ 233 common epoll_ctl sys_epoll_ctl 234 common tgkill sys_tgkill @@ -845,9 +896,10 @@ diff -NurpP --minimal linux-3.4.48/arch/x86/syscalls/syscall_64.tbl linux-3.4.48 237 common mbind sys_mbind 238 common set_mempolicy sys_set_mempolicy 239 common get_mempolicy sys_get_mempolicy -diff -NurpP --minimal linux-3.4.48/drivers/block/Kconfig linux-3.4.48-vs2.3.3.9/drivers/block/Kconfig ---- linux-3.4.48/drivers/block/Kconfig 2012-05-21 16:06:43.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/block/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig +index a796407..9bbef0b 100644 +--- a/drivers/block/Kconfig ++++ b/drivers/block/Kconfig @@ -290,6 +290,13 @@ config BLK_DEV_CRYPTOLOOP source "drivers/block/drbd/Kconfig" @@ -862,9 +914,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/Kconfig linux-3.4.48-vs2.3.3.9/ config BLK_DEV_NBD tristate "Network block device support" depends on NET -diff -NurpP --minimal linux-3.4.48/drivers/block/Makefile linux-3.4.48-vs2.3.3.9/drivers/block/Makefile ---- linux-3.4.48/drivers/block/Makefile 2012-03-19 18:46:52.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/block/Makefile 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/block/Makefile b/drivers/block/Makefile +index 5b79505..eb19a27 100644 +--- a/drivers/block/Makefile ++++ b/drivers/block/Makefile @@ -35,6 +35,7 @@ obj-$(CONFIG_VIODASD) += viodasd.o obj-$(CONFIG_BLK_DEV_SX8) += sx8.o obj-$(CONFIG_BLK_DEV_UB) += ub.o @@ -873,9 +926,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/Makefile linux-3.4.48-vs2.3.3.9 obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/ -diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/drivers/block/loop.c ---- linux-3.4.48/drivers/block/loop.c 2013-06-13 08:59:17.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/block/loop.c 2013-06-13 09:46:37.000000000 +0000 +diff --git a/drivers/block/loop.c b/drivers/block/loop.c +index 179b5b4..a718b5d 100644 +--- a/drivers/block/loop.c ++++ b/drivers/block/loop.c @@ -76,6 +76,7 @@ #include <linux/sysfs.h> #include <linux/miscdevice.h> @@ -884,7 +938,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d #include <asm/uaccess.h> -@@ -869,6 +870,7 @@ static int loop_set_fd(struct loop_devic +@@ -869,6 +870,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, lo->lo_blocksize = lo_blocksize; lo->lo_device = bdev; lo->lo_flags = lo_flags; @@ -892,7 +946,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d lo->lo_backing_file = file; lo->transfer = transfer_none; lo->ioctl = NULL; -@@ -1001,6 +1003,7 @@ static int loop_clr_fd(struct loop_devic +@@ -1006,6 +1008,7 @@ static int loop_clr_fd(struct loop_device *lo) lo->lo_sizelimit = 0; lo->lo_encrypt_key_size = 0; lo->lo_thread = NULL; @@ -900,7 +954,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE); memset(lo->lo_crypt_name, 0, LO_NAME_SIZE); memset(lo->lo_file_name, 0, LO_NAME_SIZE); -@@ -1042,7 +1045,7 @@ loop_set_status(struct loop_device *lo, +@@ -1049,7 +1052,7 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info) if (lo->lo_encrypt_key_size && lo->lo_key_owner != uid && @@ -909,7 +963,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d return -EPERM; if (lo->lo_state != Lo_bound) return -ENXIO; -@@ -1132,7 +1135,8 @@ loop_get_status(struct loop_device *lo, +@@ -1139,7 +1142,8 @@ loop_get_status(struct loop_device *lo, struct loop_info64 *info) memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE); info->lo_encrypt_type = lo->lo_encryption ? lo->lo_encryption->number : 0; @@ -919,7 +973,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d info->lo_encrypt_key_size = lo->lo_encrypt_key_size; memcpy(info->lo_encrypt_key, lo->lo_encrypt_key, lo->lo_encrypt_key_size); -@@ -1490,6 +1494,11 @@ static int lo_open(struct block_device * +@@ -1497,6 +1501,11 @@ static int lo_open(struct block_device *bdev, fmode_t mode) goto out; } @@ -931,9 +985,11 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/loop.c linux-3.4.48-vs2.3.3.9/d mutex_lock(&lo->lo_ctl_mutex); lo->lo_refcnt++; mutex_unlock(&lo->lo_ctl_mutex); -diff -NurpP --minimal linux-3.4.48/drivers/block/vroot.c linux-3.4.48-vs2.3.3.9/drivers/block/vroot.c ---- linux-3.4.48/drivers/block/vroot.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/block/vroot.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/block/vroot.c b/drivers/block/vroot.c +new file mode 100644 +index 0000000..942ad53 +--- /dev/null ++++ b/drivers/block/vroot.c @@ -0,0 +1,291 @@ +/* + * linux/drivers/block/vroot.c @@ -1226,9 +1282,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/block/vroot.c linux-3.4.48-vs2.3.3.9/ + +#endif + -diff -NurpP --minimal linux-3.4.48/drivers/infiniband/Kconfig linux-3.4.48-vs2.3.3.9/drivers/infiniband/Kconfig ---- linux-3.4.48/drivers/infiniband/Kconfig 2012-03-19 18:46:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/infiniband/Kconfig 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig +index eb0add3..bc760cb 100644 +--- a/drivers/infiniband/Kconfig ++++ b/drivers/infiniband/Kconfig @@ -39,7 +39,7 @@ config INFINIBAND_USER_MEM config INFINIBAND_ADDR_TRANS bool @@ -1238,10 +1295,11 @@ diff -NurpP --minimal linux-3.4.48/drivers/infiniband/Kconfig linux-3.4.48-vs2.3 default y source "drivers/infiniband/hw/mthca/Kconfig" -diff -NurpP --minimal linux-3.4.48/drivers/infiniband/core/addr.c linux-3.4.48-vs2.3.3.9/drivers/infiniband/core/addr.c ---- linux-3.4.48/drivers/infiniband/core/addr.c 2012-05-21 16:06:46.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/infiniband/core/addr.c 2012-05-21 16:15:04.000000000 +0000 -@@ -263,7 +263,7 @@ static int addr6_resolve(struct sockaddr +diff --git a/drivers/infiniband/core/addr.c b/drivers/infiniband/core/addr.c +index 6ef660c..409b035 100644 +--- a/drivers/infiniband/core/addr.c ++++ b/drivers/infiniband/core/addr.c +@@ -263,7 +263,7 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, if (ipv6_addr_any(&fl6.saddr)) { ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev, @@ -1250,9 +1308,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/infiniband/core/addr.c linux-3.4.48-v if (ret) goto put; -diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/drivers/md/dm-ioctl.c ---- linux-3.4.48/drivers/md/dm-ioctl.c 2013-06-13 08:59:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/md/dm-ioctl.c 2013-02-11 23:37:30.000000000 +0000 +diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c +index f011d4b..724cc20 100644 +--- a/drivers/md/dm-ioctl.c ++++ b/drivers/md/dm-ioctl.c @@ -16,6 +16,7 @@ #include <linux/dm-ioctl.h> #include <linux/hdreg.h> @@ -1261,7 +1320,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ #include <asm/uaccess.h> -@@ -106,7 +107,8 @@ static struct hash_cell *__get_name_cell +@@ -106,7 +107,8 @@ static struct hash_cell *__get_name_cell(const char *str) unsigned int h = hash_str(str); list_for_each_entry (hc, _name_buckets + h, name_list) @@ -1271,7 +1330,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ dm_get(hc->md); return hc; } -@@ -120,7 +122,8 @@ static struct hash_cell *__get_uuid_cell +@@ -120,7 +122,8 @@ static struct hash_cell *__get_uuid_cell(const char *str) unsigned int h = hash_str(str); list_for_each_entry (hc, _uuid_buckets + h, uuid_list) @@ -1281,7 +1340,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ dm_get(hc->md); return hc; } -@@ -131,13 +134,15 @@ static struct hash_cell *__get_uuid_cell +@@ -131,13 +134,15 @@ static struct hash_cell *__get_uuid_cell(const char *str) static struct hash_cell *__get_dev_cell(uint64_t dev) { struct mapped_device *md; @@ -1299,7 +1358,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ if (!hc) { dm_put(md); return NULL; -@@ -445,6 +450,9 @@ typedef int (*ioctl_fn)(struct dm_ioctl +@@ -445,6 +450,9 @@ typedef int (*ioctl_fn)(struct dm_ioctl *param, size_t param_size); static int remove_all(struct dm_ioctl *param, size_t param_size) { @@ -1309,7 +1368,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ dm_hash_remove_all(1); param->data_size = 0; return 0; -@@ -492,6 +500,8 @@ static int list_devices(struct dm_ioctl +@@ -492,6 +500,8 @@ static int list_devices(struct dm_ioctl *param, size_t param_size) */ for (i = 0; i < NUM_BUCKETS; i++) { list_for_each_entry (hc, _name_buckets + i, name_list) { @@ -1318,7 +1377,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ needed += sizeof(struct dm_name_list); needed += strlen(hc->name) + 1; needed += ALIGN_MASK; -@@ -515,6 +525,8 @@ static int list_devices(struct dm_ioctl +@@ -515,6 +525,8 @@ static int list_devices(struct dm_ioctl *param, size_t param_size) */ for (i = 0; i < NUM_BUCKETS; i++) { list_for_each_entry (hc, _name_buckets + i, name_list) { @@ -1327,7 +1386,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ if (old_nl) old_nl->next = (uint32_t) ((void *) nl - (void *) old_nl); -@@ -1624,8 +1636,8 @@ static int ctl_ioctl(uint command, struc +@@ -1624,8 +1636,8 @@ static int ctl_ioctl(uint command, struct dm_ioctl __user *user) ioctl_fn fn = NULL; size_t input_param_size; @@ -1338,9 +1397,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm-ioctl.c linux-3.4.48-vs2.3.3.9/ return -EACCES; if (_IOC_TYPE(command) != DM_IOCTL) -diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/drivers/md/dm.c ---- linux-3.4.48/drivers/md/dm.c 2013-06-13 08:59:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/md/dm.c 2012-12-08 00:53:53.000000000 +0000 +diff --git a/drivers/md/dm.c b/drivers/md/dm.c +index 32370ea..d700817 100644 +--- a/drivers/md/dm.c ++++ b/drivers/md/dm.c @@ -19,6 +19,7 @@ #include <linux/idr.h> #include <linux/hdreg.h> @@ -1357,7 +1417,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/driver unsigned long flags; -@@ -343,6 +345,7 @@ int dm_deleting_md(struct mapped_device +@@ -343,6 +345,7 @@ int dm_deleting_md(struct mapped_device *md) static int dm_blk_open(struct block_device *bdev, fmode_t mode) { struct mapped_device *md; @@ -1365,7 +1425,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/driver spin_lock(&_minor_lock); -@@ -351,18 +354,19 @@ static int dm_blk_open(struct block_devi +@@ -351,18 +354,19 @@ static int dm_blk_open(struct block_device *bdev, fmode_t mode) goto out; if (test_bit(DMF_FREEING, &md->flags) || @@ -1391,7 +1451,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/driver } static int dm_blk_close(struct gendisk *disk, fmode_t mode) -@@ -583,6 +587,14 @@ int dm_set_geometry(struct mapped_device +@@ -583,6 +587,14 @@ int dm_set_geometry(struct mapped_device *md, struct hd_geometry *geo) return 0; } @@ -1406,7 +1466,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/driver /*----------------------------------------------------------------- * CRUD START: * A more elegant soln is in the works that uses the queue -@@ -1876,6 +1888,7 @@ static struct mapped_device *alloc_dev(i +@@ -1876,6 +1888,7 @@ static struct mapped_device *alloc_dev(int minor) INIT_LIST_HEAD(&md->uevent_list); spin_lock_init(&md->uevent_lock); @@ -1414,9 +1474,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.c linux-3.4.48-vs2.3.3.9/driver md->queue = blk_alloc_queue(GFP_KERNEL); if (!md->queue) goto bad_queue; -diff -NurpP --minimal linux-3.4.48/drivers/md/dm.h linux-3.4.48-vs2.3.3.9/drivers/md/dm.h ---- linux-3.4.48/drivers/md/dm.h 2012-01-09 15:14:21.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/md/dm.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/md/dm.h b/drivers/md/dm.h +index b7dacd5..8afbf20 100644 +--- a/drivers/md/dm.h ++++ b/drivers/md/dm.h @@ -41,6 +41,8 @@ struct dm_dev_internal { struct dm_table; struct dm_md_mempools; @@ -1426,9 +1487,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/md/dm.h linux-3.4.48-vs2.3.3.9/driver /*----------------------------------------------------------------- * Internal table functions. *---------------------------------------------------------------*/ -diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/drivers/net/tun.c ---- linux-3.4.48/drivers/net/tun.c 2013-06-13 08:59:22.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/net/tun.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/drivers/net/tun.c b/drivers/net/tun.c +index c896b8f..9766b23 100644 +--- a/drivers/net/tun.c ++++ b/drivers/net/tun.c @@ -64,6 +64,7 @@ #include <linux/nsproxy.h> #include <linux/virtio_net.h> @@ -1445,7 +1507,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv struct net_device *dev; netdev_features_t set_features; -@@ -912,6 +914,7 @@ static void tun_setup(struct net_device +@@ -912,6 +914,7 @@ static void tun_setup(struct net_device *dev) tun->owner = -1; tun->group = -1; @@ -1453,7 +1515,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv dev->ethtool_ops = &tun_ethtool_ops; dev->destructor = tun_free_netdev; -@@ -1070,7 +1073,7 @@ static int tun_set_iff(struct net *net, +@@ -1070,7 +1073,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) if (((tun->owner != -1 && cred->euid != tun->owner) || (tun->group != -1 && !in_egroup_p(tun->group))) && @@ -1462,7 +1524,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv return -EPERM; err = security_tun_dev_attach(tun->socket.sk); if (err < 0) -@@ -1084,7 +1087,7 @@ static int tun_set_iff(struct net *net, +@@ -1084,7 +1087,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) char *name; unsigned long flags = 0; @@ -1471,7 +1533,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv return -EPERM; err = security_tun_dev_create(); if (err < 0) -@@ -1154,6 +1157,9 @@ static int tun_set_iff(struct net *net, +@@ -1154,6 +1157,9 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) sk->sk_destruct = tun_sock_destruct; @@ -1481,7 +1543,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv err = tun_attach(tun, file); if (err < 0) goto failed; -@@ -1337,6 +1343,16 @@ static long __tun_chr_ioctl(struct file +@@ -1337,6 +1343,16 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd, tun_debug(KERN_INFO, tun, "group set to %d\n", tun->group); break; @@ -1498,9 +1560,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/net/tun.c linux-3.4.48-vs2.3.3.9/driv case TUNSETLINK: /* Only allow setting the type when the interface is down */ if (tun->dev->flags & IFF_UP) { -diff -NurpP --minimal linux-3.4.48/drivers/tty/sysrq.c linux-3.4.48-vs2.3.3.9/drivers/tty/sysrq.c ---- linux-3.4.48/drivers/tty/sysrq.c 2012-05-21 16:07:16.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/tty/sysrq.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c +index 05728894..00e0d96 100644 +--- a/drivers/tty/sysrq.c ++++ b/drivers/tty/sysrq.c @@ -41,6 +41,7 @@ #include <linux/slab.h> #include <linux/input.h> @@ -1509,7 +1572,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/sysrq.c linux-3.4.48-vs2.3.3.9/dr #include <asm/ptrace.h> #include <asm/irq_regs.h> -@@ -398,6 +399,21 @@ static struct sysrq_key_op sysrq_unrt_op +@@ -398,6 +399,21 @@ static struct sysrq_key_op sysrq_unrt_op = { .enable_mask = SYSRQ_ENABLE_RTNICE, }; @@ -1531,7 +1594,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/sysrq.c linux-3.4.48-vs2.3.3.9/dr /* Key Operations table and lock */ static DEFINE_SPINLOCK(sysrq_key_table_lock); -@@ -452,7 +468,11 @@ static struct sysrq_key_op *sysrq_key_ta +@@ -452,7 +468,11 @@ static struct sysrq_key_op *sysrq_key_table[36] = { NULL, /* v */ &sysrq_showstate_blocked_op, /* w */ /* x: May be registered on ppc/powerpc for xmon */ @@ -1543,7 +1606,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/sysrq.c linux-3.4.48-vs2.3.3.9/dr /* y: May be registered on sparc64 for global register dump */ NULL, /* y */ &sysrq_ftrace_dump_op, /* z */ -@@ -467,6 +487,8 @@ static int sysrq_key_table_key2index(int +@@ -467,6 +487,8 @@ static int sysrq_key_table_key2index(int key) retval = key - '0'; else if ((key >= 'a') && (key <= 'z')) retval = key + 10 - 'a'; @@ -1552,9 +1615,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/sysrq.c linux-3.4.48-vs2.3.3.9/dr else retval = -1; return retval; -diff -NurpP --minimal linux-3.4.48/drivers/tty/tty_io.c linux-3.4.48-vs2.3.3.9/drivers/tty/tty_io.c ---- linux-3.4.48/drivers/tty/tty_io.c 2012-05-21 16:07:16.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/drivers/tty/tty_io.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c +index b28d635..3cf9232 100644 +--- a/drivers/tty/tty_io.c ++++ b/drivers/tty/tty_io.c @@ -104,6 +104,7 @@ #include <linux/kmod.h> @@ -1563,7 +1627,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/tty_io.c linux-3.4.48-vs2.3.3.9/d #undef TTY_DEBUG_HANGUP -@@ -2118,7 +2119,8 @@ static int tiocsti(struct tty_struct *tt +@@ -2128,7 +2129,8 @@ static int tiocsti(struct tty_struct *tty, char __user *p) char ch, mbz = 0; struct tty_ldisc *ld; @@ -1573,7 +1637,7 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/tty_io.c linux-3.4.48-vs2.3.3.9/d return -EPERM; if (get_user(ch, p)) return -EFAULT; -@@ -2406,6 +2408,7 @@ static int tiocspgrp(struct tty_struct * +@@ -2416,6 +2418,7 @@ static int tiocspgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t return -ENOTTY; if (get_user(pgrp_nr, p)) return -EFAULT; @@ -1581,9 +1645,10 @@ diff -NurpP --minimal linux-3.4.48/drivers/tty/tty_io.c linux-3.4.48-vs2.3.3.9/d if (pgrp_nr < 0) return -EINVAL; rcu_read_lock(); -diff -NurpP --minimal linux-3.4.48/fs/attr.c linux-3.4.48-vs2.3.3.9/fs/attr.c ---- linux-3.4.48/fs/attr.c 2013-06-13 08:59:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/attr.c 2012-06-28 14:45:07.000000000 +0000 +diff --git a/fs/attr.c b/fs/attr.c +index d94d1b6..465c795 100644 +--- a/fs/attr.c ++++ b/fs/attr.c @@ -14,6 +14,9 @@ #include <linux/fcntl.h> #include <linux/security.h> @@ -1594,7 +1659,7 @@ diff -NurpP --minimal linux-3.4.48/fs/attr.c linux-3.4.48-vs2.3.3.9/fs/attr.c /** * inode_change_ok - check if attribute changes to an inode are allowed -@@ -74,6 +77,10 @@ int inode_change_ok(const struct inode * +@@ -74,6 +77,10 @@ int inode_change_ok(const struct inode *inode, struct iattr *attr) return -EPERM; } @@ -1605,7 +1670,7 @@ diff -NurpP --minimal linux-3.4.48/fs/attr.c linux-3.4.48-vs2.3.3.9/fs/attr.c return 0; } EXPORT_SYMBOL(inode_change_ok); -@@ -144,6 +151,8 @@ void setattr_copy(struct inode *inode, c +@@ -144,6 +151,8 @@ void setattr_copy(struct inode *inode, const struct iattr *attr) inode->i_uid = attr->ia_uid; if (ia_valid & ATTR_GID) inode->i_gid = attr->ia_gid; @@ -1614,7 +1679,7 @@ diff -NurpP --minimal linux-3.4.48/fs/attr.c linux-3.4.48-vs2.3.3.9/fs/attr.c if (ia_valid & ATTR_ATIME) inode->i_atime = timespec_trunc(attr->ia_atime, inode->i_sb->s_time_gran); -@@ -171,7 +180,8 @@ int notify_change(struct dentry * dentry +@@ -171,7 +180,8 @@ int notify_change(struct dentry * dentry, struct iattr * attr) struct timespec now; unsigned int ia_valid = attr->ia_valid; @@ -1624,9 +1689,10 @@ diff -NurpP --minimal linux-3.4.48/fs/attr.c linux-3.4.48-vs2.3.3.9/fs/attr.c if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) return -EPERM; } -diff -NurpP --minimal linux-3.4.48/fs/block_dev.c linux-3.4.48-vs2.3.3.9/fs/block_dev.c ---- linux-3.4.48/fs/block_dev.c 2013-06-13 08:59:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/block_dev.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/block_dev.c b/fs/block_dev.c +index 319d9c7..98a5360 100644 +--- a/fs/block_dev.c ++++ b/fs/block_dev.c @@ -27,6 +27,7 @@ #include <linux/namei.h> #include <linux/log2.h> @@ -1635,7 +1701,7 @@ diff -NurpP --minimal linux-3.4.48/fs/block_dev.c linux-3.4.48-vs2.3.3.9/fs/bloc #include <asm/uaccess.h> #include "internal.h" -@@ -581,6 +582,7 @@ struct block_device *bdget(dev_t dev) +@@ -588,6 +589,7 @@ struct block_device *bdget(dev_t dev) bdev->bd_invalidated = 0; inode->i_mode = S_IFBLK; inode->i_rdev = dev; @@ -1643,7 +1709,7 @@ diff -NurpP --minimal linux-3.4.48/fs/block_dev.c linux-3.4.48-vs2.3.3.9/fs/bloc inode->i_bdev = bdev; inode->i_data.a_ops = &def_blk_aops; mapping_set_gfp_mask(&inode->i_data, GFP_USER); -@@ -627,6 +629,11 @@ EXPORT_SYMBOL(bdput); +@@ -635,6 +637,11 @@ EXPORT_SYMBOL(bdput); static struct block_device *bd_acquire(struct inode *inode) { struct block_device *bdev; @@ -1655,7 +1721,7 @@ diff -NurpP --minimal linux-3.4.48/fs/block_dev.c linux-3.4.48-vs2.3.3.9/fs/bloc spin_lock(&bdev_lock); bdev = inode->i_bdev; -@@ -637,7 +644,7 @@ static struct block_device *bd_acquire(s +@@ -645,7 +652,7 @@ static struct block_device *bd_acquire(struct inode *inode) } spin_unlock(&bdev_lock); @@ -1664,9 +1730,10 @@ diff -NurpP --minimal linux-3.4.48/fs/block_dev.c linux-3.4.48-vs2.3.3.9/fs/bloc if (bdev) { spin_lock(&bdev_lock); if (!inode->i_bdev) { -diff -NurpP --minimal linux-3.4.48/fs/btrfs/ctree.h linux-3.4.48-vs2.3.3.9/fs/btrfs/ctree.h ---- linux-3.4.48/fs/btrfs/ctree.h 2012-05-21 16:07:18.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/btrfs/ctree.h 2012-05-21 16:15:04.000000000 +0000 +diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h +index 8fd7233..7094fc9 100644 +--- a/fs/btrfs/ctree.h ++++ b/fs/btrfs/ctree.h @@ -668,11 +668,14 @@ struct btrfs_inode_item { /* modification sequence number for NFS */ __le64 sequence; @@ -1692,7 +1759,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ctree.h linux-3.4.48-vs2.3.3.9/fs/bt #define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt) #define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt) #define btrfs_test_opt(root, opt) ((root)->fs_info->mount_opt & \ -@@ -1762,6 +1767,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st +@@ -1762,6 +1767,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, struct btrfs_inode_item, block_group, 64); BTRFS_SETGET_FUNCS(inode_nlink, struct btrfs_inode_item, nlink, 32); BTRFS_SETGET_FUNCS(inode_uid, struct btrfs_inode_item, uid, 32); BTRFS_SETGET_FUNCS(inode_gid, struct btrfs_inode_item, gid, 32); @@ -1700,7 +1767,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ctree.h linux-3.4.48-vs2.3.3.9/fs/bt BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32); BTRFS_SETGET_FUNCS(inode_rdev, struct btrfs_inode_item, rdev, 64); BTRFS_SETGET_FUNCS(inode_flags, struct btrfs_inode_item, flags, 64); -@@ -1815,6 +1821,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct +@@ -1815,6 +1821,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct btrfs_extent_item, flags, 64); BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32); @@ -1711,7 +1778,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ctree.h linux-3.4.48-vs2.3.3.9/fs/bt BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8); -@@ -2959,6 +2969,7 @@ extern const struct dentry_operations bt +@@ -2959,6 +2969,7 @@ extern const struct dentry_operations btrfs_dentry_operations; long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); void btrfs_update_iflags(struct inode *inode); void btrfs_inherit_iflags(struct inode *inode, struct inode *dir); @@ -1719,9 +1786,10 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ctree.h linux-3.4.48-vs2.3.3.9/fs/bt int btrfs_defrag_file(struct inode *inode, struct file *file, struct btrfs_ioctl_defrag_range_args *range, u64 newer_than, unsigned long max_pages); -diff -NurpP --minimal linux-3.4.48/fs/btrfs/disk-io.c linux-3.4.48-vs2.3.3.9/fs/btrfs/disk-io.c ---- linux-3.4.48/fs/btrfs/disk-io.c 2012-05-21 16:07:18.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/btrfs/disk-io.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c +index a7ffc88..e664ffd 100644 +--- a/fs/btrfs/disk-io.c ++++ b/fs/btrfs/disk-io.c @@ -2083,6 +2083,9 @@ int open_ctree(struct super_block *sb, goto fail_alloc; } @@ -1732,9 +1800,10 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/disk-io.c linux-3.4.48-vs2.3.3.9/fs/ features = btrfs_super_incompat_flags(disk_super) & ~BTRFS_FEATURE_INCOMPAT_SUPP; if (features) { -diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/btrfs/inode.c ---- linux-3.4.48/fs/btrfs/inode.c 2013-06-13 08:59:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/btrfs/inode.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c +index 9e51325..c144755 100644 +--- a/fs/btrfs/inode.c ++++ b/fs/btrfs/inode.c @@ -39,6 +39,7 @@ #include <linux/slab.h> #include <linux/ratelimit.h> @@ -1743,7 +1812,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/bt #include "compat.h" #include "ctree.h" #include "disk-io.h" -@@ -2468,6 +2469,8 @@ static void btrfs_read_locked_inode(stru +@@ -2482,6 +2483,8 @@ static void btrfs_read_locked_inode(struct inode *inode) struct btrfs_key location; int maybe_acls; u32 rdev; @@ -1752,7 +1821,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/bt int ret; bool filled = false; -@@ -2495,8 +2498,13 @@ static void btrfs_read_locked_inode(stru +@@ -2509,8 +2512,13 @@ static void btrfs_read_locked_inode(struct inode *inode) struct btrfs_inode_item); inode->i_mode = btrfs_inode_mode(leaf, inode_item); set_nlink(inode, btrfs_inode_nlink(leaf, inode_item)); @@ -1768,7 +1837,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/bt btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item)); tspec = btrfs_inode_atime(inode_item); -@@ -2574,8 +2582,14 @@ static void fill_inode_item(struct btrfs +@@ -2588,8 +2596,14 @@ static void fill_inode_item(struct btrfs_trans_handle *trans, struct btrfs_inode_item *item, struct inode *inode) { @@ -1785,7 +1854,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/bt btrfs_set_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size); btrfs_set_inode_mode(leaf, item, inode->i_mode); btrfs_set_inode_nlink(leaf, item, inode->i_nlink); -@@ -7576,11 +7590,13 @@ static const struct inode_operations btr +@@ -7590,11 +7604,13 @@ static const struct inode_operations btrfs_dir_inode_operations = { .listxattr = btrfs_listxattr, .removexattr = btrfs_removexattr, .permission = btrfs_permission, @@ -1799,10 +1868,11 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/inode.c linux-3.4.48-vs2.3.3.9/fs/bt .get_acl = btrfs_get_acl, }; -diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/btrfs/ioctl.c ---- linux-3.4.48/fs/btrfs/ioctl.c 2012-05-21 16:07:19.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/btrfs/ioctl.c 2012-05-21 16:15:04.000000000 +0000 -@@ -71,10 +71,13 @@ static unsigned int btrfs_flags_to_ioctl +diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c +index 3a65f43..4b171c2 100644 +--- a/fs/btrfs/ioctl.c ++++ b/fs/btrfs/ioctl.c +@@ -71,10 +71,13 @@ static unsigned int btrfs_flags_to_ioctl(unsigned int flags) { unsigned int iflags = 0; @@ -1818,7 +1888,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt if (flags & BTRFS_INODE_APPEND) iflags |= FS_APPEND_FL; if (flags & BTRFS_INODE_NODUMP) -@@ -91,28 +94,78 @@ static unsigned int btrfs_flags_to_ioctl +@@ -91,28 +94,78 @@ static unsigned int btrfs_flags_to_ioctl(unsigned int flags) else if (flags & BTRFS_INODE_NOCOMPRESS) iflags |= FS_NOCOMP_FL; @@ -1901,7 +1971,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt } /* -@@ -128,6 +181,7 @@ void btrfs_inherit_iflags(struct inode * +@@ -128,6 +181,7 @@ void btrfs_inherit_iflags(struct inode *inode, struct inode *dir) return; flags = BTRFS_I(dir)->flags; @@ -1909,7 +1979,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt if (flags & BTRFS_INODE_NOCOMPRESS) { BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS; -@@ -143,6 +197,30 @@ void btrfs_inherit_iflags(struct inode * +@@ -143,6 +197,30 @@ void btrfs_inherit_iflags(struct inode *inode, struct inode *dir) btrfs_update_iflags(inode); } @@ -1940,7 +2010,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt static int btrfs_ioctl_getflags(struct file *file, void __user *arg) { struct btrfs_inode *ip = BTRFS_I(file->f_path.dentry->d_inode); -@@ -199,7 +277,8 @@ static int btrfs_ioctl_setflags(struct f +@@ -199,7 +277,8 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg) flags = btrfs_mask_flags(inode->i_mode, flags); oldflags = btrfs_flags_to_ioctl(ip->flags); @@ -1950,7 +2020,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt if (!capable(CAP_LINUX_IMMUTABLE)) { ret = -EPERM; goto out_unlock; -@@ -210,14 +289,19 @@ static int btrfs_ioctl_setflags(struct f +@@ -210,14 +289,19 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg) if (ret) goto out_unlock; @@ -1974,9 +2044,10 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/bt if (flags & FS_APPEND_FL) ip->flags |= BTRFS_INODE_APPEND; else -diff -NurpP --minimal linux-3.4.48/fs/btrfs/super.c linux-3.4.48-vs2.3.3.9/fs/btrfs/super.c ---- linux-3.4.48/fs/btrfs/super.c 2012-05-21 16:07:19.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/btrfs/super.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c +index c5f8fca..847062b 100644 +--- a/fs/btrfs/super.c ++++ b/fs/btrfs/super.c @@ -279,7 +279,7 @@ enum { Opt_no_space_cache, Opt_recovery, Opt_skip_balance, Opt_check_integrity, Opt_check_integrity_including_extent_data, @@ -1996,7 +2067,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/super.c linux-3.4.48-vs2.3.3.9/fs/bt {Opt_err, NULL}, }; -@@ -564,6 +567,22 @@ int btrfs_parse_options(struct btrfs_roo +@@ -564,6 +567,22 @@ int btrfs_parse_options(struct btrfs_root *root, char *options) goto out; } break; @@ -2019,7 +2090,7 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/super.c linux-3.4.48-vs2.3.3.9/fs/bt case Opt_err: printk(KERN_INFO "btrfs: unrecognized mount option " "'%s'\n", p); -@@ -1137,6 +1156,12 @@ static int btrfs_remount(struct super_bl +@@ -1137,6 +1156,12 @@ static int btrfs_remount(struct super_block *sb, int *flags, char *data) goto restore; } @@ -2032,9 +2103,10 @@ diff -NurpP --minimal linux-3.4.48/fs/btrfs/super.c linux-3.4.48-vs2.3.3.9/fs/bt if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) return 0; -diff -NurpP --minimal linux-3.4.48/fs/char_dev.c linux-3.4.48-vs2.3.3.9/fs/char_dev.c ---- linux-3.4.48/fs/char_dev.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/char_dev.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/fs/char_dev.c b/fs/char_dev.c +index 3f152b9..b103570 100644 +--- a/fs/char_dev.c ++++ b/fs/char_dev.c @@ -21,6 +21,8 @@ #include <linux/mutex.h> #include <linux/backing-dev.h> @@ -2044,7 +2116,7 @@ diff -NurpP --minimal linux-3.4.48/fs/char_dev.c linux-3.4.48-vs2.3.3.9/fs/char_ #include "internal.h" -@@ -371,14 +373,21 @@ static int chrdev_open(struct inode *ino +@@ -371,14 +373,21 @@ static int chrdev_open(struct inode *inode, struct file *filp) struct cdev *p; struct cdev *new = NULL; int ret = 0; @@ -2067,9 +2139,10 @@ diff -NurpP --minimal linux-3.4.48/fs/char_dev.c linux-3.4.48-vs2.3.3.9/fs/char_ if (!kobj) return -ENXIO; new = container_of(kobj, struct cdev, kobj); -diff -NurpP --minimal linux-3.4.48/fs/dcache.c linux-3.4.48-vs2.3.3.9/fs/dcache.c ---- linux-3.4.48/fs/dcache.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/dcache.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/dcache.c b/fs/dcache.c +index e498de2..fb162ec 100644 +--- a/fs/dcache.c ++++ b/fs/dcache.c @@ -37,6 +37,7 @@ #include <linux/rculist_bl.h> #include <linux/prefetch.h> @@ -2095,7 +2168,7 @@ diff -NurpP --minimal linux-3.4.48/fs/dcache.c linux-3.4.48-vs2.3.3.9/fs/dcache. } static inline void __dget(struct dentry *dentry) -@@ -1258,6 +1262,9 @@ struct dentry *__d_alloc(struct super_bl +@@ -1260,6 +1264,9 @@ struct dentry *__d_alloc(struct super_block *sb, const struct qstr *name) struct dentry *dentry; char *dname; @@ -2105,7 +2178,7 @@ diff -NurpP --minimal linux-3.4.48/fs/dcache.c linux-3.4.48-vs2.3.3.9/fs/dcache. dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL); if (!dentry) return NULL; -@@ -1280,6 +1287,7 @@ struct dentry *__d_alloc(struct super_bl +@@ -1282,6 +1289,7 @@ struct dentry *__d_alloc(struct super_block *sb, const struct qstr *name) dentry->d_count = 1; dentry->d_flags = 0; @@ -2113,7 +2186,7 @@ diff -NurpP --minimal linux-3.4.48/fs/dcache.c linux-3.4.48-vs2.3.3.9/fs/dcache. spin_lock_init(&dentry->d_lock); seqcount_init(&dentry->d_seq); dentry->d_inode = NULL; -@@ -1941,6 +1949,7 @@ struct dentry *__d_lookup(struct dentry +@@ -1943,6 +1951,7 @@ struct dentry *__d_lookup(struct dentry *parent, struct qstr *name) } dentry->d_count++; @@ -2121,9 +2194,10 @@ diff -NurpP --minimal linux-3.4.48/fs/dcache.c linux-3.4.48-vs2.3.3.9/fs/dcache. found = dentry; spin_unlock(&dentry->d_lock); break; -diff -NurpP --minimal linux-3.4.48/fs/devpts/inode.c linux-3.4.48-vs2.3.3.9/fs/devpts/inode.c ---- linux-3.4.48/fs/devpts/inode.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/devpts/inode.c 2012-05-21 16:15:04.000000000 +0000 +diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c +index 10f5e0b..df81cf1 100644 +--- a/fs/devpts/inode.c ++++ b/fs/devpts/inode.c @@ -25,6 +25,7 @@ #include <linux/parser.h> #include <linux/fsnotify.h> @@ -2154,7 +2228,7 @@ diff -NurpP --minimal linux-3.4.48/fs/devpts/inode.c linux-3.4.48-vs2.3.3.9/fs/d /* * sysctl support for setting limits on the number of Unix98 ptys allocated. * Otherwise one can eat up all kernel memory by opening /dev/ptmx repeatedly. -@@ -328,6 +344,34 @@ static int devpts_show_options(struct se +@@ -328,6 +344,34 @@ static int devpts_show_options(struct seq_file *seq, struct dentry *root) return 0; } @@ -2189,7 +2263,7 @@ diff -NurpP --minimal linux-3.4.48/fs/devpts/inode.c linux-3.4.48-vs2.3.3.9/fs/d static const struct super_operations devpts_sops = { .statfs = simple_statfs, .remount_fs = devpts_remount, -@@ -371,8 +415,10 @@ devpts_fill_super(struct super_block *s, +@@ -371,8 +415,10 @@ devpts_fill_super(struct super_block *s, void *data, int silent) inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; inode->i_op = &simple_dir_inode_operations; @@ -2201,7 +2275,7 @@ diff -NurpP --minimal linux-3.4.48/fs/devpts/inode.c linux-3.4.48-vs2.3.3.9/fs/d s->s_root = d_make_root(inode); if (s->s_root) -@@ -564,6 +610,9 @@ int devpts_pty_new(struct inode *ptmx_in +@@ -564,6 +610,9 @@ int devpts_pty_new(struct inode *ptmx_inode, struct tty_struct *tty) inode->i_gid = opts->setgid ? opts->gid : current_fsgid(); inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; init_special_inode(inode, S_IFCHR|opts->mode, device); @@ -2211,10 +2285,11 @@ diff -NurpP --minimal linux-3.4.48/fs/devpts/inode.c linux-3.4.48-vs2.3.3.9/fs/d inode->i_private = tty; tty->driver_data = inode; -diff -NurpP --minimal linux-3.4.48/fs/ext2/balloc.c linux-3.4.48-vs2.3.3.9/fs/ext2/balloc.c ---- linux-3.4.48/fs/ext2/balloc.c 2012-01-09 15:14:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/balloc.c 2012-05-21 16:15:04.000000000 +0000 -@@ -701,7 +701,6 @@ ext2_try_to_allocate(struct super_block +diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c +index a8cbe1b..1469e14 100644 +--- a/fs/ext2/balloc.c ++++ b/fs/ext2/balloc.c +@@ -701,7 +701,6 @@ ext2_try_to_allocate(struct super_block *sb, int group, start = 0; end = EXT2_BLOCKS_PER_GROUP(sb); } @@ -2222,9 +2297,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/balloc.c linux-3.4.48-vs2.3.3.9/fs/ex BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb)); repeat: -diff -NurpP --minimal linux-3.4.48/fs/ext2/ext2.h linux-3.4.48-vs2.3.3.9/fs/ext2/ext2.h ---- linux-3.4.48/fs/ext2/ext2.h 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/ext2.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/ext2.h b/fs/ext2/ext2.h +index 0b2b4db..0818565 100644 +--- a/fs/ext2/ext2.h ++++ b/fs/ext2/ext2.h @@ -244,8 +244,12 @@ struct ext2_group_desc #define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ #define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ @@ -2264,7 +2340,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ext2.h linux-3.4.48-vs2.3.3.9/fs/ext2 #define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt -@@ -757,6 +764,7 @@ extern void ext2_set_inode_flags(struct +@@ -757,6 +764,7 @@ extern void ext2_set_inode_flags(struct inode *inode); extern void ext2_get_inode_flags(struct ext2_inode_info *); extern int ext2_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len); @@ -2272,18 +2348,20 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ext2.h linux-3.4.48-vs2.3.3.9/fs/ext2 /* ioctl.c */ extern long ext2_ioctl(struct file *, unsigned int, unsigned long); -diff -NurpP --minimal linux-3.4.48/fs/ext2/file.c linux-3.4.48-vs2.3.3.9/fs/ext2/file.c ---- linux-3.4.48/fs/ext2/file.c 2011-10-24 16:45:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/file.c 2012-05-21 16:15:05.000000000 +0000 -@@ -104,4 +104,5 @@ const struct inode_operations ext2_file_ +diff --git a/fs/ext2/file.c b/fs/ext2/file.c +index a5b3a5d..e86e897 100644 +--- a/fs/ext2/file.c ++++ b/fs/ext2/file.c +@@ -104,4 +104,5 @@ const struct inode_operations ext2_file_inode_operations = { .setattr = ext2_setattr, .get_acl = ext2_get_acl, .fiemap = ext2_fiemap, + .sync_flags = ext2_sync_flags, }; -diff -NurpP --minimal linux-3.4.48/fs/ext2/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ext2/ialloc.c ---- linux-3.4.48/fs/ext2/ialloc.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/ialloc.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c +index 8b15cf8..ae251a8 100644 +--- a/fs/ext2/ialloc.c ++++ b/fs/ext2/ialloc.c @@ -17,6 +17,7 @@ #include <linux/backing-dev.h> #include <linux/buffer_head.h> @@ -2300,9 +2378,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ex } else inode_init_owner(inode, dir, mode); -diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext2/inode.c ---- linux-3.4.48/fs/ext2/inode.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/inode.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c +index 740cad8..24137f6 100644 +--- a/fs/ext2/inode.c ++++ b/fs/ext2/inode.c @@ -31,6 +31,7 @@ #include <linux/mpage.h> #include <linux/fiemap.h> @@ -2311,7 +2390,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext2.h" #include "acl.h" #include "xip.h" -@@ -1162,7 +1163,7 @@ static void ext2_truncate_blocks(struct +@@ -1162,7 +1163,7 @@ static void ext2_truncate_blocks(struct inode *inode, loff_t offset) return; if (ext2_inode_is_fast_symlink(inode)) return; @@ -2320,7 +2399,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext return; __ext2_truncate_blocks(inode, offset); } -@@ -1253,36 +1254,61 @@ void ext2_set_inode_flags(struct inode * +@@ -1253,36 +1254,61 @@ void ext2_set_inode_flags(struct inode *inode) { unsigned int flags = EXT2_I(inode)->i_flags; @@ -2389,7 +2468,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext } struct inode *ext2_iget (struct super_block *sb, unsigned long ino) -@@ -1292,6 +1318,8 @@ struct inode *ext2_iget (struct super_bl +@@ -1292,6 +1318,8 @@ struct inode *ext2_iget (struct super_block *sb, unsigned long ino) struct ext2_inode *raw_inode; struct inode *inode; long ret = -EIO; @@ -2398,7 +2477,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext int n; inode = iget_locked(sb, ino); -@@ -1310,12 +1338,16 @@ struct inode *ext2_iget (struct super_bl +@@ -1310,12 +1338,16 @@ struct inode *ext2_iget (struct super_block *sb, unsigned long ino) } inode->i_mode = le16_to_cpu(raw_inode->i_mode); @@ -2419,7 +2498,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); inode->i_size = le32_to_cpu(raw_inode->i_size); inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); -@@ -1413,8 +1445,8 @@ static int __ext2_write_inode(struct ino +@@ -1413,8 +1445,8 @@ static int __ext2_write_inode(struct inode *inode, int do_sync) struct ext2_inode_info *ei = EXT2_I(inode); struct super_block *sb = inode->i_sb; ino_t ino = inode->i_ino; @@ -2430,7 +2509,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext struct buffer_head * bh; struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh); int n; -@@ -1450,6 +1482,9 @@ static int __ext2_write_inode(struct ino +@@ -1450,6 +1482,9 @@ static int __ext2_write_inode(struct inode *inode, int do_sync) raw_inode->i_uid_high = 0; raw_inode->i_gid_high = 0; } @@ -2440,7 +2519,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); raw_inode->i_size = cpu_to_le32(inode->i_size); raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec); -@@ -1530,7 +1565,8 @@ int ext2_setattr(struct dentry *dentry, +@@ -1530,7 +1565,8 @@ int ext2_setattr(struct dentry *dentry, struct iattr *iattr) if (is_quota_modification(inode, iattr)) dquot_initialize(inode); if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || @@ -2450,9 +2529,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/inode.c linux-3.4.48-vs2.3.3.9/fs/ext error = dquot_transfer(inode, iattr); if (error) return error; -diff -NurpP --minimal linux-3.4.48/fs/ext2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext2/ioctl.c ---- linux-3.4.48/fs/ext2/ioctl.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/ioctl.c b/fs/ext2/ioctl.c +index 2de655f..f1534ec1 100644 +--- a/fs/ext2/ioctl.c ++++ b/fs/ext2/ioctl.c @@ -17,6 +17,16 @@ #include <asm/uaccess.h> @@ -2470,7 +2550,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct inode *inode = filp->f_dentry->d_inode; -@@ -51,6 +61,11 @@ long ext2_ioctl(struct file *filp, unsig +@@ -51,6 +61,11 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) flags = ext2_mask_flags(inode->i_mode, flags); @@ -2482,7 +2562,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext mutex_lock(&inode->i_mutex); /* Is it quota file? Do not allow user to mess with it */ if (IS_NOQUOTA(inode)) { -@@ -66,7 +81,9 @@ long ext2_ioctl(struct file *filp, unsig +@@ -66,7 +81,9 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) * * This test looks nicer. Thanks to Pauline Middelink */ @@ -2493,7 +2573,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext if (!capable(CAP_LINUX_IMMUTABLE)) { mutex_unlock(&inode->i_mutex); ret = -EPERM; -@@ -74,7 +91,7 @@ long ext2_ioctl(struct file *filp, unsig +@@ -74,7 +91,7 @@ long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } } @@ -2502,9 +2582,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE; ei->i_flags = flags; -diff -NurpP --minimal linux-3.4.48/fs/ext2/namei.c linux-3.4.48-vs2.3.3.9/fs/ext2/namei.c ---- linux-3.4.48/fs/ext2/namei.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c +index dffb865..e0509e7 100644 +--- a/fs/ext2/namei.c ++++ b/fs/ext2/namei.c @@ -32,6 +32,7 @@ #include <linux/pagemap.h> @@ -2513,7 +2594,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/namei.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext2.h" #include "xattr.h" #include "acl.h" -@@ -73,6 +74,7 @@ static struct dentry *ext2_lookup(struct +@@ -73,6 +74,7 @@ static struct dentry *ext2_lookup(struct inode * dir, struct dentry *dentry, str (unsigned long) ino); return ERR_PTR(-EIO); } @@ -2521,7 +2602,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/namei.c linux-3.4.48-vs2.3.3.9/fs/ext } return d_splice_alias(inode, dentry); } -@@ -397,6 +399,7 @@ const struct inode_operations ext2_dir_i +@@ -397,6 +399,7 @@ const struct inode_operations ext2_dir_inode_operations = { .removexattr = generic_removexattr, #endif .setattr = ext2_setattr, @@ -2529,9 +2610,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/namei.c linux-3.4.48-vs2.3.3.9/fs/ext .get_acl = ext2_get_acl, }; -diff -NurpP --minimal linux-3.4.48/fs/ext2/super.c linux-3.4.48-vs2.3.3.9/fs/ext2/super.c ---- linux-3.4.48/fs/ext2/super.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext2/super.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext2/super.c b/fs/ext2/super.c +index e1025c7..815078c 100644 +--- a/fs/ext2/super.c ++++ b/fs/ext2/super.c @@ -393,7 +393,8 @@ enum { Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug, Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr, @@ -2552,7 +2634,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/super.c linux-3.4.48-vs2.3.3.9/fs/ext {Opt_grpquota, "grpquota"}, {Opt_ignore, "noquota"}, {Opt_quota, "quota"}, -@@ -491,6 +495,20 @@ static int parse_options(char *options, +@@ -491,6 +495,20 @@ static int parse_options(char *options, struct super_block *sb) case Opt_nouid32: set_opt (sbi->s_mount_opt, NO_UID32); break; @@ -2573,7 +2655,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/super.c linux-3.4.48-vs2.3.3.9/fs/ext case Opt_nocheck: clear_opt (sbi->s_mount_opt, CHECK); break; -@@ -849,6 +867,8 @@ static int ext2_fill_super(struct super_ +@@ -849,6 +867,8 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) if (!parse_options((char *) data, sb)) goto failed_mount; @@ -2582,11 +2664,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/super.c linux-3.4.48-vs2.3.3.9/fs/ext sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0); -@@ -1222,6 +1242,14 @@ static int ext2_remount (struct super_bl - err = -EINVAL; +@@ -1223,6 +1243,14 @@ static int ext2_remount (struct super_block * sb, int * flags, char * data) goto restore_opts; } -+ + + if ((sbi->s_mount_opt & EXT2_MOUNT_TAGGED) && + !(sb->s_flags & MS_TAGGED)) { + printk("EXT2-fs: %s: tagging not permitted on remount.\n", @@ -2594,12 +2675,14 @@ diff -NurpP --minimal linux-3.4.48/fs/ext2/super.c linux-3.4.48-vs2.3.3.9/fs/ext + err = -EINVAL; + goto restore_opts; + } - ++ sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0); -diff -NurpP --minimal linux-3.4.48/fs/ext3/ext3.h linux-3.4.48-vs2.3.3.9/fs/ext3/ext3.h ---- linux-3.4.48/fs/ext3/ext3.h 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/ext3.h 2012-05-21 17:13:31.000000000 +0000 + +diff --git a/fs/ext3/ext3.h b/fs/ext3/ext3.h +index b6515fd..c528674 100644 +--- a/fs/ext3/ext3.h ++++ b/fs/ext3/ext3.h @@ -151,10 +151,14 @@ struct ext3_group_desc #define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */ #define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */ @@ -2643,7 +2726,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ext3.h linux-3.4.48-vs2.3.3.9/fs/ext3 /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ #ifndef _LINUX_EXT2_FS_H -@@ -1057,6 +1064,7 @@ extern void ext3_get_inode_flags(struct +@@ -1057,6 +1064,7 @@ extern void ext3_get_inode_flags(struct ext3_inode_info *); extern void ext3_set_aops(struct inode *inode); extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len); @@ -2651,19 +2734,21 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ext3.h linux-3.4.48-vs2.3.3.9/fs/ext3 /* ioctl.c */ extern long ext3_ioctl(struct file *, unsigned int, unsigned long); -diff -NurpP --minimal linux-3.4.48/fs/ext3/file.c linux-3.4.48-vs2.3.3.9/fs/ext3/file.c ---- linux-3.4.48/fs/ext3/file.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/file.c 2012-05-21 16:15:05.000000000 +0000 -@@ -76,5 +76,6 @@ const struct inode_operations ext3_file_ +diff --git a/fs/ext3/file.c b/fs/ext3/file.c +index 25cb413..85b15ad 100644 +--- a/fs/ext3/file.c ++++ b/fs/ext3/file.c +@@ -76,5 +76,6 @@ const struct inode_operations ext3_file_inode_operations = { #endif .get_acl = ext3_get_acl, .fiemap = ext3_fiemap, + .sync_flags = ext3_sync_flags, }; -diff -NurpP --minimal linux-3.4.48/fs/ext3/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ext3/ialloc.c ---- linux-3.4.48/fs/ext3/ialloc.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/ialloc.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c +index e3c39e4..babbe82 100644 +--- a/fs/ext3/ialloc.c ++++ b/fs/ext3/ialloc.c @@ -14,6 +14,7 @@ #include <linux/quotaops.h> @@ -2680,9 +2765,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ex } else inode_init_owner(inode, dir, mode); -diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext3/inode.c ---- linux-3.4.48/fs/ext3/inode.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/inode.c 2012-09-16 18:49:11.000000000 +0000 +diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c +index aad0f39..b847ded 100644 +--- a/fs/ext3/inode.c ++++ b/fs/ext3/inode.c @@ -27,6 +27,8 @@ #include <linux/writeback.h> #include <linux/mpage.h> @@ -2692,7 +2778,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext3.h" #include "xattr.h" #include "acl.h" -@@ -2848,36 +2850,60 @@ void ext3_set_inode_flags(struct inode * +@@ -2849,36 +2851,60 @@ void ext3_set_inode_flags(struct inode *inode) { unsigned int flags = EXT3_I(inode)->i_flags; @@ -2760,7 +2846,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext } struct inode *ext3_iget(struct super_block *sb, unsigned long ino) -@@ -2891,6 +2917,8 @@ struct inode *ext3_iget(struct super_blo +@@ -2892,6 +2918,8 @@ struct inode *ext3_iget(struct super_block *sb, unsigned long ino) transaction_t *transaction; long ret; int block; @@ -2769,7 +2855,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext inode = iget_locked(sb, ino); if (!inode) -@@ -2907,12 +2935,16 @@ struct inode *ext3_iget(struct super_blo +@@ -2908,12 +2936,16 @@ struct inode *ext3_iget(struct super_block *sb, unsigned long ino) bh = iloc.bh; raw_inode = ext3_raw_inode(&iloc); inode->i_mode = le16_to_cpu(raw_inode->i_mode); @@ -2790,7 +2876,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); inode->i_size = le32_to_cpu(raw_inode->i_size); inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); -@@ -3067,6 +3099,8 @@ static int ext3_do_update_inode(handle_t +@@ -3068,6 +3100,8 @@ static int ext3_do_update_inode(handle_t *handle, struct ext3_inode *raw_inode = ext3_raw_inode(iloc); struct ext3_inode_info *ei = EXT3_I(inode); struct buffer_head *bh = iloc->bh; @@ -2799,7 +2885,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext int err = 0, rc, block; int need_datasync = 0; __le32 disksize; -@@ -3083,29 +3117,32 @@ again: +@@ -3084,29 +3118,32 @@ again: ext3_get_inode_flags(ei); raw_inode->i_mode = cpu_to_le16(inode->i_mode); if(!(test_opt(inode->i_sb, NO_UID32))) { @@ -2838,7 +2924,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); disksize = cpu_to_le32(ei->i_disksize); if (disksize != raw_inode->i_size) { -@@ -3274,7 +3311,8 @@ int ext3_setattr(struct dentry *dentry, +@@ -3275,7 +3312,8 @@ int ext3_setattr(struct dentry *dentry, struct iattr *attr) if (is_quota_modification(inode, attr)) dquot_initialize(inode); if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || @@ -2848,7 +2934,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext handle_t *handle; /* (user+group)*(old+new) structure, inode write (sb, -@@ -3296,6 +3334,8 @@ int ext3_setattr(struct dentry *dentry, +@@ -3297,6 +3335,8 @@ int ext3_setattr(struct dentry *dentry, struct iattr *attr) inode->i_uid = attr->ia_uid; if (attr->ia_valid & ATTR_GID) inode->i_gid = attr->ia_gid; @@ -2857,9 +2943,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/inode.c linux-3.4.48-vs2.3.3.9/fs/ext error = ext3_mark_inode_dirty(handle, inode); ext3_journal_stop(handle); } -diff -NurpP --minimal linux-3.4.48/fs/ext3/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext3/ioctl.c ---- linux-3.4.48/fs/ext3/ioctl.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext3/ioctl.c b/fs/ext3/ioctl.c +index 677a5c2..0af62fd 100644 +--- a/fs/ext3/ioctl.c ++++ b/fs/ext3/ioctl.c @@ -12,6 +12,34 @@ #include <asm/uaccess.h> #include "ext3.h" @@ -2895,7 +2982,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct inode *inode = filp->f_dentry->d_inode; -@@ -45,6 +73,11 @@ long ext3_ioctl(struct file *filp, unsig +@@ -45,6 +73,11 @@ long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) flags = ext3_mask_flags(inode->i_mode, flags); @@ -2907,7 +2994,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext mutex_lock(&inode->i_mutex); /* Is it quota file? Do not allow user to mess with it */ -@@ -63,7 +96,9 @@ long ext3_ioctl(struct file *filp, unsig +@@ -63,7 +96,9 @@ long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) * * This test looks nicer. Thanks to Pauline Middelink */ @@ -2918,7 +3005,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext if (!capable(CAP_LINUX_IMMUTABLE)) goto flags_out; } -@@ -88,7 +123,7 @@ long ext3_ioctl(struct file *filp, unsig +@@ -88,7 +123,7 @@ long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) if (err) goto flags_err; @@ -2927,9 +3014,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE; ei->i_flags = flags; -diff -NurpP --minimal linux-3.4.48/fs/ext3/namei.c linux-3.4.48-vs2.3.3.9/fs/ext3/namei.c ---- linux-3.4.48/fs/ext3/namei.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c +index fbb9b82..29ac470 100644 +--- a/fs/ext3/namei.c ++++ b/fs/ext3/namei.c @@ -25,6 +25,8 @@ */ @@ -2939,7 +3027,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/namei.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext3.h" #include "namei.h" #include "xattr.h" -@@ -915,6 +917,7 @@ restart: +@@ -912,6 +914,7 @@ restart: submit_bh(READ | REQ_META | REQ_PRIO, bh); } @@ -2947,7 +3035,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/namei.c linux-3.4.48-vs2.3.3.9/fs/ext } } if ((bh = bh_use[ra_ptr++]) == NULL) -@@ -2526,6 +2529,7 @@ const struct inode_operations ext3_dir_i +@@ -2523,6 +2526,7 @@ const struct inode_operations ext3_dir_inode_operations = { .listxattr = ext3_listxattr, .removexattr = generic_removexattr, #endif @@ -2955,9 +3043,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/namei.c linux-3.4.48-vs2.3.3.9/fs/ext .get_acl = ext3_get_acl, }; -diff -NurpP --minimal linux-3.4.48/fs/ext3/super.c linux-3.4.48-vs2.3.3.9/fs/ext3/super.c ---- linux-3.4.48/fs/ext3/super.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext3/super.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/fs/ext3/super.c b/fs/ext3/super.c +index ef4c812..43de0b5 100644 +--- a/fs/ext3/super.c ++++ b/fs/ext3/super.c @@ -820,7 +820,8 @@ enum { Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota, @@ -2978,7 +3067,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/super.c linux-3.4.48-vs2.3.3.9/fs/ext {Opt_err, NULL}, }; -@@ -1029,6 +1033,20 @@ static int parse_options (char *options, +@@ -1029,6 +1033,20 @@ static int parse_options (char *options, struct super_block *sb, case Opt_nouid32: set_opt (sbi->s_mount_opt, NO_UID32); break; @@ -2999,7 +3088,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/super.c linux-3.4.48-vs2.3.3.9/fs/ext case Opt_nocheck: clear_opt (sbi->s_mount_opt, CHECK); break; -@@ -1727,6 +1745,9 @@ static int ext3_fill_super (struct super +@@ -1727,6 +1745,9 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) NULL, 0)) goto failed_mount; @@ -3009,7 +3098,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/super.c linux-3.4.48-vs2.3.3.9/fs/ext sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); -@@ -2608,6 +2629,14 @@ static int ext3_remount (struct super_bl +@@ -2608,6 +2629,14 @@ static int ext3_remount (struct super_block * sb, int * flags, char * data) if (test_opt(sb, ABORT)) ext3_abort(sb, __func__, "Abort forced by user"); @@ -3024,9 +3113,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext3/super.c linux-3.4.48-vs2.3.3.9/fs/ext sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); -diff -NurpP --minimal linux-3.4.48/fs/ext4/ext4.h linux-3.4.48-vs2.3.3.9/fs/ext4/ext4.h ---- linux-3.4.48/fs/ext4/ext4.h 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/ext4.h 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h +index d918b55..5c847c0 100644 +--- a/fs/ext4/ext4.h ++++ b/fs/ext4/ext4.h @@ -380,8 +380,12 @@ struct flex_groups { #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ @@ -3066,7 +3156,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ext4.h linux-3.4.48-vs2.3.3.9/fs/ext4 #define EXT4_MOUNT_QUOTA 0x80000 /* Some quota option set */ #define EXT4_MOUNT_USRQUOTA 0x100000 /* "old" user quota */ #define EXT4_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */ -@@ -2294,6 +2301,7 @@ extern int ext4_map_blocks(handle_t *han +@@ -2294,6 +2301,7 @@ extern int ext4_map_blocks(handle_t *handle, struct inode *inode, struct ext4_map_blocks *map, int flags); extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, __u64 start, __u64 len); @@ -3074,19 +3164,21 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ext4.h linux-3.4.48-vs2.3.3.9/fs/ext4 /* move_extent.c */ extern int ext4_move_extents(struct file *o_filp, struct file *d_filp, __u64 start_orig, __u64 start_donor, -diff -NurpP --minimal linux-3.4.48/fs/ext4/file.c linux-3.4.48-vs2.3.3.9/fs/ext4/file.c ---- linux-3.4.48/fs/ext4/file.c 2012-01-09 15:14:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/file.c 2012-05-21 16:15:05.000000000 +0000 -@@ -258,5 +258,6 @@ const struct inode_operations ext4_file_ +diff --git a/fs/ext4/file.c b/fs/ext4/file.c +index cb70f18..df67251 100644 +--- a/fs/ext4/file.c ++++ b/fs/ext4/file.c +@@ -258,5 +258,6 @@ const struct inode_operations ext4_file_inode_operations = { #endif .get_acl = ext4_get_acl, .fiemap = ext4_fiemap, + .sync_flags = ext4_sync_flags, }; -diff -NurpP --minimal linux-3.4.48/fs/ext4/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ext4/ialloc.c ---- linux-3.4.48/fs/ext4/ialloc.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/ialloc.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c +index e42b468..d703d53 100644 +--- a/fs/ext4/ialloc.c ++++ b/fs/ext4/ialloc.c @@ -22,6 +22,7 @@ #include <linux/random.h> #include <linux/bitops.h> @@ -3103,9 +3195,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ialloc.c linux-3.4.48-vs2.3.3.9/fs/ex } else inode_init_owner(inode, dir, mode); -diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext4/inode.c ---- linux-3.4.48/fs/ext4/inode.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/inode.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c +index 98bff01ee..6a1b0af 100644 +--- a/fs/ext4/inode.c ++++ b/fs/ext4/inode.c @@ -37,6 +37,7 @@ #include <linux/printk.h> #include <linux/slab.h> @@ -3114,7 +3207,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext4_jbd2.h" #include "xattr.h" -@@ -3585,41 +3586,64 @@ void ext4_set_inode_flags(struct inode * +@@ -3585,41 +3586,64 @@ void ext4_set_inode_flags(struct inode *inode) { unsigned int flags = EXT4_I(inode)->i_flags; @@ -3186,7 +3279,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl); } -@@ -3655,6 +3679,8 @@ struct inode *ext4_iget(struct super_blo +@@ -3655,6 +3679,8 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino) journal_t *journal = EXT4_SB(sb)->s_journal; long ret; int block; @@ -3195,7 +3288,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext inode = iget_locked(sb, ino); if (!inode) -@@ -3670,12 +3696,16 @@ struct inode *ext4_iget(struct super_blo +@@ -3670,12 +3696,16 @@ struct inode *ext4_iget(struct super_block *sb, unsigned long ino) goto bad_inode; raw_inode = ext4_raw_inode(&iloc); inode->i_mode = le16_to_cpu(raw_inode->i_mode); @@ -3216,7 +3309,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ -@@ -3894,6 +3924,8 @@ static int ext4_do_update_inode(handle_t +@@ -3894,6 +3924,8 @@ static int ext4_do_update_inode(handle_t *handle, struct ext4_inode *raw_inode = ext4_raw_inode(iloc); struct ext4_inode_info *ei = EXT4_I(inode); struct buffer_head *bh = iloc->bh; @@ -3225,7 +3318,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext int err = 0, rc, block; int need_datasync = 0; -@@ -3905,29 +3937,32 @@ static int ext4_do_update_inode(handle_t +@@ -3905,29 +3937,32 @@ static int ext4_do_update_inode(handle_t *handle, ext4_get_inode_flags(ei); raw_inode->i_mode = cpu_to_le16(inode->i_mode); if (!(test_opt(inode->i_sb, NO_UID32))) { @@ -3264,7 +3357,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode); -@@ -4114,7 +4149,8 @@ int ext4_setattr(struct dentry *dentry, +@@ -4114,7 +4149,8 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr) if (is_quota_modification(inode, attr)) dquot_initialize(inode); if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || @@ -3274,7 +3367,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext handle_t *handle; /* (user+group)*(old+new) structure, inode write (sb, -@@ -4136,6 +4172,8 @@ int ext4_setattr(struct dentry *dentry, +@@ -4136,6 +4172,8 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr) inode->i_uid = attr->ia_uid; if (attr->ia_valid & ATTR_GID) inode->i_gid = attr->ia_gid; @@ -3283,9 +3376,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/inode.c linux-3.4.48-vs2.3.3.9/fs/ext error = ext4_mark_inode_dirty(handle, inode); ext4_journal_stop(handle); } -diff -NurpP --minimal linux-3.4.48/fs/ext4/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext4/ioctl.c ---- linux-3.4.48/fs/ext4/ioctl.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/ioctl.c 2012-09-01 08:50:49.000000000 +0000 +diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c +index 9727522..5a219c7 100644 +--- a/fs/ext4/ioctl.c ++++ b/fs/ext4/ioctl.c @@ -14,12 +14,40 @@ #include <linux/compat.h> #include <linux/mount.h> @@ -3327,7 +3421,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct inode *inode = filp->f_dentry->d_inode; -@@ -53,6 +81,11 @@ long ext4_ioctl(struct file *filp, unsig +@@ -53,6 +81,11 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) flags = ext4_mask_flags(inode->i_mode, flags); @@ -3339,7 +3433,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext err = -EPERM; mutex_lock(&inode->i_mutex); /* Is it quota file? Do not allow user to mess with it */ -@@ -70,7 +103,9 @@ long ext4_ioctl(struct file *filp, unsig +@@ -70,7 +103,9 @@ long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) * * This test looks nicer. Thanks to Pauline Middelink */ @@ -3350,9 +3444,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ext if (!capable(CAP_LINUX_IMMUTABLE)) goto flags_out; } -diff -NurpP --minimal linux-3.4.48/fs/ext4/namei.c linux-3.4.48-vs2.3.3.9/fs/ext4/namei.c ---- linux-3.4.48/fs/ext4/namei.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/namei.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c +index 9fb3fae..1ea3cb2 100644 +--- a/fs/ext4/namei.c ++++ b/fs/ext4/namei.c @@ -34,6 +34,7 @@ #include <linux/quotaops.h> #include <linux/buffer_head.h> @@ -3361,7 +3456,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/namei.c linux-3.4.48-vs2.3.3.9/fs/ext #include "ext4.h" #include "ext4_jbd2.h" -@@ -925,6 +926,7 @@ restart: +@@ -922,6 +923,7 @@ restart: ll_rw_block(READ | REQ_META | REQ_PRIO, 1, &bh); } @@ -3369,7 +3464,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/namei.c linux-3.4.48-vs2.3.3.9/fs/ext } if ((bh = bh_use[ra_ptr++]) == NULL) goto next; -@@ -2591,6 +2593,7 @@ const struct inode_operations ext4_dir_i +@@ -2588,6 +2590,7 @@ const struct inode_operations ext4_dir_inode_operations = { #endif .get_acl = ext4_get_acl, .fiemap = ext4_fiemap, @@ -3377,10 +3472,11 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/namei.c linux-3.4.48-vs2.3.3.9/fs/ext }; const struct inode_operations ext4_special_inode_operations = { -diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext4/super.c ---- linux-3.4.48/fs/ext4/super.c 2013-06-13 08:59:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ext4/super.c 2013-06-13 09:46:38.000000000 +0000 -@@ -1188,6 +1188,7 @@ enum { +diff --git a/fs/ext4/super.c b/fs/ext4/super.c +index b93de81..f1e1f91 100644 +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -1191,6 +1191,7 @@ enum { Opt_inode_readahead_blks, Opt_journal_ioprio, Opt_dioread_nolock, Opt_dioread_lock, Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, @@ -3388,7 +3484,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext }; static const match_table_t tokens = { -@@ -1266,6 +1267,9 @@ static const match_table_t tokens = { +@@ -1269,6 +1270,9 @@ static const match_table_t tokens = { {Opt_removed, "reservation"}, /* mount option from ext2/3 */ {Opt_removed, "noreservation"}, /* mount option from ext2/3 */ {Opt_removed, "journal=%u"}, /* mount option from ext2/3 */ @@ -3398,7 +3494,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext {Opt_err, NULL}, }; -@@ -1500,6 +1504,20 @@ static int handle_mount_opt(struct super +@@ -1503,6 +1507,20 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token, return -1; *journal_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, arg); return 1; @@ -3419,7 +3515,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext } for (m = ext4_mount_opts; m->token != Opt_err; m++) { -@@ -3236,6 +3254,9 @@ static int ext4_fill_super(struct super_ +@@ -3239,6 +3257,9 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent) clear_opt(sb, DELALLOC); } @@ -3429,7 +3525,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); -@@ -4397,6 +4418,14 @@ static int ext4_remount(struct super_blo +@@ -4400,6 +4421,14 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) ext4_abort(sb, "Abort forced by user"); @@ -3444,9 +3540,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ext4/super.c linux-3.4.48-vs2.3.3.9/fs/ext sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); -diff -NurpP --minimal linux-3.4.48/fs/fcntl.c linux-3.4.48-vs2.3.3.9/fs/fcntl.c ---- linux-3.4.48/fs/fcntl.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/fcntl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/fcntl.c b/fs/fcntl.c +index 75e7c1f..3a725a0 100644 +--- a/fs/fcntl.c ++++ b/fs/fcntl.c @@ -20,6 +20,7 @@ #include <linux/signal.h> #include <linux/rcupdate.h> @@ -3455,7 +3552,7 @@ diff -NurpP --minimal linux-3.4.48/fs/fcntl.c linux-3.4.48-vs2.3.3.9/fs/fcntl.c #include <asm/poll.h> #include <asm/siginfo.h> -@@ -103,6 +104,8 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldf +@@ -103,6 +104,8 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags) if (tofree) filp_close(tofree, files); @@ -3464,7 +3561,7 @@ diff -NurpP --minimal linux-3.4.48/fs/fcntl.c linux-3.4.48-vs2.3.3.9/fs/fcntl.c return newfd; -@@ -447,6 +450,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd, +@@ -447,6 +450,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg) filp = fget_raw(fd); if (!filp) goto out; @@ -3473,9 +3570,10 @@ diff -NurpP --minimal linux-3.4.48/fs/fcntl.c linux-3.4.48-vs2.3.3.9/fs/fcntl.c if (unlikely(filp->f_mode & FMODE_PATH)) { if (!check_fcntl_cmd(cmd)) { -diff -NurpP --minimal linux-3.4.48/fs/file.c linux-3.4.48-vs2.3.3.9/fs/file.c ---- linux-3.4.48/fs/file.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/file.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/file.c b/fs/file.c +index ba3f605..39007e7 100644 +--- a/fs/file.c ++++ b/fs/file.c @@ -21,6 +21,7 @@ #include <linux/spinlock.h> #include <linux/rcupdate.h> @@ -3484,7 +3582,7 @@ diff -NurpP --minimal linux-3.4.48/fs/file.c linux-3.4.48-vs2.3.3.9/fs/file.c struct fdtable_defer { spinlock_t lock; -@@ -358,6 +359,8 @@ struct files_struct *dup_fd(struct files +@@ -358,6 +359,8 @@ struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) struct file *f = *old_fds++; if (f) { get_file(f); @@ -3501,9 +3599,10 @@ diff -NurpP --minimal linux-3.4.48/fs/file.c linux-3.4.48-vs2.3.3.9/fs/file.c #if 1 /* Sanity check */ if (rcu_dereference_raw(fdt->fd[fd]) != NULL) { -diff -NurpP --minimal linux-3.4.48/fs/file_table.c linux-3.4.48-vs2.3.3.9/fs/file_table.c ---- linux-3.4.48/fs/file_table.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/file_table.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/file_table.c b/fs/file_table.c +index 70f2a0f..ba4daef 100644 +--- a/fs/file_table.c ++++ b/fs/file_table.c @@ -24,6 +24,8 @@ #include <linux/percpu_counter.h> #include <linux/percpu.h> @@ -3540,9 +3639,10 @@ diff -NurpP --minimal linux-3.4.48/fs/file_table.c linux-3.4.48-vs2.3.3.9/fs/fil file_sb_list_del(file); file_free(file); } -diff -NurpP --minimal linux-3.4.48/fs/fs_struct.c linux-3.4.48-vs2.3.3.9/fs/fs_struct.c ---- linux-3.4.48/fs/fs_struct.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/fs_struct.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/fs_struct.c b/fs/fs_struct.c +index e159e68..35a252d 100644 +--- a/fs/fs_struct.c ++++ b/fs/fs_struct.c @@ -4,6 +4,7 @@ #include <linux/path.h> #include <linux/slab.h> @@ -3551,7 +3651,7 @@ diff -NurpP --minimal linux-3.4.48/fs/fs_struct.c linux-3.4.48-vs2.3.3.9/fs/fs_s #include "internal.h" static inline void path_get_longterm(struct path *path) -@@ -99,6 +100,7 @@ void free_fs_struct(struct fs_struct *fs +@@ -99,6 +100,7 @@ void free_fs_struct(struct fs_struct *fs) { path_put_longterm(&fs->root); path_put_longterm(&fs->pwd); @@ -3559,7 +3659,7 @@ diff -NurpP --minimal linux-3.4.48/fs/fs_struct.c linux-3.4.48-vs2.3.3.9/fs/fs_s kmem_cache_free(fs_cachep, fs); } -@@ -136,6 +138,7 @@ struct fs_struct *copy_fs_struct(struct +@@ -136,6 +138,7 @@ struct fs_struct *copy_fs_struct(struct fs_struct *old) fs->pwd = old->pwd; path_get_longterm(&fs->pwd); spin_unlock(&old->lock); @@ -3567,9 +3667,10 @@ diff -NurpP --minimal linux-3.4.48/fs/fs_struct.c linux-3.4.48-vs2.3.3.9/fs/fs_s } return fs; } -diff -NurpP --minimal linux-3.4.48/fs/gfs2/file.c linux-3.4.48-vs2.3.3.9/fs/gfs2/file.c ---- linux-3.4.48/fs/gfs2/file.c 2012-05-21 16:07:20.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/gfs2/file.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c +index a3d2c9e..b089632 100644 +--- a/fs/gfs2/file.c ++++ b/fs/gfs2/file.c @@ -142,6 +142,9 @@ static const u32 fsflags_to_gfs2[32] = { [7] = GFS2_DIF_NOATIME, [12] = GFS2_DIF_EXHASH, @@ -3590,7 +3691,7 @@ diff -NurpP --minimal linux-3.4.48/fs/gfs2/file.c linux-3.4.48-vs2.3.3.9/fs/gfs2 }; static int gfs2_get_flags(struct file *filp, u32 __user *ptr) -@@ -181,12 +187,18 @@ void gfs2_set_inode_flags(struct inode * +@@ -181,12 +187,18 @@ void gfs2_set_inode_flags(struct inode *inode) { struct gfs2_inode *ip = GFS2_I(inode); unsigned int flags = inode->i_flags; @@ -3610,7 +3711,7 @@ diff -NurpP --minimal linux-3.4.48/fs/gfs2/file.c linux-3.4.48-vs2.3.3.9/fs/gfs2 if (ip->i_diskflags & GFS2_DIF_APPENDONLY) flags |= S_APPEND; if (ip->i_diskflags & GFS2_DIF_NOATIME) -@@ -194,6 +206,43 @@ void gfs2_set_inode_flags(struct inode * +@@ -194,6 +206,43 @@ void gfs2_set_inode_flags(struct inode *inode) if (ip->i_diskflags & GFS2_DIF_SYNC) flags |= S_SYNC; inode->i_flags = flags; @@ -3654,7 +3755,7 @@ diff -NurpP --minimal linux-3.4.48/fs/gfs2/file.c linux-3.4.48-vs2.3.3.9/fs/gfs2 } /* Flags that can be set by user space */ -@@ -305,6 +354,37 @@ static int gfs2_set_flags(struct file *f +@@ -305,6 +354,37 @@ static int gfs2_set_flags(struct file *filp, u32 __user *ptr) return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA); } @@ -3692,10 +3793,11 @@ diff -NurpP --minimal linux-3.4.48/fs/gfs2/file.c linux-3.4.48-vs2.3.3.9/fs/gfs2 static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { switch(cmd) { -diff -NurpP --minimal linux-3.4.48/fs/gfs2/inode.h linux-3.4.48-vs2.3.3.9/fs/gfs2/inode.h ---- linux-3.4.48/fs/gfs2/inode.h 2012-01-09 15:14:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/gfs2/inode.h 2012-05-21 16:15:05.000000000 +0000 -@@ -120,6 +120,7 @@ extern const struct file_operations gfs2 +diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h +index 276e7b5..c43c053 100644 +--- a/fs/gfs2/inode.h ++++ b/fs/gfs2/inode.h +@@ -120,6 +120,7 @@ extern const struct file_operations gfs2_file_fops_nolock; extern const struct file_operations gfs2_dir_fops_nolock; extern void gfs2_set_inode_flags(struct inode *inode); @@ -3703,9 +3805,10 @@ diff -NurpP --minimal linux-3.4.48/fs/gfs2/inode.h linux-3.4.48-vs2.3.3.9/fs/gfs #ifdef CONFIG_GFS2_FS_LOCKING_DLM extern const struct file_operations gfs2_file_fops; -diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c ---- linux-3.4.48/fs/inode.c 2012-05-21 16:07:24.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/inode.c 2013-06-13 09:46:38.000000000 +0000 +diff --git a/fs/inode.c b/fs/inode.c +index 8de457e..3e643c3 100644 +--- a/fs/inode.c ++++ b/fs/inode.c @@ -17,6 +17,7 @@ #include <linux/prefetch.h> #include <linux/buffer_head.h> /* for inode_has_buffers */ @@ -3714,7 +3817,7 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c #include "internal.h" /* -@@ -128,6 +129,9 @@ int inode_init_always(struct super_block +@@ -128,6 +129,9 @@ int inode_init_always(struct super_block *sb, struct inode *inode) struct address_space *const mapping = &inode->i_data; inode->i_sb = sb; @@ -3724,7 +3827,7 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c inode->i_blkbits = sb->s_blocksize_bits; inode->i_flags = 0; atomic_set(&inode->i_count, 1); -@@ -149,6 +153,7 @@ int inode_init_always(struct super_block +@@ -149,6 +153,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) inode->i_bdev = NULL; inode->i_cdev = NULL; inode->i_rdev = 0; @@ -3732,7 +3835,7 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c inode->dirtied_when = 0; if (security_inode_alloc(inode)) -@@ -470,6 +475,8 @@ void __insert_inode_hash(struct inode *i +@@ -470,6 +475,8 @@ void __insert_inode_hash(struct inode *inode, unsigned long hashval) } EXPORT_SYMBOL(__insert_inode_hash); @@ -3741,7 +3844,7 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c /** * __remove_inode_hash - remove an inode from the hash * @inode: inode to unhash -@@ -1689,9 +1696,11 @@ void init_special_inode(struct inode *in +@@ -1689,9 +1696,11 @@ void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev) if (S_ISCHR(mode)) { inode->i_fop = &def_chr_fops; inode->i_rdev = rdev; @@ -3753,7 +3856,7 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c } else if (S_ISFIFO(mode)) inode->i_fop = &def_fifo_fops; else if (S_ISSOCK(mode)) -@@ -1720,6 +1729,7 @@ void inode_init_owner(struct inode *inod +@@ -1720,6 +1729,7 @@ void inode_init_owner(struct inode *inode, const struct inode *dir, } else inode->i_gid = current_fsgid(); inode->i_mode = mode; @@ -3761,9 +3864,10 @@ diff -NurpP --minimal linux-3.4.48/fs/inode.c linux-3.4.48-vs2.3.3.9/fs/inode.c } EXPORT_SYMBOL(inode_init_owner); -diff -NurpP --minimal linux-3.4.48/fs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ioctl.c ---- linux-3.4.48/fs/ioctl.c 2012-05-21 16:07:24.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ioctl.c b/fs/ioctl.c +index 29167be..dcc2ab9 100644 +--- a/fs/ioctl.c ++++ b/fs/ioctl.c @@ -15,6 +15,9 @@ #include <linux/writeback.h> #include <linux/buffer_head.h> @@ -3774,9 +3878,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ioctl.c #include <asm/ioctls.h> -diff -NurpP --minimal linux-3.4.48/fs/ioprio.c linux-3.4.48-vs2.3.3.9/fs/ioprio.c ---- linux-3.4.48/fs/ioprio.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ioprio.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ioprio.c b/fs/ioprio.c +index 0f1b951..a90276f 100644 +--- a/fs/ioprio.c ++++ b/fs/ioprio.c @@ -28,6 +28,7 @@ #include <linux/syscalls.h> #include <linux/security.h> @@ -3785,7 +3890,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ioprio.c linux-3.4.48-vs2.3.3.9/fs/ioprio. int set_task_ioprio(struct task_struct *task, int ioprio) { -@@ -104,6 +105,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which, +@@ -104,6 +105,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which, int, who, int, ioprio) else pgrp = find_vpid(who); do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { @@ -3794,7 +3899,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ioprio.c linux-3.4.48-vs2.3.3.9/fs/ioprio. ret = set_task_ioprio(p, ioprio); if (ret) break; -@@ -193,6 +196,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which, +@@ -193,6 +196,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who) else pgrp = find_vpid(who); do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { @@ -3803,10 +3908,11 @@ diff -NurpP --minimal linux-3.4.48/fs/ioprio.c linux-3.4.48-vs2.3.3.9/fs/ioprio. tmpio = get_task_ioprio(p); if (tmpio < 0) continue; -diff -NurpP --minimal linux-3.4.48/fs/jfs/file.c linux-3.4.48-vs2.3.3.9/fs/jfs/file.c ---- linux-3.4.48/fs/jfs/file.c 2011-10-24 16:45:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/file.c 2012-05-21 16:15:05.000000000 +0000 -@@ -109,7 +109,8 @@ int jfs_setattr(struct dentry *dentry, s +diff --git a/fs/jfs/file.c b/fs/jfs/file.c +index 844f946..8af7d86 100644 +--- a/fs/jfs/file.c ++++ b/fs/jfs/file.c +@@ -109,7 +109,8 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) if (is_quota_modification(inode, iattr)) dquot_initialize(inode); if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || @@ -3816,7 +3922,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/file.c linux-3.4.48-vs2.3.3.9/fs/jfs/f rc = dquot_transfer(inode, iattr); if (rc) return rc; -@@ -142,6 +143,7 @@ const struct inode_operations jfs_file_i +@@ -142,6 +143,7 @@ const struct inode_operations jfs_file_inode_operations = { #ifdef CONFIG_JFS_POSIX_ACL .get_acl = jfs_get_acl, #endif @@ -3824,9 +3930,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/file.c linux-3.4.48-vs2.3.3.9/fs/jfs/f }; const struct file_operations jfs_file_operations = { -diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ioctl.c ---- linux-3.4.48/fs/jfs/ioctl.c 2012-03-19 18:47:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/ioctl.c b/fs/jfs/ioctl.c +index f19d1e0..db57624 100644 +--- a/fs/jfs/ioctl.c ++++ b/fs/jfs/ioctl.c @@ -11,6 +11,7 @@ #include <linux/mount.h> #include <linux/time.h> @@ -3835,7 +3942,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ #include <asm/current.h> #include <asm/uaccess.h> -@@ -52,6 +53,16 @@ static long jfs_map_ext2(unsigned long f +@@ -52,6 +53,16 @@ static long jfs_map_ext2(unsigned long flags, int from) } @@ -3852,7 +3959,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct inode *inode = filp->f_dentry->d_inode; -@@ -85,6 +96,11 @@ long jfs_ioctl(struct file *filp, unsign +@@ -85,6 +96,11 @@ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) if (!S_ISDIR(inode->i_mode)) flags &= ~JFS_DIRSYNC_FL; @@ -3864,7 +3971,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ /* Is it quota file? Do not allow user to mess with it */ if (IS_NOQUOTA(inode)) { err = -EPERM; -@@ -102,8 +118,8 @@ long jfs_ioctl(struct file *filp, unsign +@@ -102,8 +118,8 @@ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) * the relevant capability. */ if ((oldflags & JFS_IMMUTABLE_FL) || @@ -3875,7 +3982,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ if (!capable(CAP_LINUX_IMMUTABLE)) { mutex_unlock(&inode->i_mutex); err = -EPERM; -@@ -111,7 +127,7 @@ long jfs_ioctl(struct file *filp, unsign +@@ -111,7 +127,7 @@ long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) } } @@ -3884,9 +3991,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/jfs/ flags |= oldflags & ~JFS_FL_USER_MODIFIABLE; jfs_inode->mode2 = flags; -diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_dinode.h linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_dinode.h ---- linux-3.4.48/fs/jfs/jfs_dinode.h 2008-12-24 23:26:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_dinode.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/jfs_dinode.h b/fs/jfs/jfs_dinode.h +index 395c4c0..c3dabc1 100644 +--- a/fs/jfs/jfs_dinode.h ++++ b/fs/jfs/jfs_dinode.h @@ -161,9 +161,13 @@ struct dinode { #define JFS_APPEND_FL 0x01000000 /* writes to file may only append */ @@ -3903,9 +4011,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_dinode.h linux-3.4.48-vs2.3.3.9/fs #define JFS_FL_INHERIT 0x03C80000 /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */ -diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_filsys.h linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_filsys.h ---- linux-3.4.48/fs/jfs/jfs_filsys.h 2008-12-24 23:26:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_filsys.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/jfs_filsys.h b/fs/jfs/jfs_filsys.h +index b3f5463..b8b38a7e 100644 +--- a/fs/jfs/jfs_filsys.h ++++ b/fs/jfs/jfs_filsys.h @@ -263,6 +263,7 @@ #define JFS_NAME_MAX 255 #define JFS_PATH_MAX BPSIZE @@ -3914,9 +4023,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_filsys.h linux-3.4.48-vs2.3.3.9/fs /* * file system state (superblock state) -diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_imap.c linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_imap.c ---- linux-3.4.48/fs/jfs/jfs_imap.c 2012-01-09 15:14:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_imap.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c +index 1b6f15f..2d5a0b4 100644 +--- a/fs/jfs/jfs_imap.c ++++ b/fs/jfs/jfs_imap.c @@ -46,6 +46,7 @@ #include <linux/pagemap.h> #include <linux/quotaops.h> @@ -3925,7 +4035,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_imap.c linux-3.4.48-vs2.3.3.9/fs/j #include "jfs_incore.h" #include "jfs_inode.h" -@@ -3058,6 +3059,8 @@ static int copy_from_dinode(struct dinod +@@ -3058,6 +3059,8 @@ static int copy_from_dinode(struct dinode * dip, struct inode *ip) { struct jfs_inode_info *jfs_ip = JFS_IP(ip); struct jfs_sb_info *sbi = JFS_SBI(ip->i_sb); @@ -3934,7 +4044,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_imap.c linux-3.4.48-vs2.3.3.9/fs/j jfs_ip->fileset = le32_to_cpu(dip->di_fileset); jfs_ip->mode2 = le32_to_cpu(dip->di_mode); -@@ -3078,14 +3081,18 @@ static int copy_from_dinode(struct dinod +@@ -3078,14 +3081,18 @@ static int copy_from_dinode(struct dinode * dip, struct inode *ip) } set_nlink(ip, le32_to_cpu(dip->di_nlink)); @@ -3955,7 +4065,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_imap.c linux-3.4.48-vs2.3.3.9/fs/j if (sbi->gid == -1) ip->i_gid = jfs_ip->saved_gid; else { -@@ -3150,14 +3157,12 @@ static void copy_to_dinode(struct dinode +@@ -3150,14 +3157,12 @@ static void copy_to_dinode(struct dinode * dip, struct inode *ip) dip->di_size = cpu_to_le64(ip->i_size); dip->di_nblocks = cpu_to_le64(PBLK2LBLK(ip->i_sb, ip->i_blocks)); dip->di_nlink = cpu_to_le32(ip->i_nlink); @@ -3976,9 +4086,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_imap.c linux-3.4.48-vs2.3.3.9/fs/j jfs_get_inode_flags(jfs_ip); /* * mode2 is only needed for storing the higher order bits. -diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.c linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_inode.c ---- linux-3.4.48/fs/jfs/jfs_inode.c 2012-01-09 15:14:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_inode.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/jfs_inode.c b/fs/jfs/jfs_inode.c +index c1a3e60..3f86fe5 100644 +--- a/fs/jfs/jfs_inode.c ++++ b/fs/jfs/jfs_inode.c @@ -18,6 +18,7 @@ #include <linux/fs.h> @@ -3987,7 +4098,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.c linux-3.4.48-vs2.3.3.9/fs/ #include "jfs_incore.h" #include "jfs_inode.h" #include "jfs_filsys.h" -@@ -30,29 +31,46 @@ void jfs_set_inode_flags(struct inode *i +@@ -30,29 +31,46 @@ void jfs_set_inode_flags(struct inode *inode) { unsigned int flags = JFS_IP(inode)->mode2; @@ -4040,7 +4151,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.c linux-3.4.48-vs2.3.3.9/fs/ if (flags & S_APPEND) jfs_ip->mode2 |= JFS_APPEND_FL; if (flags & S_NOATIME) -@@ -61,6 +79,11 @@ void jfs_get_inode_flags(struct jfs_inod +@@ -61,6 +79,11 @@ void jfs_get_inode_flags(struct jfs_inode_info *jfs_ip) jfs_ip->mode2 |= JFS_DIRSYNC_FL; if (flags & S_SYNC) jfs_ip->mode2 |= JFS_SYNC_FL; @@ -4052,10 +4163,11 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.c linux-3.4.48-vs2.3.3.9/fs/ } /* -diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.h linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_inode.h ---- linux-3.4.48/fs/jfs/jfs_inode.h 2011-10-24 16:45:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/jfs_inode.h 2012-05-21 16:15:05.000000000 +0000 -@@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s +diff --git a/fs/jfs/jfs_inode.h b/fs/jfs/jfs_inode.h +index 9271cfe4..ccfdb60 100644 +--- a/fs/jfs/jfs_inode.h ++++ b/fs/jfs/jfs_inode.h +@@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(struct super_block *sb, struct fid *fid, extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid, int fh_len, int fh_type); extern void jfs_set_inode_flags(struct inode *); @@ -4063,9 +4175,10 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/jfs_inode.h linux-3.4.48-vs2.3.3.9/fs/ extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int); extern int jfs_setattr(struct dentry *, struct iattr *); -diff -NurpP --minimal linux-3.4.48/fs/jfs/namei.c linux-3.4.48-vs2.3.3.9/fs/jfs/namei.c ---- linux-3.4.48/fs/jfs/namei.c 2012-05-21 16:07:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c +index 07c91ca..e6877e5 100644 +--- a/fs/jfs/namei.c ++++ b/fs/jfs/namei.c @@ -22,6 +22,7 @@ #include <linux/ctype.h> #include <linux/quotaops.h> @@ -4074,7 +4187,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/namei.c linux-3.4.48-vs2.3.3.9/fs/jfs/ #include "jfs_incore.h" #include "jfs_superblock.h" #include "jfs_inode.h" -@@ -1461,6 +1462,7 @@ static struct dentry *jfs_lookup(struct +@@ -1461,6 +1462,7 @@ static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, struc jfs_err("jfs_lookup: iget failed on inum %d", (uint)inum); } @@ -4082,7 +4195,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/namei.c linux-3.4.48-vs2.3.3.9/fs/jfs/ return d_splice_alias(ip, dentry); } -@@ -1525,6 +1527,7 @@ const struct inode_operations jfs_dir_in +@@ -1525,6 +1527,7 @@ const struct inode_operations jfs_dir_inode_operations = { #ifdef CONFIG_JFS_POSIX_ACL .get_acl = jfs_get_acl, #endif @@ -4090,10 +4203,11 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/namei.c linux-3.4.48-vs2.3.3.9/fs/jfs/ }; const struct file_operations jfs_dir_operations = { -diff -NurpP --minimal linux-3.4.48/fs/jfs/super.c linux-3.4.48-vs2.3.3.9/fs/jfs/super.c ---- linux-3.4.48/fs/jfs/super.c 2012-05-21 16:07:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/jfs/super.c 2012-05-21 16:15:05.000000000 +0000 -@@ -197,7 +197,8 @@ static void jfs_put_super(struct super_b +diff --git a/fs/jfs/super.c b/fs/jfs/super.c +index 4a82950..d5f12f5 100644 +--- a/fs/jfs/super.c ++++ b/fs/jfs/super.c +@@ -197,7 +197,8 @@ static void jfs_put_super(struct super_block *sb) enum { Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize, Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota, @@ -4114,7 +4228,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/super.c linux-3.4.48-vs2.3.3.9/fs/jfs/ {Opt_ignore, "noquota"}, {Opt_ignore, "quota"}, {Opt_usrquota, "usrquota"}, -@@ -341,6 +346,20 @@ static int parse_options(char *options, +@@ -341,6 +346,20 @@ static int parse_options(char *options, struct super_block *sb, s64 *newLVSize, } break; } @@ -4135,7 +4249,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/super.c linux-3.4.48-vs2.3.3.9/fs/jfs/ default: printk("jfs: Unrecognized mount option \"%s\" " " or missing value\n", p); -@@ -372,6 +391,12 @@ static int jfs_remount(struct super_bloc +@@ -372,6 +391,12 @@ static int jfs_remount(struct super_block *sb, int *flags, char *data) return -EINVAL; } @@ -4148,7 +4262,7 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/super.c linux-3.4.48-vs2.3.3.9/fs/jfs/ if (newLVSize) { if (sb->s_flags & MS_RDONLY) { printk(KERN_ERR -@@ -455,6 +480,9 @@ static int jfs_fill_super(struct super_b +@@ -455,6 +480,9 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent) #ifdef CONFIG_JFS_POSIX_ACL sb->s_flags |= MS_POSIXACL; #endif @@ -4158,10 +4272,11 @@ diff -NurpP --minimal linux-3.4.48/fs/jfs/super.c linux-3.4.48-vs2.3.3.9/fs/jfs/ if (newLVSize) { printk(KERN_ERR "resize option for remount only\n"); -diff -NurpP --minimal linux-3.4.48/fs/libfs.c linux-3.4.48-vs2.3.3.9/fs/libfs.c ---- linux-3.4.48/fs/libfs.c 2012-05-21 16:07:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/libfs.c 2012-05-21 16:15:05.000000000 +0000 -@@ -135,7 +135,8 @@ static inline unsigned char dt_type(stru +diff --git a/fs/libfs.c b/fs/libfs.c +index 18d08f5..3402ccc 100644 +--- a/fs/libfs.c ++++ b/fs/libfs.c +@@ -135,7 +135,8 @@ static inline unsigned char dt_type(struct inode *inode) * both impossible due to the lock on directory. */ @@ -4171,7 +4286,7 @@ diff -NurpP --minimal linux-3.4.48/fs/libfs.c linux-3.4.48-vs2.3.3.9/fs/libfs.c { struct dentry *dentry = filp->f_path.dentry; struct dentry *cursor = filp->private_data; -@@ -166,6 +167,8 @@ int dcache_readdir(struct file * filp, v +@@ -166,6 +167,8 @@ int dcache_readdir(struct file * filp, void * dirent, filldir_t filldir) for (p=q->next; p != &dentry->d_subdirs; p=p->next) { struct dentry *next; next = list_entry(p, struct dentry, d_u.d_child); @@ -4180,7 +4295,7 @@ diff -NurpP --minimal linux-3.4.48/fs/libfs.c linux-3.4.48-vs2.3.3.9/fs/libfs.c spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED); if (!simple_positive(next)) { spin_unlock(&next->d_lock); -@@ -192,6 +195,17 @@ int dcache_readdir(struct file * filp, v +@@ -192,6 +195,17 @@ int dcache_readdir(struct file * filp, void * dirent, filldir_t filldir) return 0; } @@ -4206,9 +4321,10 @@ diff -NurpP --minimal linux-3.4.48/fs/libfs.c linux-3.4.48-vs2.3.3.9/fs/libfs.c EXPORT_SYMBOL(generic_read_dir); EXPORT_SYMBOL(mount_pseudo); EXPORT_SYMBOL(simple_write_begin); -diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c ---- linux-3.4.48/fs/locks.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/locks.c 2012-09-01 08:50:49.000000000 +0000 +diff --git a/fs/locks.c b/fs/locks.c +index fcc50ab..1bbdd58 100644 +--- a/fs/locks.c ++++ b/fs/locks.c @@ -126,6 +126,8 @@ #include <linux/time.h> #include <linux/rcupdate.h> @@ -4218,7 +4334,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c #include <asm/uaccess.h> -@@ -184,11 +186,17 @@ static void locks_init_lock_heads(struct +@@ -184,11 +186,17 @@ static void locks_init_lock_heads(struct file_lock *fl) /* Allocate an empty lock structure. */ struct file_lock *locks_alloc_lock(void) { @@ -4229,9 +4345,9 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c - locks_init_lock_heads(fl); + if (!vx_locks_avail(1)) + return NULL; - -+ fl = kmem_cache_zalloc(filelock_cache, GFP_KERNEL); + ++ fl = kmem_cache_zalloc(filelock_cache, GFP_KERNEL); + + if (fl) { + locks_init_lock_heads(fl); + fl->fl_xid = -1; @@ -4239,7 +4355,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c return fl; } EXPORT_SYMBOL_GPL(locks_alloc_lock); -@@ -216,6 +224,7 @@ void locks_free_lock(struct file_lock *f +@@ -216,6 +224,7 @@ void locks_free_lock(struct file_lock *fl) BUG_ON(!list_empty(&fl->fl_block)); BUG_ON(!list_empty(&fl->fl_link)); @@ -4247,7 +4363,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c locks_release_private(fl); kmem_cache_free(filelock_cache, fl); } -@@ -225,6 +234,7 @@ void locks_init_lock(struct file_lock *f +@@ -225,6 +234,7 @@ void locks_init_lock(struct file_lock *fl) { memset(fl, 0, sizeof(struct file_lock)); locks_init_lock_heads(fl); @@ -4255,7 +4371,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c } EXPORT_SYMBOL(locks_init_lock); -@@ -265,6 +275,7 @@ void locks_copy_lock(struct file_lock *n +@@ -265,6 +275,7 @@ void locks_copy_lock(struct file_lock *new, struct file_lock *fl) new->fl_file = fl->fl_file; new->fl_ops = fl->fl_ops; new->fl_lmops = fl->fl_lmops; @@ -4263,7 +4379,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c locks_copy_private(new, fl); } -@@ -303,6 +314,11 @@ static int flock_make_lock(struct file * +@@ -303,6 +314,11 @@ static int flock_make_lock(struct file *filp, struct file_lock **lock, fl->fl_flags = FL_FLOCK; fl->fl_type = type; fl->fl_end = OFFSET_MAX; @@ -4275,7 +4391,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c *lock = fl; return 0; -@@ -452,6 +468,7 @@ static int lease_init(struct file *filp, +@@ -452,6 +468,7 @@ static int lease_init(struct file *filp, long type, struct file_lock *fl) fl->fl_owner = current->files; fl->fl_pid = current->tgid; @@ -4283,7 +4399,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c fl->fl_file = filp; fl->fl_flags = FL_LEASE; -@@ -471,6 +488,11 @@ static struct file_lock *lease_alloc(str +@@ -471,6 +488,11 @@ static struct file_lock *lease_alloc(struct file *filp, long type) if (fl == NULL) return ERR_PTR(error); @@ -4295,7 +4411,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c error = lease_init(filp, type, fl); if (error) { locks_free_lock(fl); -@@ -773,6 +795,7 @@ static int flock_lock_file(struct file * +@@ -773,6 +795,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request) lock_flocks(); } @@ -4321,7 +4437,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c { struct file_lock *fl; struct file_lock *new_fl = NULL; -@@ -813,6 +838,8 @@ static int __posix_lock_file(struct inod +@@ -813,6 +838,8 @@ static int __posix_lock_file(struct inode *inode, struct file_lock *request, str struct file_lock **before; int error, added = 0; @@ -4330,7 +4446,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c /* * We may need two file_lock structures for this operation, * so we get them in advance to avoid races. -@@ -823,7 +850,11 @@ static int __posix_lock_file(struct inod +@@ -823,7 +850,11 @@ static int __posix_lock_file(struct inode *inode, struct file_lock *request, str (request->fl_type != F_UNLCK || request->fl_start != 0 || request->fl_end != OFFSET_MAX)) { new_fl = locks_alloc_lock(); @@ -4342,7 +4458,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c } lock_flocks(); -@@ -1022,7 +1053,8 @@ static int __posix_lock_file(struct inod +@@ -1022,7 +1053,8 @@ static int __posix_lock_file(struct inode *inode, struct file_lock *request, str int posix_lock_file(struct file *filp, struct file_lock *fl, struct file_lock *conflock) { @@ -4352,7 +4468,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c } EXPORT_SYMBOL(posix_lock_file); -@@ -1112,7 +1144,7 @@ int locks_mandatory_area(int read_write, +@@ -1112,7 +1144,7 @@ int locks_mandatory_area(int read_write, struct inode *inode, fl.fl_end = offset + count - 1; for (;;) { @@ -4361,7 +4477,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c if (error != FILE_LOCK_DEFERRED) break; error = wait_event_interruptible(fl.fl_wait, !fl.fl_next); -@@ -1407,6 +1439,7 @@ int generic_add_lease(struct file *filp, +@@ -1407,6 +1439,7 @@ int generic_add_lease(struct file *filp, long arg, struct file_lock **flp) goto out; locks_insert_lock(before, lease); @@ -4369,7 +4485,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c return 0; out: -@@ -1847,6 +1880,11 @@ int fcntl_setlk(unsigned int fd, struct +@@ -1847,6 +1880,11 @@ int fcntl_setlk(unsigned int fd, struct file *filp, unsigned int cmd, if (file_lock == NULL) return -ENOLCK; @@ -4381,7 +4497,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c /* * This might block, so we do it before checking the inode. */ -@@ -1965,6 +2003,11 @@ int fcntl_setlk64(unsigned int fd, struc +@@ -1965,6 +2003,11 @@ int fcntl_setlk64(unsigned int fd, struct file *filp, unsigned int cmd, if (file_lock == NULL) return -ENOLCK; @@ -4393,7 +4509,7 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c /* * This might block, so we do it before checking the inode. */ -@@ -2230,8 +2273,11 @@ static int locks_show(struct seq_file *f +@@ -2230,8 +2273,11 @@ static int locks_show(struct seq_file *f, void *v) lock_get_status(f, fl, *((loff_t *)f->private), ""); @@ -4406,9 +4522,10 @@ diff -NurpP --minimal linux-3.4.48/fs/locks.c linux-3.4.48-vs2.3.3.9/fs/locks.c return 0; } -diff -NurpP --minimal linux-3.4.48/fs/mount.h linux-3.4.48-vs2.3.3.9/fs/mount.h ---- linux-3.4.48/fs/mount.h 2012-03-19 18:47:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/mount.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/mount.h b/fs/mount.h +index 4ef36d9..b7f1af3 100644 +--- a/fs/mount.h ++++ b/fs/mount.h @@ -47,6 +47,7 @@ struct mount { int mnt_expiry_mark; /* true if marked for expiry */ int mnt_pinned; @@ -4417,9 +4534,10 @@ diff -NurpP --minimal linux-3.4.48/fs/mount.h linux-3.4.48-vs2.3.3.9/fs/mount.h }; static inline struct mount *real_mount(struct vfsmount *mnt) -diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c ---- linux-3.4.48/fs/namei.c 2012-05-21 16:07:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/namei.c b/fs/namei.c +index c427919..e726b31 100644 +--- a/fs/namei.c ++++ b/fs/namei.c @@ -33,6 +33,14 @@ #include <linux/device_cgroup.h> #include <linux/fs_struct.h> @@ -4435,7 +4553,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c #include <asm/uaccess.h> #include "internal.h" -@@ -221,6 +229,89 @@ static int check_acl(struct inode *inode +@@ -221,6 +229,89 @@ static int check_acl(struct inode *inode, int mask) return -EAGAIN; } @@ -4525,7 +4643,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c /* * This does the basic permission checking */ -@@ -356,10 +447,14 @@ int inode_permission(struct inode *inode +@@ -356,10 +447,14 @@ int inode_permission(struct inode *inode, int mask) /* * Nobody gets write access to an immutable file. */ @@ -4541,7 +4659,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c retval = do_inode_permission(inode, mask); if (retval) return retval; -@@ -1038,7 +1133,8 @@ static void follow_dotdot(struct nameida +@@ -1038,7 +1133,8 @@ static void follow_dotdot(struct nameidata *nd) if (nd->path.dentry == nd->root.dentry && nd->path.mnt == nd->root.mnt) { @@ -4551,7 +4669,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c } if (nd->path.dentry != nd->path.mnt->mnt_root) { /* rare case of legitimate dget_parent()... */ -@@ -1174,6 +1270,9 @@ static int do_lookup(struct nameidata *n +@@ -1174,6 +1270,9 @@ static int do_lookup(struct nameidata *nd, struct qstr *name, goto unlazy; } } @@ -4571,7 +4689,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c done: path->mnt = mnt; path->dentry = dentry; -@@ -1981,7 +2083,7 @@ static int may_delete(struct inode *dir, +@@ -1981,7 +2083,7 @@ static int may_delete(struct inode *dir,struct dentry *victim,int isdir) if (IS_APPEND(dir)) return -EPERM; if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)|| @@ -4580,7 +4698,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c return -EPERM; if (isdir) { if (!S_ISDIR(victim->d_inode->i_mode)) -@@ -2061,19 +2163,25 @@ int vfs_create(struct inode *dir, struct +@@ -2061,19 +2163,25 @@ int vfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, { int error = may_create(dir, dentry); @@ -4608,7 +4726,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c return error; } -@@ -2108,6 +2216,15 @@ static int may_open(struct path *path, i +@@ -2108,6 +2216,15 @@ static int may_open(struct path *path, int acc_mode, int flag) break; } @@ -4641,7 +4759,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c if (error) goto exit; filp = nameidata_to_filp(nd); -@@ -2374,6 +2501,7 @@ static struct file *path_openat(int dfd, +@@ -2374,6 +2501,7 @@ static struct file *path_openat(int dfd, const char *pathname, struct path path; int error; @@ -4649,7 +4767,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c filp = get_empty_filp(); if (!filp) return ERR_PTR(-ENFILE); -@@ -2411,6 +2539,17 @@ static struct file *path_openat(int dfd, +@@ -2411,6 +2539,17 @@ static struct file *path_openat(int dfd, const char *pathname, filp = do_last(nd, &path, op, pathname); put_link(nd, &link, cookie); } @@ -4667,7 +4785,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c out: if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) path_put(&nd->root); -@@ -2500,6 +2639,11 @@ struct dentry *kern_path_create(int dfd, +@@ -2500,6 +2639,11 @@ struct dentry *kern_path_create(int dfd, const char *pathname, struct path *path goto fail; } *path = nd.path; @@ -4679,7 +4797,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c return dentry; eexist: dput(dentry); -@@ -2986,7 +3130,7 @@ int vfs_link(struct dentry *old_dentry, +@@ -2986,7 +3130,7 @@ int vfs_link(struct dentry *old_dentry, struct inode *dir, struct dentry *new_de /* * A link to an append-only or immutable file cannot be created. */ @@ -4688,7 +4806,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c return -EPERM; if (!dir->i_op->link) return -EPERM; -@@ -3375,6 +3519,253 @@ int vfs_follow_link(struct nameidata *nd +@@ -3375,6 +3519,253 @@ int vfs_follow_link(struct nameidata *nd, const char *link) return __vfs_follow_link(nd, link); } @@ -4947,9 +5065,10 @@ diff -NurpP --minimal linux-3.4.48/fs/namei.c linux-3.4.48-vs2.3.3.9/fs/namei.c EXPORT_SYMBOL(dentry_unhash); EXPORT_SYMBOL(generic_readlink); +EXPORT_SYMBOL(vx_info_mnt_namespace); -diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/namespace.c ---- linux-3.4.48/fs/namespace.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/namespace.c 2012-06-28 14:45:07.000000000 +0000 +diff --git a/fs/namespace.c b/fs/namespace.c +index 4e46539..887918c 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c @@ -20,6 +20,11 @@ #include <linux/fs_struct.h> /* get_fs_root et.al. */ #include <linux/fsnotify.h> /* fsnotify_vfsmount_delete */ @@ -4962,7 +5081,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name #include "pnode.h" #include "internal.h" -@@ -697,6 +702,10 @@ vfs_kern_mount(struct file_system_type * +@@ -697,6 +702,10 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void if (!type) return ERR_PTR(-ENODEV); @@ -4973,7 +5092,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name mnt = alloc_vfsmnt(name); if (!mnt) return ERR_PTR(-ENOMEM); -@@ -745,6 +754,7 @@ static struct mount *clone_mnt(struct mo +@@ -745,6 +754,7 @@ static struct mount *clone_mnt(struct mount *old, struct dentry *root, mnt->mnt.mnt_root = dget(root); mnt->mnt_mountpoint = mnt->mnt.mnt_root; mnt->mnt_parent = mnt; @@ -4981,7 +5100,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name br_write_lock(vfsmount_lock); list_add_tail(&mnt->mnt_instance, &sb->s_mounts); br_write_unlock(vfsmount_lock); -@@ -1210,7 +1220,7 @@ SYSCALL_DEFINE2(umount, char __user *, n +@@ -1210,7 +1220,7 @@ SYSCALL_DEFINE2(umount, char __user *, name, int, flags) goto dput_and_out; retval = -EPERM; @@ -4990,7 +5109,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name goto dput_and_out; retval = do_umount(mnt, flags); -@@ -1236,7 +1246,7 @@ SYSCALL_DEFINE1(oldumount, char __user * +@@ -1236,7 +1246,7 @@ SYSCALL_DEFINE1(oldumount, char __user *, name) static int mount_is_safe(struct path *path) { @@ -4999,7 +5118,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name return 0; return -EPERM; #ifdef notyet -@@ -1549,7 +1559,7 @@ static int do_change_type(struct path *p +@@ -1549,7 +1559,7 @@ static int do_change_type(struct path *path, int flag) int type; int err = 0; @@ -5008,7 +5127,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name return -EPERM; if (path->dentry != path->mnt->mnt_root) -@@ -1565,6 +1575,7 @@ static int do_change_type(struct path *p +@@ -1565,6 +1575,7 @@ static int do_change_type(struct path *path, int flag) if (err) goto out_unlock; } @@ -5016,7 +5135,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name br_write_lock(vfsmount_lock); for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL)) -@@ -1580,12 +1591,14 @@ static int do_change_type(struct path *p +@@ -1580,12 +1591,14 @@ static int do_change_type(struct path *path, int flag) * do loopback mount. */ static int do_loopback(struct path *path, char *old_name, @@ -5032,7 +5151,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name if (err) return err; if (!old_name || !*old_name) -@@ -1653,13 +1666,13 @@ static int change_mount_flags(struct vfs +@@ -1653,13 +1666,13 @@ static int change_mount_flags(struct vfsmount *mnt, int ms_flags) * on it - tough luck. */ static int do_remount(struct path *path, int flags, int mnt_flags, @@ -5048,7 +5167,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name return -EPERM; if (!check_mnt(mnt)) -@@ -1708,7 +1721,7 @@ static int do_move_mount(struct path *pa +@@ -1708,7 +1721,7 @@ static int do_move_mount(struct path *path, char *old_name) struct mount *p; struct mount *old; int err = 0; @@ -5057,7 +5176,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name return -EPERM; if (!old_name || !*old_name) return -EINVAL; -@@ -1859,7 +1872,7 @@ static int do_new_mount(struct path *pat +@@ -1859,7 +1872,7 @@ static int do_new_mount(struct path *path, char *type, int flags, return -EINVAL; /* we need capabilities... */ @@ -5066,7 +5185,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name return -EPERM; mnt = do_kern_mount(type, flags, name, data); -@@ -2129,6 +2142,7 @@ long do_mount(char *dev_name, char *dir_ +@@ -2129,6 +2142,7 @@ long do_mount(char *dev_name, char *dir_name, char *type_page, struct path path; int retval = 0; int mnt_flags = 0; @@ -5074,7 +5193,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name /* Discard magic */ if ((flags & MS_MGC_MSK) == MS_MGC_VAL) -@@ -2156,6 +2170,12 @@ long do_mount(char *dev_name, char *dir_ +@@ -2156,6 +2170,12 @@ long do_mount(char *dev_name, char *dir_name, char *type_page, if (!(flags & MS_NOATIME)) mnt_flags |= MNT_RELATIME; @@ -5087,7 +5206,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name /* Separate the per-mountpoint flags */ if (flags & MS_NOSUID) mnt_flags |= MNT_NOSUID; -@@ -2172,15 +2192,17 @@ long do_mount(char *dev_name, char *dir_ +@@ -2172,15 +2192,17 @@ long do_mount(char *dev_name, char *dir_name, char *type_page, if (flags & MS_RDONLY) mnt_flags |= MNT_READONLY; @@ -5107,7 +5226,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE)) retval = do_change_type(&path, flags); else if (flags & MS_MOVE) -@@ -2283,6 +2305,7 @@ static struct mnt_namespace *dup_mnt_ns( +@@ -2283,6 +2305,7 @@ static struct mnt_namespace *dup_mnt_ns(struct mnt_namespace *mnt_ns, q = next_mnt(q, new); } up_write(&namespace_sem); @@ -5115,7 +5234,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name if (rootmnt) mntput(rootmnt); -@@ -2479,9 +2502,10 @@ SYSCALL_DEFINE2(pivot_root, const char _ +@@ -2479,9 +2502,10 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root, error = -EINVAL; new_mnt = real_mount(new.mnt); root_mnt = real_mount(root.mnt); @@ -5128,7 +5247,7 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name goto out4; if (!check_mnt(root_mnt) || !check_mnt(new_mnt)) goto out4; -@@ -2602,6 +2626,7 @@ void put_mnt_ns(struct mnt_namespace *ns +@@ -2602,6 +2626,7 @@ void put_mnt_ns(struct mnt_namespace *ns) br_write_unlock(vfsmount_lock); up_write(&namespace_sem); release_mounts(&umount_list); @@ -5136,10 +5255,11 @@ diff -NurpP --minimal linux-3.4.48/fs/namespace.c linux-3.4.48-vs2.3.3.9/fs/name kfree(ns); } -diff -NurpP --minimal linux-3.4.48/fs/nfs/client.c linux-3.4.48-vs2.3.3.9/fs/nfs/client.c ---- linux-3.4.48/fs/nfs/client.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfs/client.c 2013-01-16 00:15:57.000000000 +0000 -@@ -801,6 +801,9 @@ static int nfs_init_server_rpcclient(str +diff --git a/fs/nfs/client.c b/fs/nfs/client.c +index 37f6de3..95bff63 100644 +--- a/fs/nfs/client.c ++++ b/fs/nfs/client.c +@@ -801,6 +801,9 @@ static int nfs_init_server_rpcclient(struct nfs_server *server, if (server->flags & NFS_MOUNT_SOFT) server->client->cl_softrtry = 1; @@ -5149,7 +5269,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/client.c linux-3.4.48-vs2.3.3.9/fs/nfs return 0; } -@@ -976,6 +979,10 @@ static void nfs_server_set_fsinfo(struct +@@ -976,6 +979,10 @@ static void nfs_server_set_fsinfo(struct nfs_server *server, server->acdirmin = server->acdirmax = 0; } @@ -5160,9 +5280,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/client.c linux-3.4.48-vs2.3.3.9/fs/nfs server->maxfilesize = fsinfo->maxfilesize; server->time_delta = fsinfo->time_delta; -diff -NurpP --minimal linux-3.4.48/fs/nfs/dir.c linux-3.4.48-vs2.3.3.9/fs/nfs/dir.c ---- linux-3.4.48/fs/nfs/dir.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfs/dir.c 2013-01-16 00:15:57.000000000 +0000 +diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c +index a0daac7..32219ea 100644 +--- a/fs/nfs/dir.c ++++ b/fs/nfs/dir.c @@ -35,6 +35,7 @@ #include <linux/sched.h> #include <linux/kmemleak.h> @@ -5171,7 +5292,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/dir.c linux-3.4.48-vs2.3.3.9/fs/nfs/di #include "delegation.h" #include "iostat.h" -@@ -1314,6 +1315,7 @@ static struct dentry *nfs_lookup(struct +@@ -1314,6 +1315,7 @@ static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, stru if (IS_ERR(res)) goto out_unblock_sillyrename; @@ -5179,9 +5300,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/dir.c linux-3.4.48-vs2.3.3.9/fs/nfs/di no_entry: res = d_materialise_unique(dentry, inode); if (res != NULL) { -diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/inode.c ---- linux-3.4.48/fs/nfs/inode.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfs/inode.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c +index edf4119..14a368f 100644 +--- a/fs/nfs/inode.c ++++ b/fs/nfs/inode.c @@ -40,6 +40,7 @@ #include <linux/compat.h> #include <linux/freezer.h> @@ -5190,7 +5312,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ #include <asm/uaccess.h> -@@ -275,6 +276,8 @@ nfs_fhget(struct super_block *sb, struct +@@ -275,6 +276,8 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr) if (inode->i_state & I_NEW) { struct nfs_inode *nfsi = NFS_I(inode); unsigned long now = jiffies; @@ -5199,7 +5321,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* We set i_ino for the few things that still rely on it, * such as stat(2) */ -@@ -323,8 +326,8 @@ nfs_fhget(struct super_block *sb, struct +@@ -323,8 +326,8 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr) inode->i_version = 0; inode->i_size = 0; clear_nlink(inode); @@ -5210,7 +5332,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ inode->i_blocks = 0; memset(nfsi->cookieverf, 0, sizeof(nfsi->cookieverf)); -@@ -361,13 +364,13 @@ nfs_fhget(struct super_block *sb, struct +@@ -361,13 +364,13 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr) else if (nfs_server_capable(inode, NFS_CAP_NLINK)) nfsi->cache_validity |= NFS_INO_INVALID_ATTR; if (fattr->valid & NFS_ATTR_FATTR_OWNER) @@ -5226,7 +5348,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ else if (nfs_server_capable(inode, NFS_CAP_OWNER_GROUP)) nfsi->cache_validity |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS -@@ -380,6 +383,11 @@ nfs_fhget(struct super_block *sb, struct +@@ -380,6 +383,11 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr) */ inode->i_blocks = nfs_calc_block_size(fattr->du.nfs3.used); } @@ -5238,7 +5360,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); nfsi->attrtimeo_timestamp = now; nfsi->access_cache = RB_ROOT; -@@ -497,6 +505,8 @@ void nfs_setattr_update_inode(struct ino +@@ -497,6 +505,8 @@ void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr) inode->i_uid = attr->ia_uid; if ((attr->ia_valid & ATTR_GID) != 0) inode->i_gid = attr->ia_gid; @@ -5247,7 +5369,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL; spin_unlock(&inode->i_lock); } -@@ -946,6 +956,9 @@ static int nfs_check_inode_attributes(st +@@ -946,6 +956,9 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat struct nfs_inode *nfsi = NFS_I(inode); loff_t cur_size, new_isize; unsigned long invalid = 0; @@ -5257,7 +5379,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* Has the inode gone and changed behind our back? */ -@@ -969,13 +982,18 @@ static int nfs_check_inode_attributes(st +@@ -969,13 +982,18 @@ static int nfs_check_inode_attributes(struct inode *inode, struct nfs_fattr *fat invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; } @@ -5278,7 +5400,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* Has the link count changed? */ if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink) -@@ -1273,6 +1291,9 @@ static int nfs_update_inode(struct inode +@@ -1273,6 +1291,9 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) unsigned long invalid = 0; unsigned long now = jiffies; unsigned long save_cache_validity; @@ -5288,7 +5410,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ dfprintk(VFS, "NFS: %s(%s/%ld fh_crc=0x%08x ct=%d info=0x%x)\n", __func__, inode->i_sb->s_id, inode->i_ino, -@@ -1381,6 +1402,9 @@ static int nfs_update_inode(struct inode +@@ -1381,6 +1402,9 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | NFS_INO_REVAL_PAGECACHE | NFS_INO_REVAL_FORCED); @@ -5298,7 +5420,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ if (fattr->valid & NFS_ATTR_FATTR_ATIME) memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime)); -@@ -1402,9 +1426,9 @@ static int nfs_update_inode(struct inode +@@ -1402,9 +1426,9 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | NFS_INO_REVAL_FORCED); if (fattr->valid & NFS_ATTR_FATTR_OWNER) { @@ -5310,7 +5432,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ } } else if (server->caps & NFS_CAP_OWNER) invalid |= save_cache_validity & (NFS_INO_INVALID_ATTR -@@ -1413,9 +1437,9 @@ static int nfs_update_inode(struct inode +@@ -1413,9 +1437,9 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | NFS_INO_REVAL_FORCED); if (fattr->valid & NFS_ATTR_FATTR_GROUP) { @@ -5322,7 +5444,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ } } else if (server->caps & NFS_CAP_OWNER_GROUP) invalid |= save_cache_validity & (NFS_INO_INVALID_ATTR -@@ -1423,6 +1447,10 @@ static int nfs_update_inode(struct inode +@@ -1423,6 +1447,10 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr) | NFS_INO_INVALID_ACL | NFS_INO_REVAL_FORCED); @@ -5333,9 +5455,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/inode.c linux-3.4.48-vs2.3.3.9/fs/nfs/ if (fattr->valid & NFS_ATTR_FATTR_NLINK) { if (inode->i_nlink != fattr->nlink) { invalid |= NFS_INO_INVALID_ATTR; -diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nfs/nfs3xdr.c ---- linux-3.4.48/fs/nfs/nfs3xdr.c 2012-05-21 16:07:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfs/nfs3xdr.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c +index a77cc9a..f7563a8 100644 +--- a/fs/nfs/nfs3xdr.c ++++ b/fs/nfs/nfs3xdr.c @@ -20,6 +20,7 @@ #include <linux/nfs3.h> #include <linux/nfs_fs.h> @@ -5344,7 +5467,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf #include "internal.h" #define NFSDBG_FACILITY NFSDBG_XDR -@@ -562,7 +563,8 @@ static __be32 *xdr_decode_nfstime3(__be3 +@@ -562,7 +563,8 @@ static __be32 *xdr_decode_nfstime3(__be32 *p, struct timespec *timep) * set_mtime mtime; * }; */ @@ -5354,7 +5477,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf { u32 nbytes; __be32 *p; -@@ -594,15 +596,19 @@ static void encode_sattr3(struct xdr_str +@@ -594,15 +596,19 @@ static void encode_sattr3(struct xdr_stream *xdr, const struct iattr *attr) } else *p++ = xdr_zero; @@ -5378,7 +5501,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf } else *p++ = xdr_zero; -@@ -878,7 +884,7 @@ static void nfs3_xdr_enc_setattr3args(st +@@ -878,7 +884,7 @@ static void nfs3_xdr_enc_setattr3args(struct rpc_rqst *req, const struct nfs3_sattrargs *args) { encode_nfs_fh3(xdr, args->fh); @@ -5387,7 +5510,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf encode_sattrguard3(xdr, args); } -@@ -1028,13 +1034,13 @@ static void nfs3_xdr_enc_write3args(stru +@@ -1028,13 +1034,13 @@ static void nfs3_xdr_enc_write3args(struct rpc_rqst *req, * }; */ static void encode_createhow3(struct xdr_stream *xdr, @@ -5403,7 +5526,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf break; case NFS3_CREATE_EXCLUSIVE: encode_createverf3(xdr, args->verifier); -@@ -1049,7 +1055,7 @@ static void nfs3_xdr_enc_create3args(str +@@ -1049,7 +1055,7 @@ static void nfs3_xdr_enc_create3args(struct rpc_rqst *req, const struct nfs3_createargs *args) { encode_diropargs3(xdr, args->fh, args->name, args->len); @@ -5412,7 +5535,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf } /* -@@ -1065,7 +1071,7 @@ static void nfs3_xdr_enc_mkdir3args(stru +@@ -1065,7 +1071,7 @@ static void nfs3_xdr_enc_mkdir3args(struct rpc_rqst *req, const struct nfs3_mkdirargs *args) { encode_diropargs3(xdr, args->fh, args->name, args->len); @@ -5421,7 +5544,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf } /* -@@ -1082,9 +1088,9 @@ static void nfs3_xdr_enc_mkdir3args(stru +@@ -1082,9 +1088,9 @@ static void nfs3_xdr_enc_mkdir3args(struct rpc_rqst *req, * }; */ static void encode_symlinkdata3(struct xdr_stream *xdr, @@ -5433,7 +5556,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf encode_nfspath3(xdr, args->pages, args->pathlen); } -@@ -1093,7 +1099,7 @@ static void nfs3_xdr_enc_symlink3args(st +@@ -1093,7 +1099,7 @@ static void nfs3_xdr_enc_symlink3args(struct rpc_rqst *req, const struct nfs3_symlinkargs *args) { encode_diropargs3(xdr, args->fromfh, args->fromname, args->fromlen); @@ -5442,7 +5565,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf } /* -@@ -1121,24 +1127,24 @@ static void nfs3_xdr_enc_symlink3args(st +@@ -1121,24 +1127,24 @@ static void nfs3_xdr_enc_symlink3args(struct rpc_rqst *req, * }; */ static void encode_devicedata3(struct xdr_stream *xdr, @@ -5472,7 +5595,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf break; case NF3REG: case NF3DIR: -@@ -1153,7 +1159,7 @@ static void nfs3_xdr_enc_mknod3args(stru +@@ -1153,7 +1159,7 @@ static void nfs3_xdr_enc_mknod3args(struct rpc_rqst *req, const struct nfs3_mknodargs *args) { encode_diropargs3(xdr, args->fh, args->name, args->len); @@ -5481,9 +5604,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nf } /* -diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/super.c ---- linux-3.4.48/fs/nfs/super.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfs/super.c 2013-01-16 00:15:57.000000000 +0000 +diff --git a/fs/nfs/super.c b/fs/nfs/super.c +index c252161..893b6d8 100644 +--- a/fs/nfs/super.c ++++ b/fs/nfs/super.c @@ -54,6 +54,7 @@ #include <linux/parser.h> #include <linux/nsproxy.h> @@ -5508,7 +5632,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* Mount options that take string arguments */ Opt_nfsvers, -@@ -180,6 +183,10 @@ static const match_table_t nfs_mount_opt +@@ -180,6 +183,10 @@ static const match_table_t nfs_mount_option_tokens = { /* The following needs to be listed after all other options */ { Opt_nfsvers, "v%s" }, @@ -5519,7 +5643,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/ { Opt_err, NULL } }; -@@ -674,6 +681,7 @@ static void nfs_show_mount_options(struc +@@ -674,6 +681,7 @@ static void nfs_show_mount_options(struct seq_file *m, struct nfs_server *nfss, { NFS_MOUNT_NORDIRPLUS, ",nordirplus", "" }, { NFS_MOUNT_UNSHARED, ",nosharecache", "" }, { NFS_MOUNT_NORESVPORT, ",noresvport", "" }, @@ -5527,7 +5651,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/ { 0, NULL, NULL } }; const struct proc_nfs_info *nfs_infop; -@@ -1286,6 +1294,14 @@ static int nfs_parse_mount_options(char +@@ -1286,6 +1294,14 @@ static int nfs_parse_mount_options(char *raw, kfree(mnt->fscache_uniq); mnt->fscache_uniq = NULL; break; @@ -5542,7 +5666,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* * options that take numeric values -@@ -1372,6 +1388,12 @@ static int nfs_parse_mount_options(char +@@ -1372,6 +1388,12 @@ static int nfs_parse_mount_options(char *raw, goto out_invalid_value; mnt->minorversion = option; break; @@ -5555,9 +5679,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfs/super.c linux-3.4.48-vs2.3.3.9/fs/nfs/ /* * options that take text values -diff -NurpP --minimal linux-3.4.48/fs/nfsd/auth.c linux-3.4.48-vs2.3.3.9/fs/nfsd/auth.c ---- linux-3.4.48/fs/nfsd/auth.c 2010-02-25 10:52:05.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfsd/auth.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c +index 79717a4..ecdce16 100644 +--- a/fs/nfsd/auth.c ++++ b/fs/nfsd/auth.c @@ -1,6 +1,7 @@ /* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> */ @@ -5566,7 +5691,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/auth.c linux-3.4.48-vs2.3.3.9/fs/nfsd #include "nfsd.h" #include "auth.h" -@@ -36,6 +37,9 @@ int nfsd_setuser(struct svc_rqst *rqstp, +@@ -36,6 +37,9 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) new->fsuid = rqstp->rq_cred.cr_uid; new->fsgid = rqstp->rq_cred.cr_gid; @@ -5576,9 +5701,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/auth.c linux-3.4.48-vs2.3.3.9/fs/nfsd rqgi = rqstp->rq_cred.cr_group_info; -diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/nfsd/nfs3xdr.c ---- linux-3.4.48/fs/nfsd/nfs3xdr.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfsd/nfs3xdr.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c +index 43f46cd..24d537c 100644 +--- a/fs/nfsd/nfs3xdr.c ++++ b/fs/nfsd/nfs3xdr.c @@ -7,6 +7,7 @@ */ @@ -5596,7 +5722,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/n iap->ia_valid = 0; -@@ -104,12 +107,15 @@ decode_sattr3(__be32 *p, struct iattr *i +@@ -104,12 +107,15 @@ decode_sattr3(__be32 *p, struct iattr *iap) } if (*p++) { iap->ia_valid |= ATTR_UID; @@ -5614,7 +5740,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/n if (*p++) { u64 newsize; -@@ -165,8 +171,12 @@ encode_fattr3(struct svc_rqst *rqstp, __ +@@ -165,8 +171,12 @@ encode_fattr3(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp, *p++ = htonl(nfs3_ftypes[(stat->mode & S_IFMT) >> 12]); *p++ = htonl((u32) stat->mode); *p++ = htonl((u32) stat->nlink); @@ -5629,9 +5755,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs3xdr.c linux-3.4.48-vs2.3.3.9/fs/n if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) { p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN); } else { -diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs4xdr.c linux-3.4.48-vs2.3.3.9/fs/nfsd/nfs4xdr.c ---- linux-3.4.48/fs/nfsd/nfs4xdr.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfsd/nfs4xdr.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c +index cb997b1..9d1ce48 100644 +--- a/fs/nfsd/nfs4xdr.c ++++ b/fs/nfsd/nfs4xdr.c @@ -46,6 +46,7 @@ #include <linux/utsname.h> #include <linux/pagemap.h> @@ -5640,7 +5767,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs4xdr.c linux-3.4.48-vs2.3.3.9/fs/n #include "idmap.h" #include "acl.h" -@@ -2325,14 +2326,18 @@ out_acl: +@@ -2319,14 +2320,18 @@ out_acl: WRITE32(stat.nlink); } if (bmval1 & FATTR4_WORD1_OWNER) { @@ -5661,9 +5788,10 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfs4xdr.c linux-3.4.48-vs2.3.3.9/fs/n if (status == nfserr_resource) goto out_resource; if (status) -diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfsxdr.c linux-3.4.48-vs2.3.3.9/fs/nfsd/nfsxdr.c ---- linux-3.4.48/fs/nfsd/nfsxdr.c 2011-05-22 14:17:53.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/nfsd/nfsxdr.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/nfsd/nfsxdr.c b/fs/nfsd/nfsxdr.c +index 65ec595..31939e6 100644 +--- a/fs/nfsd/nfsxdr.c ++++ b/fs/nfsd/nfsxdr.c @@ -6,6 +6,7 @@ #include "xdr.h" @@ -5681,7 +5809,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfsxdr.c linux-3.4.48-vs2.3.3.9/fs/nf iap->ia_valid = 0; -@@ -101,12 +104,15 @@ decode_sattr(__be32 *p, struct iattr *ia +@@ -101,12 +104,15 @@ decode_sattr(__be32 *p, struct iattr *iap) } if ((tmp = ntohl(*p++)) != (u32)-1) { iap->ia_valid |= ATTR_UID; @@ -5699,7 +5827,7 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfsxdr.c linux-3.4.48-vs2.3.3.9/fs/nf if ((tmp = ntohl(*p++)) != (u32)-1) { iap->ia_valid |= ATTR_SIZE; iap->ia_size = tmp; -@@ -151,8 +157,10 @@ encode_fattr(struct svc_rqst *rqstp, __b +@@ -151,8 +157,10 @@ encode_fattr(struct svc_rqst *rqstp, __be32 *p, struct svc_fh *fhp, *p++ = htonl(nfs_ftypes[type >> 12]); *p++ = htonl((u32) stat->mode); *p++ = htonl((u32) stat->nlink); @@ -5712,10 +5840,11 @@ diff -NurpP --minimal linux-3.4.48/fs/nfsd/nfsxdr.c linux-3.4.48-vs2.3.3.9/fs/nf if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) { *p++ = htonl(NFS_MAXPATHLEN); -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/dlmglue.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/dlmglue.c ---- linux-3.4.48/fs/ocfs2/dlmglue.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/dlmglue.c 2013-03-02 15:26:44.000000000 +0000 -@@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struc +diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c +index 231eab2..c48839a 100644 +--- a/fs/ocfs2/dlmglue.c ++++ b/fs/ocfs2/dlmglue.c +@@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struct inode *inode) lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters); lvb->lvb_iuid = cpu_to_be32(inode->i_uid); lvb->lvb_igid = cpu_to_be32(inode->i_gid); @@ -5723,7 +5852,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/dlmglue.c linux-3.4.48-vs2.3.3.9/fs/ lvb->lvb_imode = cpu_to_be16(inode->i_mode); lvb->lvb_inlink = cpu_to_be16(inode->i_nlink); lvb->lvb_iatime_packed = -@@ -2097,6 +2098,7 @@ static void ocfs2_refresh_inode_from_lvb +@@ -2097,6 +2098,7 @@ static void ocfs2_refresh_inode_from_lvb(struct inode *inode) inode->i_uid = be32_to_cpu(lvb->lvb_iuid); inode->i_gid = be32_to_cpu(lvb->lvb_igid); @@ -5731,9 +5860,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/dlmglue.c linux-3.4.48-vs2.3.3.9/fs/ inode->i_mode = be16_to_cpu(lvb->lvb_imode); set_nlink(inode, be16_to_cpu(lvb->lvb_inlink)); ocfs2_unpack_timespec(&inode->i_atime, -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/dlmglue.h linux-3.4.48-vs2.3.3.9/fs/ocfs2/dlmglue.h ---- linux-3.4.48/fs/ocfs2/dlmglue.h 2010-10-21 11:07:50.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/dlmglue.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/dlmglue.h b/fs/ocfs2/dlmglue.h +index 1d596d8..357ff1e 100644 +--- a/fs/ocfs2/dlmglue.h ++++ b/fs/ocfs2/dlmglue.h @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb { __be16 lvb_inlink; __be32 lvb_iattr; @@ -5744,10 +5874,11 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/dlmglue.h linux-3.4.48-vs2.3.3.9/fs/ }; #define OCFS2_QINFO_LVB_VERSION 1 -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/file.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/file.c ---- linux-3.4.48/fs/ocfs2/file.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/file.c 2012-07-17 22:29:43.000000000 +0000 -@@ -1123,7 +1123,7 @@ int ocfs2_setattr(struct dentry *dentry, +diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c +index 7602783..b7567ce 100644 +--- a/fs/ocfs2/file.c ++++ b/fs/ocfs2/file.c +@@ -1123,7 +1123,7 @@ int ocfs2_setattr(struct dentry *dentry, struct iattr *attr) attr->ia_valid &= ~ATTR_SIZE; #define OCFS2_VALID_ATTRS (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME | ATTR_SIZE \ @@ -5756,9 +5887,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/file.c linux-3.4.48-vs2.3.3.9/fs/ocf if (!(attr->ia_valid & OCFS2_VALID_ATTRS)) return 0; -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/inode.c ---- linux-3.4.48/fs/ocfs2/inode.c 2012-01-09 15:14:55.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/inode.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c +index 17454a9..e8e5419 100644 +--- a/fs/ocfs2/inode.c ++++ b/fs/ocfs2/inode.c @@ -28,6 +28,7 @@ #include <linux/highmem.h> #include <linux/pagemap.h> @@ -5767,7 +5899,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/oc #include <asm/byteorder.h> -@@ -78,11 +79,13 @@ void ocfs2_set_inode_flags(struct inode +@@ -78,11 +79,13 @@ void ocfs2_set_inode_flags(struct inode *inode) { unsigned int flags = OCFS2_I(inode)->ip_attr; @@ -5782,7 +5914,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/oc if (flags & OCFS2_SYNC_FL) inode->i_flags |= S_SYNC; -@@ -92,25 +95,44 @@ void ocfs2_set_inode_flags(struct inode +@@ -92,25 +95,44 @@ void ocfs2_set_inode_flags(struct inode *inode) inode->i_flags |= S_NOATIME; if (flags & OCFS2_DIRSYNC_FL) inode->i_flags |= S_DIRSYNC; @@ -5831,7 +5963,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/oc } struct inode *ocfs2_ilookup(struct super_block *sb, u64 blkno) -@@ -241,6 +263,8 @@ void ocfs2_populate_inode(struct inode * +@@ -241,6 +263,8 @@ void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, struct super_block *sb; struct ocfs2_super *osb; int use_plocks = 1; @@ -5840,7 +5972,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/oc sb = inode->i_sb; osb = OCFS2_SB(sb); -@@ -269,8 +293,12 @@ void ocfs2_populate_inode(struct inode * +@@ -269,8 +293,12 @@ void ocfs2_populate_inode(struct inode *inode, struct ocfs2_dinode *fe, inode->i_generation = le32_to_cpu(fe->i_generation); inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev)); inode->i_mode = le16_to_cpu(fe->i_mode); @@ -5855,10 +5987,11 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.c linux-3.4.48-vs2.3.3.9/fs/oc /* Fast symlinks will have i_size but no allocated clusters. */ if (S_ISLNK(inode->i_mode) && !fe->i_clusters) -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.h linux-3.4.48-vs2.3.3.9/fs/ocfs2/inode.h ---- linux-3.4.48/fs/ocfs2/inode.h 2012-01-09 15:14:55.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/inode.h 2012-05-21 16:15:05.000000000 +0000 -@@ -154,6 +154,7 @@ struct buffer_head *ocfs2_bread(struct i +diff --git a/fs/ocfs2/inode.h b/fs/ocfs2/inode.h +index 88924a3..a154533 100644 +--- a/fs/ocfs2/inode.h ++++ b/fs/ocfs2/inode.h +@@ -154,6 +154,7 @@ struct buffer_head *ocfs2_bread(struct inode *inode, void ocfs2_set_inode_flags(struct inode *inode); void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi); @@ -5866,10 +5999,11 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/inode.h linux-3.4.48-vs2.3.3.9/fs/oc static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode) { -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/ioctl.c ---- linux-3.4.48/fs/ocfs2/ioctl.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/ioctl.c 2012-05-21 16:15:05.000000000 +0000 -@@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i +diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c +index a1a1bfd..e97bd26 100644 +--- a/fs/ocfs2/ioctl.c ++++ b/fs/ocfs2/ioctl.c +@@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct inode *inode, unsigned *flags) return status; } @@ -5912,7 +6046,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/oc unsigned mask) { struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode); -@@ -101,6 +135,11 @@ static int ocfs2_set_inode_attr(struct i +@@ -101,6 +135,11 @@ static int ocfs2_set_inode_attr(struct inode *inode, unsigned flags, if (!S_ISDIR(inode->i_mode)) flags &= ~OCFS2_DIRSYNC_FL; @@ -5932,9 +6066,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ioctl.c linux-3.4.48-vs2.3.3.9/fs/oc long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { struct inode *inode = filp->f_path.dentry->d_inode; -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/namei.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/namei.c ---- linux-3.4.48/fs/ocfs2/namei.c 2012-03-19 18:47:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c +index a9856e3..ab87257 100644 +--- a/fs/ocfs2/namei.c ++++ b/fs/ocfs2/namei.c @@ -41,6 +41,7 @@ #include <linux/slab.h> #include <linux/highmem.h> @@ -5943,7 +6078,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/namei.c linux-3.4.48-vs2.3.3.9/fs/oc #include <cluster/masklog.h> -@@ -475,6 +476,7 @@ static int __ocfs2_mknod_locked(struct i +@@ -475,6 +476,7 @@ static int __ocfs2_mknod_locked(struct inode *dir, struct ocfs2_dinode *fe = NULL; struct ocfs2_extent_list *fel; u16 feat; @@ -5951,7 +6086,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/namei.c linux-3.4.48-vs2.3.3.9/fs/oc *new_fe_bh = NULL; -@@ -512,8 +514,11 @@ static int __ocfs2_mknod_locked(struct i +@@ -512,8 +514,11 @@ static int __ocfs2_mknod_locked(struct inode *dir, fe->i_suballoc_loc = cpu_to_le64(suballoc_loc); fe->i_suballoc_bit = cpu_to_le16(suballoc_bit); fe->i_suballoc_slot = cpu_to_le16(inode_ac->ac_alloc_slot); @@ -5965,9 +6100,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/namei.c linux-3.4.48-vs2.3.3.9/fs/oc fe->i_mode = cpu_to_le16(inode->i_mode); if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) fe->id1.dev1.i_rdev = cpu_to_le64(huge_encode_dev(dev)); -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ocfs2.h linux-3.4.48-vs2.3.3.9/fs/ocfs2/ocfs2.h ---- linux-3.4.48/fs/ocfs2/ocfs2.h 2012-01-09 15:14:55.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/ocfs2.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h +index d355e6e..5d00443 100644 +--- a/fs/ocfs2/ocfs2.h ++++ b/fs/ocfs2/ocfs2.h @@ -272,6 +272,7 @@ enum ocfs2_mount_options writes */ OCFS2_MOUNT_HB_NONE = 1 << 13, /* No heartbeat */ @@ -5976,9 +6112,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ocfs2.h linux-3.4.48-vs2.3.3.9/fs/oc }; #define OCFS2_OSB_SOFT_RO 0x0001 -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ocfs2_fs.h linux-3.4.48-vs2.3.3.9/fs/ocfs2/ocfs2_fs.h ---- linux-3.4.48/fs/ocfs2/ocfs2_fs.h 2011-05-22 14:17:53.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/ocfs2_fs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/ocfs2_fs.h b/fs/ocfs2/ocfs2_fs.h +index 938387a..6e8d529 100644 +--- a/fs/ocfs2/ocfs2_fs.h ++++ b/fs/ocfs2/ocfs2_fs.h @@ -266,6 +266,11 @@ #define OCFS2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ #define OCFS2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ @@ -5991,9 +6128,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/ocfs2_fs.h linux-3.4.48-vs2.3.3.9/fs #define OCFS2_FL_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ #define OCFS2_FL_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ -diff -NurpP --minimal linux-3.4.48/fs/ocfs2/super.c linux-3.4.48-vs2.3.3.9/fs/ocfs2/super.c ---- linux-3.4.48/fs/ocfs2/super.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/ocfs2/super.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c +index 68f4541..dbb1f8d 100644 +--- a/fs/ocfs2/super.c ++++ b/fs/ocfs2/super.c @@ -185,6 +185,7 @@ enum { Opt_coherency_full, Opt_resv_level, @@ -6012,7 +6150,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/super.c linux-3.4.48-vs2.3.3.9/fs/oc {Opt_err, NULL} }; -@@ -662,6 +666,13 @@ static int ocfs2_remount(struct super_bl +@@ -662,6 +666,13 @@ static int ocfs2_remount(struct super_block *sb, int *flags, char *data) goto out; } @@ -6026,7 +6164,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/super.c linux-3.4.48-vs2.3.3.9/fs/oc /* We're going to/from readonly mode. */ if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) { /* Disable quota accounting before remounting RO */ -@@ -1177,6 +1188,9 @@ static int ocfs2_fill_super(struct super +@@ -1177,6 +1188,9 @@ static int ocfs2_fill_super(struct super_block *sb, void *data, int silent) ocfs2_complete_mount_recovery(osb); @@ -6036,7 +6174,7 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/super.c linux-3.4.48-vs2.3.3.9/fs/oc if (ocfs2_mount_local(osb)) snprintf(nodestr, sizeof(nodestr), "local"); else -@@ -1503,6 +1517,20 @@ static int ocfs2_parse_options(struct su +@@ -1503,6 +1517,20 @@ static int ocfs2_parse_options(struct super_block *sb, option < OCFS2_MAX_RESV_LEVEL) mopt->dir_resv_level = option; break; @@ -6057,9 +6195,10 @@ diff -NurpP --minimal linux-3.4.48/fs/ocfs2/super.c linux-3.4.48-vs2.3.3.9/fs/oc default: mlog(ML_ERROR, "Unrecognized mount option \"%s\" " -diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c ---- linux-3.4.48/fs/open.c 2013-06-13 08:59:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/open.c 2012-09-16 18:49:11.000000000 +0000 +diff --git a/fs/open.c b/fs/open.c +index cf1d34f..9455091 100644 +--- a/fs/open.c ++++ b/fs/open.c @@ -30,6 +30,11 @@ #include <linux/fs_struct.h> #include <linux/ima.h> @@ -6072,7 +6211,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c #include "internal.h" -@@ -74,6 +79,12 @@ static long do_sys_truncate(const char _ +@@ -74,6 +79,12 @@ static long do_sys_truncate(const char __user *pathname, loff_t length) error = user_path(pathname, &path); if (error) goto out; @@ -6085,7 +6224,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c inode = path.dentry->d_inode; /* For directories it's -EISDIR, for other non-regulars - -EINVAL */ -@@ -489,6 +500,10 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons +@@ -489,6 +500,10 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, umode_t, mode error = user_path_at(dfd, filename, LOOKUP_FOLLOW, &path); if (!error) { @@ -6096,7 +6235,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c error = chmod_common(&path, mode); path_put(&path); } -@@ -509,11 +524,11 @@ static int chown_common(struct path *pat +@@ -509,11 +524,11 @@ static int chown_common(struct path *path, uid_t user, gid_t group) newattrs.ia_valid = ATTR_CTIME; if (user != (uid_t) -1) { newattrs.ia_valid |= ATTR_UID; @@ -6110,7 +6249,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c } if (!S_ISDIR(inode->i_mode)) newattrs.ia_valid |= -@@ -538,6 +553,10 @@ SYSCALL_DEFINE3(chown, const char __user +@@ -538,6 +553,10 @@ SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t, group) error = mnt_want_write(path.mnt); if (error) goto out_release; @@ -6121,7 +6260,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c error = chown_common(&path, user, group); mnt_drop_write(path.mnt); out_release: -@@ -565,6 +584,10 @@ SYSCALL_DEFINE5(fchownat, int, dfd, cons +@@ -565,6 +584,10 @@ SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user, error = mnt_want_write(path.mnt); if (error) goto out_release; @@ -6132,7 +6271,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c error = chown_common(&path, user, group); mnt_drop_write(path.mnt); out_release: -@@ -584,6 +607,10 @@ SYSCALL_DEFINE3(lchown, const char __use +@@ -584,6 +607,10 @@ SYSCALL_DEFINE3(lchown, const char __user *, filename, uid_t, user, gid_t, group error = mnt_want_write(path.mnt); if (error) goto out_release; @@ -6143,7 +6282,7 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c error = chown_common(&path, user, group); mnt_drop_write(path.mnt); out_release: -@@ -839,6 +866,7 @@ static void __put_unused_fd(struct files +@@ -839,6 +866,7 @@ static void __put_unused_fd(struct files_struct *files, unsigned int fd) __clear_open_fd(fd, fdt); if (fd < files->next_fd) files->next_fd = fd; @@ -6151,9 +6290,10 @@ diff -NurpP --minimal linux-3.4.48/fs/open.c linux-3.4.48-vs2.3.3.9/fs/open.c } void put_unused_fd(unsigned int fd) -diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/proc/array.c ---- linux-3.4.48/fs/proc/array.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/array.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/array.c b/fs/proc/array.c +index f9bd395..b0300cc 100644 +--- a/fs/proc/array.c ++++ b/fs/proc/array.c @@ -81,6 +81,8 @@ #include <linux/pid_namespace.h> #include <linux/ptrace.h> @@ -6163,7 +6303,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro #include <asm/pgtable.h> #include <asm/processor.h> -@@ -170,6 +172,9 @@ static inline void task_state(struct seq +@@ -170,6 +172,9 @@ static inline void task_state(struct seq_file *m, struct pid_namespace *ns, rcu_read_lock(); ppid = pid_alive(p) ? task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0; @@ -6173,7 +6313,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro tpid = 0; if (pid_alive(p)) { struct task_struct *tracer = ptrace_parent(p); -@@ -287,7 +292,7 @@ static inline void task_sig(struct seq_f +@@ -287,7 +292,7 @@ static inline void task_sig(struct seq_file *m, struct task_struct *p) } static void render_cap_t(struct seq_file *m, const char *header, @@ -6182,7 +6322,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro { unsigned __capi; -@@ -312,10 +317,11 @@ static inline void task_cap(struct seq_f +@@ -312,10 +317,11 @@ static inline void task_cap(struct seq_file *m, struct task_struct *p) cap_bset = cred->cap_bset; rcu_read_unlock(); @@ -6198,7 +6338,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro } static inline void task_context_switch_counts(struct seq_file *m, -@@ -337,6 +343,42 @@ static void task_cpus_allowed(struct seq +@@ -337,6 +343,42 @@ static void task_cpus_allowed(struct seq_file *m, struct task_struct *task) seq_putc(m, '\n'); } @@ -6241,7 +6381,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { -@@ -353,6 +395,7 @@ int proc_pid_status(struct seq_file *m, +@@ -353,6 +395,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, task_cap(m, task); task_cpus_allowed(m, task); cpuset_task_status_allowed(m, task); @@ -6249,7 +6389,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro task_context_switch_counts(m, task); return 0; } -@@ -462,6 +505,17 @@ static int do_task_stat(struct seq_file +@@ -462,6 +505,17 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, /* convert nsec -> ticks */ start_time = nsec_to_clock_t(start_time); @@ -6267,9 +6407,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/array.c linux-3.4.48-vs2.3.3.9/fs/pro seq_printf(m, "%d (%s) %c", pid_nr_ns(pid, ns), tcomm, state); seq_put_decimal_ll(m, ' ', ppid); seq_put_decimal_ll(m, ' ', pgid); -diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc/base.c ---- linux-3.4.48/fs/proc/base.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/base.c 2012-06-28 14:45:07.000000000 +0000 +diff --git a/fs/proc/base.c b/fs/proc/base.c +index 9fc77b4..eea14cb 100644 +--- a/fs/proc/base.c ++++ b/fs/proc/base.c @@ -84,6 +84,8 @@ #include <linux/fs_struct.h> #include <linux/slab.h> @@ -6279,7 +6420,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc #ifdef CONFIG_HARDWALL #include <asm/hardwall.h> #endif -@@ -937,11 +939,16 @@ static ssize_t oom_adjust_write(struct f +@@ -937,11 +939,16 @@ static ssize_t oom_adjust_write(struct file *file, const char __user *buf, goto err_task_lock; } @@ -6297,7 +6438,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc /* * Warn that /proc/pid/oom_adj is deprecated, see * Documentation/feature-removal-schedule.txt. -@@ -1541,6 +1548,8 @@ struct inode *proc_pid_make_inode(struct +@@ -1541,6 +1548,8 @@ struct inode *proc_pid_make_inode(struct super_block * sb, struct task_struct *t inode->i_gid = cred->egid; rcu_read_unlock(); } @@ -6306,7 +6447,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc security_task_to_inode(task, inode); out: -@@ -1586,6 +1595,8 @@ int pid_getattr(struct vfsmount *mnt, st +@@ -1586,6 +1595,8 @@ int pid_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) /* dentry stuff */ @@ -6315,7 +6456,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc /* * Exceptional case: normally we are not allowed to unhash a busy * directory. In this case, however, we can do it - no aliasing problems -@@ -1614,6 +1625,12 @@ int pid_revalidate(struct dentry *dentry +@@ -1614,6 +1625,12 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd) task = get_proc_task(inode); if (task) { @@ -6328,7 +6469,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) || task_dumpable(task)) { rcu_read_lock(); -@@ -1630,6 +1647,7 @@ int pid_revalidate(struct dentry *dentry +@@ -1630,6 +1647,7 @@ int pid_revalidate(struct dentry *dentry, struct nameidata *nd) put_task_struct(task); return 1; } @@ -6336,7 +6477,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc d_drop(dentry); return 0; } -@@ -2452,6 +2470,13 @@ static struct dentry *proc_pident_lookup +@@ -2452,6 +2470,13 @@ static struct dentry *proc_pident_lookup(struct inode *dir, if (!task) goto out_no_task; @@ -6359,7 +6500,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc const struct pid_entry *p, *last; error = ERR_PTR(-ENOENT); -@@ -2944,6 +2969,9 @@ static int proc_pid_personality(struct s +@@ -2944,6 +2969,9 @@ static int proc_pid_personality(struct seq_file *m, struct pid_namespace *ns, static const struct file_operations proc_task_operations; static const struct inode_operations proc_task_inode_operations; @@ -6369,7 +6510,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc static const struct pid_entry tgid_base_stuff[] = { DIR("task", S_IRUGO|S_IXUGO, proc_task_inode_operations, proc_task_operations), DIR("fd", S_IRUSR|S_IXUSR, proc_fd_inode_operations, proc_fd_operations), -@@ -3010,6 +3038,8 @@ static const struct pid_entry tgid_base_ +@@ -3010,6 +3038,8 @@ static const struct pid_entry tgid_base_stuff[] = { #ifdef CONFIG_CGROUPS REG("cgroup", S_IRUGO, proc_cgroup_operations), #endif @@ -6378,7 +6519,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc INF("oom_score", S_IRUGO, proc_oom_score), REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adjust_operations), REG("oom_score_adj", S_IRUGO|S_IWUSR, proc_oom_score_adj_operations), -@@ -3029,6 +3059,7 @@ static const struct pid_entry tgid_base_ +@@ -3029,6 +3059,7 @@ static const struct pid_entry tgid_base_stuff[] = { #ifdef CONFIG_HARDWALL INF("hardwall", S_IRUGO, proc_pid_hardwall), #endif @@ -6395,7 +6536,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc iter.task = pid_task(pid, PIDTYPE_PID); /* What we to know is if the pid we have find is the * pid of a thread_group_leader. Testing for task -@@ -3252,7 +3283,7 @@ static int proc_pid_fill_cache(struct fi +@@ -3252,7 +3283,7 @@ static int proc_pid_fill_cache(struct file *filp, void *dirent, filldir_t filldi struct tgid_iter iter) { char name[PROC_NUMBUF]; @@ -6404,7 +6545,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc return proc_fill_cache(filp, dirent, filldir, name, len, proc_pid_instantiate, iter.task, NULL); } -@@ -3276,7 +3307,7 @@ int proc_pid_readdir(struct file * filp, +@@ -3276,7 +3307,7 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) goto out_no_task; nr = filp->f_pos - FIRST_PROCESS_ENTRY; @@ -6413,7 +6554,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc if (!reaper) goto out_no_task; -@@ -3298,6 +3329,8 @@ int proc_pid_readdir(struct file * filp, +@@ -3298,6 +3329,8 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) __filldir = fake_filldir; filp->f_pos = iter.tgid + TGID_OFFSET; @@ -6422,7 +6563,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc if (proc_pid_fill_cache(filp, dirent, __filldir, iter) < 0) { put_task_struct(iter.task); goto out; -@@ -3451,6 +3484,8 @@ static struct dentry *proc_task_lookup(s +@@ -3451,6 +3484,8 @@ static struct dentry *proc_task_lookup(struct inode *dir, struct dentry * dentry tid = name_to_int(dentry); if (tid == ~0U) goto out; @@ -6431,9 +6572,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/base.c linux-3.4.48-vs2.3.3.9/fs/proc ns = dentry->d_sb->s_fs_info; rcu_read_lock(); -diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/proc/generic.c ---- linux-3.4.48/fs/proc/generic.c 2012-03-19 18:47:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/generic.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/generic.c b/fs/proc/generic.c +index 2edf34f..3154d5b 100644 +--- a/fs/proc/generic.c ++++ b/fs/proc/generic.c @@ -22,6 +22,7 @@ #include <linux/bitops.h> #include <linux/spinlock.h> @@ -6442,7 +6584,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p #include <asm/uaccess.h> #include "internal.h" -@@ -424,11 +425,15 @@ struct dentry *proc_lookup_de(struct pro +@@ -424,11 +425,15 @@ struct dentry *proc_lookup_de(struct proc_dir_entry *de, struct inode *dir, for (de = de->subdir; de ; de = de->next) { if (de->namelen != dentry->d_name.len) continue; @@ -6458,7 +6600,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p goto out_unlock; } } -@@ -506,6 +511,8 @@ int proc_readdir_de(struct proc_dir_entr +@@ -506,6 +511,8 @@ int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, /* filldir passes info to user space */ pde_get(de); @@ -6467,7 +6609,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p spin_unlock(&proc_subdir_lock); if (filldir(dirent, de->name, de->namelen, filp->f_pos, de->low_ino, de->mode >> 12) < 0) { -@@ -513,6 +520,7 @@ int proc_readdir_de(struct proc_dir_entr +@@ -513,6 +520,7 @@ int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, goto out; } spin_lock(&proc_subdir_lock); @@ -6475,7 +6617,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p filp->f_pos++; next = de->next; pde_put(de); -@@ -626,6 +634,7 @@ static struct proc_dir_entry *__proc_cre +@@ -626,6 +634,7 @@ static struct proc_dir_entry *__proc_create(struct proc_dir_entry **parent, ent->nlink = nlink; atomic_set(&ent->count, 1); ent->pde_users = 0; @@ -6483,7 +6625,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p spin_lock_init(&ent->pde_unload_lock); ent->pde_unload_completion = NULL; INIT_LIST_HEAD(&ent->pde_openers); -@@ -649,7 +658,8 @@ struct proc_dir_entry *proc_symlink(cons +@@ -649,7 +658,8 @@ struct proc_dir_entry *proc_symlink(const char *name, kfree(ent->data); kfree(ent); ent = NULL; @@ -6493,10 +6635,11 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/generic.c linux-3.4.48-vs2.3.3.9/fs/p } else { kfree(ent); ent = NULL; -diff -NurpP --minimal linux-3.4.48/fs/proc/inode.c linux-3.4.48-vs2.3.3.9/fs/proc/inode.c ---- linux-3.4.48/fs/proc/inode.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/inode.c 2012-05-21 16:15:05.000000000 +0000 -@@ -458,6 +458,8 @@ struct inode *proc_get_inode(struct supe +diff --git a/fs/proc/inode.c b/fs/proc/inode.c +index 205c922..82266c0 100644 +--- a/fs/proc/inode.c ++++ b/fs/proc/inode.c +@@ -458,6 +458,8 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de) inode->i_uid = de->uid; inode->i_gid = de->gid; } @@ -6505,9 +6648,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/inode.c linux-3.4.48-vs2.3.3.9/fs/pro if (de->size) inode->i_size = de->size; if (de->nlink) -diff -NurpP --minimal linux-3.4.48/fs/proc/internal.h linux-3.4.48-vs2.3.3.9/fs/proc/internal.h ---- linux-3.4.48/fs/proc/internal.h 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/internal.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/internal.h b/fs/proc/internal.h +index 5f79bb8..c6bc064 100644 +--- a/fs/proc/internal.h ++++ b/fs/proc/internal.h @@ -10,6 +10,8 @@ */ @@ -6517,7 +6661,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/internal.h linux-3.4.48-vs2.3.3.9/fs/ struct ctl_table_header; extern struct proc_dir_entry proc_root; -@@ -54,6 +56,9 @@ extern int proc_pid_status(struct seq_fi +@@ -54,6 +56,9 @@ extern int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task); extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task); @@ -6527,7 +6671,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/internal.h linux-3.4.48-vs2.3.3.9/fs/ extern loff_t mem_lseek(struct file *file, loff_t offset, int orig); extern const struct file_operations proc_pid_maps_operations; -@@ -82,11 +87,16 @@ static inline struct pid *proc_pid(struc +@@ -82,11 +87,16 @@ static inline struct pid *proc_pid(struct inode *inode) return PROC_I(inode)->pid; } @@ -6545,9 +6689,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/internal.h linux-3.4.48-vs2.3.3.9/fs/ static inline int proc_fd(struct inode *inode) { return PROC_I(inode)->fd; -diff -NurpP --minimal linux-3.4.48/fs/proc/loadavg.c linux-3.4.48-vs2.3.3.9/fs/proc/loadavg.c ---- linux-3.4.48/fs/proc/loadavg.c 2009-09-10 13:26:23.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/loadavg.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/loadavg.c b/fs/proc/loadavg.c +index 1afa4dd..c7a8901 100644 +--- a/fs/proc/loadavg.c ++++ b/fs/proc/loadavg.c @@ -12,15 +12,27 @@ static int loadavg_proc_show(struct seq_file *m, void *v) @@ -6577,10 +6722,11 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/loadavg.c linux-3.4.48-vs2.3.3.9/fs/p task_active_pid_ns(current)->last_pid); return 0; } -diff -NurpP --minimal linux-3.4.48/fs/proc/meminfo.c linux-3.4.48-vs2.3.3.9/fs/proc/meminfo.c ---- linux-3.4.48/fs/proc/meminfo.c 2012-01-09 15:14:55.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/meminfo.c 2012-05-21 16:15:05.000000000 +0000 -@@ -39,7 +39,8 @@ static int meminfo_proc_show(struct seq_ +diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c +index 80e4645..c8ae47e 100644 +--- a/fs/proc/meminfo.c ++++ b/fs/proc/meminfo.c +@@ -39,7 +39,8 @@ static int meminfo_proc_show(struct seq_file *m, void *v) allowed = ((totalram_pages - hugetlb_total_pages()) * sysctl_overcommit_ratio / 100) + total_swap_pages; @@ -6590,9 +6736,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/meminfo.c linux-3.4.48-vs2.3.3.9/fs/p total_swapcache_pages - i.bufferram; if (cached < 0) cached = 0; -diff -NurpP --minimal linux-3.4.48/fs/proc/root.c linux-3.4.48-vs2.3.3.9/fs/proc/root.c ---- linux-3.4.48/fs/proc/root.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/root.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/root.c b/fs/proc/root.c +index eed44bf..23bc771 100644 +--- a/fs/proc/root.c ++++ b/fs/proc/root.c @@ -19,9 +19,14 @@ #include <linux/mount.h> #include <linux/pid_namespace.h> @@ -6624,9 +6771,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/root.c linux-3.4.48-vs2.3.3.9/fs/proc .name = "/proc", }; -diff -NurpP --minimal linux-3.4.48/fs/proc/stat.c linux-3.4.48-vs2.3.3.9/fs/proc/stat.c ---- linux-3.4.48/fs/proc/stat.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/stat.c 2012-11-06 17:02:35.000000000 +0000 +diff --git a/fs/proc/stat.c b/fs/proc/stat.c +index e296572..378a2a9 100644 +--- a/fs/proc/stat.c ++++ b/fs/proc/stat.c @@ -9,6 +9,7 @@ #include <linux/slab.h> #include <linux/time.h> @@ -6635,7 +6783,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/stat.c linux-3.4.48-vs2.3.3.9/fs/proc #include <asm/cputime.h> #include <linux/tick.h> -@@ -92,6 +93,10 @@ static int show_stat(struct seq_file *p, +@@ -92,6 +93,10 @@ static int show_stat(struct seq_file *p, void *v) irq = softirq = steal = 0; guest = guest_nice = 0; getboottime(&boottime); @@ -6646,9 +6794,10 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/stat.c linux-3.4.48-vs2.3.3.9/fs/proc jif = boottime.tv_sec; for_each_possible_cpu(i) { -diff -NurpP --minimal linux-3.4.48/fs/proc/uptime.c linux-3.4.48-vs2.3.3.9/fs/proc/uptime.c ---- linux-3.4.48/fs/proc/uptime.c 2012-03-19 18:47:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc/uptime.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c +index 9610ac7..5b37714 100644 +--- a/fs/proc/uptime.c ++++ b/fs/proc/uptime.c @@ -5,6 +5,7 @@ #include <linux/seq_file.h> #include <linux/time.h> @@ -6657,7 +6806,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/uptime.c linux-3.4.48-vs2.3.3.9/fs/pr #include <asm/cputime.h> static int uptime_proc_show(struct seq_file *m, void *v) -@@ -25,6 +26,10 @@ static int uptime_proc_show(struct seq_f +@@ -25,6 +26,10 @@ static int uptime_proc_show(struct seq_file *m, void *v) nsec = cputime64_to_jiffies64(idletime) * TICK_NSEC; idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem); idle.tv_nsec = rem; @@ -6668,10 +6817,11 @@ diff -NurpP --minimal linux-3.4.48/fs/proc/uptime.c linux-3.4.48-vs2.3.3.9/fs/pr seq_printf(m, "%lu.%02lu %lu.%02lu\n", (unsigned long) uptime.tv_sec, (uptime.tv_nsec / (NSEC_PER_SEC / 100)), -diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs/proc_namespace.c ---- linux-3.4.48/fs/proc_namespace.c 2012-03-19 18:47:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/proc_namespace.c 2012-05-21 16:15:05.000000000 +0000 -@@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file +diff --git a/fs/proc_namespace.c b/fs/proc_namespace.c +index 1241285..23000d8 100644 +--- a/fs/proc_namespace.c ++++ b/fs/proc_namespace.c +@@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file *m, struct super_block *sb) { MS_SYNCHRONOUS, ",sync" }, { MS_DIRSYNC, ",dirsync" }, { MS_MANDLOCK, ",mand" }, @@ -6680,7 +6830,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs { 0, NULL } }; const struct proc_fs_info *fs_infop; -@@ -80,6 +82,34 @@ static inline void mangle(struct seq_fil +@@ -80,6 +82,34 @@ static inline void mangle(struct seq_file *m, const char *s) seq_escape(m, s, " \t\n\\"); } @@ -6715,7 +6865,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs static void show_type(struct seq_file *m, struct super_block *sb) { mangle(m, sb->s_type->name); -@@ -96,6 +126,17 @@ static int show_vfsmnt(struct seq_file * +@@ -96,6 +126,17 @@ static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt) struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; struct super_block *sb = mnt_path.dentry->d_sb; @@ -6733,7 +6883,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs if (sb->s_op->show_devname) { err = sb->s_op->show_devname(m, mnt_path.dentry); if (err) -@@ -106,6 +147,7 @@ static int show_vfsmnt(struct seq_file * +@@ -106,6 +147,7 @@ static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt) seq_putc(m, ' '); seq_path(m, &mnt_path, " \t\n\\"); seq_putc(m, ' '); @@ -6741,7 +6891,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs show_type(m, sb); seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); err = show_sb_opts(m, sb); -@@ -128,6 +170,11 @@ static int show_mountinfo(struct seq_fil +@@ -128,6 +170,11 @@ static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt) struct path root = p->root; int err = 0; @@ -6753,7 +6903,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs seq_printf(m, "%i %i %u:%u ", r->mnt_id, r->mnt_parent->mnt_id, MAJOR(sb->s_dev), MINOR(sb->s_dev)); if (sb->s_op->show_path) -@@ -187,6 +234,17 @@ static int show_vfsstat(struct seq_file +@@ -187,6 +234,17 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) struct super_block *sb = mnt_path.dentry->d_sb; int err = 0; @@ -6771,7 +6921,7 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs /* device */ if (sb->s_op->show_devname) { seq_puts(m, "device "); -@@ -203,7 +261,7 @@ static int show_vfsstat(struct seq_file +@@ -203,7 +261,7 @@ static int show_vfsstat(struct seq_file *m, struct vfsmount *mnt) seq_puts(m, " mounted on "); seq_path(m, &mnt_path, " \t\n\\"); seq_putc(m, ' '); @@ -6780,10 +6930,11 @@ diff -NurpP --minimal linux-3.4.48/fs/proc_namespace.c linux-3.4.48-vs2.3.3.9/fs /* file system type */ seq_puts(m, "with fstype "); show_type(m, sb); -diff -NurpP --minimal linux-3.4.48/fs/quota/dquot.c linux-3.4.48-vs2.3.3.9/fs/quota/dquot.c ---- linux-3.4.48/fs/quota/dquot.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/quota/dquot.c 2012-05-21 16:15:05.000000000 +0000 -@@ -1563,6 +1563,9 @@ int __dquot_alloc_space(struct inode *in +diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c +index d69a1d1..77e33ba 100644 +--- a/fs/quota/dquot.c ++++ b/fs/quota/dquot.c +@@ -1563,6 +1563,9 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) struct dquot **dquots = inode->i_dquot; int reserve = flags & DQUOT_SPACE_RESERVE; @@ -6793,7 +6944,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/dquot.c linux-3.4.48-vs2.3.3.9/fs/qu /* * First test before acquiring mutex - solves deadlocks when we * re-enter the quota code and are already holding the mutex -@@ -1618,6 +1621,9 @@ int dquot_alloc_inode(const struct inode +@@ -1618,6 +1621,9 @@ int dquot_alloc_inode(const struct inode *inode) struct dquot_warn warn[MAXQUOTAS]; struct dquot * const *dquots = inode->i_dquot; @@ -6803,7 +6954,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/dquot.c linux-3.4.48-vs2.3.3.9/fs/qu /* First test before acquiring mutex - solves deadlocks when we * re-enter the quota code and are already holding the mutex */ if (!dquot_active(inode)) -@@ -1689,6 +1695,8 @@ void __dquot_free_space(struct inode *in +@@ -1689,6 +1695,8 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags) struct dquot **dquots = inode->i_dquot; int reserve = flags & DQUOT_SPACE_RESERVE; @@ -6812,7 +6963,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/dquot.c linux-3.4.48-vs2.3.3.9/fs/qu /* First test before acquiring mutex - solves deadlocks when we * re-enter the quota code and are already holding the mutex */ if (!dquot_active(inode)) { -@@ -1733,6 +1741,8 @@ void dquot_free_inode(const struct inode +@@ -1733,6 +1741,8 @@ void dquot_free_inode(const struct inode *inode) struct dquot_warn warn[MAXQUOTAS]; struct dquot * const *dquots = inode->i_dquot; @@ -6821,9 +6972,10 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/dquot.c linux-3.4.48-vs2.3.3.9/fs/qu /* First test before acquiring mutex - solves deadlocks when we * re-enter the quota code and are already holding the mutex */ if (!dquot_active(inode)) -diff -NurpP --minimal linux-3.4.48/fs/quota/quota.c linux-3.4.48-vs2.3.3.9/fs/quota/quota.c ---- linux-3.4.48/fs/quota/quota.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/quota/quota.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/quota/quota.c b/fs/quota/quota.c +index 9a39120..79cb4b1 100644 +--- a/fs/quota/quota.c ++++ b/fs/quota/quota.c @@ -8,6 +8,7 @@ #include <linux/fs.h> #include <linux/namei.h> @@ -6832,7 +6984,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/quota.c linux-3.4.48-vs2.3.3.9/fs/qu #include <asm/current.h> #include <asm/uaccess.h> #include <linux/kernel.h> -@@ -37,7 +38,7 @@ static int check_quotactl_permission(str +@@ -37,7 +38,7 @@ static int check_quotactl_permission(struct super_block *sb, int type, int cmd, break; /*FALLTHROUGH*/ default: @@ -6841,7 +6993,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/quota.c linux-3.4.48-vs2.3.3.9/fs/qu return -EPERM; } -@@ -291,6 +292,46 @@ static int do_quotactl(struct super_bloc +@@ -291,6 +292,46 @@ static int do_quotactl(struct super_block *sb, int type, int cmd, qid_t id, } } @@ -6888,7 +7040,7 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/quota.c linux-3.4.48-vs2.3.3.9/fs/qu /* Return 1 if 'cmd' will block on frozen filesystem */ static int quotactl_cmd_write(int cmd) { -@@ -323,6 +364,22 @@ static struct super_block *quotactl_bloc +@@ -323,6 +364,22 @@ static struct super_block *quotactl_block(const char __user *special, int cmd) putname(tmp); if (IS_ERR(bdev)) return ERR_CAST(bdev); @@ -6911,19 +7063,21 @@ diff -NurpP --minimal linux-3.4.48/fs/quota/quota.c linux-3.4.48-vs2.3.3.9/fs/qu if (quotactl_cmd_write(cmd)) sb = get_super_thawed(bdev); else -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/file.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/file.c ---- linux-3.4.48/fs/reiserfs/file.c 2012-05-21 16:07:26.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/file.c 2012-05-21 16:15:05.000000000 +0000 -@@ -319,5 +319,6 @@ const struct inode_operations reiserfs_f +diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c +index 8375c92..8c6e73d 100644 +--- a/fs/reiserfs/file.c ++++ b/fs/reiserfs/file.c +@@ -319,5 +319,6 @@ const struct inode_operations reiserfs_file_inode_operations = { .listxattr = reiserfs_listxattr, .removexattr = reiserfs_removexattr, .permission = reiserfs_permission, + .sync_flags = reiserfs_sync_flags, .get_acl = reiserfs_get_acl, }; -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/inode.c ---- linux-3.4.48/fs/reiserfs/inode.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/inode.c 2012-12-08 00:53:53.000000000 +0000 +diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c +index c11db51..b7dc936 100644 +--- a/fs/reiserfs/inode.c ++++ b/fs/reiserfs/inode.c @@ -18,6 +18,7 @@ #include <linux/writeback.h> #include <linux/quotaops.h> @@ -6932,7 +7086,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs int reiserfs_commit_write(struct file *f, struct page *page, unsigned from, unsigned to); -@@ -1131,6 +1132,8 @@ static void init_inode(struct inode *ino +@@ -1131,6 +1132,8 @@ static void init_inode(struct inode *inode, struct treepath *path) struct buffer_head *bh; struct item_head *ih; __u32 rdev; @@ -6941,7 +7095,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs //int version = ITEM_VERSION_1; bh = PATH_PLAST_BUFFER(path); -@@ -1151,12 +1154,13 @@ static void init_inode(struct inode *ino +@@ -1151,12 +1154,13 @@ static void init_inode(struct inode *inode, struct treepath *path) (struct stat_data_v1 *)B_I_PITEM(bh, ih); unsigned long blocks; @@ -6957,7 +7111,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs inode->i_size = sd_v1_size(sd); inode->i_atime.tv_sec = sd_v1_atime(sd); inode->i_mtime.tv_sec = sd_v1_mtime(sd); -@@ -1198,11 +1202,12 @@ static void init_inode(struct inode *ino +@@ -1198,11 +1202,12 @@ static void init_inode(struct inode *inode, struct treepath *path) // (directories and symlinks) struct stat_data *sd = (struct stat_data *)B_I_PITEM(bh, ih); @@ -6972,7 +7126,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs inode->i_mtime.tv_sec = sd_v2_mtime(sd); inode->i_atime.tv_sec = sd_v2_atime(sd); inode->i_ctime.tv_sec = sd_v2_ctime(sd); -@@ -1232,6 +1237,10 @@ static void init_inode(struct inode *ino +@@ -1232,6 +1237,10 @@ static void init_inode(struct inode *inode, struct treepath *path) sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode); } @@ -6983,7 +7137,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs pathrelse(path); if (S_ISREG(inode->i_mode)) { inode->i_op = &reiserfs_file_inode_operations; -@@ -1254,13 +1263,15 @@ static void init_inode(struct inode *ino +@@ -1254,13 +1263,15 @@ static void init_inode(struct inode *inode, struct treepath *path) static void inode2sd(void *sd, struct inode *inode, loff_t size) { struct stat_data *sd_v2 = (struct stat_data *)sd; @@ -7001,7 +7155,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); -@@ -2875,14 +2886,19 @@ int reiserfs_commit_write(struct file *f +@@ -2875,14 +2886,19 @@ int reiserfs_commit_write(struct file *f, struct page *page, void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) { if (reiserfs_attrs(inode->i_sb)) { @@ -7025,7 +7179,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs if (sd_attrs & REISERFS_APPEND_FL) inode->i_flags |= S_APPEND; else -@@ -2895,6 +2911,15 @@ void sd_attrs_to_i_attrs(__u16 sd_attrs, +@@ -2895,6 +2911,15 @@ void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) REISERFS_I(inode)->i_flags |= i_nopack_mask; else REISERFS_I(inode)->i_flags &= ~i_nopack_mask; @@ -7041,7 +7195,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs } } -@@ -2905,6 +2930,11 @@ void i_attrs_to_sd_attrs(struct inode *i +@@ -2905,6 +2930,11 @@ void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs) *sd_attrs |= REISERFS_IMMUTABLE_FL; else *sd_attrs &= ~REISERFS_IMMUTABLE_FL; @@ -7053,7 +7207,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs if (inode->i_flags & S_SYNC) *sd_attrs |= REISERFS_SYNC_FL; else -@@ -2917,6 +2947,15 @@ void i_attrs_to_sd_attrs(struct inode *i +@@ -2917,6 +2947,15 @@ void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs) *sd_attrs |= REISERFS_NOTAIL_FL; else *sd_attrs &= ~REISERFS_NOTAIL_FL; @@ -7069,7 +7223,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs } } -@@ -3161,7 +3200,8 @@ int reiserfs_setattr(struct dentry *dent +@@ -3161,7 +3200,8 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) } if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || @@ -7079,7 +7233,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs struct reiserfs_transaction_handle th; int jbegin_count = 2 * -@@ -3192,6 +3232,9 @@ int reiserfs_setattr(struct dentry *dent +@@ -3192,6 +3232,9 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr) inode->i_uid = attr->ia_uid; if (attr->ia_valid & ATTR_GID) inode->i_gid = attr->ia_gid; @@ -7089,9 +7243,10 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/inode.c linux-3.4.48-vs2.3.3.9/fs mark_inode_dirty(inode); error = journal_end(&th, inode->i_sb, jbegin_count); if (error) -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/ioctl.c ---- linux-3.4.48/fs/reiserfs/ioctl.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c +index 0c21850..c285691 100644 +--- a/fs/reiserfs/ioctl.c ++++ b/fs/reiserfs/ioctl.c @@ -11,6 +11,21 @@ #include <linux/pagemap.h> #include <linux/compat.h> @@ -7123,7 +7278,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs int err = 0; reiserfs_write_lock(inode->i_sb); -@@ -47,6 +62,7 @@ long reiserfs_ioctl(struct file *filp, u +@@ -47,6 +62,7 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) flags = REISERFS_I(inode)->i_attrs; i_attrs_to_sd_attrs(inode, (__u16 *) & flags); @@ -7131,7 +7286,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs err = put_user(flags, (int __user *)arg); break; case REISERFS_IOC_SETFLAGS:{ -@@ -67,6 +83,10 @@ long reiserfs_ioctl(struct file *filp, u +@@ -67,6 +83,10 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) err = -EFAULT; goto setflags_out; } @@ -7142,7 +7297,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs /* * Is it quota file? Do not allow user to mess with it */ -@@ -91,6 +111,10 @@ long reiserfs_ioctl(struct file *filp, u +@@ -91,6 +111,10 @@ long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) goto setflags_out; } } @@ -7153,9 +7308,10 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/ioctl.c linux-3.4.48-vs2.3.3.9/fs sd_attrs_to_i_attrs(flags, inode); REISERFS_I(inode)->i_attrs = flags; inode->i_ctime = CURRENT_TIME_SEC; -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/namei.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/namei.c ---- linux-3.4.48/fs/reiserfs/namei.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/namei.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c +index 84e8a69..2a1a8b3 100644 +--- a/fs/reiserfs/namei.c ++++ b/fs/reiserfs/namei.c @@ -18,6 +18,7 @@ #include "acl.h" #include "xattr.h" @@ -7164,7 +7320,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/namei.c linux-3.4.48-vs2.3.3.9/fs #define INC_DIR_INODE_NLINK(i) if (i->i_nlink != 1) { inc_nlink(i); if (i->i_nlink >= REISERFS_LINK_MAX) set_nlink(i, 1); } #define DEC_DIR_INODE_NLINK(i) if (i->i_nlink != 1) drop_nlink(i); -@@ -362,6 +363,7 @@ static struct dentry *reiserfs_lookup(st +@@ -362,6 +363,7 @@ static struct dentry *reiserfs_lookup(struct inode *dir, struct dentry *dentry, if (retval == IO_ERROR) { return ERR_PTR(-EIO); } @@ -7172,9 +7328,10 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/namei.c linux-3.4.48-vs2.3.3.9/fs return d_splice_alias(inode, dentry); } -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/reiserfs.h linux-3.4.48-vs2.3.3.9/fs/reiserfs/reiserfs.h ---- linux-3.4.48/fs/reiserfs/reiserfs.h 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/reiserfs.h 2012-05-21 17:19:33.000000000 +0000 +diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h +index a59d271..9d9dc3a 100644 +--- a/fs/reiserfs/reiserfs.h ++++ b/fs/reiserfs/reiserfs.h @@ -544,6 +544,7 @@ enum reiserfs_mount_options { REISERFS_EXPOSE_PRIVROOT, REISERFS_BARRIER_NONE, @@ -7205,7 +7362,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/reiserfs.h linux-3.4.48-vs2.3.3.9 /* Stat Data on disk (reiserfs version of UFS disk inode minus the address blocks) */ struct stat_data { -@@ -2641,6 +2650,7 @@ static inline void reiserfs_update_sd(st +@@ -2641,6 +2650,7 @@ static inline void reiserfs_update_sd(struct reiserfs_transaction_handle *th, void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode); void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs); int reiserfs_setattr(struct dentry *dentry, struct iattr *attr); @@ -7213,10 +7370,11 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/reiserfs.h linux-3.4.48-vs2.3.3.9 int __reiserfs_write_begin(struct page *page, unsigned from, unsigned len); -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/super.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/super.c ---- linux-3.4.48/fs/reiserfs/super.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/super.c 2012-12-08 00:53:53.000000000 +0000 -@@ -982,6 +982,14 @@ static int reiserfs_parse_options(struct +diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c +index 8169be9..ae8e537 100644 +--- a/fs/reiserfs/super.c ++++ b/fs/reiserfs/super.c +@@ -982,6 +982,14 @@ static int reiserfs_parse_options(struct super_block *s, char *options, /* strin {"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT}, {"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT}, #endif @@ -7231,7 +7389,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/super.c linux-3.4.48-vs2.3.3.9/fs #ifdef CONFIG_REISERFS_FS_POSIX_ACL {"acl",.setmask = 1 << REISERFS_POSIXACL}, {"noacl",.clrmask = 1 << REISERFS_POSIXACL}, -@@ -1300,6 +1308,14 @@ static int reiserfs_remount(struct super +@@ -1300,6 +1308,14 @@ static int reiserfs_remount(struct super_block *s, int *mount_flags, char *arg) handle_quota_files(s, qf_names, &qfmt); #endif @@ -7246,7 +7404,7 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/super.c linux-3.4.48-vs2.3.3.9/fs handle_attrs(s); /* Add options that are safe here */ -@@ -1792,6 +1808,10 @@ static int reiserfs_fill_super(struct su +@@ -1792,6 +1808,10 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent) goto error_unlocked; } @@ -7257,9 +7415,10 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/super.c linux-3.4.48-vs2.3.3.9/fs rs = SB_DISK_SUPER_BLOCK(s); /* Let's do basic sanity check to verify that underlying device is not smaller than the filesystem. If the check fails then abort and scream, -diff -NurpP --minimal linux-3.4.48/fs/reiserfs/xattr.c linux-3.4.48-vs2.3.3.9/fs/reiserfs/xattr.c ---- linux-3.4.48/fs/reiserfs/xattr.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/reiserfs/xattr.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c +index 048d990..32bd2be 100644 +--- a/fs/reiserfs/xattr.c ++++ b/fs/reiserfs/xattr.c @@ -40,6 +40,7 @@ #include <linux/errno.h> #include <linux/gfp.h> @@ -7268,10 +7427,11 @@ diff -NurpP --minimal linux-3.4.48/fs/reiserfs/xattr.c linux-3.4.48-vs2.3.3.9/fs #include <linux/file.h> #include <linux/pagemap.h> #include <linux/xattr.h> -diff -NurpP --minimal linux-3.4.48/fs/stat.c linux-3.4.48-vs2.3.3.9/fs/stat.c ---- linux-3.4.48/fs/stat.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/stat.c 2012-10-22 13:09:53.000000000 +0000 -@@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod +diff --git a/fs/stat.c b/fs/stat.c +index dc6d0be..5e6a73f 100644 +--- a/fs/stat.c ++++ b/fs/stat.c +@@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inode, struct kstat *stat) stat->nlink = inode->i_nlink; stat->uid = inode->i_uid; stat->gid = inode->i_gid; @@ -7279,9 +7439,10 @@ diff -NurpP --minimal linux-3.4.48/fs/stat.c linux-3.4.48-vs2.3.3.9/fs/stat.c stat->rdev = inode->i_rdev; stat->size = i_size_read(inode); stat->atime = inode->i_atime; -diff -NurpP --minimal linux-3.4.48/fs/statfs.c linux-3.4.48-vs2.3.3.9/fs/statfs.c ---- linux-3.4.48/fs/statfs.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/statfs.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/statfs.c b/fs/statfs.c +index 43e6b6f..bb1c8af 100644 +--- a/fs/statfs.c ++++ b/fs/statfs.c @@ -7,6 +7,8 @@ #include <linux/statfs.h> #include <linux/security.h> @@ -7291,7 +7452,7 @@ diff -NurpP --minimal linux-3.4.48/fs/statfs.c linux-3.4.48-vs2.3.3.9/fs/statfs. #include "internal.h" static int flags_by_mnt(int mnt_flags) -@@ -60,6 +62,8 @@ static int statfs_by_dentry(struct dentr +@@ -60,6 +62,8 @@ static int statfs_by_dentry(struct dentry *dentry, struct kstatfs *buf) retval = dentry->d_sb->s_op->statfs(dentry, buf); if (retval == 0 && buf->f_frsize == 0) buf->f_frsize = buf->f_bsize; @@ -7300,9 +7461,10 @@ diff -NurpP --minimal linux-3.4.48/fs/statfs.c linux-3.4.48-vs2.3.3.9/fs/statfs. return retval; } -diff -NurpP --minimal linux-3.4.48/fs/super.c linux-3.4.48-vs2.3.3.9/fs/super.c ---- linux-3.4.48/fs/super.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/super.c 2012-05-21 16:59:38.000000000 +0000 +diff --git a/fs/super.c b/fs/super.c +index 3c520a5..c54c8c3 100644 +--- a/fs/super.c ++++ b/fs/super.c @@ -33,6 +33,8 @@ #include <linux/rculist_bl.h> #include <linux/cleancache.h> @@ -7312,7 +7474,7 @@ diff -NurpP --minimal linux-3.4.48/fs/super.c linux-3.4.48-vs2.3.3.9/fs/super.c #include "internal.h" -@@ -1138,6 +1140,13 @@ mount_fs(struct file_system_type *type, +@@ -1133,6 +1135,13 @@ mount_fs(struct file_system_type *type, int flags, const char *name, void *data) WARN_ON(sb->s_bdi == &default_backing_dev_info); sb->s_flags |= MS_BORN; @@ -7326,10 +7488,11 @@ diff -NurpP --minimal linux-3.4.48/fs/super.c linux-3.4.48-vs2.3.3.9/fs/super.c error = security_sb_kern_mount(sb, flags, secdata); if (error) goto out_sb; -diff -NurpP --minimal linux-3.4.48/fs/sysfs/mount.c linux-3.4.48-vs2.3.3.9/fs/sysfs/mount.c ---- linux-3.4.48/fs/sysfs/mount.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/sysfs/mount.c 2012-05-21 16:15:05.000000000 +0000 -@@ -47,7 +47,7 @@ static int sysfs_fill_super(struct super +diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c +index 52c3bdb..9a1d6a5 100644 +--- a/fs/sysfs/mount.c ++++ b/fs/sysfs/mount.c +@@ -47,7 +47,7 @@ static int sysfs_fill_super(struct super_block *sb, void *data, int silent) sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; @@ -7338,9 +7501,10 @@ diff -NurpP --minimal linux-3.4.48/fs/sysfs/mount.c linux-3.4.48-vs2.3.3.9/fs/sy sb->s_op = &sysfs_ops; sb->s_time_gran = 1; -diff -NurpP --minimal linux-3.4.48/fs/utimes.c linux-3.4.48-vs2.3.3.9/fs/utimes.c ---- linux-3.4.48/fs/utimes.c 2011-05-22 14:17:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/utimes.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/utimes.c b/fs/utimes.c +index ba653f3..ffac095 100644 +--- a/fs/utimes.c ++++ b/fs/utimes.c @@ -8,6 +8,8 @@ #include <linux/stat.h> #include <linux/utime.h> @@ -7350,7 +7514,7 @@ diff -NurpP --minimal linux-3.4.48/fs/utimes.c linux-3.4.48-vs2.3.3.9/fs/utimes. #include <asm/uaccess.h> #include <asm/unistd.h> -@@ -52,12 +54,18 @@ static int utimes_common(struct path *pa +@@ -52,12 +54,18 @@ static int utimes_common(struct path *path, struct timespec *times) { int error; struct iattr newattrs; @@ -7370,9 +7534,10 @@ diff -NurpP --minimal linux-3.4.48/fs/utimes.c linux-3.4.48-vs2.3.3.9/fs/utimes. if (times && times[0].tv_nsec == UTIME_NOW && times[1].tv_nsec == UTIME_NOW) times = NULL; -diff -NurpP --minimal linux-3.4.48/fs/xattr.c linux-3.4.48-vs2.3.3.9/fs/xattr.c ---- linux-3.4.48/fs/xattr.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xattr.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xattr.c b/fs/xattr.c +index 3c8c1cc..fc48afc 100644 +--- a/fs/xattr.c ++++ b/fs/xattr.c @@ -20,6 +20,7 @@ #include <linux/fsnotify.h> #include <linux/audit.h> @@ -7381,7 +7546,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xattr.c linux-3.4.48-vs2.3.3.9/fs/xattr.c #include <asm/uaccess.h> -@@ -51,7 +52,7 @@ xattr_permission(struct inode *inode, co +@@ -51,7 +52,7 @@ xattr_permission(struct inode *inode, const char *name, int mask) * The trusted.* namespace can only be accessed by privileged users. */ if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN)) { @@ -7390,9 +7555,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xattr.c linux-3.4.48-vs2.3.3.9/fs/xattr.c return (mask & MAY_WRITE) ? -EPERM : -ENODATA; return 0; } -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_dinode.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_dinode.h ---- linux-3.4.48/fs/xfs/xfs_dinode.h 2011-10-24 16:45:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_dinode.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h +index a372163..a2bad6a 100644 +--- a/fs/xfs/xfs_dinode.h ++++ b/fs/xfs/xfs_dinode.h @@ -51,7 +51,9 @@ typedef struct xfs_dinode { __be32 di_nlink; /* number of links to file */ __be16 di_projid_lo; /* lower part of owner's project id */ @@ -7404,7 +7570,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_dinode.h linux-3.4.48-vs2.3.3.9/fs __be16 di_flushiter; /* incremented on flush */ xfs_timestamp_t di_atime; /* time last accessed */ xfs_timestamp_t di_mtime; /* time last modified */ -@@ -184,6 +186,8 @@ static inline void xfs_dinode_put_rdev(s +@@ -184,6 +186,8 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev) #define XFS_DIFLAG_EXTSZINHERIT_BIT 12 /* inherit inode extent size */ #define XFS_DIFLAG_NODEFRAG_BIT 13 /* do not reorganize/defragment */ #define XFS_DIFLAG_FILESTREAM_BIT 14 /* use filestream allocator */ @@ -7413,7 +7579,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_dinode.h linux-3.4.48-vs2.3.3.9/fs #define XFS_DIFLAG_REALTIME (1 << XFS_DIFLAG_REALTIME_BIT) #define XFS_DIFLAG_PREALLOC (1 << XFS_DIFLAG_PREALLOC_BIT) #define XFS_DIFLAG_NEWRTBM (1 << XFS_DIFLAG_NEWRTBM_BIT) -@@ -199,6 +203,7 @@ static inline void xfs_dinode_put_rdev(s +@@ -199,6 +203,7 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev) #define XFS_DIFLAG_EXTSZINHERIT (1 << XFS_DIFLAG_EXTSZINHERIT_BIT) #define XFS_DIFLAG_NODEFRAG (1 << XFS_DIFLAG_NODEFRAG_BIT) #define XFS_DIFLAG_FILESTREAM (1 << XFS_DIFLAG_FILESTREAM_BIT) @@ -7421,7 +7587,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_dinode.h linux-3.4.48-vs2.3.3.9/fs #ifdef CONFIG_XFS_RT #define XFS_IS_REALTIME_INODE(ip) ((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) -@@ -211,6 +216,10 @@ static inline void xfs_dinode_put_rdev(s +@@ -211,6 +216,10 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev) XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \ XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS | XFS_DIFLAG_EXTSIZE | \ @@ -7433,9 +7599,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_dinode.h linux-3.4.48-vs2.3.3.9/fs +#define XFS_DIVFLAG_COW 0x02 #endif /* __XFS_DINODE_H__ */ -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_fs.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_fs.h ---- linux-3.4.48/fs/xfs/xfs_fs.h 2011-10-24 16:45:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_fs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h +index c13fed8..6bfbcd1 100644 +--- a/fs/xfs/xfs_fs.h ++++ b/fs/xfs/xfs_fs.h @@ -67,6 +67,9 @@ struct fsxattr { #define XFS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */ #define XFS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */ @@ -7456,9 +7623,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_fs.h linux-3.4.48-vs2.3.3.9/fs/xfs __u32 bs_dmevmask; /* DMIG event mask */ __u16 bs_dmstate; /* DMIG state info */ __u16 bs_aextents; /* attribute number of extents */ -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ialloc.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ialloc.c ---- linux-3.4.48/fs/xfs/xfs_ialloc.c 2012-03-19 18:47:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ialloc.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c +index dad1a31..2bb267f 100644 +--- a/fs/xfs/xfs_ialloc.c ++++ b/fs/xfs/xfs_ialloc.c @@ -37,7 +37,6 @@ #include "xfs_error.h" #include "xfs_bmap.h" @@ -7467,9 +7635,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ialloc.c linux-3.4.48-vs2.3.3.9/fs /* * Allocation group level functions. */ -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_inode.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_inode.c ---- linux-3.4.48/fs/xfs/xfs_inode.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_inode.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c +index bc46c0a..5b88287 100644 +--- a/fs/xfs/xfs_inode.c ++++ b/fs/xfs/xfs_inode.c @@ -236,6 +236,7 @@ xfs_inotobp( return 0; } @@ -7644,9 +7813,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_inode.c linux-3.4.48-vs2.3.3.9/fs/ /* Wrap, we never let the log put out DI_MAX_FLUSH */ if (ip->i_d.di_flushiter == DI_MAX_FLUSH) -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_inode.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_inode.h ---- linux-3.4.48/fs/xfs/xfs_inode.h 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_inode.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h +index 7fee338..dbc374b 100644 +--- a/fs/xfs/xfs_inode.h ++++ b/fs/xfs/xfs_inode.h @@ -134,7 +134,9 @@ typedef struct xfs_icdinode { __uint32_t di_nlink; /* number of links to file */ __uint16_t di_projid_lo; /* lower part of owner's project id */ @@ -7658,7 +7828,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_inode.h linux-3.4.48-vs2.3.3.9/fs/ __uint16_t di_flushiter; /* incremented on flush */ xfs_ictimestamp_t di_atime; /* time last accessed */ xfs_ictimestamp_t di_mtime; /* time last modified */ -@@ -565,7 +567,7 @@ int xfs_itobp(struct xfs_mount *, struc +@@ -565,7 +567,7 @@ int xfs_itobp(struct xfs_mount *, struct xfs_trans *, int xfs_iread(struct xfs_mount *, struct xfs_trans *, struct xfs_inode *, uint); void xfs_dinode_to_disk(struct xfs_dinode *, @@ -7667,9 +7837,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_inode.h linux-3.4.48-vs2.3.3.9/fs/ void xfs_idestroy_fork(struct xfs_inode *, int); void xfs_idata_realloc(struct xfs_inode *, int, int); void xfs_iroot_realloc(struct xfs_inode *, int, int); -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ioctl.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ioctl.c ---- linux-3.4.48/fs/xfs/xfs_ioctl.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ioctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c +index 91f8ff5..6b2f15d 100644 +--- a/fs/xfs/xfs_ioctl.c ++++ b/fs/xfs/xfs_ioctl.c @@ -28,7 +28,7 @@ #include "xfs_bmap_btree.h" #include "xfs_dinode.h" @@ -7738,9 +7909,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ioctl.c linux-3.4.48-vs2.3.3.9/fs/ return xfs_ioc_setxflags(ip, filp, arg); case XFS_IOC_FSSETDM: { -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ioctl.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ioctl.h ---- linux-3.4.48/fs/xfs/xfs_ioctl.h 2011-10-24 16:45:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_ioctl.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_ioctl.h b/fs/xfs/xfs_ioctl.h +index d56173b..a8f7331 100644 +--- a/fs/xfs/xfs_ioctl.h ++++ b/fs/xfs/xfs_ioctl.h @@ -70,6 +70,12 @@ xfs_handle_to_dentry( void __user *uhandle, u32 hlen); @@ -7754,9 +7926,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_ioctl.h linux-3.4.48-vs2.3.3.9/fs/ extern long xfs_file_ioctl( struct file *filp, -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_iops.c ---- linux-3.4.48/fs/xfs/xfs_iops.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_iops.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c +index 23c79ca..91a953f 100644 +--- a/fs/xfs/xfs_iops.c ++++ b/fs/xfs/xfs_iops.c @@ -30,6 +30,7 @@ #include "xfs_bmap_btree.h" #include "xfs_dinode.h" @@ -7781,7 +7954,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x stat->ino = ip->i_ino; stat->atime = inode->i_atime; stat->mtime = inode->i_mtime; -@@ -996,6 +999,7 @@ static const struct inode_operations xfs +@@ -1013,6 +1016,7 @@ static const struct inode_operations xfs_inode_operations = { .removexattr = generic_removexattr, .listxattr = xfs_vn_listxattr, .fiemap = xfs_vn_fiemap, @@ -7789,7 +7962,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x }; static const struct inode_operations xfs_dir_inode_operations = { -@@ -1021,6 +1025,7 @@ static const struct inode_operations xfs +@@ -1038,6 +1042,7 @@ static const struct inode_operations xfs_dir_inode_operations = { .getxattr = generic_getxattr, .removexattr = generic_removexattr, .listxattr = xfs_vn_listxattr, @@ -7797,7 +7970,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x }; static const struct inode_operations xfs_dir_ci_inode_operations = { -@@ -1070,6 +1075,10 @@ xfs_diflags_to_iflags( +@@ -1087,6 +1092,10 @@ xfs_diflags_to_iflags( inode->i_flags |= S_IMMUTABLE; else inode->i_flags &= ~S_IMMUTABLE; @@ -7808,7 +7981,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x if (ip->i_d.di_flags & XFS_DIFLAG_APPEND) inode->i_flags |= S_APPEND; else -@@ -1082,6 +1091,15 @@ xfs_diflags_to_iflags( +@@ -1099,6 +1108,15 @@ xfs_diflags_to_iflags( inode->i_flags |= S_NOATIME; else inode->i_flags &= ~S_NOATIME; @@ -7824,7 +7997,7 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x } /* -@@ -1113,6 +1131,7 @@ xfs_setup_inode( +@@ -1130,6 +1148,7 @@ xfs_setup_inode( set_nlink(inode, ip->i_d.di_nlink); inode->i_uid = ip->i_d.di_uid; inode->i_gid = ip->i_d.di_gid; @@ -7832,9 +8005,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_iops.c linux-3.4.48-vs2.3.3.9/fs/x switch (inode->i_mode & S_IFMT) { case S_IFBLK: -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_itable.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_itable.c ---- linux-3.4.48/fs/xfs/xfs_itable.c 2012-05-21 16:07:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_itable.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c +index acc2bf2..5ccb314 100644 +--- a/fs/xfs/xfs_itable.c ++++ b/fs/xfs/xfs_itable.c @@ -97,6 +97,7 @@ xfs_bulkstat_one_int( buf->bs_mode = dic->di_mode; buf->bs_uid = dic->di_uid; @@ -7843,9 +8017,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_itable.c linux-3.4.48-vs2.3.3.9/fs buf->bs_size = dic->di_size; buf->bs_atime.tv_sec = dic->di_atime.t_sec; buf->bs_atime.tv_nsec = dic->di_atime.t_nsec; -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_linux.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_linux.h ---- linux-3.4.48/fs/xfs/xfs_linux.h 2011-10-24 16:45:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_linux.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_linux.h b/fs/xfs/xfs_linux.h +index 828662f..dbc20e6 100644 +--- a/fs/xfs/xfs_linux.h ++++ b/fs/xfs/xfs_linux.h @@ -121,6 +121,7 @@ #define current_cpu() (raw_smp_processor_id()) @@ -7854,9 +8029,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_linux.h linux-3.4.48-vs2.3.3.9/fs/ #define current_test_flags(f) (current->flags & (f)) #define current_set_flags_nested(sp, f) \ (*(sp) = current->flags, current->flags |= (f)) -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_log_recover.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_log_recover.c ---- linux-3.4.48/fs/xfs/xfs_log_recover.c 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_log_recover.c 2012-11-18 23:52:29.000000000 +0000 +diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c +index 0abb162..f9bac62 100644 +--- a/fs/xfs/xfs_log_recover.c ++++ b/fs/xfs/xfs_log_recover.c @@ -2344,7 +2344,8 @@ xlog_recover_inode_pass2( } @@ -7867,9 +8043,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_log_recover.c linux-3.4.48-vs2.3.3 /* the rest is in on-disk format */ if (item->ri_buf[1].i_len > sizeof(struct xfs_icdinode)) { -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_mount.h linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_mount.h ---- linux-3.4.48/fs/xfs/xfs_mount.h 2012-05-21 16:07:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_mount.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h +index 9eba738..e5784cf 100644 +--- a/fs/xfs/xfs_mount.h ++++ b/fs/xfs/xfs_mount.h @@ -251,6 +251,7 @@ typedef struct xfs_mount { allocator */ #define XFS_MOUNT_NOATTR2 (1ULL << 25) /* disable use of attr2 format */ @@ -7878,9 +8055,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_mount.h linux-3.4.48-vs2.3.3.9/fs/ /* * Default minimum read and write sizes. -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_super.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_super.c ---- linux-3.4.48/fs/xfs/xfs_super.c 2012-05-21 16:07:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_super.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c +index dab9a5f..01d34c9 100644 +--- a/fs/xfs/xfs_super.c ++++ b/fs/xfs/xfs_super.c @@ -113,6 +113,9 @@ mempool_t *xfs_ioend_pool; #define MNTOPT_NODELAYLOG "nodelaylog" /* Delayed logging disabled */ #define MNTOPT_DISCARD "discard" /* Discard unused blocks */ @@ -7953,9 +8131,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_super.c linux-3.4.48-vs2.3.3.9/fs/ /* * we must configure the block size in the superblock before we run the * full mount process as the mount process can lookup and cache inodes. -diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_vnodeops.c linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_vnodeops.c ---- linux-3.4.48/fs/xfs/xfs_vnodeops.c 2012-05-21 16:07:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/fs/xfs/xfs_vnodeops.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c +index 64981d7..efc3c76 100644 +--- a/fs/xfs/xfs_vnodeops.c ++++ b/fs/xfs/xfs_vnodeops.c @@ -106,6 +106,77 @@ xfs_readlink_bmap( return error; } @@ -8034,9 +8213,10 @@ diff -NurpP --minimal linux-3.4.48/fs/xfs/xfs_vnodeops.c linux-3.4.48-vs2.3.3.9/ int xfs_readlink( xfs_inode_t *ip, -diff -NurpP --minimal linux-3.4.48/include/linux/Kbuild linux-3.4.48-vs2.3.3.9/include/linux/Kbuild ---- linux-3.4.48/include/linux/Kbuild 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/Kbuild 2012-07-24 09:52:30.000000000 +0000 +diff --git a/include/linux/Kbuild b/include/linux/Kbuild +index f2f73f9..936cee2 100644 +--- a/include/linux/Kbuild ++++ b/include/linux/Kbuild @@ -18,6 +18,7 @@ header-y += netfilter_bridge/ header-y += netfilter_ipv4/ header-y += netfilter_ipv6/ @@ -8045,9 +8225,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/Kbuild linux-3.4.48-vs2.3.3.9/i header-y += wimax/ objhdr-y += version.h -diff -NurpP --minimal linux-3.4.48/include/linux/capability.h linux-3.4.48-vs2.3.3.9/include/linux/capability.h ---- linux-3.4.48/include/linux/capability.h 2012-03-19 18:47:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/capability.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/capability.h b/include/linux/capability.h +index 12d52de..80dbfc5 100644 +--- a/include/linux/capability.h ++++ b/include/linux/capability.h @@ -280,6 +280,7 @@ struct cpu_vfs_cap_data { arbitrary SCSI commands */ /* Allow setting encryption key on loopback filesystem */ @@ -8070,10 +8251,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/capability.h linux-3.4.48-vs2.3 /* * Bit location of each capability (used by user-space library and kernel) -diff -NurpP --minimal linux-3.4.48/include/linux/cred.h linux-3.4.48-vs2.3.3.9/include/linux/cred.h ---- linux-3.4.48/include/linux/cred.h 2012-03-19 18:47:27.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/cred.h 2012-05-21 16:15:05.000000000 +0000 -@@ -156,6 +156,7 @@ extern void exit_creds(struct task_struc +diff --git a/include/linux/cred.h b/include/linux/cred.h +index adadf71..ed9c50c 100644 +--- a/include/linux/cred.h ++++ b/include/linux/cred.h +@@ -156,6 +156,7 @@ extern void exit_creds(struct task_struct *); extern int copy_creds(struct task_struct *, unsigned long); extern const struct cred *get_task_cred(struct task_struct *); extern struct cred *cred_alloc_blank(void); @@ -8081,7 +8263,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/cred.h linux-3.4.48-vs2.3.3.9/i extern struct cred *prepare_creds(void); extern struct cred *prepare_exec_creds(void); extern int commit_creds(struct cred *); -@@ -209,6 +210,31 @@ static inline void validate_process_cred +@@ -209,6 +210,31 @@ static inline void validate_process_creds(void) } #endif @@ -8113,18 +8295,20 @@ diff -NurpP --minimal linux-3.4.48/include/linux/cred.h linux-3.4.48-vs2.3.3.9/i /** * get_new_cred - Get a reference on a new set of credentials * @cred: The new credentials to reference -diff -NurpP --minimal linux-3.4.48/include/linux/devpts_fs.h linux-3.4.48-vs2.3.3.9/include/linux/devpts_fs.h ---- linux-3.4.48/include/linux/devpts_fs.h 2008-12-24 23:26:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/devpts_fs.h 2012-05-21 16:15:05.000000000 +0000 -@@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc +diff --git a/include/linux/devpts_fs.h b/include/linux/devpts_fs.h +index 5ce0e5f..3c122e5 100644 +--- a/include/linux/devpts_fs.h ++++ b/include/linux/devpts_fs.h +@@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struct tty_struct *tty) { } #endif - #endif /* _LINUX_DEVPTS_FS_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/include/linux/fs.h ---- linux-3.4.48/include/linux/fs.h 2012-05-21 16:07:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/fs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/fs.h b/include/linux/fs.h +index 25c40b9..fff34c5 100644 +--- a/include/linux/fs.h ++++ b/include/linux/fs.h @@ -214,6 +214,9 @@ struct inodes_stat_t { #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ #define MS_I_VERSION (1<<23) /* Update inode I_version field */ @@ -8202,7 +8386,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/inc #define SYNC_FILE_RANGE_WAIT_BEFORE 1 #define SYNC_FILE_RANGE_WRITE 2 -@@ -456,6 +483,7 @@ typedef void (dio_iodone_t)(struct kiocb +@@ -456,6 +483,7 @@ typedef void (dio_iodone_t)(struct kiocb *iocb, loff_t offset, #define ATTR_KILL_PRIV (1 << 14) #define ATTR_OPEN (1 << 15) /* Truncating from open(O_TRUNC) */ #define ATTR_TIMES_SET (1 << 16) @@ -8247,7 +8431,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/inc struct timespec i_atime; struct timespec i_mtime; struct timespec i_ctime; -@@ -929,12 +964,12 @@ static inline void i_size_write(struct i +@@ -929,12 +964,12 @@ static inline void i_size_write(struct inode *inode, loff_t i_size) static inline unsigned iminor(const struct inode *inode) { @@ -8286,7 +8470,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/inc void (*truncate_range)(struct inode *, loff_t, loff_t); int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, u64 len); -@@ -1680,6 +1718,7 @@ extern ssize_t vfs_readv(struct file *, +@@ -1680,6 +1718,7 @@ extern ssize_t vfs_readv(struct file *, const struct iovec __user *, unsigned long, loff_t *); extern ssize_t vfs_writev(struct file *, const struct iovec __user *, unsigned long, loff_t *); @@ -8294,7 +8478,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/inc struct super_operations { struct inode *(*alloc_inode)(struct super_block *sb); -@@ -2509,6 +2548,7 @@ extern int dcache_dir_open(struct inode +@@ -2509,6 +2548,7 @@ extern int dcache_dir_open(struct inode *, struct file *); extern int dcache_dir_close(struct inode *, struct file *); extern loff_t dcache_dir_lseek(struct file *, loff_t, int); extern int dcache_readdir(struct file *, void *, filldir_t); @@ -8302,9 +8486,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/fs.h linux-3.4.48-vs2.3.3.9/inc extern int simple_setattr(struct dentry *, struct iattr *); extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *); extern int simple_statfs(struct dentry *, struct kstatfs *); -diff -NurpP --minimal linux-3.4.48/include/linux/gfs2_ondisk.h linux-3.4.48-vs2.3.3.9/include/linux/gfs2_ondisk.h ---- linux-3.4.48/include/linux/gfs2_ondisk.h 2012-05-21 16:07:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/gfs2_ondisk.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/gfs2_ondisk.h b/include/linux/gfs2_ondisk.h +index fa98bdb..0963c10 100644 +--- a/include/linux/gfs2_ondisk.h ++++ b/include/linux/gfs2_ondisk.h @@ -214,6 +214,9 @@ enum { gfs2fl_NoAtime = 7, gfs2fl_Sync = 8, @@ -8325,9 +8510,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/gfs2_ondisk.h linux-3.4.48-vs2. #define GFS2_DIF_TRUNC_IN_PROG 0x20000000 /* New in gfs2 */ #define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 #define GFS2_DIF_INHERIT_JDATA 0x80000000 -diff -NurpP --minimal linux-3.4.48/include/linux/if_tun.h linux-3.4.48-vs2.3.3.9/include/linux/if_tun.h ---- linux-3.4.48/include/linux/if_tun.h 2010-08-02 14:52:54.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/if_tun.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h +index 06b1829..b222127 100644 +--- a/include/linux/if_tun.h ++++ b/include/linux/if_tun.h @@ -53,6 +53,7 @@ #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) #define TUNGETVNETHDRSZ _IOR('T', 215, int) @@ -8336,10 +8522,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/if_tun.h linux-3.4.48-vs2.3.3.9 /* TUNSETIFF ifr flags */ #define IFF_TUN 0x0001 -diff -NurpP --minimal linux-3.4.48/include/linux/init_task.h linux-3.4.48-vs2.3.3.9/include/linux/init_task.h ---- linux-3.4.48/include/linux/init_task.h 2013-06-13 08:59:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/init_task.h 2012-10-22 13:09:53.000000000 +0000 -@@ -210,6 +210,10 @@ extern struct task_group root_task_group +diff --git a/include/linux/init_task.h b/include/linux/init_task.h +index e7bafa4..9f491e1 100644 +--- a/include/linux/init_task.h ++++ b/include/linux/init_task.h +@@ -210,6 +210,10 @@ extern struct task_group root_task_group; INIT_TRACE_RECURSION \ INIT_TASK_RCU_PREEMPT(tsk) \ INIT_CPUSET_SEQ \ @@ -8350,9 +8537,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/init_task.h linux-3.4.48-vs2.3. } -diff -NurpP --minimal linux-3.4.48/include/linux/ipc.h linux-3.4.48-vs2.3.3.9/include/linux/ipc.h ---- linux-3.4.48/include/linux/ipc.h 2012-03-19 18:47:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/ipc.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/ipc.h b/include/linux/ipc.h +index 30e8161..ba4ea32 100644 +--- a/include/linux/ipc.h ++++ b/include/linux/ipc.h @@ -91,6 +91,7 @@ struct kern_ipc_perm key_t key; uid_t uid; @@ -8361,10 +8549,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/ipc.h linux-3.4.48-vs2.3.3.9/in uid_t cuid; gid_t cgid; umode_t mode; -diff -NurpP --minimal linux-3.4.48/include/linux/ipc_namespace.h linux-3.4.48-vs2.3.3.9/include/linux/ipc_namespace.h ---- linux-3.4.48/include/linux/ipc_namespace.h 2011-10-24 16:45:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/ipc_namespace.h 2013-06-13 09:46:39.000000000 +0000 -@@ -101,7 +101,8 @@ static inline int mq_init_ns(struct ipc_ +diff --git a/include/linux/ipc_namespace.h b/include/linux/ipc_namespace.h +index 497c6cc..56868cd 100644 +--- a/include/linux/ipc_namespace.h ++++ b/include/linux/ipc_namespace.h +@@ -101,7 +101,8 @@ static inline int mq_init_ns(struct ipc_namespace *ns) { return 0; } #if defined(CONFIG_IPC_NS) extern struct ipc_namespace *copy_ipcs(unsigned long flags, @@ -8374,7 +8563,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/ipc_namespace.h linux-3.4.48-vs static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) { if (ns) -@@ -112,12 +113,13 @@ static inline struct ipc_namespace *get_ +@@ -112,12 +113,13 @@ static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) extern void put_ipc_ns(struct ipc_namespace *ns); #else static inline struct ipc_namespace *copy_ipcs(unsigned long flags, @@ -8390,9 +8579,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/ipc_namespace.h linux-3.4.48-vs } static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) -diff -NurpP --minimal linux-3.4.48/include/linux/loop.h linux-3.4.48-vs2.3.3.9/include/linux/loop.h ---- linux-3.4.48/include/linux/loop.h 2012-01-09 15:14:58.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/loop.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/loop.h b/include/linux/loop.h +index 11a41a8..ddff471 100644 +--- a/include/linux/loop.h ++++ b/include/linux/loop.h @@ -45,6 +45,7 @@ struct loop_device { struct loop_func_table *lo_encryption; __u32 lo_init[2]; @@ -8401,9 +8591,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/loop.h linux-3.4.48-vs2.3.3.9/i int (*ioctl)(struct loop_device *, int cmd, unsigned long arg); -diff -NurpP --minimal linux-3.4.48/include/linux/magic.h linux-3.4.48-vs2.3.3.9/include/linux/magic.h ---- linux-3.4.48/include/linux/magic.h 2012-05-21 16:07:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/magic.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/magic.h b/include/linux/magic.h +index e15192c..9f89937 100644 +--- a/include/linux/magic.h ++++ b/include/linux/magic.h @@ -3,7 +3,7 @@ #define ADFS_SUPER_MAGIC 0xadf5 @@ -8413,9 +8604,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/magic.h linux-3.4.48-vs2.3.3.9/ #define AUTOFS_SUPER_MAGIC 0x0187 #define CODA_SUPER_MAGIC 0x73757245 #define CRAMFS_MAGIC 0x28cd3d45 /* some random number */ -diff -NurpP --minimal linux-3.4.48/include/linux/major.h linux-3.4.48-vs2.3.3.9/include/linux/major.h ---- linux-3.4.48/include/linux/major.h 2009-09-10 13:26:25.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/major.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/major.h b/include/linux/major.h +index 6a8ca98..da44aa0 100644 +--- a/include/linux/major.h ++++ b/include/linux/major.h @@ -15,6 +15,7 @@ #define HD_MAJOR IDE0_MAJOR #define PTY_SLAVE_MAJOR 3 @@ -8424,10 +8616,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/major.h linux-3.4.48-vs2.3.3.9/ #define TTYAUX_MAJOR 5 #define LP_MAJOR 6 #define VCS_MAJOR 7 -diff -NurpP --minimal linux-3.4.48/include/linux/memcontrol.h linux-3.4.48-vs2.3.3.9/include/linux/memcontrol.h ---- linux-3.4.48/include/linux/memcontrol.h 2012-05-21 16:07:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/memcontrol.h 2012-05-21 16:15:05.000000000 +0000 -@@ -88,6 +88,13 @@ extern struct mem_cgroup *try_get_mem_cg +diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h +index f94efd2..8396eb5 100644 +--- a/include/linux/memcontrol.h ++++ b/include/linux/memcontrol.h +@@ -88,6 +88,13 @@ extern struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm); extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg); extern struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont); @@ -8441,9 +8634,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/memcontrol.h linux-3.4.48-vs2.3 static inline int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) { -diff -NurpP --minimal linux-3.4.48/include/linux/mm_types.h linux-3.4.48-vs2.3.3.9/include/linux/mm_types.h ---- linux-3.4.48/include/linux/mm_types.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/mm_types.h 2012-07-17 22:29:43.000000000 +0000 +diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h +index b35752f..c8a5869 100644 +--- a/include/linux/mm_types.h ++++ b/include/linux/mm_types.h @@ -353,6 +353,7 @@ struct mm_struct { /* Architecture-specific MM context */ @@ -8452,9 +8646,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/mm_types.h linux-3.4.48-vs2.3.3 /* Swap token stuff */ /* -diff -NurpP --minimal linux-3.4.48/include/linux/mmzone.h linux-3.4.48-vs2.3.3.9/include/linux/mmzone.h ---- linux-3.4.48/include/linux/mmzone.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/mmzone.h 2012-07-17 22:29:43.000000000 +0000 +diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h +index 5f6806b..cc90e9c 100644 +--- a/include/linux/mmzone.h ++++ b/include/linux/mmzone.h @@ -684,6 +684,13 @@ typedef struct pglist_data { __pgdat->node_start_pfn + __pgdat->node_spanned_pages;\ }) @@ -8469,9 +8664,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/mmzone.h linux-3.4.48-vs2.3.3.9 #include <linux/memory_hotplug.h> extern struct mutex zonelists_mutex; -diff -NurpP --minimal linux-3.4.48/include/linux/mount.h linux-3.4.48-vs2.3.3.9/include/linux/mount.h ---- linux-3.4.48/include/linux/mount.h 2012-03-19 18:47:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/mount.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/mount.h b/include/linux/mount.h +index d7029f4..1e76e26 100644 +--- a/include/linux/mount.h ++++ b/include/linux/mount.h @@ -47,6 +47,9 @@ struct mnt_namespace; #define MNT_INTERNAL 0x4000 @@ -8482,9 +8678,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/mount.h linux-3.4.48-vs2.3.3.9/ struct vfsmount { struct dentry *mnt_root; /* root of the mounted tree */ struct super_block *mnt_sb; /* pointer to superblock */ -diff -NurpP --minimal linux-3.4.48/include/linux/net.h linux-3.4.48-vs2.3.3.9/include/linux/net.h ---- linux-3.4.48/include/linux/net.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/net.h 2012-09-01 08:51:18.000000000 +0000 +diff --git a/include/linux/net.h b/include/linux/net.h +index 95fea14..0a95dd7 100644 +--- a/include/linux/net.h ++++ b/include/linux/net.h @@ -73,6 +73,7 @@ struct net; #define SOCK_PASSCRED 3 #define SOCK_PASSSEC 4 @@ -8493,10 +8690,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/net.h linux-3.4.48-vs2.3.3.9/in #ifndef ARCH_HAS_SOCKET_TYPES /** -diff -NurpP --minimal linux-3.4.48/include/linux/netdevice.h linux-3.4.48-vs2.3.3.9/include/linux/netdevice.h ---- linux-3.4.48/include/linux/netdevice.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/netdevice.h 2013-06-13 09:46:39.000000000 +0000 -@@ -1624,6 +1624,7 @@ extern void netdev_resync_ops(struct ne +diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h +index dc6c687..6f626d6 100644 +--- a/include/linux/netdevice.h ++++ b/include/linux/netdevice.h +@@ -1624,6 +1624,7 @@ extern void netdev_resync_ops(struct net_device *dev); extern struct net_device *dev_get_by_index(struct net *net, int ifindex); extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); @@ -8504,9 +8702,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/netdevice.h linux-3.4.48-vs2.3. extern struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex); extern int dev_restart(struct net_device *dev); #ifdef CONFIG_NETPOLL_TRAP -diff -NurpP --minimal linux-3.4.48/include/linux/nfs_mount.h linux-3.4.48-vs2.3.3.9/include/linux/nfs_mount.h ---- linux-3.4.48/include/linux/nfs_mount.h 2011-01-05 20:50:31.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/nfs_mount.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h +index 576bddd..341f621 100644 +--- a/include/linux/nfs_mount.h ++++ b/include/linux/nfs_mount.h @@ -63,7 +63,8 @@ struct nfs_mount_data { #define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */ #define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */ @@ -8517,9 +8716,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/nfs_mount.h linux-3.4.48-vs2.3. /* The following are for internal use only */ #define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000 -diff -NurpP --minimal linux-3.4.48/include/linux/nsproxy.h linux-3.4.48-vs2.3.3.9/include/linux/nsproxy.h ---- linux-3.4.48/include/linux/nsproxy.h 2011-10-24 16:45:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/nsproxy.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/nsproxy.h b/include/linux/nsproxy.h +index cc37a55..e995dde 100644 +--- a/include/linux/nsproxy.h ++++ b/include/linux/nsproxy.h @@ -3,6 +3,7 @@ #include <linux/spinlock.h> @@ -8528,7 +8728,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/nsproxy.h linux-3.4.48-vs2.3.3. struct mnt_namespace; struct uts_namespace; -@@ -63,6 +64,7 @@ static inline struct nsproxy *task_nspro +@@ -63,6 +64,7 @@ static inline struct nsproxy *task_nsproxy(struct task_struct *tsk) } int copy_namespaces(unsigned long flags, struct task_struct *tsk); @@ -8536,7 +8736,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/nsproxy.h linux-3.4.48-vs2.3.3. void exit_task_namespaces(struct task_struct *tsk); void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new); void free_nsproxy(struct nsproxy *ns); -@@ -70,16 +72,26 @@ int unshare_nsproxy_namespaces(unsigned +@@ -70,16 +72,26 @@ int unshare_nsproxy_namespaces(unsigned long, struct nsproxy **, struct fs_struct *); int __init nsproxy_cache_init(void); @@ -8569,9 +8769,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/nsproxy.h linux-3.4.48-vs2.3.3. } #endif -diff -NurpP --minimal linux-3.4.48/include/linux/pid.h linux-3.4.48-vs2.3.3.9/include/linux/pid.h ---- linux-3.4.48/include/linux/pid.h 2011-07-22 09:18:11.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/pid.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/pid.h b/include/linux/pid.h +index b152d44..b08d451 100644 +--- a/include/linux/pid.h ++++ b/include/linux/pid.h @@ -8,7 +8,8 @@ enum pid_type PIDTYPE_PID, PIDTYPE_PGID, @@ -8582,7 +8783,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/pid.h linux-3.4.48-vs2.3.3.9/in }; /* -@@ -171,6 +172,7 @@ static inline pid_t pid_nr(struct pid *p +@@ -171,6 +172,7 @@ static inline pid_t pid_nr(struct pid *pid) } pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); @@ -8590,9 +8791,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/pid.h linux-3.4.48-vs2.3.3.9/in pid_t pid_vnr(struct pid *pid); #define do_each_pid_task(pid, type, task) \ -diff -NurpP --minimal linux-3.4.48/include/linux/proc_fs.h linux-3.4.48-vs2.3.3.9/include/linux/proc_fs.h ---- linux-3.4.48/include/linux/proc_fs.h 2012-03-19 18:47:28.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/proc_fs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h +index 85c5073..2b8bce2 100644 +--- a/include/linux/proc_fs.h ++++ b/include/linux/proc_fs.h @@ -54,6 +54,7 @@ struct proc_dir_entry { nlink_t nlink; uid_t uid; @@ -8601,7 +8803,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/proc_fs.h linux-3.4.48-vs2.3.3. loff_t size; const struct inode_operations *proc_iops; /* -@@ -252,12 +253,18 @@ extern const struct proc_ns_operations n +@@ -252,12 +253,18 @@ extern const struct proc_ns_operations netns_operations; extern const struct proc_ns_operations utsns_operations; extern const struct proc_ns_operations ipcns_operations; @@ -8628,9 +8830,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/proc_fs.h linux-3.4.48-vs2.3.3. int fd; union proc_op op; struct proc_dir_entry *pde; -diff -NurpP --minimal linux-3.4.48/include/linux/quotaops.h linux-3.4.48-vs2.3.3.9/include/linux/quotaops.h ---- linux-3.4.48/include/linux/quotaops.h 2012-01-09 15:14:58.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/quotaops.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/quotaops.h b/include/linux/quotaops.h +index d93f95e..1851154 100644 +--- a/include/linux/quotaops.h ++++ b/include/linux/quotaops.h @@ -8,6 +8,7 @@ #define _LINUX_QUOTAOPS_ @@ -8639,7 +8842,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/quotaops.h linux-3.4.48-vs2.3.3 #define DQUOT_SPACE_WARN 0x1 #define DQUOT_SPACE_RESERVE 0x2 -@@ -204,11 +205,12 @@ static inline void dquot_drop(struct ino +@@ -204,11 +205,12 @@ static inline void dquot_drop(struct inode *inode) static inline int dquot_alloc_inode(const struct inode *inode) { @@ -8653,7 +8856,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/quotaops.h linux-3.4.48-vs2.3.3 } static inline int dquot_transfer(struct inode *inode, struct iattr *iattr) -@@ -219,6 +221,10 @@ static inline int dquot_transfer(struct +@@ -219,6 +221,10 @@ static inline int dquot_transfer(struct inode *inode, struct iattr *iattr) static inline int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) { @@ -8664,7 +8867,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/quotaops.h linux-3.4.48-vs2.3.3 if (!(flags & DQUOT_SPACE_RESERVE)) inode_add_bytes(inode, number); return 0; -@@ -229,6 +235,7 @@ static inline void __dquot_free_space(st +@@ -229,6 +235,7 @@ static inline void __dquot_free_space(struct inode *inode, qsize_t number, { if (!(flags & DQUOT_SPACE_RESERVE)) inode_sub_bytes(inode, number); @@ -8672,9 +8875,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/quotaops.h linux-3.4.48-vs2.3.3 } static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) -diff -NurpP --minimal linux-3.4.48/include/linux/reboot.h linux-3.4.48-vs2.3.3.9/include/linux/reboot.h ---- linux-3.4.48/include/linux/reboot.h 2011-10-24 16:45:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/reboot.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/reboot.h b/include/linux/reboot.h +index e0879a7..5a521db 100644 +--- a/include/linux/reboot.h ++++ b/include/linux/reboot.h @@ -33,6 +33,7 @@ #define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4 #define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2 @@ -8683,9 +8887,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/reboot.h linux-3.4.48-vs2.3.3.9 #ifdef __KERNEL__ -diff -NurpP --minimal linux-3.4.48/include/linux/sched.h linux-3.4.48-vs2.3.3.9/include/linux/sched.h ---- linux-3.4.48/include/linux/sched.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/sched.h 2013-02-11 23:37:30.000000000 +0000 +diff --git a/include/linux/sched.h b/include/linux/sched.h +index 3dd0efb..1176aa9 100644 +--- a/include/linux/sched.h ++++ b/include/linux/sched.h @@ -1455,6 +1455,14 @@ struct task_struct { #endif seccomp_t seccomp; @@ -8713,7 +8918,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sched.h linux-3.4.48-vs2.3.3.9/ static inline pid_t task_pid_nr(struct task_struct *tsk) { return tsk->pid; -@@ -1712,7 +1725,8 @@ static inline pid_t task_pid_nr_ns(struc +@@ -1712,7 +1725,8 @@ static inline pid_t task_pid_nr_ns(struct task_struct *tsk, static inline pid_t task_pid_vnr(struct task_struct *tsk) { @@ -8723,7 +8928,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sched.h linux-3.4.48-vs2.3.3.9/ } -@@ -1725,7 +1739,7 @@ pid_t task_tgid_nr_ns(struct task_struct +@@ -1725,7 +1739,7 @@ pid_t task_tgid_nr_ns(struct task_struct *tsk, struct pid_namespace *ns); static inline pid_t task_tgid_vnr(struct task_struct *tsk) { @@ -8732,9 +8937,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sched.h linux-3.4.48-vs2.3.3.9/ } -diff -NurpP --minimal linux-3.4.48/include/linux/shmem_fs.h linux-3.4.48-vs2.3.3.9/include/linux/shmem_fs.h ---- linux-3.4.48/include/linux/shmem_fs.h 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/shmem_fs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h +index 79ab255..952ffa6 100644 +--- a/include/linux/shmem_fs.h ++++ b/include/linux/shmem_fs.h @@ -8,6 +8,9 @@ /* inode in-kernel data */ @@ -8745,9 +8951,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/shmem_fs.h linux-3.4.48-vs2.3.3 struct shmem_inode_info { spinlock_t lock; unsigned long flags; -diff -NurpP --minimal linux-3.4.48/include/linux/stat.h linux-3.4.48-vs2.3.3.9/include/linux/stat.h ---- linux-3.4.48/include/linux/stat.h 2008-12-24 23:26:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/stat.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/stat.h b/include/linux/stat.h +index 611c398..784c0c3 100644 +--- a/include/linux/stat.h ++++ b/include/linux/stat.h @@ -66,6 +66,7 @@ struct kstat { unsigned int nlink; uid_t uid; @@ -8756,9 +8963,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/stat.h linux-3.4.48-vs2.3.3.9/i dev_t rdev; loff_t size; struct timespec atime; -diff -NurpP --minimal linux-3.4.48/include/linux/sunrpc/auth.h linux-3.4.48-vs2.3.3.9/include/linux/sunrpc/auth.h ---- linux-3.4.48/include/linux/sunrpc/auth.h 2012-05-21 16:07:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/sunrpc/auth.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h +index 492a36d..f44bf1c 100644 +--- a/include/linux/sunrpc/auth.h ++++ b/include/linux/sunrpc/auth.h @@ -25,6 +25,7 @@ struct auth_cred { uid_t uid; @@ -8767,9 +8975,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sunrpc/auth.h linux-3.4.48-vs2. struct group_info *group_info; const char *principal; unsigned char machine_cred : 1; -diff -NurpP --minimal linux-3.4.48/include/linux/sunrpc/clnt.h linux-3.4.48-vs2.3.3.9/include/linux/sunrpc/clnt.h ---- linux-3.4.48/include/linux/sunrpc/clnt.h 2012-05-21 16:07:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/sunrpc/clnt.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h +index 523547e..ab51e50 100644 +--- a/include/linux/sunrpc/clnt.h ++++ b/include/linux/sunrpc/clnt.h @@ -49,7 +49,8 @@ struct rpc_clnt { unsigned int cl_softrtry : 1,/* soft timeouts */ cl_discrtry : 1,/* disconnect before retry */ @@ -8780,9 +8989,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sunrpc/clnt.h linux-3.4.48-vs2. struct rpc_rtt * cl_rtt; /* RTO estimator data */ const struct rpc_timeout *cl_timeout; /* Timeout strategy */ -diff -NurpP --minimal linux-3.4.48/include/linux/sysctl.h linux-3.4.48-vs2.3.3.9/include/linux/sysctl.h ---- linux-3.4.48/include/linux/sysctl.h 2012-05-21 16:07:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/sysctl.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h +index c34b4c8..782b12d 100644 +--- a/include/linux/sysctl.h ++++ b/include/linux/sysctl.h @@ -60,6 +60,7 @@ enum CTL_ABI=9, /* Binary emulation */ CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ @@ -8799,9 +9009,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sysctl.h linux-3.4.48-vs2.3.3.9 KERN_SPARC_REBOOT=21, /* reboot command on Sparc */ KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */ -diff -NurpP --minimal linux-3.4.48/include/linux/sysfs.h linux-3.4.48-vs2.3.3.9/include/linux/sysfs.h ---- linux-3.4.48/include/linux/sysfs.h 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/sysfs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h +index 0010009..ccfd222 100644 +--- a/include/linux/sysfs.h ++++ b/include/linux/sysfs.h @@ -19,6 +19,8 @@ #include <linux/kobject_ns.h> #include <linux/atomic.h> @@ -8811,10 +9022,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/sysfs.h linux-3.4.48-vs2.3.3.9/ struct kobject; struct module; enum kobj_ns_type; -diff -NurpP --minimal linux-3.4.48/include/linux/time.h linux-3.4.48-vs2.3.3.9/include/linux/time.h ---- linux-3.4.48/include/linux/time.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/time.h 2012-10-22 13:09:53.000000000 +0000 -@@ -281,6 +281,8 @@ static __always_inline void timespec_add +diff --git a/include/linux/time.h b/include/linux/time.h +index 03dce74..a119348 100644 +--- a/include/linux/time.h ++++ b/include/linux/time.h +@@ -281,6 +281,8 @@ static __always_inline void timespec_add_ns(struct timespec *a, u64 ns) a->tv_nsec = ns; } @@ -8823,9 +9035,10 @@ diff -NurpP --minimal linux-3.4.48/include/linux/time.h linux-3.4.48-vs2.3.3.9/i #endif /* __KERNEL__ */ /* -diff -NurpP --minimal linux-3.4.48/include/linux/types.h linux-3.4.48-vs2.3.3.9/include/linux/types.h ---- linux-3.4.48/include/linux/types.h 2012-05-21 16:07:32.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/types.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/types.h b/include/linux/types.h +index 7f480db..d417422 100644 +--- a/include/linux/types.h ++++ b/include/linux/types.h @@ -41,6 +41,9 @@ typedef __kernel_uid32_t uid_t; typedef __kernel_gid32_t gid_t; typedef __kernel_uid16_t uid16_t; @@ -8836,10 +9049,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/types.h linux-3.4.48-vs2.3.3.9/ typedef unsigned long uintptr_t; -diff -NurpP --minimal linux-3.4.48/include/linux/utsname.h linux-3.4.48-vs2.3.3.9/include/linux/utsname.h ---- linux-3.4.48/include/linux/utsname.h 2012-01-09 15:14:59.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/utsname.h 2012-05-21 16:15:05.000000000 +0000 -@@ -62,7 +62,8 @@ static inline void get_uts_ns(struct uts +diff --git a/include/linux/utsname.h b/include/linux/utsname.h +index c714ed7..0197b43 100644 +--- a/include/linux/utsname.h ++++ b/include/linux/utsname.h +@@ -62,7 +62,8 @@ static inline void get_uts_ns(struct uts_namespace *ns) } extern struct uts_namespace *copy_utsname(unsigned long flags, @@ -8849,7 +9063,7 @@ diff -NurpP --minimal linux-3.4.48/include/linux/utsname.h linux-3.4.48-vs2.3.3. extern void free_uts_ns(struct kref *kref); static inline void put_uts_ns(struct uts_namespace *ns) -@@ -79,12 +80,13 @@ static inline void put_uts_ns(struct uts +@@ -79,12 +80,13 @@ static inline void put_uts_ns(struct uts_namespace *ns) } static inline struct uts_namespace *copy_utsname(unsigned long flags, @@ -8865,9 +9079,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/utsname.h linux-3.4.48-vs2.3.3. } #endif -diff -NurpP --minimal linux-3.4.48/include/linux/vroot.h linux-3.4.48-vs2.3.3.9/include/linux/vroot.h ---- linux-3.4.48/include/linux/vroot.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vroot.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vroot.h b/include/linux/vroot.h +new file mode 100644 +index 0000000..5e1d797 +--- /dev/null ++++ b/include/linux/vroot.h @@ -0,0 +1,51 @@ + +/* @@ -8920,9 +9136,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vroot.h linux-3.4.48-vs2.3.3.9/ +#define VROOT_CLR_DEV 0x5601 + +#endif /* _LINUX_VROOT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vs_base.h linux-3.4.48-vs2.3.3.9/include/linux/vs_base.h ---- linux-3.4.48/include/linux/vs_base.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_base.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_base.h b/include/linux/vs_base.h +new file mode 100644 +index 0000000..cb0ce81 +--- /dev/null ++++ b/include/linux/vs_base.h @@ -0,0 +1,10 @@ +#ifndef _VS_BASE_H +#define _VS_BASE_H @@ -8934,9 +9152,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_base.h linux-3.4.48-vs2.3.3. +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_context.h linux-3.4.48-vs2.3.3.9/include/linux/vs_context.h ---- linux-3.4.48/include/linux/vs_context.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_context.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_context.h b/include/linux/vs_context.h +new file mode 100644 +index 0000000..5848095 +--- /dev/null ++++ b/include/linux/vs_context.h @@ -0,0 +1,242 @@ +#ifndef _VS_CONTEXT_H +#define _VS_CONTEXT_H @@ -9180,9 +9400,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_context.h linux-3.4.48-vs2.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_cowbl.h linux-3.4.48-vs2.3.3.9/include/linux/vs_cowbl.h ---- linux-3.4.48/include/linux/vs_cowbl.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_cowbl.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_cowbl.h b/include/linux/vs_cowbl.h +new file mode 100644 +index 0000000..1ac1bf2 +--- /dev/null ++++ b/include/linux/vs_cowbl.h @@ -0,0 +1,48 @@ +#ifndef _VS_COWBL_H +#define _VS_COWBL_H @@ -9232,9 +9454,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_cowbl.h linux-3.4.48-vs2.3.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_cvirt.h linux-3.4.48-vs2.3.3.9/include/linux/vs_cvirt.h ---- linux-3.4.48/include/linux/vs_cvirt.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_cvirt.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_cvirt.h b/include/linux/vs_cvirt.h +new file mode 100644 +index 0000000..310af24 +--- /dev/null ++++ b/include/linux/vs_cvirt.h @@ -0,0 +1,50 @@ +#ifndef _VS_CVIRT_H +#define _VS_CVIRT_H @@ -9286,9 +9510,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_cvirt.h linux-3.4.48-vs2.3.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_device.h linux-3.4.48-vs2.3.3.9/include/linux/vs_device.h ---- linux-3.4.48/include/linux/vs_device.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_device.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_device.h b/include/linux/vs_device.h +new file mode 100644 +index 0000000..8e2f043 +--- /dev/null ++++ b/include/linux/vs_device.h @@ -0,0 +1,45 @@ +#ifndef _VS_DEVICE_H +#define _VS_DEVICE_H @@ -9335,9 +9561,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_device.h linux-3.4.48-vs2.3. +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_dlimit.h linux-3.4.48-vs2.3.3.9/include/linux/vs_dlimit.h ---- linux-3.4.48/include/linux/vs_dlimit.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_dlimit.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_dlimit.h b/include/linux/vs_dlimit.h +new file mode 100644 +index 0000000..8b0b33b +--- /dev/null ++++ b/include/linux/vs_dlimit.h @@ -0,0 +1,215 @@ +#ifndef _VS_DLIMIT_H +#define _VS_DLIMIT_H @@ -9554,9 +9782,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_dlimit.h linux-3.4.48-vs2.3. +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_inet.h linux-3.4.48-vs2.3.3.9/include/linux/vs_inet.h ---- linux-3.4.48/include/linux/vs_inet.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_inet.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_inet.h b/include/linux/vs_inet.h +new file mode 100644 +index 0000000..7c8e02b +--- /dev/null ++++ b/include/linux/vs_inet.h @@ -0,0 +1,353 @@ +#ifndef _VS_INET_H +#define _VS_INET_H @@ -9911,9 +10141,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_inet.h linux-3.4.48-vs2.3.3. +#else +// #warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_inet6.h linux-3.4.48-vs2.3.3.9/include/linux/vs_inet6.h ---- linux-3.4.48/include/linux/vs_inet6.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_inet6.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_inet6.h b/include/linux/vs_inet6.h +new file mode 100644 +index 0000000..70f797b +--- /dev/null ++++ b/include/linux/vs_inet6.h @@ -0,0 +1,246 @@ +#ifndef _VS_INET6_H +#define _VS_INET6_H @@ -10161,9 +10393,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_inet6.h linux-3.4.48-vs2.3.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_limit.h linux-3.4.48-vs2.3.3.9/include/linux/vs_limit.h ---- linux-3.4.48/include/linux/vs_limit.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_limit.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_limit.h b/include/linux/vs_limit.h +new file mode 100644 +index 0000000..96b3b5a +--- /dev/null ++++ b/include/linux/vs_limit.h @@ -0,0 +1,140 @@ +#ifndef _VS_LIMIT_H +#define _VS_LIMIT_H @@ -10305,9 +10539,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_limit.h linux-3.4.48-vs2.3.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_network.h linux-3.4.48-vs2.3.3.9/include/linux/vs_network.h ---- linux-3.4.48/include/linux/vs_network.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_network.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_network.h b/include/linux/vs_network.h +new file mode 100644 +index 0000000..5bd3898 +--- /dev/null ++++ b/include/linux/vs_network.h @@ -0,0 +1,169 @@ +#ifndef _NX_VS_NETWORK_H +#define _NX_VS_NETWORK_H @@ -10478,9 +10714,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_network.h linux-3.4.48-vs2.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_pid.h linux-3.4.48-vs2.3.3.9/include/linux/vs_pid.h ---- linux-3.4.48/include/linux/vs_pid.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_pid.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_pid.h b/include/linux/vs_pid.h +new file mode 100644 +index 0000000..5b79fcd +--- /dev/null ++++ b/include/linux/vs_pid.h @@ -0,0 +1,50 @@ +#ifndef _VS_PID_H +#define _VS_PID_H @@ -10532,9 +10770,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_pid.h linux-3.4.48-vs2.3.3.9 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_sched.h linux-3.4.48-vs2.3.3.9/include/linux/vs_sched.h ---- linux-3.4.48/include/linux/vs_sched.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_sched.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_sched.h b/include/linux/vs_sched.h +new file mode 100644 +index 0000000..d802692 +--- /dev/null ++++ b/include/linux/vs_sched.h @@ -0,0 +1,40 @@ +#ifndef _VS_SCHED_H +#define _VS_SCHED_H @@ -10576,9 +10816,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_sched.h linux-3.4.48-vs2.3.3 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_socket.h linux-3.4.48-vs2.3.3.9/include/linux/vs_socket.h ---- linux-3.4.48/include/linux/vs_socket.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_socket.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_socket.h b/include/linux/vs_socket.h +new file mode 100644 +index 0000000..b190e24 +--- /dev/null ++++ b/include/linux/vs_socket.h @@ -0,0 +1,67 @@ +#ifndef _VS_SOCKET_H +#define _VS_SOCKET_H @@ -10647,9 +10889,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_socket.h linux-3.4.48-vs2.3. +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_tag.h linux-3.4.48-vs2.3.3.9/include/linux/vs_tag.h ---- linux-3.4.48/include/linux/vs_tag.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_tag.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_tag.h b/include/linux/vs_tag.h +new file mode 100644 +index 0000000..a83c79b +--- /dev/null ++++ b/include/linux/vs_tag.h @@ -0,0 +1,47 @@ +#ifndef _VS_TAG_H +#define _VS_TAG_H @@ -10698,9 +10942,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_tag.h linux-3.4.48-vs2.3.3.9 +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vs_time.h linux-3.4.48-vs2.3.3.9/include/linux/vs_time.h ---- linux-3.4.48/include/linux/vs_time.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vs_time.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vs_time.h b/include/linux/vs_time.h +new file mode 100644 +index 0000000..5b962f9 +--- /dev/null ++++ b/include/linux/vs_time.h @@ -0,0 +1,19 @@ +#ifndef _VS_TIME_H +#define _VS_TIME_H @@ -10721,9 +10967,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vs_time.h linux-3.4.48-vs2.3.3. +#else +#warning duplicate inclusion +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/Kbuild linux-3.4.48-vs2.3.3.9/include/linux/vserver/Kbuild ---- linux-3.4.48/include/linux/vserver/Kbuild 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/Kbuild 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/Kbuild b/include/linux/vserver/Kbuild +new file mode 100644 +index 0000000..3ea3d70 +--- /dev/null ++++ b/include/linux/vserver/Kbuild @@ -0,0 +1,8 @@ + +header-y += context_cmd.h network_cmd.h space_cmd.h \ @@ -10733,9 +10981,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/Kbuild linux-3.4.48-vs2 + +header-y += switch.h network.h monitor.h inode.h device.h + -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/base.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/base.h ---- linux-3.4.48/include/linux/vserver/base.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/base.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/base.h b/include/linux/vserver/base.h +new file mode 100644 +index 0000000..e31841e +--- /dev/null ++++ b/include/linux/vserver/base.h @@ -0,0 +1,178 @@ +#ifndef _VX_BASE_H +#define _VX_BASE_H @@ -10915,9 +11165,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/base.h linux-3.4.48-vs2 +#define nx_info_state(n, m) (__nx_state(n) & (m)) + +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct.h ---- linux-3.4.48/include/linux/vserver/cacct.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cacct.h b/include/linux/vserver/cacct.h +new file mode 100644 +index 0000000..aa202cc +--- /dev/null ++++ b/include/linux/vserver/cacct.h @@ -0,0 +1,15 @@ +#ifndef _VX_CACCT_H +#define _VX_CACCT_H @@ -10934,9 +11186,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct.h linux-3.4.48-vs +}; + +#endif /* _VX_CACCT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_cmd.h ---- linux-3.4.48/include/linux/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cacct_cmd.h b/include/linux/vserver/cacct_cmd.h +new file mode 100644 +index 0000000..bcc46bb +--- /dev/null ++++ b/include/linux/vserver/cacct_cmd.h @@ -0,0 +1,23 @@ +#ifndef _VX_CACCT_CMD_H +#define _VX_CACCT_CMD_H @@ -10961,9 +11215,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_CACCT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_def.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_def.h ---- linux-3.4.48/include/linux/vserver/cacct_def.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_def.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cacct_def.h b/include/linux/vserver/cacct_def.h +new file mode 100644 +index 0000000..5945f4f +--- /dev/null ++++ b/include/linux/vserver/cacct_def.h @@ -0,0 +1,43 @@ +#ifndef _VX_CACCT_DEF_H +#define _VX_CACCT_DEF_H @@ -11008,9 +11264,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_def.h linux-3.4.4 +#endif + +#endif /* _VX_CACCT_DEF_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_int.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_int.h ---- linux-3.4.48/include/linux/vserver/cacct_int.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cacct_int.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cacct_int.h b/include/linux/vserver/cacct_int.h +new file mode 100644 +index 0000000..a235c01 +--- /dev/null ++++ b/include/linux/vserver/cacct_int.h @@ -0,0 +1,21 @@ +#ifndef _VX_CACCT_INT_H +#define _VX_CACCT_INT_H @@ -11033,9 +11291,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cacct_int.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_CACCT_INT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/check.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/check.h ---- linux-3.4.48/include/linux/vserver/check.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/check.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/check.h b/include/linux/vserver/check.h +new file mode 100644 +index 0000000..011d16e +--- /dev/null ++++ b/include/linux/vserver/check.h @@ -0,0 +1,89 @@ +#ifndef _VS_CHECK_H +#define _VS_CHECK_H @@ -11126,9 +11386,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/check.h linux-3.4.48-vs +#define nx_weak_check(c, m) ((m) ? nx_check(c, m) : 1) + +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/context.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/context.h ---- linux-3.4.48/include/linux/vserver/context.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/context.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/context.h b/include/linux/vserver/context.h +new file mode 100644 +index 0000000..a63989e +--- /dev/null ++++ b/include/linux/vserver/context.h @@ -0,0 +1,188 @@ +#ifndef _VX_CONTEXT_H +#define _VX_CONTEXT_H @@ -11318,9 +11580,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/context.h linux-3.4.48- + +#endif /* __KERNEL__ */ +#endif /* _VX_CONTEXT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/context_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/context_cmd.h ---- linux-3.4.48/include/linux/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/context_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/context_cmd.h b/include/linux/vserver/context_cmd.h +new file mode 100644 +index 0000000..90d3777 +--- /dev/null ++++ b/include/linux/vserver/context_cmd.h @@ -0,0 +1,162 @@ +#ifndef _VX_CONTEXT_CMD_H +#define _VX_CONTEXT_CMD_H @@ -11484,9 +11748,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/context_cmd.h linux-3.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_CONTEXT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt.h ---- linux-3.4.48/include/linux/vserver/cvirt.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cvirt.h b/include/linux/vserver/cvirt.h +new file mode 100644 +index 0000000..ec69508 +--- /dev/null ++++ b/include/linux/vserver/cvirt.h @@ -0,0 +1,22 @@ +#ifndef _VX_CVIRT_H +#define _VX_CVIRT_H @@ -11510,9 +11776,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt.h linux-3.4.48-vs + +#endif /* __KERNEL__ */ +#endif /* _VX_CVIRT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt_cmd.h ---- linux-3.4.48/include/linux/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cvirt_cmd.h b/include/linux/vserver/cvirt_cmd.h +new file mode 100644 +index 0000000..249db86 +--- /dev/null ++++ b/include/linux/vserver/cvirt_cmd.h @@ -0,0 +1,53 @@ +#ifndef _VX_CVIRT_CMD_H +#define _VX_CVIRT_CMD_H @@ -11567,9 +11835,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_CVIRT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt_def.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt_def.h ---- linux-3.4.48/include/linux/vserver/cvirt_def.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/cvirt_def.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/cvirt_def.h b/include/linux/vserver/cvirt_def.h +new file mode 100644 +index 0000000..9eb9837 +--- /dev/null ++++ b/include/linux/vserver/cvirt_def.h @@ -0,0 +1,80 @@ +#ifndef _VX_CVIRT_DEF_H +#define _VX_CVIRT_DEF_H @@ -11651,9 +11921,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/cvirt_def.h linux-3.4.4 +#endif + +#endif /* _VX_CVIRT_DEF_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/debug.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/debug.h ---- linux-3.4.48/include/linux/vserver/debug.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/debug.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/debug.h b/include/linux/vserver/debug.h +new file mode 100644 +index 0000000..21cd597 +--- /dev/null ++++ b/include/linux/vserver/debug.h @@ -0,0 +1,145 @@ +#ifndef _VX_DEBUG_H +#define _VX_DEBUG_H @@ -11800,9 +12072,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/debug.h linux-3.4.48-vs + + +#endif /* _VX_DEBUG_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/debug_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/debug_cmd.h ---- linux-3.4.48/include/linux/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/debug_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/debug_cmd.h b/include/linux/vserver/debug_cmd.h +new file mode 100644 +index 0000000..441eb62 +--- /dev/null ++++ b/include/linux/vserver/debug_cmd.h @@ -0,0 +1,58 @@ +#ifndef _VX_DEBUG_CMD_H +#define _VX_DEBUG_CMD_H @@ -11862,9 +12136,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/debug_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_DEBUG_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/device.h ---- linux-3.4.48/include/linux/vserver/device.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/device.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/device.h b/include/linux/vserver/device.h +new file mode 100644 +index 0000000..dc10daa +--- /dev/null ++++ b/include/linux/vserver/device.h @@ -0,0 +1,15 @@ +#ifndef _VX_DEVICE_H +#define _VX_DEVICE_H @@ -11881,9 +12157,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device.h linux-3.4.48-v +#else /* _VX_DEVICE_H */ +#warning duplicate inclusion +#endif /* _VX_DEVICE_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/device_cmd.h ---- linux-3.4.48/include/linux/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/device_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/device_cmd.h b/include/linux/vserver/device_cmd.h +new file mode 100644 +index 0000000..3e45a99 +--- /dev/null ++++ b/include/linux/vserver/device_cmd.h @@ -0,0 +1,44 @@ +#ifndef _VX_DEVICE_CMD_H +#define _VX_DEVICE_CMD_H @@ -11929,9 +12207,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device_cmd.h linux-3.4. + +#endif /* __KERNEL__ */ +#endif /* _VX_DEVICE_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device_def.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/device_def.h ---- linux-3.4.48/include/linux/vserver/device_def.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/device_def.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/device_def.h b/include/linux/vserver/device_def.h +new file mode 100644 +index 0000000..aa12784 +--- /dev/null ++++ b/include/linux/vserver/device_def.h @@ -0,0 +1,17 @@ +#ifndef _VX_DEVICE_DEF_H +#define _VX_DEVICE_DEF_H @@ -11950,9 +12230,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/device_def.h linux-3.4. +}; + +#endif /* _VX_DEVICE_DEF_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/dlimit.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/dlimit.h ---- linux-3.4.48/include/linux/vserver/dlimit.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/dlimit.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/dlimit.h b/include/linux/vserver/dlimit.h +new file mode 100644 +index 0000000..f026233 +--- /dev/null ++++ b/include/linux/vserver/dlimit.h @@ -0,0 +1,54 @@ +#ifndef _VX_DLIMIT_H +#define _VX_DLIMIT_H @@ -12008,9 +12290,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/dlimit.h linux-3.4.48-v +#else /* _VX_DLIMIT_H */ +#warning duplicate inclusion +#endif /* _VX_DLIMIT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/dlimit_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/dlimit_cmd.h ---- linux-3.4.48/include/linux/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/dlimit_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/dlimit_cmd.h b/include/linux/vserver/dlimit_cmd.h +new file mode 100644 +index 0000000..3ae7de3 +--- /dev/null ++++ b/include/linux/vserver/dlimit_cmd.h @@ -0,0 +1,109 @@ +#ifndef _VX_DLIMIT_CMD_H +#define _VX_DLIMIT_CMD_H @@ -12121,9 +12405,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/dlimit_cmd.h linux-3.4. + +#endif /* __KERNEL__ */ +#endif /* _VX_DLIMIT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/global.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/global.h ---- linux-3.4.48/include/linux/vserver/global.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/global.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/global.h b/include/linux/vserver/global.h +new file mode 100644 +index 0000000..2c317dd +--- /dev/null ++++ b/include/linux/vserver/global.h @@ -0,0 +1,19 @@ +#ifndef _VX_GLOBAL_H +#define _VX_GLOBAL_H @@ -12144,9 +12430,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/global.h linux-3.4.48-v + + +#endif /* _VX_GLOBAL_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/history.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/history.h ---- linux-3.4.48/include/linux/vserver/history.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/history.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/history.h b/include/linux/vserver/history.h +new file mode 100644 +index 0000000..0efe903 +--- /dev/null ++++ b/include/linux/vserver/history.h @@ -0,0 +1,197 @@ +#ifndef _VX_HISTORY_H +#define _VX_HISTORY_H @@ -12345,9 +12633,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/history.h linux-3.4.48- +#endif /* CONFIG_VSERVER_HISTORY */ + +#endif /* _VX_HISTORY_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/inode.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/inode.h ---- linux-3.4.48/include/linux/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/inode.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/inode.h b/include/linux/vserver/inode.h +new file mode 100644 +index 0000000..e44f416 +--- /dev/null ++++ b/include/linux/vserver/inode.h @@ -0,0 +1,39 @@ +#ifndef _VX_INODE_H +#define _VX_INODE_H @@ -12388,9 +12678,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/inode.h linux-3.4.48-vs +#else /* _VX_INODE_H */ +#warning duplicate inclusion +#endif /* _VX_INODE_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/inode_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/inode_cmd.h ---- linux-3.4.48/include/linux/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/inode_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/inode_cmd.h b/include/linux/vserver/inode_cmd.h +new file mode 100644 +index 0000000..4444c11 +--- /dev/null ++++ b/include/linux/vserver/inode_cmd.h @@ -0,0 +1,59 @@ +#ifndef _VX_INODE_CMD_H +#define _VX_INODE_CMD_H @@ -12451,9 +12743,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/inode_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_INODE_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit.h ---- linux-3.4.48/include/linux/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/limit.h b/include/linux/vserver/limit.h +new file mode 100644 +index 0000000..804cc20 +--- /dev/null ++++ b/include/linux/vserver/limit.h @@ -0,0 +1,71 @@ +#ifndef _VX_LIMIT_H +#define _VX_LIMIT_H @@ -12526,9 +12820,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit.h linux-3.4.48-vs + +#endif /* __KERNEL__ */ +#endif /* _VX_LIMIT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_cmd.h ---- linux-3.4.48/include/linux/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/limit_cmd.h b/include/linux/vserver/limit_cmd.h +new file mode 100644 +index 0000000..62eaaf7 +--- /dev/null ++++ b/include/linux/vserver/limit_cmd.h @@ -0,0 +1,71 @@ +#ifndef _VX_LIMIT_CMD_H +#define _VX_LIMIT_CMD_H @@ -12601,9 +12897,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_LIMIT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_def.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_def.h ---- linux-3.4.48/include/linux/vserver/limit_def.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_def.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/limit_def.h b/include/linux/vserver/limit_def.h +new file mode 100644 +index 0000000..2be25ac +--- /dev/null ++++ b/include/linux/vserver/limit_def.h @@ -0,0 +1,47 @@ +#ifndef _VX_LIMIT_DEF_H +#define _VX_LIMIT_DEF_H @@ -12652,9 +12950,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_def.h linux-3.4.4 +#endif + +#endif /* _VX_LIMIT_DEF_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_int.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_int.h ---- linux-3.4.48/include/linux/vserver/limit_int.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/limit_int.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/limit_int.h b/include/linux/vserver/limit_int.h +new file mode 100644 +index 0000000..0adf9cb +--- /dev/null ++++ b/include/linux/vserver/limit_int.h @@ -0,0 +1,198 @@ +#ifndef _VX_LIMIT_INT_H +#define _VX_LIMIT_INT_H @@ -12854,9 +13154,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/limit_int.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_LIMIT_INT_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/monitor.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/monitor.h ---- linux-3.4.48/include/linux/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/monitor.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/monitor.h b/include/linux/vserver/monitor.h +new file mode 100644 +index 0000000..53cd19f +--- /dev/null ++++ b/include/linux/vserver/monitor.h @@ -0,0 +1,96 @@ +#ifndef _VX_MONITOR_H +#define _VX_MONITOR_H @@ -12954,9 +13256,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/monitor.h linux-3.4.48- + + +#endif /* _VX_MONITOR_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/network.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/network.h ---- linux-3.4.48/include/linux/vserver/network.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/network.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/network.h b/include/linux/vserver/network.h +new file mode 100644 +index 0000000..a6695d5 +--- /dev/null ++++ b/include/linux/vserver/network.h @@ -0,0 +1,148 @@ +#ifndef _VX_NETWORK_H +#define _VX_NETWORK_H @@ -13106,9 +13410,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/network.h linux-3.4.48- + +#endif /* __KERNEL__ */ +#endif /* _VX_NETWORK_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/network_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/network_cmd.h ---- linux-3.4.48/include/linux/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/network_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/network_cmd.h b/include/linux/vserver/network_cmd.h +new file mode 100644 +index 0000000..32bcc39 +--- /dev/null ++++ b/include/linux/vserver/network_cmd.h @@ -0,0 +1,164 @@ +#ifndef _VX_NETWORK_CMD_H +#define _VX_NETWORK_CMD_H @@ -13274,9 +13580,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/network_cmd.h linux-3.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_CONTEXT_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/percpu.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/percpu.h ---- linux-3.4.48/include/linux/vserver/percpu.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/percpu.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/percpu.h b/include/linux/vserver/percpu.h +new file mode 100644 +index 0000000..647d22c +--- /dev/null ++++ b/include/linux/vserver/percpu.h @@ -0,0 +1,14 @@ +#ifndef _VX_PERCPU_H +#define _VX_PERCPU_H @@ -13292,9 +13600,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/percpu.h linux-3.4.48-v +#define PERCPU_PERCTX (sizeof(struct _vx_percpu)) + +#endif /* _VX_PERCPU_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/pid.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/pid.h ---- linux-3.4.48/include/linux/vserver/pid.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/pid.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/pid.h b/include/linux/vserver/pid.h +new file mode 100644 +index 0000000..34b8f44 +--- /dev/null ++++ b/include/linux/vserver/pid.h @@ -0,0 +1,51 @@ +#ifndef _VSERVER_PID_H +#define _VSERVER_PID_H @@ -13347,9 +13657,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/pid.h linux-3.4.48-vs2. +} + +#endif -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched.h ---- linux-3.4.48/include/linux/vserver/sched.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/sched.h b/include/linux/vserver/sched.h +new file mode 100644 +index 0000000..296c63f +--- /dev/null ++++ b/include/linux/vserver/sched.h @@ -0,0 +1,23 @@ +#ifndef _VX_SCHED_H +#define _VX_SCHED_H @@ -13374,9 +13686,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched.h linux-3.4.48-vs +#else /* _VX_SCHED_H */ +#warning duplicate inclusion +#endif /* _VX_SCHED_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched_cmd.h ---- linux-3.4.48/include/linux/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/sched_cmd.h b/include/linux/vserver/sched_cmd.h +new file mode 100644 +index 0000000..9accd68 +--- /dev/null ++++ b/include/linux/vserver/sched_cmd.h @@ -0,0 +1,21 @@ +#ifndef _VX_SCHED_CMD_H +#define _VX_SCHED_CMD_H @@ -13399,9 +13713,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_SCHED_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched_def.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched_def.h ---- linux-3.4.48/include/linux/vserver/sched_def.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/sched_def.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/sched_def.h b/include/linux/vserver/sched_def.h +new file mode 100644 +index 0000000..99f5728 +--- /dev/null ++++ b/include/linux/vserver/sched_def.h @@ -0,0 +1,38 @@ +#ifndef _VX_SCHED_DEF_H +#define _VX_SCHED_DEF_H @@ -13441,9 +13757,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/sched_def.h linux-3.4.4 +#endif + +#endif /* _VX_SCHED_DEF_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/signal.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/signal.h ---- linux-3.4.48/include/linux/vserver/signal.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/signal.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/signal.h b/include/linux/vserver/signal.h +new file mode 100644 +index 0000000..690168e +--- /dev/null ++++ b/include/linux/vserver/signal.h @@ -0,0 +1,14 @@ +#ifndef _VX_SIGNAL_H +#define _VX_SIGNAL_H @@ -13459,9 +13777,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/signal.h linux-3.4.48-v +#else /* _VX_SIGNAL_H */ +#warning duplicate inclusion +#endif /* _VX_SIGNAL_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/signal_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/signal_cmd.h ---- linux-3.4.48/include/linux/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/signal_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/signal_cmd.h b/include/linux/vserver/signal_cmd.h +new file mode 100644 +index 0000000..ed1ac7b +--- /dev/null ++++ b/include/linux/vserver/signal_cmd.h @@ -0,0 +1,43 @@ +#ifndef _VX_SIGNAL_CMD_H +#define _VX_SIGNAL_CMD_H @@ -13506,9 +13826,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/signal_cmd.h linux-3.4. + +#endif /* __KERNEL__ */ +#endif /* _VX_SIGNAL_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/space.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/space.h ---- linux-3.4.48/include/linux/vserver/space.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/space.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/space.h b/include/linux/vserver/space.h +new file mode 100644 +index 0000000..65e8021 +--- /dev/null ++++ b/include/linux/vserver/space.h @@ -0,0 +1,12 @@ +#ifndef _VX_SPACE_H +#define _VX_SPACE_H @@ -13522,9 +13844,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/space.h linux-3.4.48-vs +#else /* _VX_SPACE_H */ +#warning duplicate inclusion +#endif /* _VX_SPACE_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/space_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/space_cmd.h ---- linux-3.4.48/include/linux/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/space_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/space_cmd.h b/include/linux/vserver/space_cmd.h +new file mode 100644 +index 0000000..2ef8117 +--- /dev/null ++++ b/include/linux/vserver/space_cmd.h @@ -0,0 +1,38 @@ +#ifndef _VX_SPACE_CMD_H +#define _VX_SPACE_CMD_H @@ -13564,9 +13888,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/space_cmd.h linux-3.4.4 + +#endif /* __KERNEL__ */ +#endif /* _VX_SPACE_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/switch.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/switch.h ---- linux-3.4.48/include/linux/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/switch.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/switch.h b/include/linux/vserver/switch.h +new file mode 100644 +index 0000000..f9afa8a +--- /dev/null ++++ b/include/linux/vserver/switch.h @@ -0,0 +1,98 @@ +#ifndef _VX_SWITCH_H +#define _VX_SWITCH_H @@ -13666,9 +13992,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/switch.h linux-3.4.48-v + +#endif /* _VX_SWITCH_H */ + -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/tag.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/tag.h ---- linux-3.4.48/include/linux/vserver/tag.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/tag.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/tag.h b/include/linux/vserver/tag.h +new file mode 100644 +index 0000000..f4afd42 +--- /dev/null ++++ b/include/linux/vserver/tag.h @@ -0,0 +1,143 @@ +#ifndef _DX_TAG_H +#define _DX_TAG_H @@ -13813,9 +14141,11 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/tag.h linux-3.4.48-vs2. +#endif + +#endif /* _DX_TAG_H */ -diff -NurpP --minimal linux-3.4.48/include/linux/vserver/tag_cmd.h linux-3.4.48-vs2.3.3.9/include/linux/vserver/tag_cmd.h ---- linux-3.4.48/include/linux/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/linux/vserver/tag_cmd.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/linux/vserver/tag_cmd.h b/include/linux/vserver/tag_cmd.h +new file mode 100644 +index 0000000..7f3f393 +--- /dev/null ++++ b/include/linux/vserver/tag_cmd.h @@ -0,0 +1,22 @@ +#ifndef _VX_TAG_CMD_H +#define _VX_TAG_CMD_H @@ -13839,22 +14169,24 @@ diff -NurpP --minimal linux-3.4.48/include/linux/vserver/tag_cmd.h linux-3.4.48- + +#endif /* __KERNEL__ */ +#endif /* _VX_TAG_CMD_H */ -diff -NurpP --minimal linux-3.4.48/include/net/addrconf.h linux-3.4.48-vs2.3.3.9/include/net/addrconf.h ---- linux-3.4.48/include/net/addrconf.h 2012-05-21 16:07:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/addrconf.h 2012-05-21 16:15:05.000000000 +0000 -@@ -80,7 +80,8 @@ extern int ipv6_dev_get_saddr(struct n +diff --git a/include/net/addrconf.h b/include/net/addrconf.h +index 1a77dbb..369e8f8 100644 +--- a/include/net/addrconf.h ++++ b/include/net/addrconf.h +@@ -80,7 +80,8 @@ extern int ipv6_dev_get_saddr(struct net *net, struct net_device *dev, const struct in6_addr *daddr, unsigned int srcprefs, - struct in6_addr *saddr); + struct in6_addr *saddr, + struct nx_info *nxi); - extern int ipv6_get_lladdr(struct net_device *dev, - struct in6_addr *addr, - unsigned char banned_flags); -diff -NurpP --minimal linux-3.4.48/include/net/af_unix.h linux-3.4.48-vs2.3.3.9/include/net/af_unix.h ---- linux-3.4.48/include/net/af_unix.h 2012-05-21 16:07:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/af_unix.h 2012-05-21 16:15:05.000000000 +0000 + extern int __ipv6_get_lladdr(struct inet6_dev *idev, + struct in6_addr *addr, + unsigned char banned_flags); +diff --git a/include/net/af_unix.h b/include/net/af_unix.h +index ca68e2c..820e190 100644 +--- a/include/net/af_unix.h ++++ b/include/net/af_unix.h @@ -4,6 +4,7 @@ #include <linux/socket.h> #include <linux/un.h> @@ -13863,9 +14195,10 @@ diff -NurpP --minimal linux-3.4.48/include/net/af_unix.h linux-3.4.48-vs2.3.3.9/ #include <net/sock.h> extern void unix_inflight(struct file *fp); -diff -NurpP --minimal linux-3.4.48/include/net/inet_timewait_sock.h linux-3.4.48-vs2.3.3.9/include/net/inet_timewait_sock.h ---- linux-3.4.48/include/net/inet_timewait_sock.h 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/inet_timewait_sock.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h +index ba52c83..d3f921f 100644 +--- a/include/net/inet_timewait_sock.h ++++ b/include/net/inet_timewait_sock.h @@ -112,6 +112,10 @@ struct inet_timewait_sock { #define tw_net __tw_common.skc_net #define tw_daddr __tw_common.skc_daddr @@ -13877,10 +14210,11 @@ diff -NurpP --minimal linux-3.4.48/include/net/inet_timewait_sock.h linux-3.4.48 int tw_timeout; volatile unsigned char tw_substate; unsigned char tw_rcv_wscale; -diff -NurpP --minimal linux-3.4.48/include/net/ip6_route.h linux-3.4.48-vs2.3.3.9/include/net/ip6_route.h ---- linux-3.4.48/include/net/ip6_route.h 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/ip6_route.h 2012-05-21 16:15:05.000000000 +0000 -@@ -88,7 +88,8 @@ extern int ip6_route_get_saddr(struct +diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h +index 2ad92ca..fd3b66f 100644 +--- a/include/net/ip6_route.h ++++ b/include/net/ip6_route.h +@@ -88,7 +88,8 @@ extern int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, const struct in6_addr *daddr, unsigned int prefs, @@ -13890,10 +14224,11 @@ diff -NurpP --minimal linux-3.4.48/include/net/ip6_route.h linux-3.4.48-vs2.3.3. extern struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr, -diff -NurpP --minimal linux-3.4.48/include/net/route.h linux-3.4.48-vs2.3.3.9/include/net/route.h ---- linux-3.4.48/include/net/route.h 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/route.h 2012-05-21 16:15:05.000000000 +0000 -@@ -202,6 +202,9 @@ static inline void ip_rt_put(struct rtab +diff --git a/include/net/route.h b/include/net/route.h +index b1c0d5b..97cb84b 100644 +--- a/include/net/route.h ++++ b/include/net/route.h +@@ -202,6 +202,9 @@ static inline void ip_rt_put(struct rtable * rt) dst_release(&rt->dst); } @@ -13903,7 +14238,7 @@ diff -NurpP --minimal linux-3.4.48/include/net/route.h linux-3.4.48-vs2.3.3.9/in #define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3) extern const __u8 ip_tos2prio[16]; -@@ -253,6 +256,9 @@ static inline void ip_route_connect_init +@@ -253,6 +256,9 @@ static inline void ip_route_connect_init(struct flowi4 *fl4, __be32 dst, __be32 protocol, flow_flags, dst, src, dport, sport); } @@ -13913,7 +14248,7 @@ diff -NurpP --minimal linux-3.4.48/include/net/route.h linux-3.4.48-vs2.3.3.9/in static inline struct rtable *ip_route_connect(struct flowi4 *fl4, __be32 dst, __be32 src, u32 tos, int oif, u8 protocol, -@@ -261,11 +267,25 @@ static inline struct rtable *ip_route_co +@@ -261,11 +267,25 @@ static inline struct rtable *ip_route_connect(struct flowi4 *fl4, { struct net *net = sock_net(sk); struct rtable *rt; @@ -13940,9 +14275,10 @@ diff -NurpP --minimal linux-3.4.48/include/net/route.h linux-3.4.48-vs2.3.3.9/in rt = __ip_route_output_key(net, fl4); if (IS_ERR(rt)) return rt; -diff -NurpP --minimal linux-3.4.48/include/net/sock.h linux-3.4.48-vs2.3.3.9/include/net/sock.h ---- linux-3.4.48/include/net/sock.h 2013-06-13 08:59:36.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/include/net/sock.h 2013-03-02 15:26:44.000000000 +0000 +diff --git a/include/net/sock.h b/include/net/sock.h +index f673ba5..88fe8a5 100644 +--- a/include/net/sock.h ++++ b/include/net/sock.h @@ -170,6 +170,10 @@ struct sock_common { #ifdef CONFIG_NET_NS struct net *skc_net; @@ -13965,9 +14301,10 @@ diff -NurpP --minimal linux-3.4.48/include/net/sock.h linux-3.4.48-vs2.3.3.9/inc socket_lock_t sk_lock; struct sk_buff_head sk_receive_queue; /* -diff -NurpP --minimal linux-3.4.48/init/Kconfig linux-3.4.48-vs2.3.3.9/init/Kconfig ---- linux-3.4.48/init/Kconfig 2012-05-21 16:07:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/init/Kconfig 2012-05-21 16:15:05.000000000 +0000 +diff --git a/init/Kconfig b/init/Kconfig +index 6cfd71d..0e1c0f5 100644 +--- a/init/Kconfig ++++ b/init/Kconfig @@ -579,6 +579,7 @@ config HAVE_UNSTABLE_SCHED_CLOCK menuconfig CGROUPS boolean "Control Group support" @@ -13984,9 +14321,10 @@ diff -NurpP --minimal linux-3.4.48/init/Kconfig linux-3.4.48-vs2.3.3.9/init/Kcon default y help This allows containers, i.e. vservers, to use user namespaces -diff -NurpP --minimal linux-3.4.48/init/main.c linux-3.4.48-vs2.3.3.9/init/main.c ---- linux-3.4.48/init/main.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/init/main.c 2013-02-19 14:42:56.000000000 +0000 +diff --git a/init/main.c b/init/main.c +index 02c1384..98a0bd8 100644 +--- a/init/main.c ++++ b/init/main.c @@ -68,6 +68,7 @@ #include <linux/shmem_fs.h> #include <linux/slab.h> @@ -13995,9 +14333,10 @@ diff -NurpP --minimal linux-3.4.48/init/main.c linux-3.4.48-vs2.3.3.9/init/main. #include <asm/io.h> #include <asm/bugs.h> -diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueue.c ---- linux-3.4.48/ipc/mqueue.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/ipc/mqueue.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/ipc/mqueue.c b/ipc/mqueue.c +index 28bd64d..fb05d4e 100644 +--- a/ipc/mqueue.c ++++ b/ipc/mqueue.c @@ -34,6 +34,8 @@ #include <linux/ipc_namespace.h> #include <linux/user_namespace.h> @@ -14015,7 +14354,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu struct sock *notify_sock; struct sk_buff *notify_cookie; -@@ -129,6 +132,7 @@ static struct inode *mqueue_get_inode(st +@@ -129,6 +132,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb, if (S_ISREG(mode)) { struct mqueue_inode_info *info; unsigned long mq_bytes, mq_msg_tblsz; @@ -14023,7 +14362,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu inode->i_fop = &mqueue_file_operations; inode->i_size = FILENT_SIZE; -@@ -141,6 +145,7 @@ static struct inode *mqueue_get_inode(st +@@ -141,6 +145,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb, info->notify_owner = NULL; info->qsize = 0; info->user = NULL; /* set when all is ok */ @@ -14031,7 +14370,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu memset(&info->attr, 0, sizeof(info->attr)); info->attr.mq_maxmsg = ipc_ns->mq_msg_max; info->attr.mq_msgsize = ipc_ns->mq_msgsize_max; -@@ -158,17 +163,20 @@ static struct inode *mqueue_get_inode(st +@@ -158,17 +163,20 @@ static struct inode *mqueue_get_inode(struct super_block *sb, spin_lock(&mq_lock); if (u->mq_bytes + mq_bytes < u->mq_bytes || @@ -14053,7 +14392,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu } else if (S_ISDIR(mode)) { inc_nlink(inode); /* Some things misbehave if size == 0 on a directory */ -@@ -267,8 +275,11 @@ static void mqueue_evict_inode(struct in +@@ -267,8 +275,11 @@ static void mqueue_evict_inode(struct inode *inode) + info->attr.mq_msgsize); user = info->user; if (user) { @@ -14065,7 +14404,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu /* * get_ns_from_inode() ensures that the * (ipc_ns = sb->s_fs_info) is either a valid ipc_ns -@@ -278,6 +289,7 @@ static void mqueue_evict_inode(struct in +@@ -278,6 +289,7 @@ static void mqueue_evict_inode(struct inode *inode) if (ipc_ns) ipc_ns->mq_queues_count--; spin_unlock(&mq_lock); @@ -14073,9 +14412,10 @@ diff -NurpP --minimal linux-3.4.48/ipc/mqueue.c linux-3.4.48-vs2.3.3.9/ipc/mqueu free_uid(user); } if (ipc_ns) -diff -NurpP --minimal linux-3.4.48/ipc/msg.c linux-3.4.48-vs2.3.3.9/ipc/msg.c ---- linux-3.4.48/ipc/msg.c 2011-05-22 14:17:59.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/ipc/msg.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/ipc/msg.c b/ipc/msg.c +index 7385de2..bce069a 100644 +--- a/ipc/msg.c ++++ b/ipc/msg.c @@ -37,6 +37,7 @@ #include <linux/rwsem.h> #include <linux/nsproxy.h> @@ -14084,7 +14424,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/msg.c linux-3.4.48-vs2.3.3.9/ipc/msg.c #include <asm/current.h> #include <asm/uaccess.h> -@@ -190,6 +191,7 @@ static int newque(struct ipc_namespace * +@@ -190,6 +191,7 @@ static int newque(struct ipc_namespace *ns, struct ipc_params *params) msq->q_perm.mode = msgflg & S_IRWXUGO; msq->q_perm.key = key; @@ -14092,9 +14432,10 @@ diff -NurpP --minimal linux-3.4.48/ipc/msg.c linux-3.4.48-vs2.3.3.9/ipc/msg.c msq->q_perm.security = NULL; retval = security_msg_queue_alloc(msq); -diff -NurpP --minimal linux-3.4.48/ipc/namespace.c linux-3.4.48-vs2.3.3.9/ipc/namespace.c ---- linux-3.4.48/ipc/namespace.c 2011-07-22 09:18:12.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/ipc/namespace.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/ipc/namespace.c b/ipc/namespace.c +index ce0a647..2999f1a 100644 +--- a/ipc/namespace.c ++++ b/ipc/namespace.c @@ -13,11 +13,12 @@ #include <linux/mount.h> #include <linux/user_namespace.h> @@ -14110,7 +14451,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/namespace.c linux-3.4.48-vs2.3.3.9/ipc/na { struct ipc_namespace *ns; int err; -@@ -46,19 +47,18 @@ static struct ipc_namespace *create_ipc_ +@@ -46,19 +47,18 @@ static struct ipc_namespace *create_ipc_ns(struct task_struct *tsk, ipcns_notify(IPCNS_CREATED); register_ipcns_notifier(ns); @@ -14135,9 +14476,10 @@ diff -NurpP --minimal linux-3.4.48/ipc/namespace.c linux-3.4.48-vs2.3.3.9/ipc/na } /* -diff -NurpP --minimal linux-3.4.48/ipc/sem.c linux-3.4.48-vs2.3.3.9/ipc/sem.c ---- linux-3.4.48/ipc/sem.c 2012-01-09 15:14:59.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/ipc/sem.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/ipc/sem.c b/ipc/sem.c +index 5215a81..c66a364 100644 +--- a/ipc/sem.c ++++ b/ipc/sem.c @@ -86,6 +86,8 @@ #include <linux/rwsem.h> #include <linux/nsproxy.h> @@ -14147,7 +14489,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/sem.c linux-3.4.48-vs2.3.3.9/ipc/sem.c #include <asm/uaccess.h> #include "util.h" -@@ -306,6 +308,7 @@ static int newary(struct ipc_namespace * +@@ -306,6 +308,7 @@ static int newary(struct ipc_namespace *ns, struct ipc_params *params) sma->sem_perm.mode = (semflg & S_IRWXUGO); sma->sem_perm.key = key; @@ -14155,7 +14497,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/sem.c linux-3.4.48-vs2.3.3.9/ipc/sem.c sma->sem_perm.security = NULL; retval = security_sem_alloc(sma); -@@ -321,6 +324,9 @@ static int newary(struct ipc_namespace * +@@ -321,6 +324,9 @@ static int newary(struct ipc_namespace *ns, struct ipc_params *params) return id; } ns->used_sems += nsems; @@ -14165,7 +14507,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/sem.c linux-3.4.48-vs2.3.3.9/ipc/sem.c sma->sem_base = (struct sem *) &sma[1]; -@@ -770,6 +776,9 @@ static void freeary(struct ipc_namespace +@@ -770,6 +776,9 @@ static void freeary(struct ipc_namespace *ns, struct kern_ipc_perm *ipcp) wake_up_sem_queue_do(&tasks); ns->used_sems -= sma->sem_nsems; @@ -14175,9 +14517,10 @@ diff -NurpP --minimal linux-3.4.48/ipc/sem.c linux-3.4.48-vs2.3.3.9/ipc/sem.c security_sem_free(sma); ipc_rcu_putref(sma); } -diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c ---- linux-3.4.48/ipc/shm.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/ipc/shm.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/ipc/shm.c b/ipc/shm.c +index a02ef57..18dc4bc 100644 +--- a/ipc/shm.c ++++ b/ipc/shm.c @@ -39,6 +39,8 @@ #include <linux/nsproxy.h> #include <linux/mount.h> @@ -14187,7 +14530,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c #include <asm/uaccess.h> -@@ -187,7 +189,12 @@ static void shm_open(struct vm_area_stru +@@ -187,7 +189,12 @@ static void shm_open(struct vm_area_struct *vma) */ static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp) { @@ -14201,7 +14544,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c shm_rmid(ns, shp); shm_unlock(shp); if (!is_file_hugepages(shp->shm_file)) -@@ -197,6 +204,7 @@ static void shm_destroy(struct ipc_names +@@ -197,6 +204,7 @@ static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp) shp->mlock_user); fput (shp->shm_file); security_shm_free(shp); @@ -14209,7 +14552,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c ipc_rcu_putref(shp); } -@@ -462,11 +470,15 @@ static int newseg(struct ipc_namespace * +@@ -462,11 +470,15 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) if (ns->shm_tot + numpages > ns->shm_ctlall) return -ENOSPC; @@ -14225,7 +14568,7 @@ diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c shp->shm_perm.mode = (shmflg & S_IRWXUGO); shp->mlock_user = NULL; -@@ -521,6 +533,7 @@ static int newseg(struct ipc_namespace * +@@ -523,6 +535,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) ns->shm_tot += numpages; error = shp->shm_perm.id; shm_unlock(shp); @@ -14233,9 +14576,10 @@ diff -NurpP --minimal linux-3.4.48/ipc/shm.c linux-3.4.48-vs2.3.3.9/ipc/shm.c return error; no_id: -diff -NurpP --minimal linux-3.4.48/kernel/Makefile linux-3.4.48-vs2.3.3.9/kernel/Makefile ---- linux-3.4.48/kernel/Makefile 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/Makefile 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/Makefile b/kernel/Makefile +index cb41b95..da2903a 100644 +--- a/kernel/Makefile ++++ b/kernel/Makefile @@ -25,6 +25,7 @@ endif obj-y += sched/ obj-y += power/ @@ -14244,9 +14588,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/Makefile linux-3.4.48-vs2.3.3.9/kernel obj-$(CONFIG_FREEZER) += freezer.o obj-$(CONFIG_PROFILING) += profile.o obj-$(CONFIG_STACKTRACE) += stacktrace.o -diff -NurpP --minimal linux-3.4.48/kernel/auditsc.c linux-3.4.48-vs2.3.3.9/kernel/auditsc.c ---- linux-3.4.48/kernel/auditsc.c 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/auditsc.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/auditsc.c b/kernel/auditsc.c +index af1de0f..467e922 100644 +--- a/kernel/auditsc.c ++++ b/kernel/auditsc.c @@ -2308,7 +2308,7 @@ int audit_set_loginuid(uid_t loginuid) if (task->loginuid != -1) return -EPERM; @@ -14256,9 +14601,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/auditsc.c linux-3.4.48-vs2.3.3.9/kerne return -EPERM; #endif /* CONFIG_AUDIT_LOGINUID_IMMUTABLE */ -diff -NurpP --minimal linux-3.4.48/kernel/capability.c linux-3.4.48-vs2.3.3.9/kernel/capability.c ---- linux-3.4.48/kernel/capability.c 2012-03-19 18:47:29.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/capability.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/capability.c b/kernel/capability.c +index 3f1adb6..3b88352 100644 +--- a/kernel/capability.c ++++ b/kernel/capability.c @@ -15,6 +15,7 @@ #include <linux/syscalls.h> #include <linux/pid_namespace.h> @@ -14267,7 +14613,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/capability.c linux-3.4.48-vs2.3.3.9/ke #include <asm/uaccess.h> /* -@@ -116,6 +117,7 @@ static int cap_validate_magic(cap_user_h +@@ -116,6 +117,7 @@ static int cap_validate_magic(cap_user_header_t header, unsigned *tocopy) return 0; } @@ -14275,7 +14621,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/capability.c linux-3.4.48-vs2.3.3.9/ke /* * The only thing that can change the capabilities of the current * process is the current process. As such, we can't be in this code -@@ -349,6 +351,8 @@ bool has_ns_capability_noaudit(struct ta +@@ -349,6 +351,8 @@ bool has_ns_capability_noaudit(struct task_struct *t, return (ret == 0); } @@ -14284,10 +14630,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/capability.c linux-3.4.48-vs2.3.3.9/ke /** * has_capability_noaudit - Does a task have a capability (unaudited) in the * initial user ns -diff -NurpP --minimal linux-3.4.48/kernel/compat.c linux-3.4.48-vs2.3.3.9/kernel/compat.c ---- linux-3.4.48/kernel/compat.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/compat.c 2012-05-21 16:15:05.000000000 +0000 -@@ -1054,7 +1054,7 @@ asmlinkage long compat_sys_stime(compat_ +diff --git a/kernel/compat.c b/kernel/compat.c +index d2c67aa..3e61099 100644 +--- a/kernel/compat.c ++++ b/kernel/compat.c +@@ -1054,7 +1054,7 @@ asmlinkage long compat_sys_stime(compat_time_t __user *tptr) if (err) return err; @@ -14296,9 +14643,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/compat.c linux-3.4.48-vs2.3.3.9/kernel return 0; } -diff -NurpP --minimal linux-3.4.48/kernel/cred.c linux-3.4.48-vs2.3.3.9/kernel/cred.c ---- linux-3.4.48/kernel/cred.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/cred.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/cred.c b/kernel/cred.c +index e70683d..ed884ddf 100644 +--- a/kernel/cred.c ++++ b/kernel/cred.c @@ -62,31 +62,6 @@ struct cred init_cred = { #endif }; @@ -14368,9 +14716,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/cred.c linux-3.4.48-vs2.3.3.9/kernel/c EXPORT_SYMBOL(prepare_creds); /* -diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/exit.c ---- linux-3.4.48/kernel/exit.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/exit.c 2012-12-08 00:54:06.000000000 +0000 +diff --git a/kernel/exit.c b/kernel/exit.c +index bfbd856..f8cc8f7 100644 +--- a/kernel/exit.c ++++ b/kernel/exit.c @@ -48,6 +48,10 @@ #include <linux/fs_struct.h> #include <linux/init_task.h> @@ -14382,7 +14731,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/e #include <trace/events/sched.h> #include <linux/hw_breakpoint.h> #include <linux/oom.h> -@@ -482,9 +486,11 @@ static void close_files(struct files_str +@@ -482,9 +486,11 @@ static void close_files(struct files_struct * files) filp_close(file, files); cond_resched(); } @@ -14394,7 +14743,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/e } } } -@@ -699,15 +705,25 @@ static struct task_struct *find_new_reap +@@ -699,15 +705,25 @@ static struct task_struct *find_new_reaper(struct task_struct *father) __acquires(&tasklist_lock) { struct pid_namespace *pid_ns = task_active_pid_ns(father); @@ -14423,7 +14772,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/e } if (unlikely(pid_ns->child_reaper == father)) { -@@ -751,7 +767,9 @@ static struct task_struct *find_new_reap +@@ -751,7 +767,9 @@ static struct task_struct *find_new_reaper(struct task_struct *father) } } @@ -14434,7 +14783,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/e } /* -@@ -802,10 +820,15 @@ static void forget_original_parent(struc +@@ -802,10 +820,15 @@ static void forget_original_parent(struct task_struct *father) list_for_each_entry_safe(p, n, &father->children, sibling) { struct task_struct *t = p; do { @@ -14478,9 +14827,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/exit.c linux-3.4.48-vs2.3.3.9/kernel/e BUG(); /* Avoid "noreturn function does return". */ for (;;) -diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/fork.c ---- linux-3.4.48/kernel/fork.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/fork.c 2012-06-28 14:45:07.000000000 +0000 +diff --git a/kernel/fork.c b/kernel/fork.c +index 8163333..33a7b9c 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c @@ -68,6 +68,9 @@ #include <linux/oom.h> #include <linux/khugepaged.h> @@ -14500,7 +14850,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f ftrace_graph_exit_task(tsk); free_task_struct(tsk); } -@@ -507,6 +512,7 @@ static struct mm_struct *mm_init(struct +@@ -507,6 +512,7 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p) if (likely(!mm_alloc_pgd(mm))) { mm->def_flags = 0; mmu_notifier_mm_init(mm); @@ -14516,7 +14866,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f free_mm(mm); } EXPORT_SYMBOL_GPL(__mmdrop); -@@ -794,6 +801,7 @@ struct mm_struct *dup_mm(struct task_str +@@ -794,6 +801,7 @@ struct mm_struct *dup_mm(struct task_struct *tsk) goto fail_nomem; memcpy(mm, oldmm, sizeof(*mm)); @@ -14532,7 +14882,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f mm_free_pgd(mm); free_mm(mm); return NULL; -@@ -1125,6 +1134,8 @@ static struct task_struct *copy_process( +@@ -1125,6 +1134,8 @@ static struct task_struct *copy_process(unsigned long clone_flags, int retval; struct task_struct *p; int cgroup_callbacks_done = 0; @@ -14541,7 +14891,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS)) return ERR_PTR(-EINVAL); -@@ -1171,7 +1182,12 @@ static struct task_struct *copy_process( +@@ -1171,7 +1182,12 @@ static struct task_struct *copy_process(unsigned long clone_flags, DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); #endif @@ -14554,7 +14904,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f if (atomic_read(&p->real_cred->user->processes) >= task_rlimit(p, RLIMIT_NPROC)) { if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && -@@ -1448,6 +1464,18 @@ static struct task_struct *copy_process( +@@ -1448,6 +1464,18 @@ static struct task_struct *copy_process(unsigned long clone_flags, total_forks++; spin_unlock(¤t->sighand->siglock); @@ -14573,9 +14923,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/fork.c linux-3.4.48-vs2.3.3.9/kernel/f write_unlock_irq(&tasklist_lock); proc_fork_connector(p); cgroup_post_fork(p); -diff -NurpP --minimal linux-3.4.48/kernel/kthread.c linux-3.4.48-vs2.3.3.9/kernel/kthread.c ---- linux-3.4.48/kernel/kthread.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/kthread.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/kernel/kthread.c b/kernel/kthread.c +index b579af5..faa5fc9 100644 +--- a/kernel/kthread.c ++++ b/kernel/kthread.c @@ -16,6 +16,7 @@ #include <linux/mutex.h> #include <linux/slab.h> @@ -14584,9 +14935,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/kthread.c linux-3.4.48-vs2.3.3.9/kerne #include <trace/events/sched.h> static DEFINE_SPINLOCK(kthread_create_lock); -diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kernel/nsproxy.c ---- linux-3.4.48/kernel/nsproxy.c 2012-01-09 15:15:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/nsproxy.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c +index b576f7f..a358f98 100644 +--- a/kernel/nsproxy.c ++++ b/kernel/nsproxy.c @@ -20,11 +20,14 @@ #include <linux/mnt_namespace.h> #include <linux/utsname.h> @@ -14602,7 +14954,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne static struct kmem_cache *nsproxy_cachep; -@@ -46,8 +49,11 @@ static inline struct nsproxy *create_nsp +@@ -46,8 +49,11 @@ static inline struct nsproxy *create_nsproxy(void) struct nsproxy *nsproxy; nsproxy = kmem_cache_alloc(nsproxy_cachep, GFP_KERNEL); @@ -14615,7 +14967,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne return nsproxy; } -@@ -56,8 +62,11 @@ static inline struct nsproxy *create_nsp +@@ -56,8 +62,11 @@ static inline struct nsproxy *create_nsproxy(void) * Return the newly created nsproxy. Do not attach this to the task, * leave it to the caller to do proper locking and attach it to task. */ @@ -14629,7 +14981,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne { struct nsproxy *new_nsp; int err; -@@ -66,31 +75,31 @@ static struct nsproxy *create_new_namesp +@@ -66,31 +75,31 @@ static struct nsproxy *create_new_namespaces(unsigned long flags, if (!new_nsp) return ERR_PTR(-ENOMEM); @@ -14721,7 +15073,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne if (!old_ns) return 0; -@@ -134,7 +180,7 @@ int copy_namespaces(unsigned long flags, +@@ -134,7 +180,7 @@ int copy_namespaces(unsigned long flags, struct task_struct *tsk) CLONE_NEWPID | CLONE_NEWNET))) return 0; @@ -14730,7 +15082,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne err = -EPERM; goto out; } -@@ -161,6 +207,9 @@ int copy_namespaces(unsigned long flags, +@@ -161,6 +207,9 @@ int copy_namespaces(unsigned long flags, struct task_struct *tsk) out: put_nsproxy(old_ns); @@ -14751,7 +15103,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne kmem_cache_free(nsproxy_cachep, ns); } -@@ -187,11 +238,15 @@ int unshare_nsproxy_namespaces(unsigned +@@ -187,11 +238,15 @@ int unshare_nsproxy_namespaces(unsigned long unshare_flags, { int err = 0; @@ -14768,9 +15120,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/nsproxy.c linux-3.4.48-vs2.3.3.9/kerne return -EPERM; *new_nsp = create_new_namespaces(unshare_flags, current, -diff -NurpP --minimal linux-3.4.48/kernel/pid.c linux-3.4.48-vs2.3.3.9/kernel/pid.c ---- linux-3.4.48/kernel/pid.c 2012-03-19 18:47:30.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/pid.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/pid.c b/kernel/pid.c +index 9f08dfa..46c1be0 100644 +--- a/kernel/pid.c ++++ b/kernel/pid.c @@ -36,6 +36,7 @@ #include <linux/pid_namespace.h> #include <linux/init_task.h> @@ -14788,7 +15141,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid.c linux-3.4.48-vs2.3.3.9/kernel/pi } EXPORT_SYMBOL_GPL(find_vpid); -@@ -404,6 +405,9 @@ void transfer_pid(struct task_struct *ol +@@ -404,6 +405,9 @@ void transfer_pid(struct task_struct *old, struct task_struct *new, struct task_struct *pid_task(struct pid *pid, enum pid_type type) { struct task_struct *result = NULL; @@ -14798,7 +15151,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid.c linux-3.4.48-vs2.3.3.9/kernel/pi if (pid) { struct hlist_node *first; first = rcu_dereference_check(hlist_first_rcu(&pid->tasks[type]), -@@ -423,7 +427,7 @@ struct task_struct *find_task_by_pid_ns( +@@ -423,7 +427,7 @@ struct task_struct *find_task_by_pid_ns(pid_t nr, struct pid_namespace *ns) rcu_lockdep_assert(rcu_read_lock_held(), "find_task_by_pid_ns() needs rcu_read_lock()" " protection"); @@ -14816,7 +15169,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid.c linux-3.4.48-vs2.3.3.9/kernel/pi { struct upid *upid; pid_t nr = 0; -@@ -480,6 +484,11 @@ pid_t pid_nr_ns(struct pid *pid, struct +@@ -480,6 +484,11 @@ pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns) return nr; } @@ -14828,9 +15181,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid.c linux-3.4.48-vs2.3.3.9/kernel/pi pid_t pid_vnr(struct pid *pid) { return pid_nr_ns(pid, current->nsproxy->pid_ns); -diff -NurpP --minimal linux-3.4.48/kernel/pid_namespace.c linux-3.4.48-vs2.3.3.9/kernel/pid_namespace.c ---- linux-3.4.48/kernel/pid_namespace.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/pid_namespace.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c +index 57bc1fd..f7ce229 100644 +--- a/kernel/pid_namespace.c ++++ b/kernel/pid_namespace.c @@ -16,6 +16,7 @@ #include <linux/slab.h> #include <linux/proc_fs.h> @@ -14839,7 +15193,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid_namespace.c linux-3.4.48-vs2.3.3.9 #define BITS_PER_PAGE (PAGE_SIZE*8) -@@ -89,6 +90,7 @@ static struct pid_namespace *create_pid_ +@@ -89,6 +90,7 @@ static struct pid_namespace *create_pid_namespace(struct pid_namespace *parent_p goto out_free_map; kref_init(&ns->kref); @@ -14847,7 +15201,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid_namespace.c linux-3.4.48-vs2.3.3.9 ns->level = level; ns->parent = get_pid_ns(parent_pid_ns); -@@ -120,6 +122,7 @@ static void destroy_pid_namespace(struct +@@ -120,6 +122,7 @@ static void destroy_pid_namespace(struct pid_namespace *ns) for (i = 0; i < PIDMAP_ENTRIES; i++) kfree(ns->pidmap[i].page); @@ -14855,9 +15209,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/pid_namespace.c linux-3.4.48-vs2.3.3.9 kmem_cache_free(pid_ns_cachep, ns); } -diff -NurpP --minimal linux-3.4.48/kernel/posix-timers.c linux-3.4.48-vs2.3.3.9/kernel/posix-timers.c ---- linux-3.4.48/kernel/posix-timers.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/posix-timers.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c +index e885be1..1be116d 100644 +--- a/kernel/posix-timers.c ++++ b/kernel/posix-timers.c @@ -47,6 +47,7 @@ #include <linux/wait.h> #include <linux/workqueue.h> @@ -14866,7 +15221,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/posix-timers.c linux-3.4.48-vs2.3.3.9/ /* * Management arrays for POSIX timers. Timers are kept in slab memory -@@ -340,6 +341,7 @@ int posix_timer_event(struct k_itimer *t +@@ -340,6 +341,7 @@ int posix_timer_event(struct k_itimer *timr, int si_private) { struct task_struct *task; int shared, ret = -1; @@ -14874,7 +15229,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/posix-timers.c linux-3.4.48-vs2.3.3.9/ /* * FIXME: if ->sigq is queued we can race with * dequeue_signal()->do_schedule_next_timer(). -@@ -356,10 +358,18 @@ int posix_timer_event(struct k_itimer *t +@@ -356,10 +358,18 @@ int posix_timer_event(struct k_itimer *timr, int si_private) rcu_read_lock(); task = pid_task(timr->it_pid, PIDTYPE_PID); if (task) { @@ -14893,9 +15248,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/posix-timers.c linux-3.4.48-vs2.3.3.9/ /* If we failed to send the signal the timer stops. */ return ret > 0; } -diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel/printk.c ---- linux-3.4.48/kernel/printk.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/printk.c 2013-03-02 15:26:44.000000000 +0000 +diff --git a/kernel/printk.c b/kernel/printk.c +index e95c662..53fb49c 100644 +--- a/kernel/printk.c ++++ b/kernel/printk.c @@ -41,6 +41,7 @@ #include <linux/cpu.h> #include <linux/notifier.h> @@ -14904,7 +15260,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel #include <asm/uaccess.h> -@@ -317,7 +318,7 @@ static int check_syslog_permissions(int +@@ -317,7 +318,7 @@ static int check_syslog_permissions(int type, bool from_file) return 0; if (syslog_action_restricted(type)) { @@ -14913,7 +15269,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel return 0; /* For historical reasons, accept CAP_SYS_ADMIN too, with a warning */ if (capable(CAP_SYS_ADMIN)) { -@@ -347,12 +348,9 @@ int do_syslog(int type, char __user *buf +@@ -347,12 +348,9 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) if (error) return error; @@ -14929,7 +15285,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel error = -EINVAL; if (!buf || len < 0) goto out; -@@ -363,6 +361,16 @@ int do_syslog(int type, char __user *buf +@@ -363,6 +361,16 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) error = -EFAULT; goto out; } @@ -14946,7 +15302,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel error = wait_event_interruptible(log_wait, (log_start - log_end)); if (error) -@@ -389,16 +397,6 @@ int do_syslog(int type, char __user *buf +@@ -389,16 +397,6 @@ int do_syslog(int type, char __user *buf, int len, bool from_file) /* FALL THRU */ /* Read last kernel messages */ case SYSLOG_ACTION_READ_ALL: @@ -14963,9 +15319,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/printk.c linux-3.4.48-vs2.3.3.9/kernel count = len; if (count > log_buf_len) count = log_buf_len; -diff -NurpP --minimal linux-3.4.48/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/kernel/ptrace.c ---- linux-3.4.48/kernel/ptrace.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/ptrace.c 2013-02-11 23:37:30.000000000 +0000 +diff --git a/kernel/ptrace.c b/kernel/ptrace.c +index daf4394..b57b360 100644 +--- a/kernel/ptrace.c ++++ b/kernel/ptrace.c @@ -22,6 +22,7 @@ #include <linux/syscalls.h> #include <linux/uaccess.h> @@ -14986,9 +15343,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/ptrace.c linux-3.4.48-vs2.3.3.9/kernel return security_ptrace_access_check(task, mode); } -diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/kernel/sched/core.c ---- linux-3.4.48/kernel/sched/core.c 2013-06-13 08:59:37.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/sched/core.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/kernel/sched/core.c b/kernel/sched/core.c +index 4b6c546..bb45655 100644 +--- a/kernel/sched/core.c ++++ b/kernel/sched/core.c @@ -72,6 +72,8 @@ #include <linux/slab.h> #include <linux/init_task.h> @@ -14998,7 +15356,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/ke #include <asm/switch_to.h> #include <asm/tlb.h> -@@ -2226,9 +2228,17 @@ EXPORT_SYMBOL(avenrun); /* should be rem +@@ -2228,9 +2230,17 @@ EXPORT_SYMBOL(avenrun); /* should be removed */ */ void get_avenrun(unsigned long *loads, unsigned long offset, int shift) { @@ -15019,7 +15377,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/ke } static long calc_load_fold_active(struct rq *this_rq) -@@ -2797,14 +2807,17 @@ static inline void task_group_account_fi +@@ -2799,14 +2809,17 @@ static inline void task_group_account_field(struct task_struct *p, int index, void account_user_time(struct task_struct *p, cputime_t cputime, cputime_t cputime_scaled) { @@ -15038,7 +15396,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/ke /* Add user time to cpustat. */ task_group_account_field(p, index, (__force u64) cputime); -@@ -2851,9 +2864,12 @@ static inline +@@ -2853,9 +2866,12 @@ static inline void __account_system_time(struct task_struct *p, cputime_t cputime, cputime_t cputime_scaled, int index) { @@ -15051,7 +15409,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/ke account_group_system_time(p, cputime); /* Add system time to cpustat. */ -@@ -4079,7 +4095,7 @@ SYSCALL_DEFINE1(nice, int, increment) +@@ -4081,7 +4097,7 @@ SYSCALL_DEFINE1(nice, int, increment) nice = 19; if (increment < 0 && !can_nice(current, nice)) @@ -15060,9 +15418,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/core.c linux-3.4.48-vs2.3.3.9/ke retval = security_task_setnice(current, nice); if (retval) -diff -NurpP --minimal linux-3.4.48/kernel/sched/fair.c linux-3.4.48-vs2.3.3.9/kernel/sched/fair.c ---- linux-3.4.48/kernel/sched/fair.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/sched/fair.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c +index e955364..1e5f507 100644 +--- a/kernel/sched/fair.c ++++ b/kernel/sched/fair.c @@ -26,6 +26,7 @@ #include <linux/slab.h> #include <linux/profile.h> @@ -15071,7 +15430,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/fair.c linux-3.4.48-vs2.3.3.9/ke #include <trace/events/sched.h> -@@ -1111,6 +1112,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st +@@ -1111,6 +1112,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) __enqueue_entity(cfs_rq, se); se->on_rq = 1; @@ -15080,7 +15439,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/fair.c linux-3.4.48-vs2.3.3.9/ke if (cfs_rq->nr_running == 1) { list_add_leaf_cfs_rq(cfs_rq); check_enqueue_throttle(cfs_rq); -@@ -1191,6 +1194,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st +@@ -1191,6 +1194,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) if (se != cfs_rq->curr) __dequeue_entity(cfs_rq, se); se->on_rq = 0; @@ -15089,9 +15448,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/sched/fair.c linux-3.4.48-vs2.3.3.9/ke update_cfs_load(cfs_rq, 0); account_entity_dequeue(cfs_rq, se); -diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel/signal.c ---- linux-3.4.48/kernel/signal.c 2013-06-13 08:59:38.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/signal.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/kernel/signal.c b/kernel/signal.c +index 959df4f..11a7c4d 100644 +--- a/kernel/signal.c ++++ b/kernel/signal.c @@ -29,6 +29,8 @@ #include <linux/pid_namespace.h> #include <linux/nsproxy.h> @@ -15101,7 +15461,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel #define CREATE_TRACE_POINTS #include <trace/events/signal.h> -@@ -787,9 +789,18 @@ static int check_kill_permission(int sig +@@ -787,9 +789,18 @@ static int check_kill_permission(int sig, struct siginfo *info, struct pid *sid; int error; @@ -15120,7 +15480,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel if (!si_fromuser(info)) return 0; -@@ -813,6 +824,20 @@ static int check_kill_permission(int sig +@@ -813,6 +824,20 @@ static int check_kill_permission(int sig, struct siginfo *info, } } @@ -15141,7 +15501,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel return security_task_kill(t, info, sig, 0); } -@@ -1355,7 +1380,7 @@ int kill_pid_info(int sig, struct siginf +@@ -1355,7 +1380,7 @@ int kill_pid_info(int sig, struct siginfo *info, struct pid *pid) rcu_read_lock(); retry: p = pid_task(pid, PIDTYPE_PID); @@ -15150,7 +15510,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel error = group_send_sig_info(sig, info, p); if (unlikely(error == -ESRCH)) /* -@@ -1405,7 +1430,7 @@ int kill_pid_info_as_cred(int sig, struc +@@ -1405,7 +1430,7 @@ int kill_pid_info_as_cred(int sig, struct siginfo *info, struct pid *pid, rcu_read_lock(); p = pid_task(pid, PIDTYPE_PID); @@ -15159,7 +15519,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel ret = -ESRCH; goto out_unlock; } -@@ -1457,8 +1482,10 @@ static int kill_something_info(int sig, +@@ -1457,8 +1482,10 @@ static int kill_something_info(int sig, struct siginfo *info, pid_t pid) struct task_struct * p; for_each_process(p) { @@ -15184,9 +15544,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/signal.c linux-3.4.48-vs2.3.3.9/kernel if (sig_kernel_stop(signr)) { /* * The default action is to stop all threads in -diff -NurpP --minimal linux-3.4.48/kernel/softirq.c linux-3.4.48-vs2.3.3.9/kernel/softirq.c ---- linux-3.4.48/kernel/softirq.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/softirq.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/softirq.c b/kernel/softirq.c +index 671f959..b985019 100644 +--- a/kernel/softirq.c ++++ b/kernel/softirq.c @@ -24,6 +24,7 @@ #include <linux/ftrace.h> #include <linux/smp.h> @@ -15195,9 +15556,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/softirq.c linux-3.4.48-vs2.3.3.9/kerne #define CREATE_TRACE_POINTS #include <trace/events/irq.h> -diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sys.c ---- linux-3.4.48/kernel/sys.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/sys.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/kernel/sys.c b/kernel/sys.c +index 3449d26..1ddea08 100644 +--- a/kernel/sys.c ++++ b/kernel/sys.c @@ -45,6 +45,7 @@ #include <linux/syscalls.h> #include <linux/kprobes.h> @@ -15206,7 +15568,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy #include <linux/kmsg_dump.h> /* Move somewhere else to avoid recompiling? */ -@@ -155,7 +156,10 @@ static int set_one_prio(struct task_stru +@@ -155,7 +156,10 @@ static int set_one_prio(struct task_struct *p, int niceval, int error) goto out; } if (niceval < task_nice(p) && !can_nice(p, niceval)) { @@ -15218,7 +15580,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy goto out; } no_nice = security_task_setnice(p, niceval); -@@ -205,6 +209,8 @@ SYSCALL_DEFINE3(setpriority, int, which, +@@ -205,6 +209,8 @@ SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval) else pgrp = task_pgrp(current); do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { @@ -15227,7 +15589,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy error = set_one_prio(p, niceval, error); } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); break; -@@ -268,6 +274,8 @@ SYSCALL_DEFINE2(getpriority, int, which, +@@ -268,6 +274,8 @@ SYSCALL_DEFINE2(getpriority, int, which, int, who) else pgrp = task_pgrp(current); do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { @@ -15236,7 +15598,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy niceval = 20 - task_nice(p); if (niceval > retval) retval = niceval; -@@ -419,6 +427,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off); +@@ -443,6 +451,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off); static DEFINE_MUTEX(reboot_mutex); @@ -15245,7 +15607,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy /* * Reboot system call: for obvious reasons only root may call it, * and even root needs to set up some magic numbers in the registers -@@ -460,6 +470,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int +@@ -484,6 +494,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd, if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off) cmd = LINUX_REBOOT_CMD_HALT; @@ -15255,7 +15617,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy mutex_lock(&reboot_mutex); switch (cmd) { case LINUX_REBOOT_CMD_RESTART: -@@ -1285,7 +1298,8 @@ SYSCALL_DEFINE2(sethostname, char __user +@@ -1309,7 +1322,8 @@ SYSCALL_DEFINE2(sethostname, char __user *, name, int, len) int errno; char tmp[__NEW_UTS_LEN]; @@ -15265,7 +15627,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy return -EPERM; if (len < 0 || len > __NEW_UTS_LEN) -@@ -1336,7 +1350,8 @@ SYSCALL_DEFINE2(setdomainname, char __us +@@ -1360,7 +1374,8 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len) int errno; char tmp[__NEW_UTS_LEN]; @@ -15275,7 +15637,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy return -EPERM; if (len < 0 || len > __NEW_UTS_LEN) return -EINVAL; -@@ -1455,7 +1470,7 @@ int do_prlimit(struct task_struct *tsk, +@@ -1479,7 +1494,7 @@ int do_prlimit(struct task_struct *tsk, unsigned int resource, /* Keep the capable check against init_user_ns until cgroups can contain all limits */ if (new_rlim->rlim_max > rlim->rlim_max && @@ -15284,7 +15646,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy retval = -EPERM; if (!retval) retval = security_task_setrlimit(tsk->group_leader, -@@ -1509,7 +1524,8 @@ static int check_prlimit_permission(stru +@@ -1533,7 +1548,8 @@ static int check_prlimit_permission(struct task_struct *task) cred->gid == tcred->sgid && cred->gid == tcred->gid)) return 0; @@ -15294,9 +15656,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/sys.c linux-3.4.48-vs2.3.3.9/kernel/sy return 0; return -EPERM; -diff -NurpP --minimal linux-3.4.48/kernel/sysctl.c linux-3.4.48-vs2.3.3.9/kernel/sysctl.c ---- linux-3.4.48/kernel/sysctl.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/sysctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index 4ab1187..9a17056 100644 +--- a/kernel/sysctl.c ++++ b/kernel/sysctl.c @@ -81,6 +81,7 @@ #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT) #include <linux/lockdep.h> @@ -15319,10 +15682,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/sysctl.c linux-3.4.48-vs2.3.3.9/kernel #ifdef CONFIG_CHR_DEV_SG { .procname = "sg-big-buff", -diff -NurpP --minimal linux-3.4.48/kernel/sysctl_binary.c linux-3.4.48-vs2.3.3.9/kernel/sysctl_binary.c ---- linux-3.4.48/kernel/sysctl_binary.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/sysctl_binary.c 2013-03-30 21:29:17.000000000 +0000 -@@ -73,6 +73,7 @@ static const struct bin_table bin_kern_t +diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c +index 9f9aa32..e967bde 100644 +--- a/kernel/sysctl_binary.c ++++ b/kernel/sysctl_binary.c +@@ -73,6 +73,7 @@ static const struct bin_table bin_kern_table[] = { { CTL_INT, KERN_PANIC, "panic" }, { CTL_INT, KERN_REALROOTDEV, "real-root-dev" }, @@ -15330,21 +15694,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/sysctl_binary.c linux-3.4.48-vs2.3.3.9 { CTL_STR, KERN_SPARC_REBOOT, "reboot-cmd" }, { CTL_INT, KERN_CTLALTDEL, "ctrl-alt-del" }, -diff -NurpP --minimal linux-3.4.48/kernel/time/timekeeping.c linux-3.4.48-vs2.3.3.9/kernel/time/timekeeping.c ---- linux-3.4.48/kernel/time/timekeeping.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/time/timekeeping.c 2012-12-08 00:53:53.000000000 +0000 -@@ -254,6 +254,7 @@ void getnstimeofday(struct timespec *ts) - } while (read_seqretry(&timekeeper.lock, seq)); - - timespec_add_ns(ts, nsecs); -+ vx_adjust_timespec(ts); - } - - EXPORT_SYMBOL(getnstimeofday); -diff -NurpP --minimal linux-3.4.48/kernel/time.c linux-3.4.48-vs2.3.3.9/kernel/time.c ---- linux-3.4.48/kernel/time.c 2012-05-21 16:07:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/time.c 2012-05-21 16:15:05.000000000 +0000 -@@ -92,7 +92,7 @@ SYSCALL_DEFINE1(stime, time_t __user *, +diff --git a/kernel/time.c b/kernel/time.c +index ba744cf..14f14d5 100644 +--- a/kernel/time.c ++++ b/kernel/time.c +@@ -92,7 +92,7 @@ SYSCALL_DEFINE1(stime, time_t __user *, tptr) if (err) return err; @@ -15353,7 +15707,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/time.c linux-3.4.48-vs2.3.3.9/kernel/t return 0; } -@@ -172,7 +172,7 @@ int do_sys_settimeofday(const struct tim +@@ -172,7 +172,7 @@ int do_sys_settimeofday(const struct timespec *tv, const struct timezone *tz) } } if (tv) @@ -15362,9 +15716,22 @@ diff -NurpP --minimal linux-3.4.48/kernel/time.c linux-3.4.48-vs2.3.3.9/kernel/t return 0; } -diff -NurpP --minimal linux-3.4.48/kernel/timer.c linux-3.4.48-vs2.3.3.9/kernel/timer.c ---- linux-3.4.48/kernel/timer.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/timer.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c +index eff0b1e..5913ef4 100644 +--- a/kernel/time/timekeeping.c ++++ b/kernel/time/timekeeping.c +@@ -254,6 +254,7 @@ void getnstimeofday(struct timespec *ts) + } while (read_seqretry(&timekeeper.lock, seq)); + + timespec_add_ns(ts, nsecs); ++ vx_adjust_timespec(ts); + } + + EXPORT_SYMBOL(getnstimeofday); +diff --git a/kernel/timer.c b/kernel/timer.c +index 7e0a770..8acf352 100644 +--- a/kernel/timer.c ++++ b/kernel/timer.c @@ -40,6 +40,10 @@ #include <linux/irq_work.h> #include <linux/sched.h> @@ -15376,7 +15743,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/timer.c linux-3.4.48-vs2.3.3.9/kernel/ #include <asm/uaccess.h> #include <asm/unistd.h> -@@ -1388,12 +1392,6 @@ SYSCALL_DEFINE1(alarm, unsigned int, sec +@@ -1390,12 +1394,6 @@ SYSCALL_DEFINE1(alarm, unsigned int, seconds) #endif @@ -15389,16 +15756,16 @@ diff -NurpP --minimal linux-3.4.48/kernel/timer.c linux-3.4.48-vs2.3.3.9/kernel/ /** * sys_getpid - return the thread group id of the current process -@@ -1422,10 +1420,23 @@ SYSCALL_DEFINE0(getppid) +@@ -1424,10 +1422,23 @@ SYSCALL_DEFINE0(getppid) rcu_read_lock(); pid = task_tgid_vnr(rcu_dereference(current->real_parent)); rcu_read_unlock(); + return vx_map_pid(pid); +} ++ ++#ifdef __alpha__ - return pid; -+#ifdef __alpha__ -+ +/* + * The Alpha uses getxpid, getxuid, and getxgid instead. + */ @@ -15414,9 +15781,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/timer.c linux-3.4.48-vs2.3.3.9/kernel/ SYSCALL_DEFINE0(getuid) { /* Only we change this so SMP safe */ -diff -NurpP --minimal linux-3.4.48/kernel/user_namespace.c linux-3.4.48-vs2.3.3.9/kernel/user_namespace.c ---- linux-3.4.48/kernel/user_namespace.c 2012-01-09 15:15:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/user_namespace.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index 3b906e9..48a8927 100644 +--- a/kernel/user_namespace.c ++++ b/kernel/user_namespace.c @@ -11,6 +11,7 @@ #include <linux/user_namespace.h> #include <linux/highuid.h> @@ -15442,9 +15810,10 @@ diff -NurpP --minimal linux-3.4.48/kernel/user_namespace.c linux-3.4.48-vs2.3.3. INIT_WORK(&ns->destroyer, free_user_ns_work); schedule_work(&ns->destroyer); } -diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kernel/utsname.c ---- linux-3.4.48/kernel/utsname.c 2012-01-09 15:15:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/utsname.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/utsname.c b/kernel/utsname.c +index 405caf9..307d077 100644 +--- a/kernel/utsname.c ++++ b/kernel/utsname.c @@ -16,14 +16,17 @@ #include <linux/slab.h> #include <linux/user_namespace.h> @@ -15464,7 +15833,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kerne return uts_ns; } -@@ -32,8 +35,8 @@ static struct uts_namespace *create_uts_ +@@ -32,8 +35,8 @@ static struct uts_namespace *create_uts_ns(void) * @old_ns: namespace to clone * Return NULL on error (failure to kmalloc), new ns otherwise */ @@ -15475,7 +15844,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kerne { struct uts_namespace *ns; -@@ -43,7 +46,7 @@ static struct uts_namespace *clone_uts_n +@@ -43,7 +46,7 @@ static struct uts_namespace *clone_uts_ns(struct task_struct *tsk, down_read(&uts_sem); memcpy(&ns->name, &old_ns->name, sizeof(ns->name)); @@ -15484,7 +15853,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kerne up_read(&uts_sem); return ns; } -@@ -55,9 +58,9 @@ static struct uts_namespace *clone_uts_n +@@ -55,9 +58,9 @@ static struct uts_namespace *clone_uts_ns(struct task_struct *tsk, * versa. */ struct uts_namespace *copy_utsname(unsigned long flags, @@ -15496,7 +15865,7 @@ diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kerne struct uts_namespace *new_ns; BUG_ON(!old_ns); -@@ -66,7 +69,7 @@ struct uts_namespace *copy_utsname(unsig +@@ -66,7 +69,7 @@ struct uts_namespace *copy_utsname(unsigned long flags, if (!(flags & CLONE_NEWUTS)) return old_ns; @@ -15513,9 +15882,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/utsname.c linux-3.4.48-vs2.3.3.9/kerne kfree(ns); } -diff -NurpP --minimal linux-3.4.48/kernel/vserver/Kconfig linux-3.4.48-vs2.3.3.9/kernel/vserver/Kconfig ---- linux-3.4.48/kernel/vserver/Kconfig 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/Kconfig 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/Kconfig b/kernel/vserver/Kconfig +new file mode 100644 +index 0000000..0903150 +--- /dev/null ++++ b/kernel/vserver/Kconfig @@ -0,0 +1,224 @@ +# +# Linux VServer configuration @@ -15741,9 +16112,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/Kconfig linux-3.4.48-vs2.3.3.9 + bool + default n + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/Makefile linux-3.4.48-vs2.3.3.9/kernel/vserver/Makefile ---- linux-3.4.48/kernel/vserver/Makefile 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/Makefile 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/Makefile b/kernel/vserver/Makefile +new file mode 100644 +index 0000000..ba95c6c +--- /dev/null ++++ b/kernel/vserver/Makefile @@ -0,0 +1,18 @@ +# +# Makefile for the Linux vserver routines. @@ -15763,9 +16136,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/Makefile linux-3.4.48-vs2.3.3. +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o +vserver-$(CONFIG_VSERVER_DEVICE) += device.o + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct.c linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct.c ---- linux-3.4.48/kernel/vserver/cacct.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cacct.c b/kernel/vserver/cacct.c +new file mode 100644 +index 0000000..80dea24 +--- /dev/null ++++ b/kernel/vserver/cacct.c @@ -0,0 +1,42 @@ +/* + * linux/kernel/vserver/cacct.c @@ -15809,9 +16184,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct.c linux-3.4.48-vs2.3.3.9 + return 0; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct_init.h linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct_init.h ---- linux-3.4.48/kernel/vserver/cacct_init.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct_init.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cacct_init.h b/kernel/vserver/cacct_init.h +new file mode 100644 +index 0000000..94d82e9 +--- /dev/null ++++ b/kernel/vserver/cacct_init.h @@ -0,0 +1,25 @@ + + @@ -15838,9 +16215,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct_init.h linux-3.4.48-vs2. + return; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct_proc.h linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct_proc.h ---- linux-3.4.48/kernel/vserver/cacct_proc.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cacct_proc.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cacct_proc.h b/kernel/vserver/cacct_proc.h +new file mode 100644 +index 0000000..0de9a38 +--- /dev/null ++++ b/kernel/vserver/cacct_proc.h @@ -0,0 +1,53 @@ +#ifndef _VX_CACCT_PROC_H +#define _VX_CACCT_PROC_H @@ -15895,9 +16274,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cacct_proc.h linux-3.4.48-vs2. +} + +#endif /* _VX_CACCT_PROC_H */ -diff -NurpP --minimal linux-3.4.48/kernel/vserver/context.c linux-3.4.48-vs2.3.3.9/kernel/vserver/context.c ---- linux-3.4.48/kernel/vserver/context.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/context.c 2012-06-28 14:45:48.000000000 +0000 +diff --git a/kernel/vserver/context.c b/kernel/vserver/context.c +new file mode 100644 +index 0000000..1061eac +--- /dev/null ++++ b/kernel/vserver/context.c @@ -0,0 +1,1119 @@ +/* + * linux/kernel/vserver/context.c @@ -17018,9 +17399,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/context.c linux-3.4.48-vs2.3.3 + +EXPORT_SYMBOL_GPL(free_vx_info); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt.c linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt.c ---- linux-3.4.48/kernel/vserver/cvirt.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cvirt.c b/kernel/vserver/cvirt.c +new file mode 100644 +index 0000000..ca0d207 +--- /dev/null ++++ b/kernel/vserver/cvirt.c @@ -0,0 +1,313 @@ +/* + * linux/kernel/vserver/cvirt.c @@ -17335,9 +17718,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt.c linux-3.4.48-vs2.3.3.9 + +#endif + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt_init.h linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt_init.h ---- linux-3.4.48/kernel/vserver/cvirt_init.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt_init.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cvirt_init.h b/kernel/vserver/cvirt_init.h +new file mode 100644 +index 0000000..0efd0de +--- /dev/null ++++ b/kernel/vserver/cvirt_init.h @@ -0,0 +1,70 @@ + + @@ -17409,9 +17794,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt_init.h linux-3.4.48-vs2. + return; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt_proc.h linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt_proc.h ---- linux-3.4.48/kernel/vserver/cvirt_proc.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/cvirt_proc.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/cvirt_proc.h b/kernel/vserver/cvirt_proc.h +new file mode 100644 +index 0000000..8b95ff4 +--- /dev/null ++++ b/kernel/vserver/cvirt_proc.h @@ -0,0 +1,123 @@ +#ifndef _VX_CVIRT_PROC_H +#define _VX_CVIRT_PROC_H @@ -17536,9 +17923,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/cvirt_proc.h linux-3.4.48-vs2. +} + +#endif /* _VX_CVIRT_PROC_H */ -diff -NurpP --minimal linux-3.4.48/kernel/vserver/debug.c linux-3.4.48-vs2.3.3.9/kernel/vserver/debug.c ---- linux-3.4.48/kernel/vserver/debug.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/debug.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/debug.c b/kernel/vserver/debug.c +new file mode 100644 +index 0000000..22cf710 +--- /dev/null ++++ b/kernel/vserver/debug.c @@ -0,0 +1,32 @@ +/* + * kernel/vserver/debug.c @@ -17572,9 +17961,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/debug.c linux-3.4.48-vs2.3.3.9 + +EXPORT_SYMBOL_GPL(dump_vx_info); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/device.c linux-3.4.48-vs2.3.3.9/kernel/vserver/device.c ---- linux-3.4.48/kernel/vserver/device.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/device.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/device.c b/kernel/vserver/device.c +new file mode 100644 +index 0000000..59277f6 +--- /dev/null ++++ b/kernel/vserver/device.c @@ -0,0 +1,443 @@ +/* + * linux/kernel/vserver/device.c @@ -18019,9 +18410,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/device.c linux-3.4.48-vs2.3.3. +#endif /* CONFIG_COMPAT */ + + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/dlimit.c linux-3.4.48-vs2.3.3.9/kernel/vserver/dlimit.c ---- linux-3.4.48/kernel/vserver/dlimit.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/dlimit.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/dlimit.c b/kernel/vserver/dlimit.c +new file mode 100644 +index 0000000..a674f2c +--- /dev/null ++++ b/kernel/vserver/dlimit.c @@ -0,0 +1,531 @@ +/* + * linux/kernel/vserver/dlimit.c @@ -18554,9 +18947,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/dlimit.c linux-3.4.48-vs2.3.3. +EXPORT_SYMBOL_GPL(locate_dl_info); +EXPORT_SYMBOL_GPL(rcu_free_dl_info); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/helper.c linux-3.4.48-vs2.3.3.9/kernel/vserver/helper.c ---- linux-3.4.48/kernel/vserver/helper.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/helper.c 2012-09-16 18:49:44.000000000 +0000 +diff --git a/kernel/vserver/helper.c b/kernel/vserver/helper.c +new file mode 100644 +index 0000000..f012fbf +--- /dev/null ++++ b/kernel/vserver/helper.c @@ -0,0 +1,229 @@ +/* + * linux/kernel/vserver/helper.c @@ -18787,9 +19182,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/helper.c linux-3.4.48-vs2.3.3. + return do_vshelper(vshelper_path, argv, envp, 1); +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/history.c linux-3.4.48-vs2.3.3.9/kernel/vserver/history.c ---- linux-3.4.48/kernel/vserver/history.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/history.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/history.c b/kernel/vserver/history.c +new file mode 100644 +index 0000000..e3e0712 +--- /dev/null ++++ b/kernel/vserver/history.c @@ -0,0 +1,258 @@ +/* + * kernel/vserver/history.c @@ -19049,9 +19446,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/history.c linux-3.4.48-vs2.3.3 + +#endif /* CONFIG_COMPAT */ + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/inet.c linux-3.4.48-vs2.3.3.9/kernel/vserver/inet.c ---- linux-3.4.48/kernel/vserver/inet.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/inet.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/inet.c b/kernel/vserver/inet.c +new file mode 100644 +index 0000000..6c56f69 +--- /dev/null ++++ b/kernel/vserver/inet.c @@ -0,0 +1,226 @@ + +#include <linux/in.h> @@ -19279,9 +19678,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/inet.c linux-3.4.48-vs2.3.3.9/ + +EXPORT_SYMBOL_GPL(ip_v4_find_src); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/init.c linux-3.4.48-vs2.3.3.9/kernel/vserver/init.c ---- linux-3.4.48/kernel/vserver/init.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/init.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/init.c b/kernel/vserver/init.c +new file mode 100644 +index 0000000..17f62f8 +--- /dev/null ++++ b/kernel/vserver/init.c @@ -0,0 +1,45 @@ +/* + * linux/kernel/init.c @@ -19328,9 +19729,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/init.c linux-3.4.48-vs2.3.3.9/ +module_init(init_vserver); +module_exit(exit_vserver); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/inode.c linux-3.4.48-vs2.3.3.9/kernel/vserver/inode.c ---- linux-3.4.48/kernel/vserver/inode.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/inode.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/inode.c b/kernel/vserver/inode.c +new file mode 100644 +index 0000000..69b17f7 +--- /dev/null ++++ b/kernel/vserver/inode.c @@ -0,0 +1,437 @@ +/* + * linux/kernel/vserver/inode.c @@ -19769,9 +20172,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/inode.c linux-3.4.48-vs2.3.3.9 + +#endif /* CONFIG_PROPAGATE */ + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit.c linux-3.4.48-vs2.3.3.9/kernel/vserver/limit.c ---- linux-3.4.48/kernel/vserver/limit.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/limit.c 2012-09-01 09:15:21.000000000 +0000 +diff --git a/kernel/vserver/limit.c b/kernel/vserver/limit.c +new file mode 100644 +index 0000000..8bda9de +--- /dev/null ++++ b/kernel/vserver/limit.c @@ -0,0 +1,345 @@ +/* + * linux/kernel/vserver/limit.c @@ -20118,9 +20523,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit.c linux-3.4.48-vs2.3.3.9 + return cache; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit_init.h linux-3.4.48-vs2.3.3.9/kernel/vserver/limit_init.h ---- linux-3.4.48/kernel/vserver/limit_init.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/limit_init.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/limit_init.h b/kernel/vserver/limit_init.h +new file mode 100644 +index 0000000..dfce7a2 +--- /dev/null ++++ b/kernel/vserver/limit_init.h @@ -0,0 +1,31 @@ + + @@ -20153,9 +20560,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit_init.h linux-3.4.48-vs2. + } +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit_proc.h linux-3.4.48-vs2.3.3.9/kernel/vserver/limit_proc.h ---- linux-3.4.48/kernel/vserver/limit_proc.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/limit_proc.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/limit_proc.h b/kernel/vserver/limit_proc.h +new file mode 100644 +index 0000000..ff5d910 +--- /dev/null ++++ b/kernel/vserver/limit_proc.h @@ -0,0 +1,57 @@ +#ifndef _VX_LIMIT_PROC_H +#define _VX_LIMIT_PROC_H @@ -20214,9 +20623,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/limit_proc.h linux-3.4.48-vs2. +#endif /* _VX_LIMIT_PROC_H */ + + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/network.c linux-3.4.48-vs2.3.3.9/kernel/vserver/network.c ---- linux-3.4.48/kernel/vserver/network.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/network.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/network.c b/kernel/vserver/network.c +new file mode 100644 +index 0000000..9ec1bba +--- /dev/null ++++ b/kernel/vserver/network.c @@ -0,0 +1,912 @@ +/* + * linux/kernel/vserver/network.c @@ -21130,9 +21541,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/network.c linux-3.4.48-vs2.3.3 +EXPORT_SYMBOL_GPL(free_nx_info); +EXPORT_SYMBOL_GPL(unhash_nx_info); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/proc.c linux-3.4.48-vs2.3.3.9/kernel/vserver/proc.c ---- linux-3.4.48/kernel/vserver/proc.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/proc.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/proc.c b/kernel/vserver/proc.c +new file mode 100644 +index 0000000..b41558d +--- /dev/null ++++ b/kernel/vserver/proc.c @@ -0,0 +1,1103 @@ +/* + * linux/kernel/vserver/proc.c @@ -22237,9 +22650,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/proc.c linux-3.4.48-vs2.3.3.9/ + return buffer - orig; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched.c linux-3.4.48-vs2.3.3.9/kernel/vserver/sched.c ---- linux-3.4.48/kernel/vserver/sched.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/sched.c 2012-05-21 16:25:11.000000000 +0000 +diff --git a/kernel/vserver/sched.c b/kernel/vserver/sched.c +new file mode 100644 +index 0000000..0c80b79 +--- /dev/null ++++ b/kernel/vserver/sched.c @@ -0,0 +1,83 @@ +/* + * linux/kernel/vserver/sched.c @@ -22324,9 +22739,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched.c linux-3.4.48-vs2.3.3.9 + return 0; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched_init.h linux-3.4.48-vs2.3.3.9/kernel/vserver/sched_init.h ---- linux-3.4.48/kernel/vserver/sched_init.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/sched_init.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/sched_init.h b/kernel/vserver/sched_init.h +new file mode 100644 +index 0000000..725ab06 +--- /dev/null ++++ b/kernel/vserver/sched_init.h @@ -0,0 +1,27 @@ + +static inline void vx_info_init_sched(struct _vx_sched *sched) @@ -22355,9 +22772,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched_init.h linux-3.4.48-vs2. +{ + return; +} -diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched_proc.h linux-3.4.48-vs2.3.3.9/kernel/vserver/sched_proc.h ---- linux-3.4.48/kernel/vserver/sched_proc.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/sched_proc.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/sched_proc.h b/kernel/vserver/sched_proc.h +new file mode 100644 +index 0000000..35b8fd4 +--- /dev/null ++++ b/kernel/vserver/sched_proc.h @@ -0,0 +1,32 @@ +#ifndef _VX_SCHED_PROC_H +#define _VX_SCHED_PROC_H @@ -22391,9 +22810,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/sched_proc.h linux-3.4.48-vs2. +} + +#endif /* _VX_SCHED_PROC_H */ -diff -NurpP --minimal linux-3.4.48/kernel/vserver/signal.c linux-3.4.48-vs2.3.3.9/kernel/vserver/signal.c ---- linux-3.4.48/kernel/vserver/signal.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/signal.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/signal.c b/kernel/vserver/signal.c +new file mode 100644 +index 0000000..2c72a86 +--- /dev/null ++++ b/kernel/vserver/signal.c @@ -0,0 +1,134 @@ +/* + * linux/kernel/vserver/signal.c @@ -22529,9 +22950,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/signal.c linux-3.4.48-vs2.3.3. + return ret; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/space.c linux-3.4.48-vs2.3.3.9/kernel/vserver/space.c ---- linux-3.4.48/kernel/vserver/space.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/space.c 2013-02-12 00:16:04.000000000 +0000 +diff --git a/kernel/vserver/space.c b/kernel/vserver/space.c +new file mode 100644 +index 0000000..cf6dd38 +--- /dev/null ++++ b/kernel/vserver/space.c @@ -0,0 +1,436 @@ +/* + * linux/kernel/vserver/space.c @@ -22969,9 +23392,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/space.c linux-3.4.48-vs2.3.3.9 + return 0; +} + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/switch.c linux-3.4.48-vs2.3.3.9/kernel/vserver/switch.c ---- linux-3.4.48/kernel/vserver/switch.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/switch.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/switch.c b/kernel/vserver/switch.c +new file mode 100644 +index 0000000..b9e1210 +--- /dev/null ++++ b/kernel/vserver/switch.c @@ -0,0 +1,556 @@ +/* + * linux/kernel/vserver/switch.c @@ -23529,9 +23954,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/switch.c linux-3.4.48-vs2.3.3. +} + +#endif /* CONFIG_COMPAT */ -diff -NurpP --minimal linux-3.4.48/kernel/vserver/sysctl.c linux-3.4.48-vs2.3.3.9/kernel/vserver/sysctl.c ---- linux-3.4.48/kernel/vserver/sysctl.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/sysctl.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/sysctl.c b/kernel/vserver/sysctl.c +new file mode 100644 +index 0000000..a55cda1 +--- /dev/null ++++ b/kernel/vserver/sysctl.c @@ -0,0 +1,247 @@ +/* + * kernel/vserver/sysctl.c @@ -23780,9 +24207,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/sysctl.c linux-3.4.48-vs2.3.3. +EXPORT_SYMBOL_GPL(vs_debug_perm); +EXPORT_SYMBOL_GPL(vs_debug_misc); + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/tag.c linux-3.4.48-vs2.3.3.9/kernel/vserver/tag.c ---- linux-3.4.48/kernel/vserver/tag.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/tag.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/tag.c b/kernel/vserver/tag.c +new file mode 100644 +index 0000000..586900c +--- /dev/null ++++ b/kernel/vserver/tag.c @@ -0,0 +1,63 @@ +/* + * linux/kernel/vserver/tag.c @@ -23847,9 +24276,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/tag.c linux-3.4.48-vs2.3.3.9/k +} + + -diff -NurpP --minimal linux-3.4.48/kernel/vserver/vci_config.h linux-3.4.48-vs2.3.3.9/kernel/vserver/vci_config.h ---- linux-3.4.48/kernel/vserver/vci_config.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/kernel/vserver/vci_config.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/kernel/vserver/vci_config.h b/kernel/vserver/vci_config.h +new file mode 100644 +index 0000000..31d786d +--- /dev/null ++++ b/kernel/vserver/vci_config.h @@ -0,0 +1,76 @@ + +/* interface version */ @@ -23927,10 +24358,11 @@ diff -NurpP --minimal linux-3.4.48/kernel/vserver/vci_config.h linux-3.4.48-vs2. + 0; +} + -diff -NurpP --minimal linux-3.4.48/mm/memcontrol.c linux-3.4.48-vs2.3.3.9/mm/memcontrol.c ---- linux-3.4.48/mm/memcontrol.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/memcontrol.c 2012-12-08 00:53:53.000000000 +0000 -@@ -846,6 +846,31 @@ struct mem_cgroup *mem_cgroup_from_task( +diff --git a/mm/memcontrol.c b/mm/memcontrol.c +index 81c275b..aba10b1 100644 +--- a/mm/memcontrol.c ++++ b/mm/memcontrol.c +@@ -846,6 +846,31 @@ struct mem_cgroup *mem_cgroup_from_task(struct task_struct *p) struct mem_cgroup, css); } @@ -23962,9 +24394,10 @@ diff -NurpP --minimal linux-3.4.48/mm/memcontrol.c linux-3.4.48-vs2.3.3.9/mm/mem struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) { struct mem_cgroup *memcg = NULL; -diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_kill.c ---- linux-3.4.48/mm/oom_kill.c 2012-05-21 16:07:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/oom_kill.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/mm/oom_kill.c b/mm/oom_kill.c +index 46bf2ed5..d8cdda8 100644 +--- a/mm/oom_kill.c ++++ b/mm/oom_kill.c @@ -35,6 +35,8 @@ #include <linux/freezer.h> #include <linux/ftrace.h> @@ -23974,7 +24407,7 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k #define CREATE_TRACE_POINTS #include <trace/events/oom.h> -@@ -155,11 +157,18 @@ struct task_struct *find_lock_task_mm(st +@@ -155,11 +157,18 @@ struct task_struct *find_lock_task_mm(struct task_struct *p) static bool oom_unkillable_task(struct task_struct *p, const struct mem_cgroup *memcg, const nodemask_t *nodemask) { @@ -23994,7 +24427,7 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k /* When mem_cgroup_out_of_memory() and p is not member of the group */ if (memcg && !task_in_mem_cgroup(p, memcg)) return true; -@@ -462,8 +471,8 @@ static void oom_kill_process(struct task +@@ -462,8 +471,8 @@ static void oom_kill_process(struct task_struct *p, gfp_t gfp_mask, int order, dump_header(p, gfp_mask, order, memcg, nodemask); task_lock(p); @@ -24005,7 +24438,7 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k task_unlock(p); /* -@@ -496,8 +505,8 @@ static void oom_kill_process(struct task +@@ -496,8 +505,8 @@ static void oom_kill_process(struct task_struct *p, gfp_t gfp_mask, int order, /* mm cannot safely be dereferenced after task_unlock(victim) */ mm = victim->mm; @@ -24016,7 +24449,7 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k K(get_mm_counter(victim->mm, MM_ANONPAGES)), K(get_mm_counter(victim->mm, MM_FILEPAGES))); task_unlock(victim); -@@ -596,6 +605,8 @@ int unregister_oom_notifier(struct notif +@@ -596,6 +605,8 @@ int unregister_oom_notifier(struct notifier_block *nb) } EXPORT_SYMBOL_GPL(unregister_oom_notifier); @@ -24025,7 +24458,7 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k /* * Try to acquire the OOM killer lock for the zones in zonelist. Returns zero * if a parallel OOM killing is already taking place that includes a zone in -@@ -747,7 +758,12 @@ void out_of_memory(struct zonelist *zone +@@ -747,7 +758,12 @@ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, if (!p) { dump_header(NULL, gfp_mask, order, NULL, mpol_mask); read_unlock(&tasklist_lock); @@ -24039,9 +24472,10 @@ diff -NurpP --minimal linux-3.4.48/mm/oom_kill.c linux-3.4.48-vs2.3.3.9/mm/oom_k } if (PTR_ERR(p) != -1UL) { oom_kill_process(p, gfp_mask, order, points, totalpages, NULL, -diff -NurpP --minimal linux-3.4.48/mm/page_alloc.c linux-3.4.48-vs2.3.3.9/mm/page_alloc.c ---- linux-3.4.48/mm/page_alloc.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/page_alloc.c 2013-03-02 15:26:44.000000000 +0000 +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 8090542..0bded51 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c @@ -58,6 +58,8 @@ #include <linux/memcontrol.h> #include <linux/prefetch.h> @@ -24061,7 +24495,7 @@ diff -NurpP --minimal linux-3.4.48/mm/page_alloc.c linux-3.4.48-vs2.3.3.9/mm/pag } EXPORT_SYMBOL(si_meminfo); -@@ -2675,6 +2680,9 @@ void si_meminfo_node(struct sysinfo *val +@@ -2675,6 +2680,9 @@ void si_meminfo_node(struct sysinfo *val, int nid) val->freehigh = 0; #endif val->mem_unit = PAGE_SIZE; @@ -24071,9 +24505,10 @@ diff -NurpP --minimal linux-3.4.48/mm/page_alloc.c linux-3.4.48-vs2.3.3.9/mm/pag } #endif -diff -NurpP --minimal linux-3.4.48/mm/pgtable-generic.c linux-3.4.48-vs2.3.3.9/mm/pgtable-generic.c ---- linux-3.4.48/mm/pgtable-generic.c 2012-05-21 16:07:35.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/pgtable-generic.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c +index 5a74fea..e8b8d74 100644 +--- a/mm/pgtable-generic.c ++++ b/mm/pgtable-generic.c @@ -6,6 +6,8 @@ * Copyright (C) 2010 Linus Torvalds */ @@ -24083,10 +24518,11 @@ diff -NurpP --minimal linux-3.4.48/mm/pgtable-generic.c linux-3.4.48-vs2.3.3.9/m #include <linux/pagemap.h> #include <asm/tlb.h> #include <asm-generic/pgtable.h> -diff -NurpP --minimal linux-3.4.48/mm/shmem.c linux-3.4.48-vs2.3.3.9/mm/shmem.c ---- linux-3.4.48/mm/shmem.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/shmem.c 2013-03-02 15:26:44.000000000 +0000 -@@ -1473,7 +1473,7 @@ static int shmem_statfs(struct dentry *d +diff --git a/mm/shmem.c b/mm/shmem.c +index 58c4a47..55757c7 100644 +--- a/mm/shmem.c ++++ b/mm/shmem.c +@@ -1473,7 +1473,7 @@ static int shmem_statfs(struct dentry *dentry, struct kstatfs *buf) { struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb); @@ -24095,7 +24531,7 @@ diff -NurpP --minimal linux-3.4.48/mm/shmem.c linux-3.4.48-vs2.3.3.9/mm/shmem.c buf->f_bsize = PAGE_CACHE_SIZE; buf->f_namelen = NAME_MAX; if (sbinfo->max_blocks) { -@@ -2287,7 +2287,7 @@ int shmem_fill_super(struct super_block +@@ -2287,7 +2287,7 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent) sb->s_maxbytes = MAX_LFS_FILESIZE; sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; @@ -24104,10 +24540,11 @@ diff -NurpP --minimal linux-3.4.48/mm/shmem.c linux-3.4.48-vs2.3.3.9/mm/shmem.c sb->s_op = &shmem_ops; sb->s_time_gran = 1; #ifdef CONFIG_TMPFS_XATTR -diff -NurpP --minimal linux-3.4.48/mm/slab.c linux-3.4.48-vs2.3.3.9/mm/slab.c ---- linux-3.4.48/mm/slab.c 2013-06-13 08:59:39.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/slab.c 2012-10-22 13:09:53.000000000 +0000 -@@ -413,6 +413,8 @@ static void kmem_list3_init(struct kmem_ +diff --git a/mm/slab.c b/mm/slab.c +index da2bb68..2e1c4bb 100644 +--- a/mm/slab.c ++++ b/mm/slab.c +@@ -413,6 +413,8 @@ static void kmem_list3_init(struct kmem_list3 *parent) #define STATS_INC_FREEMISS(x) do { } while (0) #endif @@ -24124,7 +24561,7 @@ diff -NurpP --minimal linux-3.4.48/mm/slab.c linux-3.4.48-vs2.3.3.9/mm/slab.c l3->free_objects--; /* move slabp to correct slabp list: */ list_del(&slabp->list); -@@ -3543,6 +3546,7 @@ __cache_alloc_node(struct kmem_cache *ca +@@ -3543,6 +3546,7 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, /* ___cache_alloc_node can fall back to other nodes */ ptr = ____cache_alloc_node(cachep, flags, nodeid); out: @@ -24132,7 +24569,7 @@ diff -NurpP --minimal linux-3.4.48/mm/slab.c linux-3.4.48-vs2.3.3.9/mm/slab.c local_irq_restore(save_flags); ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller); kmemleak_alloc_recursive(ptr, obj_size(cachep), 1, cachep->flags, -@@ -3730,6 +3734,7 @@ static inline void __cache_free(struct k +@@ -3730,6 +3734,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp, check_irq_off(); kmemleak_free_recursive(objp, cachep->flags); objp = cache_free_debugcheck(cachep, objp, caller); @@ -24140,9 +24577,11 @@ diff -NurpP --minimal linux-3.4.48/mm/slab.c linux-3.4.48-vs2.3.3.9/mm/slab.c kmemcheck_slab_free(cachep, objp, obj_size(cachep)); -diff -NurpP --minimal linux-3.4.48/mm/slab_vs.h linux-3.4.48-vs2.3.3.9/mm/slab_vs.h ---- linux-3.4.48/mm/slab_vs.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/slab_vs.h 2012-05-21 16:15:05.000000000 +0000 +diff --git a/mm/slab_vs.h b/mm/slab_vs.h +new file mode 100644 +index 0000000..00c065e +--- /dev/null ++++ b/mm/slab_vs.h @@ -0,0 +1,29 @@ + +#include <linux/vserver/context.h> @@ -24173,9 +24612,10 @@ diff -NurpP --minimal linux-3.4.48/mm/slab_vs.h linux-3.4.48-vs2.3.3.9/mm/slab_v + atomic_sub(cachep->buffer_size, &vxi->cacct.slab[what]); +} + -diff -NurpP --minimal linux-3.4.48/mm/swapfile.c linux-3.4.48-vs2.3.3.9/mm/swapfile.c ---- linux-3.4.48/mm/swapfile.c 2013-06-13 08:59:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/mm/swapfile.c 2012-06-28 14:45:07.000000000 +0000 +diff --git a/mm/swapfile.c b/mm/swapfile.c +index 38186d9..d0d26b4 100644 +--- a/mm/swapfile.c ++++ b/mm/swapfile.c @@ -36,6 +36,7 @@ #include <asm/tlbflush.h> #include <linux/swapops.h> @@ -24184,7 +24624,7 @@ diff -NurpP --minimal linux-3.4.48/mm/swapfile.c linux-3.4.48-vs2.3.3.9/mm/swapf static bool swap_count_continued(struct swap_info_struct *, pgoff_t, unsigned char); -@@ -1754,6 +1755,16 @@ static int swap_show(struct seq_file *sw +@@ -1754,6 +1755,16 @@ static int swap_show(struct seq_file *swap, void *v) if (si == SEQ_START_TOKEN) { seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n"); @@ -24210,10 +24650,11 @@ diff -NurpP --minimal linux-3.4.48/mm/swapfile.c linux-3.4.48-vs2.3.3.9/mm/swapf } /* -diff -NurpP --minimal linux-3.4.48/net/bridge/br_multicast.c linux-3.4.48-vs2.3.3.9/net/bridge/br_multicast.c ---- linux-3.4.48/net/bridge/br_multicast.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/bridge/br_multicast.c 2012-05-21 16:15:05.000000000 +0000 -@@ -445,7 +445,7 @@ static struct sk_buff *br_ip6_multicast_ +diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c +index 9069071..f8d1b39 100644 +--- a/net/bridge/br_multicast.c ++++ b/net/bridge/br_multicast.c +@@ -445,7 +445,7 @@ static struct sk_buff *br_ip6_multicast_alloc_query(struct net_bridge *br, ip6h->hop_limit = 1; ipv6_addr_set(&ip6h->daddr, htonl(0xff020000), 0, 0, htonl(1)); if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0, @@ -24222,9 +24663,10 @@ diff -NurpP --minimal linux-3.4.48/net/bridge/br_multicast.c linux-3.4.48-vs2.3. kfree_skb(skb); return NULL; } -diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/core/dev.c ---- linux-3.4.48/net/core/dev.c 2013-06-13 08:59:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/core/dev.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/net/core/dev.c b/net/core/dev.c +index 7db83d6..4676b62 100644 +--- a/net/core/dev.c ++++ b/net/core/dev.c @@ -126,6 +126,7 @@ #include <linux/in.h> #include <linux/jhash.h> @@ -24233,7 +24675,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor #include <trace/events/napi.h> #include <trace/events/net.h> #include <trace/events/skb.h> -@@ -621,7 +622,8 @@ struct net_device *__dev_get_by_name(str +@@ -621,7 +622,8 @@ struct net_device *__dev_get_by_name(struct net *net, const char *name) struct hlist_head *head = dev_name_hash(net, name); hlist_for_each_entry(dev, p, head, name_hlist) @@ -24243,7 +24685,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor return dev; return NULL; -@@ -647,7 +649,8 @@ struct net_device *dev_get_by_name_rcu(s +@@ -647,7 +649,8 @@ struct net_device *dev_get_by_name_rcu(struct net *net, const char *name) struct hlist_head *head = dev_name_hash(net, name); hlist_for_each_entry_rcu(dev, p, head, name_hlist) @@ -24253,7 +24695,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor return dev; return NULL; -@@ -698,7 +701,8 @@ struct net_device *__dev_get_by_index(st +@@ -698,7 +701,8 @@ struct net_device *__dev_get_by_index(struct net *net, int ifindex) struct hlist_head *head = dev_index_hash(net, ifindex); hlist_for_each_entry(dev, p, head, index_hlist) @@ -24272,7 +24714,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor { struct hlist_node *p; struct net_device *dev; -@@ -728,6 +732,16 @@ struct net_device *dev_get_by_index_rcu( +@@ -728,6 +732,16 @@ struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex) return NULL; } @@ -24289,7 +24731,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor EXPORT_SYMBOL(dev_get_by_index_rcu); -@@ -776,7 +790,8 @@ struct net_device *dev_getbyhwaddr_rcu(s +@@ -776,7 +790,8 @@ struct net_device *dev_getbyhwaddr_rcu(struct net *net, unsigned short type, for_each_netdev_rcu(net, dev) if (dev->type == type && @@ -24299,7 +24741,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor return dev; return NULL; -@@ -788,9 +803,11 @@ struct net_device *__dev_getfirstbyhwtyp +@@ -788,9 +803,11 @@ struct net_device *__dev_getfirstbyhwtype(struct net *net, unsigned short type) struct net_device *dev; ASSERT_RTNL(); @@ -24313,7 +24755,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor return NULL; } -@@ -908,6 +925,8 @@ static int __dev_alloc_name(struct net * +@@ -908,6 +925,8 @@ static int __dev_alloc_name(struct net *net, const char *name, char *buf) continue; if (i < 0 || i >= max_netdevices) continue; @@ -24322,7 +24764,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor /* avoid cases where sscanf is not exact inverse of printf */ snprintf(buf, IFNAMSIZ, name, i); -@@ -4000,6 +4019,8 @@ static int dev_ifconf(struct net *net, c +@@ -4009,6 +4028,8 @@ static int dev_ifconf(struct net *net, char __user *arg) total = 0; for_each_netdev(net, dev) { @@ -24331,7 +24773,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor for (i = 0; i < NPROTO; i++) { if (gifconf_list[i]) { int done; -@@ -4102,6 +4123,10 @@ static void dev_seq_printf_stats(struct +@@ -4111,6 +4132,10 @@ static void dev_seq_printf_stats(struct seq_file *seq, struct net_device *dev) struct rtnl_link_stats64 temp; const struct rtnl_link_stats64 *stats = dev_get_stats(dev, &temp); @@ -24342,10 +24784,11 @@ diff -NurpP --minimal linux-3.4.48/net/core/dev.c linux-3.4.48-vs2.3.3.9/net/cor seq_printf(seq, "%6s: %7llu %7llu %4llu %4llu %4llu %5llu %10llu %9llu " "%8llu %7llu %4llu %4llu %4llu %5llu %7llu %10llu\n", dev->name, stats->rx_bytes, stats->rx_packets, -diff -NurpP --minimal linux-3.4.48/net/core/rtnetlink.c linux-3.4.48-vs2.3.3.9/net/core/rtnetlink.c ---- linux-3.4.48/net/core/rtnetlink.c 2013-06-13 08:59:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/core/rtnetlink.c 2013-06-13 09:46:39.000000000 +0000 -@@ -1079,6 +1079,8 @@ static int rtnl_dump_ifinfo(struct sk_bu +diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c +index a133427..93ff5d5 100644 +--- a/net/core/rtnetlink.c ++++ b/net/core/rtnetlink.c +@@ -1079,6 +1079,8 @@ static int rtnl_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) hlist_for_each_entry_rcu(dev, node, head, index_hlist) { if (idx < s_idx) goto cont; @@ -24354,7 +24797,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/rtnetlink.c linux-3.4.48-vs2.3.3.9/n if (rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, 0, -@@ -1962,6 +1964,9 @@ void rtmsg_ifinfo(int type, struct net_d +@@ -1962,6 +1964,9 @@ void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change) int err = -ENOBUFS; size_t if_info_size; @@ -24364,9 +24807,10 @@ diff -NurpP --minimal linux-3.4.48/net/core/rtnetlink.c linux-3.4.48-vs2.3.3.9/n skb = nlmsg_new((if_info_size = if_nlmsg_size(dev, 0)), GFP_KERNEL); if (skb == NULL) goto errout; -diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/core/sock.c ---- linux-3.4.48/net/core/sock.c 2013-06-13 08:59:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/core/sock.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/net/core/sock.c b/net/core/sock.c +index 561eb57..4de81b0 100644 +--- a/net/core/sock.c ++++ b/net/core/sock.c @@ -129,6 +129,10 @@ #include <net/netprio_cgroup.h> @@ -24378,7 +24822,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co #include <trace/events/sock.h> -@@ -1147,6 +1151,8 @@ static struct sock *sk_prot_alloc(struct +@@ -1141,6 +1145,8 @@ static struct sock *sk_prot_alloc(struct proto *prot, gfp_t priority, goto out_free_sec; sk_tx_queue_clear(sk); } @@ -24387,7 +24831,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co return sk; -@@ -1255,6 +1261,11 @@ static void __sk_free(struct sock *sk) +@@ -1249,6 +1255,11 @@ static void __sk_free(struct sock *sk) put_cred(sk->sk_peer_cred); put_pid(sk->sk_peer_pid); put_net(sock_net(sk)); @@ -24399,7 +24843,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co sk_prot_free(sk->sk_prot_creator, sk); } -@@ -1315,6 +1326,8 @@ struct sock *sk_clone_lock(const struct +@@ -1309,6 +1320,8 @@ struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority) /* SANITY */ get_net(sock_net(newsk)); @@ -24408,7 +24852,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co sk_node_init(&newsk->sk_node); sock_lock_init(newsk); bh_lock_sock(newsk); -@@ -1371,6 +1384,12 @@ struct sock *sk_clone_lock(const struct +@@ -1365,6 +1378,12 @@ struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority) smp_wmb(); atomic_set(&newsk->sk_refcnt, 2); @@ -24421,7 +24865,7 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co /* * Increment the counter in the same struct proto as the master * sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that -@@ -2127,6 +2146,12 @@ void sock_init_data(struct socket *sock, +@@ -2121,6 +2140,12 @@ void sock_init_data(struct socket *sock, struct sock *sk) sk->sk_stamp = ktime_set(-1L, 0); @@ -24434,9 +24878,10 @@ diff -NurpP --minimal linux-3.4.48/net/core/sock.c linux-3.4.48-vs2.3.3.9/net/co /* * Before updating sk_refcnt, we must commit prior changes to memory * (Documentation/RCU/rculist_nulls.txt for details) -diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net/ipv4/af_inet.c ---- linux-3.4.48/net/ipv4/af_inet.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/af_inet.c 2013-03-02 15:26:44.000000000 +0000 +diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c +index 78ec298..fce68cf 100644 +--- a/net/ipv4/af_inet.c ++++ b/net/ipv4/af_inet.c @@ -118,6 +118,7 @@ #ifdef CONFIG_IP_MROUTE #include <linux/mroute.h> @@ -24460,7 +24905,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net err = -EAFNOSUPPORT; if (!inet_netns_ok(net, protocol)) goto out_rcu_unlock; -@@ -459,6 +464,7 @@ int inet_bind(struct socket *sock, struc +@@ -459,6 +464,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) struct sockaddr_in *addr = (struct sockaddr_in *)uaddr; struct sock *sk = sock->sk; struct inet_sock *inet = inet_sk(sk); @@ -24468,7 +24913,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net unsigned short snum; int chk_addr_ret; int err; -@@ -482,7 +488,11 @@ int inet_bind(struct socket *sock, struc +@@ -482,7 +488,11 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) goto out; } @@ -24481,7 +24926,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net /* Not specified by any standard per-se, however it breaks too * many applications when removed. It is unfortunate since -@@ -494,7 +504,7 @@ int inet_bind(struct socket *sock, struc +@@ -494,7 +504,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) err = -EADDRNOTAVAIL; if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && @@ -24490,7 +24935,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net chk_addr_ret != RTN_LOCAL && chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST) -@@ -519,7 +529,7 @@ int inet_bind(struct socket *sock, struc +@@ -519,7 +529,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) if (sk->sk_state != TCP_CLOSE || inet->inet_num) goto out_release_sock; @@ -24499,7 +24944,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) inet->inet_saddr = 0; /* Use device */ -@@ -722,11 +732,13 @@ int inet_getname(struct socket *sock, st +@@ -722,11 +732,13 @@ int inet_getname(struct socket *sock, struct sockaddr *uaddr, peer == 1)) return -ENOTCONN; sin->sin_port = inet->inet_dport; @@ -24514,10 +24959,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/af_inet.c linux-3.4.48-vs2.3.3.9/net sin->sin_port = inet->inet_sport; sin->sin_addr.s_addr = addr; } -diff -NurpP --minimal linux-3.4.48/net/ipv4/arp.c linux-3.4.48-vs2.3.3.9/net/ipv4/arp.c ---- linux-3.4.48/net/ipv4/arp.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/arp.c 2012-05-21 16:15:05.000000000 +0000 -@@ -1328,6 +1328,7 @@ static void arp_format_neigh_entry(struc +diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c +index 18d9b81..d45cd32 100644 +--- a/net/ipv4/arp.c ++++ b/net/ipv4/arp.c +@@ -1328,6 +1328,7 @@ static void arp_format_neigh_entry(struct seq_file *seq, struct net_device *dev = n->dev; int hatype = dev->type; @@ -24525,7 +24971,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/arp.c linux-3.4.48-vs2.3.3.9/net/ipv read_lock(&n->lock); /* Convert hardware address to XX:XX:XX:XX ... form. */ #if IS_ENABLED(CONFIG_AX25) -@@ -1359,6 +1360,7 @@ static void arp_format_pneigh_entry(stru +@@ -1359,6 +1360,7 @@ static void arp_format_pneigh_entry(struct seq_file *seq, int hatype = dev ? dev->type : 0; char tbuf[16]; @@ -24533,10 +24979,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/arp.c linux-3.4.48-vs2.3.3.9/net/ipv sprintf(tbuf, "%pI4", n->key); seq_printf(seq, "%-16s 0x%-10x0x%-10x%s * %s\n", tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00", -diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net/ipv4/devinet.c ---- linux-3.4.48/net/ipv4/devinet.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/devinet.c 2012-05-21 16:15:05.000000000 +0000 -@@ -517,6 +517,7 @@ struct in_device *inetdev_by_index(struc +diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c +index 6e447ff..3c0d332 100644 +--- a/net/ipv4/devinet.c ++++ b/net/ipv4/devinet.c +@@ -517,6 +517,7 @@ struct in_device *inetdev_by_index(struct net *net, int ifindex) } EXPORT_SYMBOL(inetdev_by_index); @@ -24544,7 +24991,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net /* Called only from RTNL semaphored context. No locks. */ struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, -@@ -758,6 +759,8 @@ int devinet_ioctl(struct net *net, unsig +@@ -758,6 +759,8 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg) in_dev = __in_dev_get_rtnl(dev); if (in_dev) { @@ -24553,7 +25000,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net if (tryaddrmatch) { /* Matthias Andree */ /* compare label and address (4.4BSD style) */ -@@ -766,6 +769,8 @@ int devinet_ioctl(struct net *net, unsig +@@ -766,6 +769,8 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg) This is checked above. */ for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; ifap = &ifa->ifa_next) { @@ -24562,7 +25009,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net if (!strcmp(ifr.ifr_name, ifa->ifa_label) && sin_orig.sin_addr.s_addr == ifa->ifa_local) { -@@ -778,9 +783,12 @@ int devinet_ioctl(struct net *net, unsig +@@ -778,9 +783,12 @@ int devinet_ioctl(struct net *net, unsigned int cmd, void __user *arg) comparing just the label */ if (!ifa) { for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; @@ -24576,7 +25023,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net } } -@@ -933,6 +941,8 @@ static int inet_gifconf(struct net_devic +@@ -933,6 +941,8 @@ static int inet_gifconf(struct net_device *dev, char __user *buf, int len) goto out; for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { @@ -24585,7 +25032,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net if (!buf) { done += sizeof(ifr); continue; -@@ -1294,6 +1304,7 @@ static int inet_dump_ifaddr(struct sk_bu +@@ -1294,6 +1304,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) struct net_device *dev; struct in_device *in_dev; struct in_ifaddr *ifa; @@ -24593,7 +25040,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net struct hlist_head *head; struct hlist_node *node; -@@ -1316,6 +1327,8 @@ static int inet_dump_ifaddr(struct sk_bu +@@ -1316,6 +1327,8 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; ifa = ifa->ifa_next, ip_idx++) { @@ -24602,10 +25049,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/devinet.c linux-3.4.48-vs2.3.3.9/net if (ip_idx < s_ip_idx) continue; if (inet_fill_ifaddr(skb, ifa, -diff -NurpP --minimal linux-3.4.48/net/ipv4/fib_trie.c linux-3.4.48-vs2.3.3.9/net/ipv4/fib_trie.c ---- linux-3.4.48/net/ipv4/fib_trie.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/fib_trie.c 2012-05-21 16:15:05.000000000 +0000 -@@ -2556,6 +2556,7 @@ static int fib_route_seq_show(struct seq +diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c +index 30b88d7..f26a2d1 100644 +--- a/net/ipv4/fib_trie.c ++++ b/net/ipv4/fib_trie.c +@@ -2556,6 +2556,7 @@ static int fib_route_seq_show(struct seq_file *seq, void *v) || fa->fa_type == RTN_MULTICAST) continue; @@ -24613,10 +25061,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/fib_trie.c linux-3.4.48-vs2.3.3.9/ne if (fi) seq_printf(seq, "%s\t%08X\t%08X\t%04X\t%d\t%u\t" -diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_connection_sock.c linux-3.4.48-vs2.3.3.9/net/ipv4/inet_connection_sock.c ---- linux-3.4.48/net/ipv4/inet_connection_sock.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/inet_connection_sock.c 2013-01-16 00:15:57.000000000 +0000 -@@ -52,6 +52,37 @@ void inet_get_local_port_range(int *low, +diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c +index 3f40432..aa64692 100644 +--- a/net/ipv4/inet_connection_sock.c ++++ b/net/ipv4/inet_connection_sock.c +@@ -52,6 +52,37 @@ void inet_get_local_port_range(int *low, int *high) } EXPORT_SYMBOL(inet_get_local_port_range); @@ -24654,7 +25103,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_connection_sock.c linux-3.4.48- int inet_csk_bind_conflict(const struct sock *sk, const struct inet_bind_bucket *tb) { -@@ -74,9 +105,7 @@ int inet_csk_bind_conflict(const struct +@@ -74,9 +105,7 @@ int inet_csk_bind_conflict(const struct sock *sk, sk->sk_bound_dev_if == sk2->sk_bound_dev_if)) { if (!reuse || !sk2->sk_reuse || sk2->sk_state == TCP_LISTEN) { @@ -24665,9 +25114,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_connection_sock.c linux-3.4.48- break; } } -diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/net/ipv4/inet_diag.c ---- linux-3.4.48/net/ipv4/inet_diag.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/inet_diag.c 2013-01-16 00:18:21.000000000 +0000 +diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c +index d7b862a..cac6ffa 100644 +--- a/net/ipv4/inet_diag.c ++++ b/net/ipv4/inet_diag.c @@ -31,6 +31,8 @@ #include <linux/inet.h> @@ -24677,7 +25127,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n #include <linux/inet_diag.h> #include <linux/sock_diag.h> -@@ -110,8 +112,10 @@ int inet_sk_diag_fill(struct sock *sk, s +@@ -110,8 +112,10 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, r->id.idiag_sport = inet->inet_sport; r->id.idiag_dport = inet->inet_dport; @@ -24690,7 +25140,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n /* IPv6 dual-stack sockets use inet->tos for IPv4 connections, * hence this needs to be included regardless of socket family. -@@ -231,8 +235,8 @@ static int inet_twsk_diag_fill(struct in +@@ -231,8 +235,8 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw, sock_diag_save_cookie(tw, r->id.idiag_cookie); r->id.idiag_sport = tw->tw_sport; r->id.idiag_dport = tw->tw_dport; @@ -24701,7 +25151,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n r->idiag_state = tw->tw_substate; r->idiag_timer = 3; r->idiag_expires = DIV_ROUND_UP(tmo * 1000, HZ); -@@ -276,12 +280,14 @@ int inet_diag_dump_one_icsk(struct inet_ +@@ -276,12 +280,14 @@ int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *in_s err = -EINVAL; if (req->sdiag_family == AF_INET) { @@ -24716,7 +25166,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n sk = inet6_lookup(&init_net, hashinfo, (struct in6_addr *)req->id.idiag_dst, req->id.idiag_dport, -@@ -482,6 +488,7 @@ int inet_diag_bc_sk(const struct nlattr +@@ -482,6 +488,7 @@ int inet_diag_bc_sk(const struct nlattr *bc, struct sock *sk) } else #endif { @@ -24724,7 +25174,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n entry.saddr = &inet->inet_rcv_saddr; entry.daddr = &inet->inet_daddr; } -@@ -639,6 +646,7 @@ static int inet_twsk_diag_dump(struct in +@@ -639,6 +646,7 @@ static int inet_twsk_diag_dump(struct inet_timewait_sock *tw, } else #endif { @@ -24732,7 +25182,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n entry.saddr = &tw->tw_rcv_saddr; entry.daddr = &tw->tw_daddr; } -@@ -714,8 +722,8 @@ static int inet_diag_fill_req(struct sk_ +@@ -714,8 +722,8 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk, r->id.idiag_sport = inet->inet_sport; r->id.idiag_dport = ireq->rmt_port; @@ -24743,7 +25193,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n r->idiag_expires = jiffies_to_msecs(tmo); r->idiag_rqueue = 0; r->idiag_wqueue = 0; -@@ -784,6 +792,7 @@ static int inet_diag_dump_reqs(struct sk +@@ -784,6 +792,7 @@ static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk, continue; if (bc) { @@ -24751,7 +25201,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n inet_diag_req_addrs(sk, req, &entry); entry.dport = ntohs(ireq->rmt_port); -@@ -834,6 +843,8 @@ void inet_diag_dump_icsk(struct inet_has +@@ -834,6 +843,8 @@ void inet_diag_dump_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *skb, sk_nulls_for_each(sk, node, &ilb->head) { struct inet_sock *inet = inet_sk(sk); @@ -24778,9 +25228,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_diag.c linux-3.4.48-vs2.3.3.9/n if (num < s_num) goto next_dying; if (r->sdiag_family != AF_UNSPEC && -diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_hashtables.c linux-3.4.48-vs2.3.3.9/net/ipv4/inet_hashtables.c ---- linux-3.4.48/net/ipv4/inet_hashtables.c 2011-10-24 16:45:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/inet_hashtables.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c +index 984ec65..2dc65a1 100644 +--- a/net/ipv4/inet_hashtables.c ++++ b/net/ipv4/inet_hashtables.c @@ -22,6 +22,7 @@ #include <net/inet_connection_sock.h> #include <net/inet_hashtables.h> @@ -24789,7 +25240,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_hashtables.c linux-3.4.48-vs2.3 #include <net/ip.h> /* -@@ -156,6 +157,11 @@ static inline int compute_score(struct s +@@ -156,6 +157,11 @@ static inline int compute_score(struct sock *sk, struct net *net, if (rcv_saddr != daddr) return -1; score += 2; @@ -24801,7 +25252,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_hashtables.c linux-3.4.48-vs2.3 } if (sk->sk_bound_dev_if) { if (sk->sk_bound_dev_if != dif) -@@ -173,7 +179,6 @@ static inline int compute_score(struct s +@@ -173,7 +179,6 @@ static inline int compute_score(struct sock *sk, struct net *net, * wildcarded during the search since they can never be otherwise. */ @@ -24817,20 +25268,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/inet_hashtables.c linux-3.4.48-vs2.3 /* * if the nulls value we got at the end of this lookup is * not the expected one, we must restart lookup. -diff -NurpP --minimal linux-3.4.48/net/ipv4/netfilter/nf_nat_helper.c linux-3.4.48-vs2.3.3.9/net/ipv4/netfilter/nf_nat_helper.c ---- linux-3.4.48/net/ipv4/netfilter/nf_nat_helper.c 2012-03-19 18:47:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/netfilter/nf_nat_helper.c 2012-05-21 16:15:05.000000000 +0000 -@@ -20,6 +20,7 @@ - #include <net/route.h> - - #include <linux/netfilter_ipv4.h> -+#include <net/route.h> - #include <net/netfilter/nf_conntrack.h> - #include <net/netfilter/nf_conntrack_helper.h> - #include <net/netfilter/nf_conntrack_ecache.h> -diff -NurpP --minimal linux-3.4.48/net/ipv4/netfilter.c linux-3.4.48-vs2.3.3.9/net/ipv4/netfilter.c ---- linux-3.4.48/net/ipv4/netfilter.c 2012-01-09 15:15:03.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/netfilter.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv4/netfilter.c b/net/ipv4/netfilter.c +index 4f47e06..aec869b 100644 +--- a/net/ipv4/netfilter.c ++++ b/net/ipv4/netfilter.c @@ -6,7 +6,7 @@ #include <linux/skbuff.h> #include <linux/gfp.h> @@ -24840,10 +25281,23 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/netfilter.c linux-3.4.48-vs2.3.3.9/n #include <net/xfrm.h> #include <net/ip.h> #include <net/netfilter/nf_queue.h> -diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv4/raw.c ---- linux-3.4.48/net/ipv4/raw.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/raw.c 2012-10-22 13:09:53.000000000 +0000 -@@ -118,7 +118,7 @@ static struct sock *__raw_v4_lookup(stru +diff --git a/net/ipv4/netfilter/nf_nat_helper.c b/net/ipv4/netfilter/nf_nat_helper.c +index af65958..34b8007 100644 +--- a/net/ipv4/netfilter/nf_nat_helper.c ++++ b/net/ipv4/netfilter/nf_nat_helper.c +@@ -20,6 +20,7 @@ + #include <net/route.h> + + #include <linux/netfilter_ipv4.h> ++#include <net/route.h> + #include <net/netfilter/nf_conntrack.h> + #include <net/netfilter/nf_conntrack_helper.h> + #include <net/netfilter/nf_conntrack_ecache.h> +diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c +index 2fe0dc2..d91443e 100644 +--- a/net/ipv4/raw.c ++++ b/net/ipv4/raw.c +@@ -118,7 +118,7 @@ static struct sock *__raw_v4_lookup(struct net *net, struct sock *sk, if (net_eq(sock_net(sk), net) && inet->inet_num == num && !(inet->inet_daddr && inet->inet_daddr != raddr) && @@ -24852,7 +25306,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv !(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif)) goto found; /* gotcha */ } -@@ -392,6 +392,12 @@ static int raw_send_hdrinc(struct sock * +@@ -392,6 +392,12 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4, icmp_out_count(net, ((struct icmphdr *) skb_transport_header(skb))->type); @@ -24865,7 +25319,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL, rt->dst.dev, dst_output); if (err > 0) -@@ -577,6 +583,16 @@ static int raw_sendmsg(struct kiocb *ioc +@@ -577,6 +583,16 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, goto done; } @@ -24882,7 +25336,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv security_sk_classify_flow(sk, flowi4_to_flowi(&fl4)); rt = ip_route_output_flow(sock_net(sk), &fl4, sk); if (IS_ERR(rt)) { -@@ -653,17 +669,19 @@ static int raw_bind(struct sock *sk, str +@@ -653,17 +669,19 @@ static int raw_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) { struct inet_sock *inet = inet_sk(sk); struct sockaddr_in *addr = (struct sockaddr_in *) uaddr; @@ -24905,7 +25359,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) inet->inet_saddr = 0; /* Use device */ sk_dst_reset(sk); -@@ -715,7 +733,8 @@ static int raw_recvmsg(struct kiocb *ioc +@@ -715,7 +733,8 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, /* Copy the address. */ if (sin) { sin->sin_family = AF_INET; @@ -24915,7 +25369,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv sin->sin_port = 0; memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); } -@@ -911,7 +930,8 @@ static struct sock *raw_get_first(struct +@@ -911,7 +930,8 @@ static struct sock *raw_get_first(struct seq_file *seq) struct hlist_node *node; sk_for_each(sk, node, &state->h->ht[state->bucket]) @@ -24925,7 +25379,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv goto found; } sk = NULL; -@@ -927,7 +947,8 @@ static struct sock *raw_get_next(struct +@@ -927,7 +947,8 @@ static struct sock *raw_get_next(struct seq_file *seq, struct sock *sk) sk = sk_next(sk); try_again: ; @@ -24935,10 +25389,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/raw.c linux-3.4.48-vs2.3.3.9/net/ipv if (!sk && ++state->bucket < RAW_HTABLE_SIZE) { sk = sk_head(&state->h->ht[state->bucket]); -diff -NurpP --minimal linux-3.4.48/net/ipv4/route.c linux-3.4.48-vs2.3.3.9/net/ipv4/route.c ---- linux-3.4.48/net/ipv4/route.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/route.c 2012-05-21 16:15:05.000000000 +0000 -@@ -2696,7 +2696,7 @@ static struct rtable *ip_route_output_sl +diff --git a/net/ipv4/route.c b/net/ipv4/route.c +index 167ea10..747208b 100644 +--- a/net/ipv4/route.c ++++ b/net/ipv4/route.c +@@ -2696,7 +2696,7 @@ static struct rtable *ip_route_output_slow(struct net *net, struct flowi4 *fl4) if (fl4->flowi4_oif) { @@ -24947,9 +25402,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/route.c linux-3.4.48-vs2.3.3.9/net/i rth = ERR_PTR(-ENODEV); if (dev_out == NULL) goto out; -diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp.c linux-3.4.48-vs2.3.3.9/net/ipv4/tcp.c ---- linux-3.4.48/net/ipv4/tcp.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/tcp.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c +index 0b91c30..e3a3044 100644 +--- a/net/ipv4/tcp.c ++++ b/net/ipv4/tcp.c @@ -268,6 +268,7 @@ #include <linux/crypto.h> #include <linux/time.h> @@ -24958,10 +25414,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp.c linux-3.4.48-vs2.3.3.9/net/ipv #include <net/icmp.h> #include <net/tcp.h> -diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/net/ipv4/tcp_ipv4.c ---- linux-3.4.48/net/ipv4/tcp_ipv4.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/tcp_ipv4.c 2013-01-16 00:15:57.000000000 +0000 -@@ -2037,6 +2037,12 @@ static void *listening_get_next(struct s +diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c +index ae03b7b..7621ce0 100644 +--- a/net/ipv4/tcp_ipv4.c ++++ b/net/ipv4/tcp_ipv4.c +@@ -2037,6 +2037,12 @@ static void *listening_get_next(struct seq_file *seq, void *cur) req = req->dl_next; while (1) { while (req) { @@ -24985,7 +25442,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne if (!net_eq(sock_net(sk), net)) continue; if (sk->sk_family == st->family) { -@@ -2137,6 +2147,11 @@ static void *established_get_first(struc +@@ -2137,6 +2147,11 @@ static void *established_get_first(struct seq_file *seq) spin_lock_bh(lock); sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) { @@ -24997,7 +25454,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne if (sk->sk_family != st->family || !net_eq(sock_net(sk), net)) { continue; -@@ -2147,6 +2162,11 @@ static void *established_get_first(struc +@@ -2147,6 +2162,11 @@ static void *established_get_first(struct seq_file *seq) st->state = TCP_SEQ_STATE_TIME_WAIT; inet_twsk_for_each(tw, node, &tcp_hashinfo.ehash[st->bucket].twchain) { @@ -25009,7 +25466,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne if (tw->tw_family != st->family || !net_eq(twsk_net(tw), net)) { continue; -@@ -2176,7 +2196,9 @@ static void *established_get_next(struct +@@ -2176,7 +2196,9 @@ static void *established_get_next(struct seq_file *seq, void *cur) tw = cur; tw = tw_next(tw); get_tw: @@ -25032,7 +25489,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne if (sk->sk_family == st->family && net_eq(sock_net(sk), net)) goto found; } -@@ -2405,9 +2432,9 @@ static void get_openreq4(const struct so +@@ -2405,9 +2432,9 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req, seq_printf(f, "%4d: %08X:%04X %08X:%04X" " %02X %08X:%08X %02X:%08lX %08X %5d %8d %u %d %pK%n", i, @@ -25044,7 +25501,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne ntohs(ireq->rmt_port), TCP_SYN_RECV, 0, 0, /* could print option size, but that is af dependent. */ -@@ -2429,8 +2456,8 @@ static void get_tcp4_sock(struct sock *s +@@ -2429,8 +2456,8 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len) const struct tcp_sock *tp = tcp_sk(sk); const struct inet_connection_sock *icsk = inet_csk(sk); const struct inet_sock *inet = inet_sk(sk); @@ -25055,7 +25512,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne __u16 destp = ntohs(inet->inet_dport); __u16 srcp = ntohs(inet->inet_sport); int rx_queue; -@@ -2487,8 +2514,8 @@ static void get_timewait4_sock(const str +@@ -2487,8 +2514,8 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw, if (ttd < 0) ttd = 0; @@ -25066,9 +25523,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_ipv4.c linux-3.4.48-vs2.3.3.9/ne destp = ntohs(tw->tw_dport); srcp = ntohs(tw->tw_sport); -diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_minisocks.c linux-3.4.48-vs2.3.3.9/net/ipv4/tcp_minisocks.c ---- linux-3.4.48/net/ipv4/tcp_minisocks.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/tcp_minisocks.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c +index 3cabafb..3a13a16 100644 +--- a/net/ipv4/tcp_minisocks.c ++++ b/net/ipv4/tcp_minisocks.c @@ -23,6 +23,9 @@ #include <linux/slab.h> #include <linux/sysctl.h> @@ -25079,7 +25537,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_minisocks.c linux-3.4.48-vs2.3.3 #include <net/tcp.h> #include <net/inet_common.h> #include <net/xfrm.h> -@@ -336,6 +339,11 @@ void tcp_time_wait(struct sock *sk, int +@@ -336,6 +339,11 @@ void tcp_time_wait(struct sock *sk, int state, int timeo) tcptw->tw_ts_recent = tp->rx_opt.ts_recent; tcptw->tw_ts_recent_stamp = tp->rx_opt.ts_recent_stamp; @@ -25091,9 +25549,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/tcp_minisocks.c linux-3.4.48-vs2.3.3 #if IS_ENABLED(CONFIG_IPV6) if (tw->tw_family == PF_INET6) { struct ipv6_pinfo *np = inet6_sk(sk); -diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv4/udp.c ---- linux-3.4.48/net/ipv4/udp.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv4/udp.c 2012-06-28 14:45:36.000000000 +0000 +diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c +index 0b6136d..63eb580 100644 +--- a/net/ipv4/udp.c ++++ b/net/ipv4/udp.c @@ -298,14 +298,7 @@ fail: } EXPORT_SYMBOL(udp_lib_get_port); @@ -25110,7 +25569,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv static unsigned int udp4_portaddr_hash(struct net *net, __be32 saddr, unsigned int port) -@@ -340,6 +333,11 @@ static inline int compute_score(struct s +@@ -340,6 +333,11 @@ static inline int compute_score(struct sock *sk, struct net *net, __be32 saddr, if (inet->inet_rcv_saddr != daddr) return -1; score += 2; @@ -25158,7 +25617,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv rcu_read_unlock(); return result; } -@@ -553,8 +559,7 @@ static inline struct sock *udp_v4_mcast_ +@@ -553,8 +559,7 @@ static inline struct sock *udp_v4_mcast_next(struct net *net, struct sock *sk, udp_sk(s)->udp_port_hash != hnum || (inet->inet_daddr && inet->inet_daddr != rmt_addr) || (inet->inet_dport != rmt_port && inet->inet_dport) || @@ -25168,7 +25627,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv ipv6_only_sock(s) || (s->sk_bound_dev_if && s->sk_bound_dev_if != dif)) continue; -@@ -933,6 +938,16 @@ int udp_sendmsg(struct kiocb *iocb, stru +@@ -934,6 +939,16 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, inet_sk_flowi_flags(sk)|FLOWI_FLAG_CAN_SLEEP, faddr, saddr, dport, inet->inet_sport); @@ -25185,7 +25644,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv security_sk_classify_flow(sk, flowi4_to_flowi(fl4)); rt = ip_route_output_flow(net, fl4, sk); if (IS_ERR(rt)) { -@@ -1231,7 +1246,8 @@ try_again: +@@ -1232,7 +1247,8 @@ try_again: if (sin) { sin->sin_family = AF_INET; sin->sin_port = udp_hdr(skb)->source; @@ -25195,7 +25654,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv memset(sin->sin_zero, 0, sizeof(sin->sin_zero)); } if (inet->cmsg_flags) -@@ -1970,6 +1986,8 @@ static struct sock *udp_get_first(struct +@@ -1971,6 +1987,8 @@ static struct sock *udp_get_first(struct seq_file *seq, int start) sk_nulls_for_each(sk, node, &hslot->head) { if (!net_eq(sock_net(sk), net)) continue; @@ -25204,7 +25663,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv if (sk->sk_family == state->family) goto found; } -@@ -1987,7 +2005,9 @@ static struct sock *udp_get_next(struct +@@ -1988,7 +2006,9 @@ static struct sock *udp_get_next(struct seq_file *seq, struct sock *sk) do { sk = sk_nulls_next(sk); @@ -25215,7 +25674,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv if (!sk) { if (state->bucket <= state->udp_table->mask) -@@ -2083,8 +2103,8 @@ static void udp4_format_sock(struct sock +@@ -2084,8 +2104,8 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f, int bucket, int *len) { struct inet_sock *inet = inet_sk(sp); @@ -25226,9 +25685,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv4/udp.c linux-3.4.48-vs2.3.3.9/net/ipv __u16 destp = ntohs(inet->inet_dport); __u16 srcp = ntohs(inet->inet_sport); -diff -NurpP --minimal linux-3.4.48/net/ipv6/Kconfig linux-3.4.48-vs2.3.3.9/net/ipv6/Kconfig ---- linux-3.4.48/net/ipv6/Kconfig 2010-08-02 14:52:59.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/Kconfig 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig +index 36d7437..05f84bc 100644 +--- a/net/ipv6/Kconfig ++++ b/net/ipv6/Kconfig @@ -4,8 +4,8 @@ # IPv6 as module will cause a CRASH if you try to unload it @@ -25240,9 +25700,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/Kconfig linux-3.4.48-vs2.3.3.9/net/i ---help--- This is complemental support for the IP version 6. You will still be able to do traditional IPv4 networking as well. -diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/net/ipv6/addrconf.c ---- linux-3.4.48/net/ipv6/addrconf.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/addrconf.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c +index d427f1b..a465a6e 100644 +--- a/net/ipv6/addrconf.c ++++ b/net/ipv6/addrconf.c @@ -88,6 +88,8 @@ #include <linux/proc_fs.h> #include <linux/seq_file.h> @@ -25261,7 +25722,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne { struct ipv6_saddr_score scores[2], *score = &scores[0], *hiscore = &scores[1]; -@@ -1180,6 +1182,8 @@ int ipv6_dev_get_saddr(struct net *net, +@@ -1180,6 +1182,8 @@ int ipv6_dev_get_saddr(struct net *net, struct net_device *dst_dev, dev->name); continue; } @@ -25270,7 +25731,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne score->rule = -1; bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX); -@@ -3166,7 +3170,10 @@ static void if6_seq_stop(struct seq_file +@@ -3206,7 +3210,10 @@ static void if6_seq_stop(struct seq_file *seq, void *v) static int if6_seq_show(struct seq_file *seq, void *v) { struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v; @@ -25282,7 +25743,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne &ifp->addr, ifp->idev->dev->ifindex, ifp->prefix_len, -@@ -3672,6 +3679,11 @@ static int in6_dump_addrs(struct inet6_d +@@ -3712,6 +3719,11 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb, struct ifacaddr6 *ifaca; int err = 1; int ip_idx = *p_ip_idx; @@ -25294,7 +25755,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne read_lock_bh(&idev->lock); switch (type) { -@@ -3682,6 +3694,8 @@ static int in6_dump_addrs(struct inet6_d +@@ -3722,6 +3734,8 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb, list_for_each_entry(ifa, &idev->addr_list, if_list) { if (++ip_idx < s_ip_idx) continue; @@ -25303,7 +25764,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne err = inet6_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, -@@ -3698,6 +3712,8 @@ static int in6_dump_addrs(struct inet6_d +@@ -3738,6 +3752,8 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb, ifmca = ifmca->next, ip_idx++) { if (ip_idx < s_ip_idx) continue; @@ -25312,7 +25773,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne err = inet6_fill_ifmcaddr(skb, ifmca, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, -@@ -3713,6 +3729,8 @@ static int in6_dump_addrs(struct inet6_d +@@ -3753,6 +3769,8 @@ static int in6_dump_addrs(struct inet6_dev *idev, struct sk_buff *skb, ifaca = ifaca->aca_next, ip_idx++) { if (ip_idx < s_ip_idx) continue; @@ -25321,7 +25782,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne err = inet6_fill_ifacaddr(skb, ifaca, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, -@@ -4098,6 +4116,11 @@ static int inet6_dump_ifinfo(struct sk_b +@@ -4138,6 +4156,11 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) struct inet6_dev *idev; struct hlist_head *head; struct hlist_node *node; @@ -25333,7 +25794,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne s_h = cb->args[0]; s_idx = cb->args[1]; -@@ -4109,6 +4132,8 @@ static int inet6_dump_ifinfo(struct sk_b +@@ -4149,6 +4172,8 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) hlist_for_each_entry_rcu(dev, node, head, index_hlist) { if (idx < s_idx) goto cont; @@ -25342,9 +25803,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/addrconf.c linux-3.4.48-vs2.3.3.9/ne idev = __in6_dev_get(dev); if (!idev) goto cont; -diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/net/ipv6/af_inet6.c ---- linux-3.4.48/net/ipv6/af_inet6.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/af_inet6.c 2012-09-01 09:15:04.000000000 +0000 +diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c +index 8ed1b93..716c4c5 100644 +--- a/net/ipv6/af_inet6.c ++++ b/net/ipv6/af_inet6.c @@ -42,6 +42,8 @@ #include <linux/netdevice.h> #include <linux/icmpv6.h> @@ -25368,7 +25830,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne sock->ops = answer->ops; answer_prot = answer->prot; answer_no_check = answer->no_check; -@@ -261,6 +266,7 @@ int inet6_bind(struct socket *sock, stru +@@ -261,6 +266,7 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) struct inet_sock *inet = inet_sk(sk); struct ipv6_pinfo *np = inet6_sk(sk); struct net *net = sock_net(sk); @@ -25376,7 +25838,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne __be32 v4addr = 0; unsigned short snum; int addr_type = 0; -@@ -276,6 +282,10 @@ int inet6_bind(struct socket *sock, stru +@@ -276,6 +282,10 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) if (addr->sin6_family != AF_INET6) return -EAFNOSUPPORT; @@ -25387,7 +25849,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne addr_type = ipv6_addr_type(&addr->sin6_addr); if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM) return -EINVAL; -@@ -307,6 +317,7 @@ int inet6_bind(struct socket *sock, stru +@@ -307,6 +317,7 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) /* Reproduce AF_INET checks to make the bindings consistent */ v4addr = addr->sin6_addr.s6_addr32[3]; chk_addr_ret = inet_addr_type(net, v4addr); @@ -25395,7 +25857,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne if (!sysctl_ip_nonlocal_bind && !(inet->freebind || inet->transparent) && v4addr != htonl(INADDR_ANY) && -@@ -316,6 +327,10 @@ int inet6_bind(struct socket *sock, stru +@@ -316,6 +327,10 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) err = -EADDRNOTAVAIL; goto out; } @@ -25406,7 +25868,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne } else { if (addr_type != IPV6_ADDR_ANY) { struct net_device *dev = NULL; -@@ -342,6 +357,11 @@ int inet6_bind(struct socket *sock, stru +@@ -342,6 +357,11 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) } } @@ -25418,7 +25880,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne /* ipv4 addr of the socket is invalid. Only the * unspecified and mapped address have a v4 equivalent. */ -@@ -358,6 +378,9 @@ int inet6_bind(struct socket *sock, stru +@@ -358,6 +378,9 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) } } @@ -25428,7 +25890,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne inet->inet_rcv_saddr = v4addr; inet->inet_saddr = v4addr; -@@ -459,9 +482,11 @@ int inet6_getname(struct socket *sock, s +@@ -459,9 +482,11 @@ int inet6_getname(struct socket *sock, struct sockaddr *uaddr, return -ENOTCONN; sin->sin6_port = inet->inet_dport; sin->sin6_addr = np->daddr; @@ -25440,10 +25902,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/af_inet6.c linux-3.4.48-vs2.3.3.9/ne if (ipv6_addr_any(&np->rcv_saddr)) sin->sin6_addr = np->saddr; else -diff -NurpP --minimal linux-3.4.48/net/ipv6/datagram.c linux-3.4.48-vs2.3.3.9/net/ipv6/datagram.c ---- linux-3.4.48/net/ipv6/datagram.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/datagram.c 2012-05-21 16:15:05.000000000 +0000 -@@ -642,7 +642,7 @@ int datagram_send_ctl(struct net *net, s +diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c +index 76832c8..8e26750 100644 +--- a/net/ipv6/datagram.c ++++ b/net/ipv6/datagram.c +@@ -642,7 +642,7 @@ int datagram_send_ctl(struct net *net, struct sock *sk, rcu_read_lock(); if (fl6->flowi6_oif) { @@ -25452,10 +25915,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/datagram.c linux-3.4.48-vs2.3.3.9/ne if (!dev) { rcu_read_unlock(); return -ENODEV; -diff -NurpP --minimal linux-3.4.48/net/ipv6/fib6_rules.c linux-3.4.48-vs2.3.3.9/net/ipv6/fib6_rules.c ---- linux-3.4.48/net/ipv6/fib6_rules.c 2012-03-19 18:47:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/fib6_rules.c 2012-05-21 16:15:05.000000000 +0000 -@@ -91,7 +91,7 @@ static int fib6_rule_action(struct fib_r +diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c +index b6c5731..de4b61b 100644 +--- a/net/ipv6/fib6_rules.c ++++ b/net/ipv6/fib6_rules.c +@@ -91,7 +91,7 @@ static int fib6_rule_action(struct fib_rule *rule, struct flowi *flp, ip6_dst_idev(&rt->dst)->dev, &flp6->daddr, rt6_flags2srcprefs(flags), @@ -25464,9 +25928,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/fib6_rules.c linux-3.4.48-vs2.3.3.9/ goto again; if (!ipv6_prefix_equal(&saddr, &r->src.addr, r->src.plen)) -diff -NurpP --minimal linux-3.4.48/net/ipv6/inet6_hashtables.c linux-3.4.48-vs2.3.3.9/net/ipv6/inet6_hashtables.c ---- linux-3.4.48/net/ipv6/inet6_hashtables.c 2011-10-24 16:45:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/inet6_hashtables.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c +index 73f1a00..a6196c7 100644 +--- a/net/ipv6/inet6_hashtables.c ++++ b/net/ipv6/inet6_hashtables.c @@ -16,6 +16,7 @@ #include <linux/module.h> @@ -25475,7 +25940,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/inet6_hashtables.c linux-3.4.48-vs2. #include <net/inet_connection_sock.h> #include <net/inet_hashtables.h> -@@ -83,7 +84,6 @@ struct sock *__inet6_lookup_established( +@@ -83,7 +84,6 @@ struct sock *__inet6_lookup_established(struct net *net, unsigned int slot = hash & hashinfo->ehash_mask; struct inet_ehash_bucket *head = &hashinfo->ehash[slot]; @@ -25492,7 +25957,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/inet6_hashtables.c linux-3.4.48-vs2. } } if (get_nulls_value(node) != slot) -@@ -141,6 +141,9 @@ static inline int compute_score(struct s +@@ -141,6 +141,9 @@ static inline int compute_score(struct sock *sk, struct net *net, if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) return -1; score++; @@ -25502,10 +25967,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/inet6_hashtables.c linux-3.4.48-vs2. } if (sk->sk_bound_dev_if) { if (sk->sk_bound_dev_if != dif) -diff -NurpP --minimal linux-3.4.48/net/ipv6/ip6_output.c linux-3.4.48-vs2.3.3.9/net/ipv6/ip6_output.c ---- linux-3.4.48/net/ipv6/ip6_output.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/ip6_output.c 2013-02-19 14:42:56.000000000 +0000 -@@ -966,7 +966,8 @@ static int ip6_dst_lookup_tail(struct so +diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c +index d6b9d56..abc7da9 100644 +--- a/net/ipv6/ip6_output.c ++++ b/net/ipv6/ip6_output.c +@@ -972,7 +972,8 @@ static int ip6_dst_lookup_tail(struct sock *sk, struct rt6_info *rt = (struct rt6_info *) *dst; err = ip6_route_get_saddr(net, rt, &fl6->daddr, sk ? inet6_sk(sk)->srcprefs : 0, @@ -25515,10 +25981,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/ip6_output.c linux-3.4.48-vs2.3.3.9/ if (err) goto out_err_release; } -diff -NurpP --minimal linux-3.4.48/net/ipv6/ndisc.c linux-3.4.48-vs2.3.3.9/net/ipv6/ndisc.c ---- linux-3.4.48/net/ipv6/ndisc.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/ndisc.c 2012-11-18 23:52:30.000000000 +0000 -@@ -575,7 +575,7 @@ static void ndisc_send_na(struct net_dev +diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c +index 843d6eb..9196d19 100644 +--- a/net/ipv6/ndisc.c ++++ b/net/ipv6/ndisc.c +@@ -575,7 +575,7 @@ static void ndisc_send_na(struct net_device *dev, struct neighbour *neigh, } else { if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr, inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs, @@ -25527,9 +25994,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/ndisc.c linux-3.4.48-vs2.3.3.9/net/i return; src_addr = &tmpaddr; } -diff -NurpP --minimal linux-3.4.48/net/ipv6/raw.c linux-3.4.48-vs2.3.3.9/net/ipv6/raw.c ---- linux-3.4.48/net/ipv6/raw.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/raw.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c +index 3ee2870..3b549ff 100644 +--- a/net/ipv6/raw.c ++++ b/net/ipv6/raw.c @@ -30,6 +30,7 @@ #include <linux/icmpv6.h> #include <linux/netfilter.h> @@ -25538,7 +26006,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/raw.c linux-3.4.48-vs2.3.3.9/net/ipv #include <linux/skbuff.h> #include <linux/compat.h> #include <asm/uaccess.h> -@@ -284,6 +285,13 @@ static int rawv6_bind(struct sock *sk, s +@@ -284,6 +285,13 @@ static int rawv6_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) goto out_unlock; } @@ -25552,9 +26020,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/raw.c linux-3.4.48-vs2.3.3.9/net/ipv /* ipv4 addr of the socket is invalid. Only the * unspecified and mapped address have a v4 equivalent. */ -diff -NurpP --minimal linux-3.4.48/net/ipv6/route.c linux-3.4.48-vs2.3.3.9/net/ipv6/route.c ---- linux-3.4.48/net/ipv6/route.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/route.c 2013-03-30 21:29:17.000000000 +0000 +diff --git a/net/ipv6/route.c b/net/ipv6/route.c +index 016ed7c..16375c0 100644 +--- a/net/ipv6/route.c ++++ b/net/ipv6/route.c @@ -55,6 +55,7 @@ #include <net/xfrm.h> #include <net/netevent.h> @@ -25563,7 +26032,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/route.c linux-3.4.48-vs2.3.3.9/net/i #include <asm/uaccess.h> -@@ -2147,15 +2148,17 @@ int ip6_route_get_saddr(struct net *net, +@@ -2150,15 +2151,17 @@ int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, const struct in6_addr *daddr, unsigned int prefs, @@ -25584,7 +26053,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/route.c linux-3.4.48-vs2.3.3.9/net/i return err; } -@@ -2486,7 +2489,8 @@ static int rt6_fill_node(struct net *net +@@ -2489,7 +2492,8 @@ static int rt6_fill_node(struct net *net, NLA_PUT_U32(skb, RTA_IIF, iif); } else if (dst) { struct in6_addr saddr_buf; @@ -25594,7 +26063,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/route.c linux-3.4.48-vs2.3.3.9/net/i NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf); } -@@ -2713,6 +2717,7 @@ static int rt6_info_route(struct rt6_inf +@@ -2716,6 +2720,7 @@ static int rt6_info_route(struct rt6_info *rt, void *p_arg) struct seq_file *m = p_arg; struct neighbour *n; @@ -25602,9 +26071,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/route.c linux-3.4.48-vs2.3.3.9/net/i seq_printf(m, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen); #ifdef CONFIG_IPV6_SUBTREES -diff -NurpP --minimal linux-3.4.48/net/ipv6/tcp_ipv6.c linux-3.4.48-vs2.3.3.9/net/ipv6/tcp_ipv6.c ---- linux-3.4.48/net/ipv6/tcp_ipv6.c 2013-06-13 08:59:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/tcp_ipv6.c 2013-01-16 00:15:57.000000000 +0000 +diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c +index 7ee7121..4c44785 100644 +--- a/net/ipv6/tcp_ipv6.c ++++ b/net/ipv6/tcp_ipv6.c @@ -71,6 +71,7 @@ #include <linux/crypto.h> @@ -25613,7 +26083,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/tcp_ipv6.c linux-3.4.48-vs2.3.3.9/ne static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb); static void tcp_v6_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, -@@ -163,8 +164,15 @@ static int tcp_v6_connect(struct sock *s +@@ -163,8 +164,15 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, * connect() to INADDR_ANY means loopback (BSD'ism). */ @@ -25631,9 +26101,10 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/tcp_ipv6.c linux-3.4.48-vs2.3.3.9/ne addr_type = ipv6_addr_type(&usin->sin6_addr); -diff -NurpP --minimal linux-3.4.48/net/ipv6/udp.c linux-3.4.48-vs2.3.3.9/net/ipv6/udp.c ---- linux-3.4.48/net/ipv6/udp.c 2012-05-21 16:07:40.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/udp.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c +index f79bfdb..18c5ac9 100644 +--- a/net/ipv6/udp.c ++++ b/net/ipv6/udp.c @@ -45,41 +45,67 @@ #include <net/tcp_states.h> #include <net/ip6_checksum.h> @@ -25715,7 +26186,7 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/udp.c linux-3.4.48-vs2.3.3.9/net/ipv } static unsigned int udp6_portaddr_hash(struct net *net, -@@ -143,6 +169,10 @@ static inline int compute_score(struct s +@@ -143,6 +169,10 @@ static inline int compute_score(struct sock *sk, struct net *net, if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) return -1; score++; @@ -25726,10 +26197,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/udp.c linux-3.4.48-vs2.3.3.9/net/ipv } if (!ipv6_addr_any(&np->daddr)) { if (!ipv6_addr_equal(&np->daddr, saddr)) -diff -NurpP --minimal linux-3.4.48/net/ipv6/xfrm6_policy.c linux-3.4.48-vs2.3.3.9/net/ipv6/xfrm6_policy.c ---- linux-3.4.48/net/ipv6/xfrm6_policy.c 2012-03-19 18:47:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/ipv6/xfrm6_policy.c 2012-05-21 16:15:05.000000000 +0000 -@@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n +diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c +index 808fd08..b8ca90a 100644 +--- a/net/ipv6/xfrm6_policy.c ++++ b/net/ipv6/xfrm6_policy.c +@@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *net, dev = ip6_dst_idev(dst)->dev; ipv6_dev_get_saddr(dev_net(dev), dev, (struct in6_addr *)&daddr->a6, 0, @@ -25738,10 +26210,11 @@ diff -NurpP --minimal linux-3.4.48/net/ipv6/xfrm6_policy.c linux-3.4.48-vs2.3.3. dst_release(dst); return 0; } -diff -NurpP --minimal linux-3.4.48/net/netfilter/ipvs/ip_vs_xmit.c linux-3.4.48-vs2.3.3.9/net/netfilter/ipvs/ip_vs_xmit.c ---- linux-3.4.48/net/netfilter/ipvs/ip_vs_xmit.c 2012-03-19 18:47:33.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/netfilter/ipvs/ip_vs_xmit.c 2012-05-21 16:15:05.000000000 +0000 -@@ -226,7 +226,7 @@ __ip_vs_route_output_v6(struct net *net, +diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c +index 7fd66de..5674a76 100644 +--- a/net/netfilter/ipvs/ip_vs_xmit.c ++++ b/net/netfilter/ipvs/ip_vs_xmit.c +@@ -226,7 +226,7 @@ __ip_vs_route_output_v6(struct net *net, struct in6_addr *daddr, return dst; if (ipv6_addr_any(&fl6.saddr) && ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev, @@ -25750,9 +26223,10 @@ diff -NurpP --minimal linux-3.4.48/net/netfilter/ipvs/ip_vs_xmit.c linux-3.4.48- goto out_err; if (do_xfrm) { dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0); -diff -NurpP --minimal linux-3.4.48/net/netlink/af_netlink.c linux-3.4.48-vs2.3.3.9/net/netlink/af_netlink.c ---- linux-3.4.48/net/netlink/af_netlink.c 2013-06-13 08:59:42.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/netlink/af_netlink.c 2012-11-18 23:52:30.000000000 +0000 +diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c +index 9017e3e..90711f9 100644 +--- a/net/netlink/af_netlink.c ++++ b/net/netlink/af_netlink.c @@ -55,6 +55,9 @@ #include <linux/types.h> #include <linux/audit.h> @@ -25763,7 +26237,7 @@ diff -NurpP --minimal linux-3.4.48/net/netlink/af_netlink.c linux-3.4.48-vs2.3.3 #include <net/net_namespace.h> #include <net/sock.h> -@@ -1951,6 +1954,8 @@ static struct sock *netlink_seq_socket_i +@@ -1951,6 +1954,8 @@ static struct sock *netlink_seq_socket_idx(struct seq_file *seq, loff_t pos) sk_for_each(s, node, &hash->table[j]) { if (sock_net(s) != seq_file_net(seq)) continue; @@ -25772,7 +26246,7 @@ diff -NurpP --minimal linux-3.4.48/net/netlink/af_netlink.c linux-3.4.48-vs2.3.3 if (off == pos) { iter->link = i; iter->hash_idx = j; -@@ -1985,7 +1990,8 @@ static void *netlink_seq_next(struct seq +@@ -1985,7 +1990,8 @@ static void *netlink_seq_next(struct seq_file *seq, void *v, loff_t *pos) s = v; do { s = sk_next(s); @@ -25782,7 +26256,7 @@ diff -NurpP --minimal linux-3.4.48/net/netlink/af_netlink.c linux-3.4.48-vs2.3.3 if (s) return s; -@@ -1997,7 +2003,8 @@ static void *netlink_seq_next(struct seq +@@ -1997,7 +2003,8 @@ static void *netlink_seq_next(struct seq_file *seq, void *v, loff_t *pos) for (; j <= hash->mask; j++) { s = sk_head(&hash->table[j]); @@ -25792,9 +26266,10 @@ diff -NurpP --minimal linux-3.4.48/net/netlink/af_netlink.c linux-3.4.48-vs2.3.3 s = sk_next(s); if (s) { iter->link = i; -diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socket.c ---- linux-3.4.48/net/socket.c 2013-06-13 08:59:42.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/socket.c 2012-10-22 13:09:53.000000000 +0000 +diff --git a/net/socket.c b/net/socket.c +index 47ce3ea..4f0a342 100644 +--- a/net/socket.c ++++ b/net/socket.c @@ -98,6 +98,10 @@ #include <net/sock.h> @@ -25806,7 +26281,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke #include <linux/if_tun.h> #include <linux/ipv6_route.h> -@@ -551,6 +555,7 @@ static inline int __sock_sendmsg_nosec(s +@@ -551,6 +555,7 @@ static inline int __sock_sendmsg_nosec(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t size) { struct sock_iocb *si = kiocb_to_siocb(iocb); @@ -25814,7 +26289,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke sock_update_classid(sock->sk); -@@ -561,7 +566,22 @@ static inline int __sock_sendmsg_nosec(s +@@ -561,7 +566,22 @@ static inline int __sock_sendmsg_nosec(struct kiocb *iocb, struct socket *sock, si->msg = msg; si->size = size; @@ -25838,7 +26313,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke } static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock, -@@ -717,6 +737,7 @@ static inline int __sock_recvmsg_nosec(s +@@ -717,6 +737,7 @@ static inline int __sock_recvmsg_nosec(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t size, int flags) { struct sock_iocb *si = kiocb_to_siocb(iocb); @@ -25846,7 +26321,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke sock_update_classid(sock->sk); -@@ -726,7 +747,18 @@ static inline int __sock_recvmsg_nosec(s +@@ -726,7 +747,18 @@ static inline int __sock_recvmsg_nosec(struct kiocb *iocb, struct socket *sock, si->size = size; si->flags = flags; @@ -25866,7 +26341,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke } static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock, -@@ -1211,6 +1243,13 @@ int __sock_create(struct net *net, int f +@@ -1211,6 +1243,13 @@ int __sock_create(struct net *net, int family, int type, int protocol, if (type < 0 || type >= SOCK_MAX) return -EINVAL; @@ -25880,7 +26355,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke /* Compatibility. This uglymoron is moved from INET layer to here to avoid -@@ -1346,6 +1385,7 @@ SYSCALL_DEFINE3(socket, int, family, int +@@ -1346,6 +1385,7 @@ SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol) if (retval < 0) goto out; @@ -25888,7 +26363,7 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); if (retval < 0) goto out_release; -@@ -1387,10 +1427,12 @@ SYSCALL_DEFINE4(socketpair, int, family, +@@ -1387,10 +1427,12 @@ SYSCALL_DEFINE4(socketpair, int, family, int, type, int, protocol, err = sock_create(family, type, protocol, &sock1); if (err < 0) goto out; @@ -25901,9 +26376,10 @@ diff -NurpP --minimal linux-3.4.48/net/socket.c linux-3.4.48-vs2.3.3.9/net/socke err = sock1->ops->socketpair(sock1, sock2); if (err < 0) -diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth.c linux-3.4.48-vs2.3.3.9/net/sunrpc/auth.c ---- linux-3.4.48/net/sunrpc/auth.c 2011-10-24 16:45:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/sunrpc/auth.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c +index 727e506..97e2387 100644 +--- a/net/sunrpc/auth.c ++++ b/net/sunrpc/auth.c @@ -14,6 +14,7 @@ #include <linux/hash.h> #include <linux/sunrpc/clnt.h> @@ -25912,7 +26388,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth.c linux-3.4.48-vs2.3.3.9/net/ #ifdef RPC_DEBUG # define RPCDBG_FACILITY RPCDBG_AUTH -@@ -427,6 +428,7 @@ rpcauth_lookupcred(struct rpc_auth *auth +@@ -427,6 +428,7 @@ rpcauth_lookupcred(struct rpc_auth *auth, int flags) memset(&acred, 0, sizeof(acred)); acred.uid = cred->fsuid; acred.gid = cred->fsgid; @@ -25920,7 +26396,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth.c linux-3.4.48-vs2.3.3.9/net/ acred.group_info = get_group_info(((struct cred *)cred)->group_info); ret = auth->au_ops->lookup_cred(auth, &acred, flags); -@@ -467,6 +469,7 @@ rpcauth_bind_root_cred(struct rpc_task * +@@ -467,6 +469,7 @@ rpcauth_bind_root_cred(struct rpc_task *task, int lookupflags) struct auth_cred acred = { .uid = 0, .gid = 0, @@ -25928,9 +26404,10 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth.c linux-3.4.48-vs2.3.3.9/net/ }; dprintk("RPC: %5u looking up %s cred\n", -diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9/net/sunrpc/auth_unix.c ---- linux-3.4.48/net/sunrpc/auth_unix.c 2012-01-09 15:15:04.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/sunrpc/auth_unix.c 2012-05-21 16:15:05.000000000 +0000 +diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c +index e50502d..f5980fc 100644 +--- a/net/sunrpc/auth_unix.c ++++ b/net/sunrpc/auth_unix.c @@ -12,12 +12,14 @@ #include <linux/module.h> #include <linux/sunrpc/clnt.h> @@ -25946,7 +26423,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9 gid_t uc_gids[NFS_NGROUPS]; }; #define uc_uid uc_base.cr_uid -@@ -78,6 +80,7 @@ unx_create_cred(struct rpc_auth *auth, s +@@ -78,6 +80,7 @@ unx_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags) groups = NFS_NGROUPS; cred->uc_gid = acred->gid; @@ -25954,7 +26431,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9 for (i = 0; i < groups; i++) cred->uc_gids[i] = GROUP_AT(acred->group_info, i); if (i < NFS_NGROUPS) -@@ -119,7 +122,9 @@ unx_match(struct auth_cred *acred, struc +@@ -119,7 +122,9 @@ unx_match(struct auth_cred *acred, struct rpc_cred *rcred, int flags) unsigned int i; @@ -25965,7 +26442,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9 return 0; if (acred->group_info != NULL) -@@ -145,7 +150,7 @@ unx_marshal(struct rpc_task *task, __be3 +@@ -145,7 +150,7 @@ unx_marshal(struct rpc_task *task, __be32 *p) struct rpc_clnt *clnt = task->tk_client; struct unx_cred *cred = container_of(task->tk_rqstp->rq_cred, struct unx_cred, uc_base); __be32 *base, *hold; @@ -25974,7 +26451,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9 *p++ = htonl(RPC_AUTH_UNIX); base = p++; -@@ -155,9 +160,12 @@ unx_marshal(struct rpc_task *task, __be3 +@@ -155,9 +160,12 @@ unx_marshal(struct rpc_task *task, __be32 *p) * Copy the UTS nodename captured when the client was created. */ p = xdr_encode_array(p, clnt->cl_nodename, clnt->cl_nodelen); @@ -25989,9 +26466,10 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/auth_unix.c linux-3.4.48-vs2.3.3.9 hold = p++; for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++) *p++ = htonl((u32) cred->uc_gids[i]); -diff -NurpP --minimal linux-3.4.48/net/sunrpc/clnt.c linux-3.4.48-vs2.3.3.9/net/sunrpc/clnt.c ---- linux-3.4.48/net/sunrpc/clnt.c 2013-06-13 08:59:42.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/sunrpc/clnt.c 2013-02-11 23:37:30.000000000 +0000 +diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c +index a28a211..1b4b069 100644 +--- a/net/sunrpc/clnt.c ++++ b/net/sunrpc/clnt.c @@ -31,6 +31,7 @@ #include <linux/in6.h> #include <linux/un.h> @@ -26000,7 +26478,7 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/clnt.c linux-3.4.48-vs2.3.3.9/net/ #include <linux/sunrpc/clnt.h> #include <linux/sunrpc/rpc_pipe_fs.h> -@@ -483,6 +484,9 @@ struct rpc_clnt *rpc_create(struct rpc_c +@@ -483,6 +484,9 @@ struct rpc_clnt *rpc_create(struct rpc_create_args *args) if (!(args->flags & RPC_CLNT_CREATE_QUIET)) clnt->cl_chatty = 1; @@ -26010,9 +26488,10 @@ diff -NurpP --minimal linux-3.4.48/net/sunrpc/clnt.c linux-3.4.48-vs2.3.3.9/net/ return clnt; } EXPORT_SYMBOL_GPL(rpc_create); -diff -NurpP --minimal linux-3.4.48/net/unix/af_unix.c linux-3.4.48-vs2.3.3.9/net/unix/af_unix.c ---- linux-3.4.48/net/unix/af_unix.c 2013-06-13 08:59:42.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/net/unix/af_unix.c 2013-06-13 09:46:39.000000000 +0000 +diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c +index c4821fd..fd70828 100644 +--- a/net/unix/af_unix.c ++++ b/net/unix/af_unix.c @@ -114,6 +114,8 @@ #include <linux/mount.h> #include <net/checksum.h> @@ -26022,7 +26501,7 @@ diff -NurpP --minimal linux-3.4.48/net/unix/af_unix.c linux-3.4.48-vs2.3.3.9/net struct hlist_head unix_socket_table[UNIX_HASH_SIZE + 1]; EXPORT_SYMBOL_GPL(unix_socket_table); -@@ -261,6 +263,8 @@ static struct sock *__unix_find_socket_b +@@ -261,6 +263,8 @@ static struct sock *__unix_find_socket_byname(struct net *net, if (!net_eq(sock_net(s), net)) continue; @@ -26031,7 +26510,7 @@ diff -NurpP --minimal linux-3.4.48/net/unix/af_unix.c linux-3.4.48-vs2.3.3.9/net if (u->addr->len == len && !memcmp(u->addr->name, sunname, len)) goto found; -@@ -2266,6 +2270,8 @@ static struct sock *unix_seq_idx(struct +@@ -2265,6 +2269,8 @@ static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos) for (s = first_unix_socket(&iter->i); s; s = next_unix_socket(&iter->i, s)) { if (sock_net(s) != seq_file_net(seq)) continue; @@ -26040,7 +26519,7 @@ diff -NurpP --minimal linux-3.4.48/net/unix/af_unix.c linux-3.4.48-vs2.3.3.9/net if (off == pos) return s; ++off; -@@ -2290,7 +2296,8 @@ static void *unix_seq_next(struct seq_fi +@@ -2289,7 +2295,8 @@ static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos) sk = first_unix_socket(&iter->i); else sk = next_unix_socket(&iter->i, sk); @@ -26050,9 +26529,10 @@ diff -NurpP --minimal linux-3.4.48/net/unix/af_unix.c linux-3.4.48-vs2.3.3.9/net sk = next_unix_socket(&iter->i, sk); return sk; } -diff -NurpP --minimal linux-3.4.48/scripts/checksyscalls.sh linux-3.4.48-vs2.3.3.9/scripts/checksyscalls.sh ---- linux-3.4.48/scripts/checksyscalls.sh 2012-03-19 18:47:34.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/scripts/checksyscalls.sh 2012-05-21 16:15:05.000000000 +0000 +diff --git a/scripts/checksyscalls.sh b/scripts/checksyscalls.sh +index d24810f..b9e7023 100755 +--- a/scripts/checksyscalls.sh ++++ b/scripts/checksyscalls.sh @@ -193,7 +193,6 @@ cat << EOF #define __IGNORE_afs_syscall #define __IGNORE_getpmsg @@ -26061,10 +26541,11 @@ diff -NurpP --minimal linux-3.4.48/scripts/checksyscalls.sh linux-3.4.48-vs2.3.3 EOF } -diff -NurpP --minimal linux-3.4.48/security/commoncap.c linux-3.4.48-vs2.3.3.9/security/commoncap.c ---- linux-3.4.48/security/commoncap.c 2012-05-21 16:07:41.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/security/commoncap.c 2012-05-21 16:15:05.000000000 +0000 -@@ -76,14 +76,20 @@ int cap_netlink_send(struct sock *sk, st +diff --git a/security/commoncap.c b/security/commoncap.c +index 71a166a..dfa0c4f 100644 +--- a/security/commoncap.c ++++ b/security/commoncap.c +@@ -76,14 +76,20 @@ int cap_netlink_send(struct sock *sk, struct sk_buff *skb) int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, int cap, int audit) { @@ -26087,7 +26568,7 @@ diff -NurpP --minimal linux-3.4.48/security/commoncap.c linux-3.4.48-vs2.3.3.9/s /* Have we tried all of the parent namespaces? */ if (targ_ns == &init_user_ns) -@@ -612,7 +618,7 @@ int cap_inode_setxattr(struct dentry *de +@@ -612,7 +618,7 @@ int cap_inode_setxattr(struct dentry *dentry, const char *name, if (!strncmp(name, XATTR_SECURITY_PREFIX, sizeof(XATTR_SECURITY_PREFIX) - 1) && @@ -26096,7 +26577,7 @@ diff -NurpP --minimal linux-3.4.48/security/commoncap.c linux-3.4.48-vs2.3.3.9/s return -EPERM; return 0; } -@@ -638,7 +644,7 @@ int cap_inode_removexattr(struct dentry +@@ -638,7 +644,7 @@ int cap_inode_removexattr(struct dentry *dentry, const char *name) if (!strncmp(name, XATTR_SECURITY_PREFIX, sizeof(XATTR_SECURITY_PREFIX) - 1) && @@ -26105,9 +26586,10 @@ diff -NurpP --minimal linux-3.4.48/security/commoncap.c linux-3.4.48-vs2.3.3.9/s return -EPERM; return 0; } -diff -NurpP --minimal linux-3.4.48/security/selinux/hooks.c linux-3.4.48-vs2.3.3.9/security/selinux/hooks.c ---- linux-3.4.48/security/selinux/hooks.c 2013-06-13 08:59:44.000000000 +0000 -+++ linux-3.4.48-vs2.3.3.9/security/selinux/hooks.c 2012-09-01 08:50:49.000000000 +0000 +diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c +index 5626222..2ac26b6 100644 +--- a/security/selinux/hooks.c ++++ b/security/selinux/hooks.c @@ -66,7 +66,6 @@ #include <linux/dccp.h> #include <linux/quota.h> |