]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- up to 3.18.7; vserver up to 3.18.5-vs2.3.7.3 (seems to be working but only slightly...
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 14 Feb 2015 23:52:08 +0000 (00:52 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Sat, 14 Feb 2015 23:52:08 +0000 (00:52 +0100)
kernel-vserver-2.3.patch
kernel-vserver-fixes.patch
kernel.spec

index 7942b7dd572cafd772a592f97c57e7562b40f68d..1f7aa6f129fec3d0bc6477a0db49aa85d2d5c4bc 100644 (file)
@@ -1,6 +1,6 @@
-diff -NurpP --minimal linux-3.13.10/Documentation/vserver/debug.txt linux-3.13.10-vs2.3.6.11/Documentation/vserver/debug.txt
---- linux-3.13.10/Documentation/vserver/debug.txt      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/Documentation/vserver/debug.txt   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/Documentation/vserver/debug.txt linux-3.18.5-vs2.3.7.3/Documentation/vserver/debug.txt
+--- linux-3.18.5/Documentation/vserver/debug.txt       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/Documentation/vserver/debug.txt     2015-01-19 10:57:45.000000000 +0000
 @@ -0,0 +1,154 @@
 +
 +debug_cvirt:
 @@ -0,0 +1,154 @@
 +
 +debug_cvirt:
@@ -156,10 +156,10 @@ diff -NurpP --minimal linux-3.13.10/Documentation/vserver/debug.txt linux-3.13.1
 + 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"
 + 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.13.10/arch/alpha/Kconfig linux-3.13.10-vs2.3.6.11/arch/alpha/Kconfig
---- linux-3.13.10/arch/alpha/Kconfig   2014-01-22 20:38:09.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/alpha/Kconfig        2014-01-31 20:38:03.000000000 +0000
-@@ -735,6 +735,8 @@ config DUMMY_CONSOLE
+diff -NurpP --minimal linux-3.18.5/arch/alpha/Kconfig linux-3.18.5-vs2.3.7.3/arch/alpha/Kconfig
+--- linux-3.18.5/arch/alpha/Kconfig    2014-06-12 13:00:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/alpha/Kconfig  2015-01-19 10:57:45.000000000 +0000
+@@ -740,6 +740,8 @@ config DUMMY_CONSOLE
        depends on VGA_HOSE
        default y
  
        depends on VGA_HOSE
        default y
  
@@ -168,9 +168,9 @@ diff -NurpP --minimal linux-3.13.10/arch/alpha/Kconfig linux-3.13.10-vs2.3.6.11/
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/alpha/kernel/systbls.S linux-3.13.10-vs2.3.6.11/arch/alpha/kernel/systbls.S
---- linux-3.13.10/arch/alpha/kernel/systbls.S  2013-11-25 15:44:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/alpha/kernel/systbls.S       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/alpha/kernel/systbls.S linux-3.18.5-vs2.3.7.3/arch/alpha/kernel/systbls.S
+--- linux-3.18.5/arch/alpha/kernel/systbls.S   2015-01-16 22:18:10.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/alpha/kernel/systbls.S 2015-01-19 10:57:45.000000000 +0000
 @@ -446,7 +446,7 @@ sys_call_table:
        .quad sys_stat64                        /* 425 */
        .quad sys_lstat64
 @@ -446,7 +446,7 @@ sys_call_table:
        .quad sys_stat64                        /* 425 */
        .quad sys_lstat64
@@ -180,9 +180,9 @@ diff -NurpP --minimal linux-3.13.10/arch/alpha/kernel/systbls.S linux-3.13.10-vs
        .quad sys_ni_syscall                    /* sys_mbind */
        .quad sys_ni_syscall                    /* sys_get_mempolicy */
        .quad sys_ni_syscall                    /* sys_set_mempolicy */
        .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.13.10/arch/alpha/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/alpha/kernel/traps.c
---- linux-3.13.10/arch/alpha/kernel/traps.c    2014-01-22 20:38:10.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/alpha/kernel/traps.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/alpha/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/alpha/kernel/traps.c
+--- linux-3.18.5/arch/alpha/kernel/traps.c     2014-01-22 20:38:10.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/alpha/kernel/traps.c   2015-01-19 10:57:45.000000000 +0000
 @@ -175,7 +175,8 @@ die_if_kernel(char * str, struct pt_regs
  #ifdef CONFIG_SMP
        printk("CPU %d ", hard_smp_processor_id());
 @@ -175,7 +175,8 @@ die_if_kernel(char * str, struct pt_regs
  #ifdef CONFIG_SMP
        printk("CPU %d ", hard_smp_processor_id());
@@ -193,10 +193,10 @@ diff -NurpP --minimal linux-3.13.10/arch/alpha/kernel/traps.c linux-3.13.10-vs2.
        dik_show_regs(regs, r9_15);
        add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
        dik_show_trace((unsigned long *)(regs+1));
        dik_show_regs(regs, r9_15);
        add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
        dik_show_trace((unsigned long *)(regs+1));
-diff -NurpP --minimal linux-3.13.10/arch/arm/Kconfig linux-3.13.10-vs2.3.6.11/arch/arm/Kconfig
---- linux-3.13.10/arch/arm/Kconfig     2014-04-17 01:12:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/arm/Kconfig  2014-04-17 01:17:10.000000000 +0000
-@@ -2267,6 +2267,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/arm/Kconfig linux-3.18.5-vs2.3.7.3/arch/arm/Kconfig
+--- linux-3.18.5/arch/arm/Kconfig      2015-01-17 02:39:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/arm/Kconfig    2015-01-19 10:57:45.000000000 +0000
+@@ -2170,6 +2170,8 @@ source "fs/Kconfig"
  
  source "arch/arm/Kconfig.debug"
  
  
  source "arch/arm/Kconfig.debug"
  
@@ -205,9 +205,9 @@ diff -NurpP --minimal linux-3.13.10/arch/arm/Kconfig linux-3.13.10-vs2.3.6.11/ar
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/arm/kernel/calls.S linux-3.13.10-vs2.3.6.11/arch/arm/kernel/calls.S
---- linux-3.13.10/arch/arm/kernel/calls.S      2013-05-31 13:44:29.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/arm/kernel/calls.S   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/arm/kernel/calls.S linux-3.18.5-vs2.3.7.3/arch/arm/kernel/calls.S
+--- linux-3.18.5/arch/arm/kernel/calls.S       2015-01-17 02:39:31.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/arm/kernel/calls.S     2015-01-19 10:57:45.000000000 +0000
 @@ -322,7 +322,7 @@
  /* 310 */     CALL(sys_request_key)
                CALL(sys_keyctl)
 @@ -322,7 +322,7 @@
  /* 310 */     CALL(sys_request_key)
                CALL(sys_keyctl)
@@ -217,10 +217,10 @@ diff -NurpP --minimal linux-3.13.10/arch/arm/kernel/calls.S linux-3.13.10-vs2.3.
                CALL(sys_ioprio_set)
  /* 315 */     CALL(sys_ioprio_get)
                CALL(sys_inotify_init)
                CALL(sys_ioprio_set)
  /* 315 */     CALL(sys_ioprio_get)
                CALL(sys_inotify_init)
-diff -NurpP --minimal linux-3.13.10/arch/arm/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/arm/kernel/traps.c
---- linux-3.13.10/arch/arm/kernel/traps.c      2014-01-22 20:38:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/arm/kernel/traps.c   2014-01-31 20:38:03.000000000 +0000
-@@ -247,8 +247,8 @@ static int __die(const char *str, int er
+diff -NurpP --minimal linux-3.18.5/arch/arm/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/arm/kernel/traps.c
+--- linux-3.18.5/arch/arm/kernel/traps.c       2015-01-17 02:39:31.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/arm/kernel/traps.c     2015-01-19 10:57:45.000000000 +0000
+@@ -250,8 +250,8 @@ static int __die(const char *str, int er
  
        print_modules();
        __show_regs(regs);
  
        print_modules();
        __show_regs(regs);
@@ -231,10 +231,10 @@ diff -NurpP --minimal linux-3.13.10/arch/arm/kernel/traps.c linux-3.13.10-vs2.3.
  
        if (!user_mode(regs) || in_interrupt()) {
                dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp,
  
        if (!user_mode(regs) || in_interrupt()) {
                dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp,
-diff -NurpP --minimal linux-3.13.10/arch/cris/Kconfig linux-3.13.10-vs2.3.6.11/arch/cris/Kconfig
---- linux-3.13.10/arch/cris/Kconfig    2014-01-22 20:38:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/cris/Kconfig 2014-01-31 20:38:03.000000000 +0000
-@@ -561,6 +561,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/cris/Kconfig linux-3.18.5-vs2.3.7.3/arch/cris/Kconfig
+--- linux-3.18.5/arch/cris/Kconfig     2014-06-12 13:00:42.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/cris/Kconfig   2015-01-19 10:57:45.000000000 +0000
+@@ -556,6 +556,8 @@ source "fs/Kconfig"
  
  source "arch/cris/Kconfig.debug"
  
  
  source "arch/cris/Kconfig.debug"
  
@@ -243,10 +243,10 @@ diff -NurpP --minimal linux-3.13.10/arch/cris/Kconfig linux-3.13.10-vs2.3.6.11/a
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/ia64/Kconfig linux-3.13.10-vs2.3.6.11/arch/ia64/Kconfig
---- linux-3.13.10/arch/ia64/Kconfig    2014-01-22 20:38:16.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/ia64/Kconfig 2014-01-31 20:38:03.000000000 +0000
-@@ -641,6 +641,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/ia64/Kconfig linux-3.18.5-vs2.3.7.3/arch/ia64/Kconfig
+--- linux-3.18.5/arch/ia64/Kconfig     2015-01-16 22:18:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/ia64/Kconfig   2015-01-19 10:57:45.000000000 +0000
+@@ -636,6 +636,8 @@ source "fs/Kconfig"
  
  source "arch/ia64/Kconfig.debug"
  
  
  source "arch/ia64/Kconfig.debug"
  
@@ -255,9 +255,9 @@ diff -NurpP --minimal linux-3.13.10/arch/ia64/Kconfig linux-3.13.10-vs2.3.6.11/a
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/entry.S linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/entry.S
---- linux-3.13.10/arch/ia64/kernel/entry.S     2014-01-22 20:38:16.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/entry.S  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/ia64/kernel/entry.S linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/entry.S
+--- linux-3.18.5/arch/ia64/kernel/entry.S      2015-01-17 02:39:35.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/entry.S    2015-01-19 10:57:45.000000000 +0000
 @@ -1706,7 +1706,7 @@ sys_call_table:
        data8 sys_mq_notify
        data8 sys_mq_getsetattr
 @@ -1706,7 +1706,7 @@ sys_call_table:
        data8 sys_mq_notify
        data8 sys_mq_getsetattr
@@ -267,9 +267,9 @@ diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/entry.S linux-3.13.10-vs2.3
        data8 sys_waitid                        // 1270
        data8 sys_add_key
        data8 sys_request_key
        data8 sys_waitid                        // 1270
        data8 sys_add_key
        data8 sys_request_key
-diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/ptrace.c
---- linux-3.13.10/arch/ia64/kernel/ptrace.c    2013-02-19 13:56:51.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/ptrace.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/ia64/kernel/ptrace.c linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/ptrace.c
+--- linux-3.18.5/arch/ia64/kernel/ptrace.c     2015-01-17 02:39:35.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/ptrace.c   2015-01-19 10:57:45.000000000 +0000
 @@ -21,6 +21,7 @@
  #include <linux/regset.h>
  #include <linux/elf.h>
 @@ -21,6 +21,7 @@
  #include <linux/regset.h>
  #include <linux/elf.h>
@@ -278,9 +278,9 @@ diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/ptrace.c linux-3.13.10-vs2.
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
-diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/traps.c
---- linux-3.13.10/arch/ia64/kernel/traps.c     2013-11-25 15:44:20.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/ia64/kernel/traps.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/ia64/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/traps.c
+--- linux-3.18.5/arch/ia64/kernel/traps.c      2015-01-17 02:39:35.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/ia64/kernel/traps.c    2015-01-19 10:57:45.000000000 +0000
 @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
        put_cpu();
  
 @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
        put_cpu();
  
@@ -305,9 +305,9 @@ diff -NurpP --minimal linux-3.13.10/arch/ia64/kernel/traps.c linux-3.13.10-vs2.3
                        }
                }
        }
                        }
                }
        }
-diff -NurpP --minimal linux-3.13.10/arch/m32r/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/m32r/kernel/traps.c
---- linux-3.13.10/arch/m32r/kernel/traps.c     2013-07-14 17:00:26.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/m32r/kernel/traps.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/m32r/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/m32r/kernel/traps.c
+--- linux-3.18.5/arch/m32r/kernel/traps.c      2013-07-14 17:00:26.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/m32r/kernel/traps.c    2015-01-19 10:57:45.000000000 +0000
 @@ -184,8 +184,9 @@ static void show_registers(struct pt_reg
        } else {
                printk("SPI: %08lx\n", sp);
 @@ -184,8 +184,9 @@ static void show_registers(struct pt_reg
        } else {
                printk("SPI: %08lx\n", sp);
@@ -320,10 +320,10 @@ diff -NurpP --minimal linux-3.13.10/arch/m32r/kernel/traps.c linux-3.13.10-vs2.3
  
        /*
         * When in-kernel, we also print out the stack and code at the
  
        /*
         * When in-kernel, we also print out the stack and code at the
-diff -NurpP --minimal linux-3.13.10/arch/m68k/Kconfig linux-3.13.10-vs2.3.6.11/arch/m68k/Kconfig
---- linux-3.13.10/arch/m68k/Kconfig    2014-04-17 01:12:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/m68k/Kconfig 2014-04-17 01:17:10.000000000 +0000
-@@ -135,6 +135,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/m68k/Kconfig linux-3.18.5-vs2.3.7.3/arch/m68k/Kconfig
+--- linux-3.18.5/arch/m68k/Kconfig     2014-06-12 13:00:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/m68k/Kconfig   2015-01-19 10:57:45.000000000 +0000
+@@ -159,6 +159,8 @@ source "fs/Kconfig"
  
  source "arch/m68k/Kconfig.debug"
  
  
  source "arch/m68k/Kconfig.debug"
  
@@ -332,10 +332,10 @@ diff -NurpP --minimal linux-3.13.10/arch/m68k/Kconfig linux-3.13.10-vs2.3.6.11/a
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/mips/Kconfig linux-3.13.10-vs2.3.6.11/arch/mips/Kconfig
---- linux-3.13.10/arch/mips/Kconfig    2014-01-22 20:38:16.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/Kconfig 2014-01-31 20:38:03.000000000 +0000
-@@ -2539,6 +2539,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/mips/Kconfig linux-3.18.5-vs2.3.7.3/arch/mips/Kconfig
+--- linux-3.18.5/arch/mips/Kconfig     2015-01-17 02:39:35.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/Kconfig   2015-01-19 10:57:45.000000000 +0000
+@@ -2712,6 +2712,8 @@ source "fs/Kconfig"
  
  source "arch/mips/Kconfig.debug"
  
  
  source "arch/mips/Kconfig.debug"
  
@@ -344,10 +344,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/Kconfig linux-3.13.10-vs2.3.6.11/a
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/arch/mips/kernel/ptrace.c
---- linux-3.13.10/arch/mips/kernel/ptrace.c    2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/ptrace.c 2014-01-31 20:53:13.000000000 +0000
-@@ -30,6 +30,7 @@
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/ptrace.c linux-3.18.5-vs2.3.7.3/arch/mips/kernel/ptrace.c
+--- linux-3.18.5/arch/mips/kernel/ptrace.c     2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/ptrace.c   2015-01-19 10:57:45.000000000 +0000
+@@ -29,6 +29,7 @@
  #include <linux/audit.h>
  #include <linux/seccomp.h>
  #include <linux/ftrace.h>
  #include <linux/audit.h>
  #include <linux/seccomp.h>
  #include <linux/ftrace.h>
@@ -355,7 +355,7 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/ptrace.c linux-3.13.10-vs2.
  
  #include <asm/byteorder.h>
  #include <asm/cpu.h>
  
  #include <asm/byteorder.h>
  #include <asm/cpu.h>
-@@ -398,6 +399,9 @@ long arch_ptrace(struct task_struct *chi
+@@ -544,6 +545,9 @@ long arch_ptrace(struct task_struct *chi
        void __user *datavp = (void __user *) data;
        unsigned long __user *datalp = (void __user *) data;
  
        void __user *datavp = (void __user *) data;
        unsigned long __user *datalp = (void __user *) data;
  
@@ -365,10 +365,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/ptrace.c linux-3.13.10-vs2.
        switch (request) {
        /* when I and D space are separate, these will need to be fixed. */
        case PTRACE_PEEKTEXT: /* read word at location addr. */
        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.13.10/arch/mips/kernel/scall32-o32.S linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall32-o32.S
---- linux-3.13.10/arch/mips/kernel/scall32-o32.S       2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall32-o32.S    2014-01-31 20:48:18.000000000 +0000
-@@ -491,7 +491,7 @@ EXPORT(sys_call_table)
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/scall32-o32.S linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall32-o32.S
+--- linux-3.18.5/arch/mips/kernel/scall32-o32.S        2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall32-o32.S      2015-01-19 10:57:45.000000000 +0000
+@@ -501,7 +501,7 @@ EXPORT(sys_call_table)
        PTR     sys_mq_timedreceive
        PTR     sys_mq_notify                   /* 4275 */
        PTR     sys_mq_getsetattr
        PTR     sys_mq_timedreceive
        PTR     sys_mq_notify                   /* 4275 */
        PTR     sys_mq_getsetattr
@@ -377,10 +377,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall32-o32.S linux-3.13.10
        PTR     sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key                     /* 4280 */
        PTR     sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key                     /* 4280 */
-diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-64.S linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-64.S
---- linux-3.13.10/arch/mips/kernel/scall64-64.S        2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-64.S     2014-01-31 20:38:03.000000000 +0000
-@@ -352,7 +352,7 @@ EXPORT(sys_call_table)
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/scall64-64.S linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-64.S
+--- linux-3.18.5/arch/mips/kernel/scall64-64.S 2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-64.S       2015-01-19 10:57:45.000000000 +0000
+@@ -355,7 +355,7 @@ EXPORT(sys_call_table)
        PTR     sys_mq_timedreceive
        PTR     sys_mq_notify
        PTR     sys_mq_getsetattr               /* 5235 */
        PTR     sys_mq_timedreceive
        PTR     sys_mq_notify
        PTR     sys_mq_getsetattr               /* 5235 */
@@ -389,10 +389,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-64.S linux-3.13.10-
        PTR     sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
        PTR     sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
-diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-n32.S linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-n32.S
---- linux-3.13.10/arch/mips/kernel/scall64-n32.S       2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-n32.S    2014-01-31 20:38:03.000000000 +0000
-@@ -345,7 +345,7 @@ EXPORT(sysn32_call_table)
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/scall64-n32.S linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-n32.S
+--- linux-3.18.5/arch/mips/kernel/scall64-n32.S        2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-n32.S      2015-01-19 10:57:45.000000000 +0000
+@@ -348,7 +348,7 @@ EXPORT(sysn32_call_table)
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify
        PTR     compat_sys_mq_getsetattr
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify
        PTR     compat_sys_mq_getsetattr
@@ -401,10 +401,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-n32.S linux-3.13.10
        PTR     compat_sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
        PTR     compat_sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key
-diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-o32.S linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-o32.S
---- linux-3.13.10/arch/mips/kernel/scall64-o32.S       2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/scall64-o32.S    2014-01-31 20:38:03.000000000 +0000
-@@ -469,7 +469,7 @@ EXPORT(sys32_call_table)
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/scall64-o32.S linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-o32.S
+--- linux-3.18.5/arch/mips/kernel/scall64-o32.S        2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/scall64-o32.S      2015-01-19 10:57:45.000000000 +0000
+@@ -486,7 +486,7 @@ EXPORT(sys32_call_table)
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify            /* 4275 */
        PTR     compat_sys_mq_getsetattr
        PTR     compat_sys_mq_timedreceive
        PTR     compat_sys_mq_notify            /* 4275 */
        PTR     compat_sys_mq_getsetattr
@@ -413,10 +413,10 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/scall64-o32.S linux-3.13.10
        PTR     compat_sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key                     /* 4280 */
        PTR     compat_sys_waitid
        PTR     sys_ni_syscall                  /* available, was setaltroot */
        PTR     sys_add_key                     /* 4280 */
-diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/mips/kernel/traps.c
---- linux-3.13.10/arch/mips/kernel/traps.c     2014-01-22 20:38:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/mips/kernel/traps.c  2014-01-31 20:38:03.000000000 +0000
-@@ -334,9 +334,10 @@ void show_registers(struct pt_regs *regs
+diff -NurpP --minimal linux-3.18.5/arch/mips/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/mips/kernel/traps.c
+--- linux-3.18.5/arch/mips/kernel/traps.c      2015-01-16 22:18:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/mips/kernel/traps.c    2015-01-19 10:57:45.000000000 +0000
+@@ -341,9 +341,10 @@ void show_registers(struct pt_regs *regs
  
        __show_regs(regs);
        print_modules();
  
        __show_regs(regs);
        print_modules();
@@ -430,21 +430,21 @@ diff -NurpP --minimal linux-3.13.10/arch/mips/kernel/traps.c linux-3.13.10-vs2.3
        if (cpu_has_userlocal) {
                unsigned long tls;
  
        if (cpu_has_userlocal) {
                unsigned long tls;
  
-diff -NurpP --minimal linux-3.13.10/arch/parisc/Kconfig linux-3.13.10-vs2.3.6.11/arch/parisc/Kconfig
---- linux-3.13.10/arch/parisc/Kconfig  2014-01-22 20:38:18.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/parisc/Kconfig       2014-01-31 20:38:03.000000000 +0000
-@@ -320,6 +320,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/parisc/Kconfig linux-3.18.5-vs2.3.7.3/arch/parisc/Kconfig
+--- linux-3.18.5/arch/parisc/Kconfig   2015-01-16 22:18:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/parisc/Kconfig 2015-01-19 10:57:45.000000000 +0000
+@@ -337,6 +337,8 @@ config SECCOMP
  
  
- source "arch/parisc/Kconfig.debug"
+         If unsure, say Y. Only embedded should say N here.
  
 +source "kernel/vserver/Kconfig"
 +
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  
 +source "kernel/vserver/Kconfig"
 +
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/syscall_table.S linux-3.13.10-vs2.3.6.11/arch/parisc/kernel/syscall_table.S
---- linux-3.13.10/arch/parisc/kernel/syscall_table.S   2013-07-14 17:00:31.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/parisc/kernel/syscall_table.S        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/parisc/kernel/syscall_table.S linux-3.18.5-vs2.3.7.3/arch/parisc/kernel/syscall_table.S
+--- linux-3.18.5/arch/parisc/kernel/syscall_table.S    2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/parisc/kernel/syscall_table.S  2015-01-19 10:57:45.000000000 +0000
 @@ -358,7 +358,7 @@
        ENTRY_COMP(mbind)               /* 260 */
        ENTRY_COMP(get_mempolicy)
 @@ -358,7 +358,7 @@
        ENTRY_COMP(mbind)               /* 260 */
        ENTRY_COMP(get_mempolicy)
@@ -454,10 +454,10 @@ diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/syscall_table.S linux-3.1
        ENTRY_SAME(add_key)
        ENTRY_SAME(request_key)         /* 265 */
        ENTRY_SAME(keyctl)
        ENTRY_SAME(add_key)
        ENTRY_SAME(request_key)         /* 265 */
        ENTRY_SAME(keyctl)
-diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/parisc/kernel/traps.c
---- linux-3.13.10/arch/parisc/kernel/traps.c   2013-11-25 15:46:28.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/parisc/kernel/traps.c        2014-01-31 20:38:03.000000000 +0000
-@@ -229,8 +229,9 @@ void die_if_kernel(char *str, struct pt_
+diff -NurpP --minimal linux-3.18.5/arch/parisc/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/parisc/kernel/traps.c
+--- linux-3.18.5/arch/parisc/kernel/traps.c    2014-06-12 13:01:26.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/parisc/kernel/traps.c  2015-01-19 10:57:45.000000000 +0000
+@@ -239,8 +239,9 @@ void die_if_kernel(char *str, struct pt_
                        return; /* STFU */
  
                parisc_printk_ratelimited(1, regs,
                        return; /* STFU */
  
                parisc_printk_ratelimited(1, regs,
@@ -469,7 +469,7 @@ diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/traps.c linux-3.13.10-vs2
  
                return;
        }
  
                return;
        }
-@@ -263,8 +264,8 @@ void die_if_kernel(char *str, struct pt_
+@@ -270,8 +271,8 @@ void die_if_kernel(char *str, struct pt_
                pdc_console_restart();
        
        if (err)
                pdc_console_restart();
        
        if (err)
@@ -480,10 +480,10 @@ diff -NurpP --minimal linux-3.13.10/arch/parisc/kernel/traps.c linux-3.13.10-vs2
  
        /* Wot's wrong wif bein' racy? */
        if (current->thread.flags & PARISC_KERNEL_DEATH) {
  
        /* Wot's wrong wif bein' racy? */
        if (current->thread.flags & PARISC_KERNEL_DEATH) {
-diff -NurpP --minimal linux-3.13.10/arch/powerpc/Kconfig linux-3.13.10-vs2.3.6.11/arch/powerpc/Kconfig
---- linux-3.13.10/arch/powerpc/Kconfig 2014-01-22 20:38:18.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/powerpc/Kconfig      2014-01-31 20:38:03.000000000 +0000
-@@ -1028,6 +1028,8 @@ source "lib/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/powerpc/Kconfig linux-3.18.5-vs2.3.7.3/arch/powerpc/Kconfig
+--- linux-3.18.5/arch/powerpc/Kconfig  2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/powerpc/Kconfig        2015-01-19 10:57:46.000000000 +0000
+@@ -1068,6 +1068,8 @@ source "lib/Kconfig"
  
  source "arch/powerpc/Kconfig.debug"
  
  
  source "arch/powerpc/Kconfig.debug"
  
@@ -492,9 +492,9 @@ diff -NurpP --minimal linux-3.13.10/arch/powerpc/Kconfig linux-3.13.10-vs2.3.6.1
  source "security/Kconfig"
  
  config KEYS_COMPAT
  source "security/Kconfig"
  
  config KEYS_COMPAT
-diff -NurpP --minimal linux-3.13.10/arch/powerpc/include/uapi/asm/unistd.h linux-3.13.10-vs2.3.6.11/arch/powerpc/include/uapi/asm/unistd.h
---- linux-3.13.10/arch/powerpc/include/uapi/asm/unistd.h       2013-05-31 13:44:44.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/powerpc/include/uapi/asm/unistd.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/powerpc/include/uapi/asm/unistd.h linux-3.18.5-vs2.3.7.3/arch/powerpc/include/uapi/asm/unistd.h
+--- linux-3.18.5/arch/powerpc/include/uapi/asm/unistd.h        2015-01-17 02:39:36.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/powerpc/include/uapi/asm/unistd.h      2015-01-19 10:57:46.000000000 +0000
 @@ -275,7 +275,7 @@
  #endif
  #define __NR_rtas             255
 @@ -275,7 +275,7 @@
  #endif
  #define __NR_rtas             255
@@ -504,10 +504,10 @@ diff -NurpP --minimal linux-3.13.10/arch/powerpc/include/uapi/asm/unistd.h linux
  #define __NR_migrate_pages    258
  #define __NR_mbind            259
  #define __NR_get_mempolicy    260
  #define __NR_migrate_pages    258
  #define __NR_mbind            259
  #define __NR_get_mempolicy    260
-diff -NurpP --minimal linux-3.13.10/arch/powerpc/kernel/traps.c linux-3.13.10-vs2.3.6.11/arch/powerpc/kernel/traps.c
---- linux-3.13.10/arch/powerpc/kernel/traps.c  2014-01-22 20:38:23.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/powerpc/kernel/traps.c       2014-01-31 20:38:03.000000000 +0000
-@@ -1272,8 +1272,9 @@ void nonrecoverable_exception(struct pt_
+diff -NurpP --minimal linux-3.18.5/arch/powerpc/kernel/traps.c linux-3.18.5-vs2.3.7.3/arch/powerpc/kernel/traps.c
+--- linux-3.18.5/arch/powerpc/kernel/traps.c   2015-01-16 22:18:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/powerpc/kernel/traps.c 2015-01-19 10:57:46.000000000 +0000
+@@ -1313,8 +1313,9 @@ void nonrecoverable_exception(struct pt_
  
  void trace_syscall(struct pt_regs *regs)
  {
  
  void trace_syscall(struct pt_regs *regs)
  {
@@ -519,10 +519,10 @@ diff -NurpP --minimal linux-3.13.10/arch/powerpc/kernel/traps.c linux-3.13.10-vs
               regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
  }
  
               regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
  }
  
-diff -NurpP --minimal linux-3.13.10/arch/s390/Kconfig linux-3.13.10-vs2.3.6.11/arch/s390/Kconfig
---- linux-3.13.10/arch/s390/Kconfig    2014-04-17 01:12:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/s390/Kconfig 2014-04-17 01:17:10.000000000 +0000
-@@ -650,6 +650,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/s390/Kconfig linux-3.18.5-vs2.3.7.3/arch/s390/Kconfig
+--- linux-3.18.5/arch/s390/Kconfig     2015-01-17 02:39:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/s390/Kconfig   2015-01-19 10:57:46.000000000 +0000
+@@ -652,6 +652,8 @@ source "fs/Kconfig"
  
  source "arch/s390/Kconfig.debug"
  
  
  source "arch/s390/Kconfig.debug"
  
@@ -531,9 +531,9 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/Kconfig linux-3.13.10-vs2.3.6.11/a
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/s390/include/asm/tlb.h linux-3.13.10-vs2.3.6.11/arch/s390/include/asm/tlb.h
---- linux-3.13.10/arch/s390/include/asm/tlb.h  2013-11-25 15:46:29.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/s390/include/asm/tlb.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/s390/include/asm/tlb.h linux-3.18.5-vs2.3.7.3/arch/s390/include/asm/tlb.h
+--- linux-3.18.5/arch/s390/include/asm/tlb.h   2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/s390/include/asm/tlb.h 2015-01-19 10:57:46.000000000 +0000
 @@ -24,6 +24,7 @@
  #include <linux/mm.h>
  #include <linux/pagemap.h>
 @@ -24,6 +24,7 @@
  #include <linux/mm.h>
  #include <linux/pagemap.h>
@@ -542,9 +542,9 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/include/asm/tlb.h linux-3.13.10-vs
  #include <asm/processor.h>
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
  #include <asm/processor.h>
  #include <asm/pgalloc.h>
  #include <asm/tlbflush.h>
-diff -NurpP --minimal linux-3.13.10/arch/s390/include/uapi/asm/unistd.h linux-3.13.10-vs2.3.6.11/arch/s390/include/uapi/asm/unistd.h
---- linux-3.13.10/arch/s390/include/uapi/asm/unistd.h  2013-02-19 13:57:16.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/s390/include/uapi/asm/unistd.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/s390/include/uapi/asm/unistd.h linux-3.18.5-vs2.3.7.3/arch/s390/include/uapi/asm/unistd.h
+--- linux-3.18.5/arch/s390/include/uapi/asm/unistd.h   2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/s390/include/uapi/asm/unistd.h 2015-01-19 10:57:46.000000000 +0000
 @@ -200,7 +200,7 @@
  #define __NR_clock_gettime    (__NR_timer_create+6)
  #define __NR_clock_getres     (__NR_timer_create+7)
 @@ -200,7 +200,7 @@
  #define __NR_clock_gettime    (__NR_timer_create+6)
  #define __NR_clock_getres     (__NR_timer_create+7)
@@ -554,9 +554,9 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/include/uapi/asm/unistd.h linux-3.
  #define __NR_statfs64         265
  #define __NR_fstatfs64                266
  #define __NR_remap_file_pages 267
  #define __NR_statfs64         265
  #define __NR_fstatfs64                266
  #define __NR_remap_file_pages 267
-diff -NurpP --minimal linux-3.13.10/arch/s390/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/arch/s390/kernel/ptrace.c
---- linux-3.13.10/arch/s390/kernel/ptrace.c    2014-01-22 20:38:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/s390/kernel/ptrace.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/s390/kernel/ptrace.c linux-3.18.5-vs2.3.7.3/arch/s390/kernel/ptrace.c
+--- linux-3.18.5/arch/s390/kernel/ptrace.c     2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/s390/kernel/ptrace.c   2015-01-19 10:57:46.000000000 +0000
 @@ -21,6 +21,7 @@
  #include <linux/tracehook.h>
  #include <linux/seccomp.h>
 @@ -21,6 +21,7 @@
  #include <linux/tracehook.h>
  #include <linux/seccomp.h>
@@ -565,9 +565,9 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/kernel/ptrace.c linux-3.13.10-vs2.
  #include <trace/syscall.h>
  #include <asm/segment.h>
  #include <asm/page.h>
  #include <trace/syscall.h>
  #include <asm/segment.h>
  #include <asm/page.h>
-diff -NurpP --minimal linux-3.13.10/arch/s390/kernel/syscalls.S linux-3.13.10-vs2.3.6.11/arch/s390/kernel/syscalls.S
---- linux-3.13.10/arch/s390/kernel/syscalls.S  2013-07-14 17:00:34.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/s390/kernel/syscalls.S       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/s390/kernel/syscalls.S linux-3.18.5-vs2.3.7.3/arch/s390/kernel/syscalls.S
+--- linux-3.18.5/arch/s390/kernel/syscalls.S   2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/s390/kernel/syscalls.S 2015-01-19 11:00:51.000000000 +0000
 @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
  SYSCALL(sys_clock_gettime,sys_clock_gettime,compat_sys_clock_gettime) /* 260 */
  SYSCALL(sys_clock_getres,sys_clock_getres,compat_sys_clock_getres)
 @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett
  SYSCALL(sys_clock_gettime,sys_clock_gettime,compat_sys_clock_gettime) /* 260 */
  SYSCALL(sys_clock_getres,sys_clock_getres,compat_sys_clock_getres)
@@ -577,10 +577,10 @@ diff -NurpP --minimal linux-3.13.10/arch/s390/kernel/syscalls.S linux-3.13.10-vs
  SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64)
  SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64)
  SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64)
  SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,compat_sys_s390_fadvise64_64)
  SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64)
  SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64)
-diff -NurpP --minimal linux-3.13.10/arch/sh/Kconfig linux-3.13.10-vs2.3.6.11/arch/sh/Kconfig
---- linux-3.13.10/arch/sh/Kconfig      2014-01-22 20:38:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sh/Kconfig   2014-01-31 20:38:03.000000000 +0000
-@@ -927,6 +927,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/sh/Kconfig linux-3.18.5-vs2.3.7.3/arch/sh/Kconfig
+--- linux-3.18.5/arch/sh/Kconfig       2015-01-16 22:18:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sh/Kconfig     2015-01-19 10:57:46.000000000 +0000
+@@ -878,6 +878,8 @@ source "fs/Kconfig"
  
  source "arch/sh/Kconfig.debug"
  
  
  source "arch/sh/Kconfig.debug"
  
@@ -589,9 +589,9 @@ diff -NurpP --minimal linux-3.13.10/arch/sh/Kconfig linux-3.13.10-vs2.3.6.11/arc
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/sh/kernel/irq.c linux-3.13.10-vs2.3.6.11/arch/sh/kernel/irq.c
---- linux-3.13.10/arch/sh/kernel/irq.c 2014-01-22 20:38:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sh/kernel/irq.c      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/sh/kernel/irq.c linux-3.18.5-vs2.3.7.3/arch/sh/kernel/irq.c
+--- linux-3.18.5/arch/sh/kernel/irq.c  2014-06-12 13:01:29.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sh/kernel/irq.c        2015-01-19 10:57:46.000000000 +0000
 @@ -14,6 +14,7 @@
  #include <linux/ftrace.h>
  #include <linux/delay.h>
 @@ -14,6 +14,7 @@
  #include <linux/ftrace.h>
  #include <linux/delay.h>
@@ -600,10 +600,10 @@ diff -NurpP --minimal linux-3.13.10/arch/sh/kernel/irq.c linux-3.13.10-vs2.3.6.1
  #include <asm/processor.h>
  #include <asm/machvec.h>
  #include <asm/uaccess.h>
  #include <asm/processor.h>
  #include <asm/machvec.h>
  #include <asm/uaccess.h>
-diff -NurpP --minimal linux-3.13.10/arch/sparc/Kconfig linux-3.13.10-vs2.3.6.11/arch/sparc/Kconfig
---- linux-3.13.10/arch/sparc/Kconfig   2014-01-22 20:38:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sparc/Kconfig        2014-01-31 20:38:03.000000000 +0000
-@@ -553,6 +553,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/sparc/Kconfig linux-3.18.5-vs2.3.7.3/arch/sparc/Kconfig
+--- linux-3.18.5/arch/sparc/Kconfig    2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sparc/Kconfig  2015-01-19 10:57:46.000000000 +0000
+@@ -557,6 +557,8 @@ source "fs/Kconfig"
  
  source "arch/sparc/Kconfig.debug"
  
  
  source "arch/sparc/Kconfig.debug"
  
@@ -612,9 +612,9 @@ diff -NurpP --minimal linux-3.13.10/arch/sparc/Kconfig linux-3.13.10-vs2.3.6.11/
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/sparc/include/uapi/asm/unistd.h linux-3.13.10-vs2.3.6.11/arch/sparc/include/uapi/asm/unistd.h
---- linux-3.13.10/arch/sparc/include/uapi/asm/unistd.h 2013-02-19 13:57:17.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sparc/include/uapi/asm/unistd.h      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/sparc/include/uapi/asm/unistd.h linux-3.18.5-vs2.3.7.3/arch/sparc/include/uapi/asm/unistd.h
+--- linux-3.18.5/arch/sparc/include/uapi/asm/unistd.h  2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sparc/include/uapi/asm/unistd.h        2015-01-19 10:57:46.000000000 +0000
 @@ -332,7 +332,7 @@
  #define __NR_timer_getoverrun 264
  #define __NR_timer_delete     265
 @@ -332,7 +332,7 @@
  #define __NR_timer_getoverrun 264
  #define __NR_timer_delete     265
@@ -624,9 +624,9 @@ diff -NurpP --minimal linux-3.13.10/arch/sparc/include/uapi/asm/unistd.h linux-3
  #define __NR_io_setup         268
  #define __NR_io_destroy               269
  #define __NR_io_submit                270
  #define __NR_io_setup         268
  #define __NR_io_destroy               269
  #define __NR_io_submit                270
-diff -NurpP --minimal linux-3.13.10/arch/sparc/kernel/systbls_32.S linux-3.13.10-vs2.3.6.11/arch/sparc/kernel/systbls_32.S
---- linux-3.13.10/arch/sparc/kernel/systbls_32.S       2013-05-31 13:44:48.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sparc/kernel/systbls_32.S    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/sparc/kernel/systbls_32.S linux-3.18.5-vs2.3.7.3/arch/sparc/kernel/systbls_32.S
+--- linux-3.18.5/arch/sparc/kernel/systbls_32.S        2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sparc/kernel/systbls_32.S      2015-01-19 10:57:46.000000000 +0000
 @@ -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
 @@ -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
@@ -636,9 +636,9 @@ diff -NurpP --minimal linux-3.13.10/arch/sparc/kernel/systbls_32.S linux-3.13.10
  /*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
  /*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.13.10/arch/sparc/kernel/systbls_64.S linux-3.13.10-vs2.3.6.11/arch/sparc/kernel/systbls_64.S
---- linux-3.13.10/arch/sparc/kernel/systbls_64.S       2013-07-14 17:00:35.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/sparc/kernel/systbls_64.S    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/sparc/kernel/systbls_64.S linux-3.18.5-vs2.3.7.3/arch/sparc/kernel/systbls_64.S
+--- linux-3.18.5/arch/sparc/kernel/systbls_64.S        2015-01-17 02:39:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/sparc/kernel/systbls_64.S      2015-01-19 10:57:46.000000000 +0000
 @@ -71,7 +71,7 @@ sys_call_table32:
  /*250*/       .word sys_mremap, compat_sys_sysctl, sys_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
 @@ -71,7 +71,7 @@ sys_call_table32:
  /*250*/       .word sys_mremap, compat_sys_sysctl, sys_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
@@ -648,7 +648,7 @@ diff -NurpP --minimal linux-3.13.10/arch/sparc/kernel/systbls_64.S linux-3.13.10
  /*270*/       .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
        .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
  /*280*/       .word sys_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat
  /*270*/       .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink
        .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid
  /*280*/       .word sys_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat
-@@ -149,7 +149,7 @@ sys_call_table:
+@@ -150,7 +150,7 @@ sys_call_table:
  /*250*/       .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall
        .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
  /*260*/       .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
  /*250*/       .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall
        .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
  /*260*/       .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
@@ -657,9 +657,9 @@ diff -NurpP --minimal linux-3.13.10/arch/sparc/kernel/systbls_64.S linux-3.13.10
  /*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
  /*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.13.10/arch/um/Kconfig.rest linux-3.13.10-vs2.3.6.11/arch/um/Kconfig.rest
---- linux-3.13.10/arch/um/Kconfig.rest 2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/um/Kconfig.rest      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/um/Kconfig.rest linux-3.18.5-vs2.3.7.3/arch/um/Kconfig.rest
+--- linux-3.18.5/arch/um/Kconfig.rest  2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/um/Kconfig.rest        2015-01-19 10:57:46.000000000 +0000
 @@ -12,6 +12,8 @@ source "arch/um/Kconfig.net"
  
  source "fs/Kconfig"
 @@ -12,6 +12,8 @@ source "arch/um/Kconfig.net"
  
  source "fs/Kconfig"
@@ -669,10 +669,10 @@ diff -NurpP --minimal linux-3.13.10/arch/um/Kconfig.rest linux-3.13.10-vs2.3.6.1
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/x86/Kconfig linux-3.13.10-vs2.3.6.11/arch/x86/Kconfig
---- linux-3.13.10/arch/x86/Kconfig     2014-01-22 20:38:25.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/x86/Kconfig  2014-01-31 20:38:03.000000000 +0000
-@@ -2403,6 +2403,8 @@ source "fs/Kconfig"
+diff -NurpP --minimal linux-3.18.5/arch/x86/Kconfig linux-3.18.5-vs2.3.7.3/arch/x86/Kconfig
+--- linux-3.18.5/arch/x86/Kconfig      2015-02-05 18:02:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/x86/Kconfig    2015-02-05 18:08:00.000000000 +0000
+@@ -2506,6 +2506,8 @@ source "fs/Kconfig"
  
  source "arch/x86/Kconfig.debug"
  
  
  source "arch/x86/Kconfig.debug"
  
@@ -681,9 +681,9 @@ diff -NurpP --minimal linux-3.13.10/arch/x86/Kconfig linux-3.13.10-vs2.3.6.11/ar
  source "security/Kconfig"
  
  source "crypto/Kconfig"
  source "security/Kconfig"
  
  source "crypto/Kconfig"
-diff -NurpP --minimal linux-3.13.10/arch/x86/syscalls/syscall_32.tbl linux-3.13.10-vs2.3.6.11/arch/x86/syscalls/syscall_32.tbl
---- linux-3.13.10/arch/x86/syscalls/syscall_32.tbl     2013-07-14 17:00:37.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/x86/syscalls/syscall_32.tbl  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/x86/syscalls/syscall_32.tbl linux-3.18.5-vs2.3.7.3/arch/x86/syscalls/syscall_32.tbl
+--- linux-3.18.5/arch/x86/syscalls/syscall_32.tbl      2015-01-17 02:39:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/x86/syscalls/syscall_32.tbl    2015-01-19 10:57:46.000000000 +0000
 @@ -279,7 +279,7 @@
  270   i386    tgkill                  sys_tgkill
  271   i386    utimes                  sys_utimes                      compat_sys_utimes
 @@ -279,7 +279,7 @@
  270   i386    tgkill                  sys_tgkill
  271   i386    utimes                  sys_utimes                      compat_sys_utimes
@@ -693,9 +693,9 @@ diff -NurpP --minimal linux-3.13.10/arch/x86/syscalls/syscall_32.tbl linux-3.13.
  274   i386    mbind                   sys_mbind
  275   i386    get_mempolicy           sys_get_mempolicy               compat_sys_get_mempolicy
  276   i386    set_mempolicy           sys_set_mempolicy
  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.13.10/arch/x86/syscalls/syscall_64.tbl linux-3.13.10-vs2.3.6.11/arch/x86/syscalls/syscall_64.tbl
---- linux-3.13.10/arch/x86/syscalls/syscall_64.tbl     2013-05-31 13:44:50.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/arch/x86/syscalls/syscall_64.tbl  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/arch/x86/syscalls/syscall_64.tbl linux-3.18.5-vs2.3.7.3/arch/x86/syscalls/syscall_64.tbl
+--- linux-3.18.5/arch/x86/syscalls/syscall_64.tbl      2015-01-17 02:39:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/arch/x86/syscalls/syscall_64.tbl    2015-01-19 10:57:46.000000000 +0000
 @@ -242,7 +242,7 @@
  233   common  epoll_ctl               sys_epoll_ctl
  234   common  tgkill                  sys_tgkill
 @@ -242,7 +242,7 @@
  233   common  epoll_ctl               sys_epoll_ctl
  234   common  tgkill                  sys_tgkill
@@ -705,10 +705,39 @@ diff -NurpP --minimal linux-3.13.10/arch/x86/syscalls/syscall_64.tbl linux-3.13.
  237   common  mbind                   sys_mbind
  238   common  set_mempolicy           sys_set_mempolicy
  239   common  get_mempolicy           sys_get_mempolicy
  237   common  mbind                   sys_mbind
  238   common  set_mempolicy           sys_set_mempolicy
  239   common  get_mempolicy           sys_get_mempolicy
-diff -NurpP --minimal linux-3.13.10/drivers/block/Kconfig linux-3.13.10-vs2.3.6.11/drivers/block/Kconfig
---- linux-3.13.10/drivers/block/Kconfig        2014-01-22 20:38:27.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/block/Kconfig     2014-01-31 20:38:03.000000000 +0000
-@@ -281,6 +281,13 @@ config BLK_DEV_CRYPTOLOOP
+diff -NurpP --minimal linux-3.18.5/block/ioprio.c linux-3.18.5-vs2.3.7.3/block/ioprio.c
+--- linux-3.18.5/block/ioprio.c        2015-01-17 02:39:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/block/ioprio.c      2015-01-19 13:00:07.000000000 +0000
+@@ -28,6 +28,7 @@
+ #include <linux/syscalls.h>
+ #include <linux/security.h>
+ #include <linux/pid_namespace.h>
++#include <linux/vs_base.h>
+ int set_task_ioprio(struct task_struct *task, int ioprio)
+ {
+@@ -105,6 +106,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which,
+                       else
+                               pgrp = find_vpid(who);
+                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
++                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++                                      continue;
+                               ret = set_task_ioprio(p, ioprio);
+                               if (ret)
+                                       break;
+@@ -200,6 +203,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which,
+                       else
+                               pgrp = find_vpid(who);
+                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
++                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++                                      continue;
+                               tmpio = get_task_ioprio(p);
+                               if (tmpio < 0)
+                                       continue;
+diff -NurpP --minimal linux-3.18.5/drivers/block/Kconfig linux-3.18.5-vs2.3.7.3/drivers/block/Kconfig
+--- linux-3.18.5/drivers/block/Kconfig 2014-06-12 11:33:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/block/Kconfig       2015-01-19 10:57:46.000000000 +0000
+@@ -283,6 +283,13 @@ config BLK_DEV_CRYPTOLOOP
  
  source "drivers/block/drbd/Kconfig"
  
  
  source "drivers/block/drbd/Kconfig"
  
@@ -722,20 +751,20 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/Kconfig linux-3.13.10-vs2.3.6.
  config BLK_DEV_NBD
        tristate "Network block device support"
        depends on NET
  config BLK_DEV_NBD
        tristate "Network block device support"
        depends on NET
-diff -NurpP --minimal linux-3.13.10/drivers/block/Makefile linux-3.13.10-vs2.3.6.11/drivers/block/Makefile
---- linux-3.13.10/drivers/block/Makefile       2014-01-22 20:38:27.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/block/Makefile    2014-01-31 20:38:03.000000000 +0000
-@@ -34,6 +34,7 @@ obj-$(CONFIG_VIRTIO_BLK)     += virtio_blk.o
- obj-$(CONFIG_VIODASD)         += viodasd.o
+diff -NurpP --minimal linux-3.18.5/drivers/block/Makefile linux-3.18.5-vs2.3.7.3/drivers/block/Makefile
+--- linux-3.18.5/drivers/block/Makefile        2014-06-12 11:33:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/block/Makefile      2015-01-19 10:57:46.000000000 +0000
+@@ -33,6 +33,7 @@ obj-$(CONFIG_VIRTIO_BLK)     += virtio_blk.o
  obj-$(CONFIG_BLK_DEV_SX8)     += sx8.o
  obj-$(CONFIG_BLK_DEV_HD)      += hd.o
 +obj-$(CONFIG_BLK_DEV_VROOT)   += vroot.o
  
  obj-$(CONFIG_XEN_BLKDEV_FRONTEND)     += xen-blkfront.o
  obj-$(CONFIG_XEN_BLKDEV_BACKEND)      += xen-blkback/
  obj-$(CONFIG_BLK_DEV_SX8)     += sx8.o
  obj-$(CONFIG_BLK_DEV_HD)      += hd.o
 +obj-$(CONFIG_BLK_DEV_VROOT)   += vroot.o
  
  obj-$(CONFIG_XEN_BLKDEV_FRONTEND)     += xen-blkfront.o
  obj-$(CONFIG_XEN_BLKDEV_BACKEND)      += xen-blkback/
-diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.11/drivers/block/loop.c
---- linux-3.13.10/drivers/block/loop.c 2014-01-22 20:38:27.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/block/loop.c      2014-01-31 20:55:14.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/block/loop.c linux-3.18.5-vs2.3.7.3/drivers/block/loop.c
+--- linux-3.18.5/drivers/block/loop.c  2014-09-03 13:18:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/block/loop.c        2015-01-19 10:57:46.000000000 +0000
 @@ -75,6 +75,7 @@
  #include <linux/sysfs.h>
  #include <linux/miscdevice.h>
 @@ -75,6 +75,7 @@
  #include <linux/sysfs.h>
  #include <linux/miscdevice.h>
@@ -744,7 +773,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
  #include "loop.h"
  
  #include <asm/uaccess.h>
  #include "loop.h"
  
  #include <asm/uaccess.h>
-@@ -884,6 +885,7 @@ static int loop_set_fd(struct loop_devic
+@@ -885,6 +886,7 @@ static int loop_set_fd(struct loop_devic
        lo->lo_blocksize = lo_blocksize;
        lo->lo_device = bdev;
        lo->lo_flags = lo_flags;
        lo->lo_blocksize = lo_blocksize;
        lo->lo_device = bdev;
        lo->lo_flags = lo_flags;
@@ -752,7 +781,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
        lo->lo_backing_file = file;
        lo->transfer = transfer_none;
        lo->ioctl = NULL;
        lo->lo_backing_file = file;
        lo->transfer = transfer_none;
        lo->ioctl = NULL;
-@@ -1028,6 +1030,7 @@ static int loop_clr_fd(struct loop_devic
+@@ -1029,6 +1031,7 @@ static int loop_clr_fd(struct loop_devic
        lo->lo_sizelimit = 0;
        lo->lo_encrypt_key_size = 0;
        lo->lo_thread = NULL;
        lo->lo_sizelimit = 0;
        lo->lo_encrypt_key_size = 0;
        lo->lo_thread = NULL;
@@ -760,7 +789,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
        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);
        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);
-@@ -1071,7 +1074,7 @@ loop_set_status(struct loop_device *lo,
+@@ -1072,7 +1075,7 @@ loop_set_status(struct loop_device *lo,
  
        if (lo->lo_encrypt_key_size &&
            !uid_eq(lo->lo_key_owner, uid) &&
  
        if (lo->lo_encrypt_key_size &&
            !uid_eq(lo->lo_key_owner, uid) &&
@@ -769,7 +798,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
                return -EPERM;
        if (lo->lo_state != Lo_bound)
                return -ENXIO;
                return -EPERM;
        if (lo->lo_state != Lo_bound)
                return -ENXIO;
-@@ -1161,7 +1164,8 @@ loop_get_status(struct loop_device *lo,
+@@ -1162,7 +1165,8 @@ loop_get_status(struct loop_device *lo,
        memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE);
        info->lo_encrypt_type =
                lo->lo_encryption ? lo->lo_encryption->number : 0;
        memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE);
        info->lo_encrypt_type =
                lo->lo_encryption ? lo->lo_encryption->number : 0;
@@ -779,7 +808,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
                info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
                memcpy(info->lo_encrypt_key, lo->lo_encrypt_key,
                       lo->lo_encrypt_key_size);
                info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
                memcpy(info->lo_encrypt_key, lo->lo_encrypt_key,
                       lo->lo_encrypt_key_size);
-@@ -1503,6 +1507,11 @@ static int lo_open(struct block_device *
+@@ -1504,6 +1508,11 @@ static int lo_open(struct block_device *
                goto out;
        }
  
                goto out;
        }
  
@@ -791,9 +820,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.c linux-3.13.10-vs2.3.6.1
        mutex_lock(&lo->lo_ctl_mutex);
        lo->lo_refcnt++;
        mutex_unlock(&lo->lo_ctl_mutex);
        mutex_lock(&lo->lo_ctl_mutex);
        lo->lo_refcnt++;
        mutex_unlock(&lo->lo_ctl_mutex);
-diff -NurpP --minimal linux-3.13.10/drivers/block/loop.h linux-3.13.10-vs2.3.6.11/drivers/block/loop.h
---- linux-3.13.10/drivers/block/loop.h 2013-11-25 15:44:28.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/block/loop.h      2014-02-01 01:57:49.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/block/loop.h linux-3.18.5-vs2.3.7.3/drivers/block/loop.h
+--- linux-3.18.5/drivers/block/loop.h  2013-11-25 15:44:28.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/block/loop.h        2015-01-19 10:57:46.000000000 +0000
 @@ -41,6 +41,7 @@ struct loop_device {
        struct loop_func_table *lo_encryption;
        __u32           lo_init[2];
 @@ -41,6 +41,7 @@ struct loop_device {
        struct loop_func_table *lo_encryption;
        __u32           lo_init[2];
@@ -802,9 +831,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/loop.h linux-3.13.10-vs2.3.6.1
        int             (*ioctl)(struct loop_device *, int cmd, 
                                 unsigned long arg); 
  
        int             (*ioctl)(struct loop_device *, int cmd, 
                                 unsigned long arg); 
  
-diff -NurpP --minimal linux-3.13.10/drivers/block/vroot.c linux-3.13.10-vs2.3.6.11/drivers/block/vroot.c
---- linux-3.13.10/drivers/block/vroot.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/block/vroot.c     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/block/vroot.c linux-3.18.5-vs2.3.7.3/drivers/block/vroot.c
+--- linux-3.18.5/drivers/block/vroot.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/block/vroot.c       2015-01-19 10:57:46.000000000 +0000
 @@ -0,0 +1,290 @@
 +/*
 + *  linux/drivers/block/vroot.c
 @@ -0,0 +1,290 @@
 +/*
 + *  linux/drivers/block/vroot.c
@@ -1096,10 +1125,10 @@ diff -NurpP --minimal linux-3.13.10/drivers/block/vroot.c linux-3.13.10-vs2.3.6.
 +
 +#endif
 +
 +
 +#endif
 +
-diff -NurpP --minimal linux-3.13.10/drivers/infiniband/core/addr.c linux-3.13.10-vs2.3.6.11/drivers/infiniband/core/addr.c
---- linux-3.13.10/drivers/infiniband/core/addr.c       2013-11-25 15:44:35.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/infiniband/core/addr.c    2014-01-31 20:38:03.000000000 +0000
-@@ -277,7 +277,7 @@ static int addr6_resolve(struct sockaddr
+diff -NurpP --minimal linux-3.18.5/drivers/infiniband/core/addr.c linux-3.18.5-vs2.3.7.3/drivers/infiniband/core/addr.c
+--- linux-3.18.5/drivers/infiniband/core/addr.c        2014-06-12 11:33:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/infiniband/core/addr.c      2015-01-19 10:57:46.000000000 +0000
+@@ -284,7 +284,7 @@ static int addr6_resolve(struct sockaddr
  
        if (ipv6_addr_any(&fl6.saddr)) {
                ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev,
  
        if (ipv6_addr_any(&fl6.saddr)) {
                ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev,
@@ -1108,9 +1137,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/infiniband/core/addr.c linux-3.13.10
                if (ret)
                        goto put;
  
                if (ret)
                        goto put;
  
-diff -NurpP --minimal linux-3.13.10/drivers/md/dm-ioctl.c linux-3.13.10-vs2.3.6.11/drivers/md/dm-ioctl.c
---- linux-3.13.10/drivers/md/dm-ioctl.c        2014-01-22 20:38:36.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/md/dm-ioctl.c     2014-01-31 21:01:49.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/md/dm-ioctl.c linux-3.18.5-vs2.3.7.3/drivers/md/dm-ioctl.c
+--- linux-3.18.5/drivers/md/dm-ioctl.c 2015-01-17 02:39:51.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/md/dm-ioctl.c       2015-01-19 10:57:46.000000000 +0000
 @@ -16,6 +16,7 @@
  #include <linux/dm-ioctl.h>
  #include <linux/hdreg.h>
 @@ -16,6 +16,7 @@
  #include <linux/dm-ioctl.h>
  #include <linux/hdreg.h>
@@ -1196,9 +1225,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm-ioctl.c linux-3.13.10-vs2.3.6.
                return -EACCES;
  
        if (_IOC_TYPE(command) != DM_IOCTL)
                return -EACCES;
  
        if (_IOC_TYPE(command) != DM_IOCTL)
-diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/drivers/md/dm.c
---- linux-3.13.10/drivers/md/dm.c      2014-04-17 01:12:19.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/md/dm.c   2014-02-25 11:26:09.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/md/dm.c linux-3.18.5-vs2.3.7.3/drivers/md/dm.c
+--- linux-3.18.5/drivers/md/dm.c       2015-02-05 18:02:42.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/md/dm.c     2015-01-28 11:48:02.000000000 +0000
 @@ -19,6 +19,7 @@
  #include <linux/idr.h>
  #include <linux/hdreg.h>
 @@ -19,6 +19,7 @@
  #include <linux/idr.h>
  #include <linux/hdreg.h>
@@ -1207,7 +1236,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/dri
  
  #include <trace/events/block.h>
  
  
  #include <trace/events/block.h>
  
-@@ -139,6 +140,7 @@ struct mapped_device {
+@@ -134,6 +135,7 @@ struct mapped_device {
        struct mutex suspend_lock;
        atomic_t holders;
        atomic_t open_count;
        struct mutex suspend_lock;
        atomic_t holders;
        atomic_t open_count;
@@ -1215,7 +1244,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/dri
  
        /*
         * The current mapping.
  
        /*
         * The current mapping.
-@@ -384,6 +386,7 @@ int dm_deleting_md(struct mapped_device
+@@ -397,6 +399,7 @@ int dm_deleting_md(struct mapped_device
  static int dm_blk_open(struct block_device *bdev, fmode_t mode)
  {
        struct mapped_device *md;
  static int dm_blk_open(struct block_device *bdev, fmode_t mode)
  {
        struct mapped_device *md;
@@ -1223,7 +1252,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/dri
  
        spin_lock(&_minor_lock);
  
  
        spin_lock(&_minor_lock);
  
-@@ -392,18 +395,19 @@ static int dm_blk_open(struct block_devi
+@@ -405,18 +408,19 @@ static int dm_blk_open(struct block_devi
                goto out;
  
        if (test_bit(DMF_FREEING, &md->flags) ||
                goto out;
  
        if (test_bit(DMF_FREEING, &md->flags) ||
@@ -1249,7 +1278,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/dri
  }
  
  static void dm_blk_close(struct gendisk *disk, fmode_t mode)
  }
  
  static void dm_blk_close(struct gendisk *disk, fmode_t mode)
-@@ -687,6 +691,14 @@ int dm_set_geometry(struct mapped_device
+@@ -819,6 +823,14 @@ int dm_set_geometry(struct mapped_device
        return 0;
  }
  
        return 0;
  }
  
@@ -1264,17 +1293,17 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.c linux-3.13.10-vs2.3.6.11/dri
  /*-----------------------------------------------------------------
   * CRUD START:
   *   A more elegant soln is in the works that uses the queue
  /*-----------------------------------------------------------------
   * CRUD START:
   *   A more elegant soln is in the works that uses the queue
-@@ -2026,6 +2038,7 @@ static struct mapped_device *alloc_dev(i
-       INIT_LIST_HEAD(&md->uevent_list);
+@@ -2077,6 +2089,7 @@ static struct mapped_device *alloc_dev(i
+       INIT_LIST_HEAD(&md->table_devices);
        spin_lock_init(&md->uevent_lock);
  
 +      md->xid = vx_current_xid();
        md->queue = blk_alloc_queue(GFP_KERNEL);
        if (!md->queue)
                goto bad_queue;
        spin_lock_init(&md->uevent_lock);
  
 +      md->xid = vx_current_xid();
        md->queue = blk_alloc_queue(GFP_KERNEL);
        if (!md->queue)
                goto bad_queue;
-diff -NurpP --minimal linux-3.13.10/drivers/md/dm.h linux-3.13.10-vs2.3.6.11/drivers/md/dm.h
---- linux-3.13.10/drivers/md/dm.h      2014-04-17 01:12:19.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/md/dm.h   2014-02-25 11:26:09.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/md/dm.h linux-3.18.5-vs2.3.7.3/drivers/md/dm.h
+--- linux-3.18.5/drivers/md/dm.h       2015-01-17 02:39:51.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/md/dm.h     2015-01-19 10:57:46.000000000 +0000
 @@ -50,6 +50,8 @@ struct dm_dev_internal {
  struct dm_table;
  struct dm_md_mempools;
 @@ -50,6 +50,8 @@ struct dm_dev_internal {
  struct dm_table;
  struct dm_md_mempools;
@@ -1284,18 +1313,18 @@ diff -NurpP --minimal linux-3.13.10/drivers/md/dm.h linux-3.13.10-vs2.3.6.11/dri
  /*-----------------------------------------------------------------
   * Internal table functions.
   *---------------------------------------------------------------*/
  /*-----------------------------------------------------------------
   * Internal table functions.
   *---------------------------------------------------------------*/
-diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/drivers/net/tun.c
---- linux-3.13.10/drivers/net/tun.c    2014-04-17 01:12:21.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/net/tun.c 2014-04-17 01:17:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/net/tun.c linux-3.18.5-vs2.3.7.3/drivers/net/tun.c
+--- linux-3.18.5/drivers/net/tun.c     2015-01-17 02:40:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/net/tun.c   2015-01-19 10:57:46.000000000 +0000
 @@ -65,6 +65,7 @@
  #include <linux/nsproxy.h>
  #include <linux/virtio_net.h>
  #include <linux/rcupdate.h>
 +#include <linux/vs_network.h>
 @@ -65,6 +65,7 @@
  #include <linux/nsproxy.h>
  #include <linux/virtio_net.h>
  #include <linux/rcupdate.h>
 +#include <linux/vs_network.h>
+ #include <net/ipv6.h>
  #include <net/net_namespace.h>
  #include <net/netns/generic.h>
  #include <net/net_namespace.h>
  #include <net/netns/generic.h>
- #include <net/rtnetlink.h>
-@@ -168,6 +169,7 @@ struct tun_struct {
+@@ -171,6 +172,7 @@ struct tun_struct {
        unsigned int            flags;
        kuid_t                  owner;
        kgid_t                  group;
        unsigned int            flags;
        kuid_t                  owner;
        kgid_t                  group;
@@ -1303,7 +1332,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/d
  
        struct net_device       *dev;
        netdev_features_t       set_features;
  
        struct net_device       *dev;
        netdev_features_t       set_features;
-@@ -385,6 +387,7 @@ static inline bool tun_not_capable(struc
+@@ -404,6 +406,7 @@ static inline bool tun_not_capable(struc
        return ((uid_valid(tun->owner) && !uid_eq(cred->euid, tun->owner)) ||
                  (gid_valid(tun->group) && !in_egroup_p(tun->group))) &&
                !ns_capable(net->user_ns, CAP_NET_ADMIN);
        return ((uid_valid(tun->owner) && !uid_eq(cred->euid, tun->owner)) ||
                  (gid_valid(tun->group) && !in_egroup_p(tun->group))) &&
                !ns_capable(net->user_ns, CAP_NET_ADMIN);
@@ -1311,7 +1340,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/d
  }
  
  static void tun_set_real_num_queues(struct tun_struct *tun)
  }
  
  static void tun_set_real_num_queues(struct tun_struct *tun)
-@@ -1382,6 +1385,7 @@ static void tun_setup(struct net_device
+@@ -1413,6 +1416,7 @@ static void tun_setup(struct net_device
  
        tun->owner = INVALID_UID;
        tun->group = INVALID_GID;
  
        tun->owner = INVALID_UID;
        tun->group = INVALID_GID;
@@ -1319,7 +1348,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/d
  
        dev->ethtool_ops = &tun_ethtool_ops;
        dev->destructor = tun_free_netdev;
  
        dev->ethtool_ops = &tun_ethtool_ops;
        dev->destructor = tun_free_netdev;
-@@ -1598,7 +1602,7 @@ static int tun_set_iff(struct net *net,
+@@ -1629,7 +1633,7 @@ static int tun_set_iff(struct net *net,
                int queues = ifr->ifr_flags & IFF_MULTI_QUEUE ?
                             MAX_TAP_QUEUES : 1;
  
                int queues = ifr->ifr_flags & IFF_MULTI_QUEUE ?
                             MAX_TAP_QUEUES : 1;
  
@@ -1328,7 +1357,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/d
                        return -EPERM;
                err = security_tun_dev_create();
                if (err < 0)
                        return -EPERM;
                err = security_tun_dev_create();
                if (err < 0)
-@@ -1969,6 +1973,16 @@ static long __tun_chr_ioctl(struct file
+@@ -1996,6 +2000,16 @@ static long __tun_chr_ioctl(struct file
                          from_kgid(&init_user_ns, tun->group));
                break;
  
                          from_kgid(&init_user_ns, tun->group));
                break;
  
@@ -1345,18 +1374,31 @@ diff -NurpP --minimal linux-3.13.10/drivers/net/tun.c linux-3.13.10-vs2.3.6.11/d
        case TUNSETLINK:
                /* Only allow setting the type when the interface is down */
                if (tun->dev->flags & IFF_UP) {
        case TUNSETLINK:
                /* Only allow setting the type when the interface is down */
                if (tun->dev->flags & IFF_UP) {
-diff -NurpP --minimal linux-3.13.10/drivers/tty/sysrq.c linux-3.13.10-vs2.3.6.11/drivers/tty/sysrq.c
---- linux-3.13.10/drivers/tty/sysrq.c  2014-01-22 20:39:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/tty/sysrq.c       2014-01-31 20:55:49.000000000 +0000
-@@ -46,6 +46,7 @@
- #include <linux/jiffies.h>
+diff -NurpP --minimal linux-3.18.5/drivers/scsi/cxgbi/libcxgbi.c linux-3.18.5-vs2.3.7.3/drivers/scsi/cxgbi/libcxgbi.c
+--- linux-3.18.5/drivers/scsi/cxgbi/libcxgbi.c 2015-01-17 02:40:05.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/scsi/cxgbi/libcxgbi.c       2015-02-06 01:59:47.000000000 +0000
+@@ -764,7 +764,8 @@ static struct cxgbi_sock *cxgbi_check_ro
+               struct inet6_dev *idev = ip6_dst_idev((struct dst_entry *)rt);
+               err = ipv6_dev_get_saddr(&init_net, idev ? idev->dev : NULL,
+-                                       &daddr6->sin6_addr, 0, &pref_saddr);
++                                       &daddr6->sin6_addr, 0, &pref_saddr,
++                                       NULL);
+               if (err) {
+                       pr_info("failed to get source address to reach %pI6\n",
+                               &daddr6->sin6_addr);
+diff -NurpP --minimal linux-3.18.5/drivers/tty/sysrq.c linux-3.18.5-vs2.3.7.3/drivers/tty/sysrq.c
+--- linux-3.18.5/drivers/tty/sysrq.c   2015-01-16 22:19:12.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/tty/sysrq.c 2015-01-19 11:01:25.000000000 +0000
+@@ -47,6 +47,7 @@
  #include <linux/syscalls.h>
  #include <linux/of.h>
  #include <linux/syscalls.h>
  #include <linux/of.h>
+ #include <linux/rcupdate.h>
 +#include <linux/vserver/debug.h>
  
  #include <asm/ptrace.h>
  #include <asm/irq_regs.h>
 +#include <linux/vserver/debug.h>
  
  #include <asm/ptrace.h>
  #include <asm/irq_regs.h>
-@@ -407,6 +408,21 @@ static struct sysrq_key_op sysrq_unrt_op
+@@ -408,6 +409,21 @@ static struct sysrq_key_op sysrq_unrt_op
        .enable_mask    = SYSRQ_ENABLE_RTNICE,
  };
  
        .enable_mask    = SYSRQ_ENABLE_RTNICE,
  };
  
@@ -1378,7 +1420,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/sysrq.c linux-3.13.10-vs2.3.6.11
  /* Key Operations table and lock */
  static DEFINE_SPINLOCK(sysrq_key_table_lock);
  
  /* Key Operations table and lock */
  static DEFINE_SPINLOCK(sysrq_key_table_lock);
  
-@@ -462,7 +478,11 @@ static struct sysrq_key_op *sysrq_key_ta
+@@ -463,7 +479,11 @@ static struct sysrq_key_op *sysrq_key_ta
        &sysrq_showstate_blocked_op,    /* w */
        /* x: May be registered on ppc/powerpc for xmon */
        /* x: May be registered on sparc64 for global PMU dump */
        &sysrq_showstate_blocked_op,    /* w */
        /* x: May be registered on ppc/powerpc for xmon */
        /* x: May be registered on sparc64 for global PMU dump */
@@ -1390,7 +1432,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/sysrq.c linux-3.13.10-vs2.3.6.11
        /* y: May be registered on sparc64 for global register dump */
        NULL,                           /* y */
        &sysrq_ftrace_dump_op,          /* z */
        /* y: May be registered on sparc64 for global register dump */
        NULL,                           /* y */
        &sysrq_ftrace_dump_op,          /* z */
-@@ -477,6 +497,8 @@ static int sysrq_key_table_key2index(int
+@@ -478,6 +498,8 @@ static int sysrq_key_table_key2index(int
                retval = key - '0';
        else if ((key >= 'a') && (key <= 'z'))
                retval = key + 10 - 'a';
                retval = key - '0';
        else if ((key >= 'a') && (key <= 'z'))
                retval = key + 10 - 'a';
@@ -1399,9 +1441,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/sysrq.c linux-3.13.10-vs2.3.6.11
        else
                retval = -1;
        return retval;
        else
                retval = -1;
        return retval;
-diff -NurpP --minimal linux-3.13.10/drivers/tty/tty_io.c linux-3.13.10-vs2.3.6.11/drivers/tty/tty_io.c
---- linux-3.13.10/drivers/tty/tty_io.c 2014-01-22 20:39:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/drivers/tty/tty_io.c      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/drivers/tty/tty_io.c linux-3.18.5-vs2.3.7.3/drivers/tty/tty_io.c
+--- linux-3.18.5/drivers/tty/tty_io.c  2015-01-17 02:40:14.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/drivers/tty/tty_io.c        2015-01-19 10:57:46.000000000 +0000
 @@ -104,6 +104,7 @@
  
  #include <linux/kmod.h>
 @@ -104,6 +104,7 @@
  
  #include <linux/kmod.h>
@@ -1410,7 +1452,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/tty_io.c linux-3.13.10-vs2.3.6.1
  
  #undef TTY_DEBUG_HANGUP
  
  
  #undef TTY_DEBUG_HANGUP
  
-@@ -2218,7 +2219,8 @@ static int tiocsti(struct tty_struct *tt
+@@ -2237,7 +2238,8 @@ static int tiocsti(struct tty_struct *tt
        char ch, mbz = 0;
        struct tty_ldisc *ld;
  
        char ch, mbz = 0;
        struct tty_ldisc *ld;
  
@@ -1420,7 +1462,7 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/tty_io.c linux-3.13.10-vs2.3.6.1
                return -EPERM;
        if (get_user(ch, p))
                return -EFAULT;
                return -EPERM;
        if (get_user(ch, p))
                return -EFAULT;
-@@ -2506,6 +2508,7 @@ static int tiocspgrp(struct tty_struct *
+@@ -2525,6 +2527,7 @@ static int tiocspgrp(struct tty_struct *
                return -ENOTTY;
        if (get_user(pgrp_nr, p))
                return -EFAULT;
                return -ENOTTY;
        if (get_user(pgrp_nr, p))
                return -EFAULT;
@@ -1428,9 +1470,9 @@ diff -NurpP --minimal linux-3.13.10/drivers/tty/tty_io.c linux-3.13.10-vs2.3.6.1
        if (pgrp_nr < 0)
                return -EINVAL;
        rcu_read_lock();
        if (pgrp_nr < 0)
                return -EINVAL;
        rcu_read_lock();
-diff -NurpP --minimal linux-3.13.10/fs/attr.c linux-3.13.10-vs2.3.6.11/fs/attr.c
---- linux-3.13.10/fs/attr.c    2014-04-17 01:12:31.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/attr.c 2014-03-12 15:51:07.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/attr.c linux-3.18.5-vs2.3.7.3/fs/attr.c
+--- linux-3.18.5/fs/attr.c     2014-09-03 13:19:35.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/attr.c   2015-01-19 10:57:46.000000000 +0000
 @@ -15,6 +15,9 @@
  #include <linux/security.h>
  #include <linux/evm.h>
 @@ -15,6 +15,9 @@
  #include <linux/security.h>
  #include <linux/evm.h>
@@ -1471,9 +1513,9 @@ diff -NurpP --minimal linux-3.13.10/fs/attr.c linux-3.13.10-vs2.3.6.11/fs/attr.c
                if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
                        return -EPERM;
        }
                if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
                        return -EPERM;
        }
-diff -NurpP --minimal linux-3.13.10/fs/block_dev.c linux-3.13.10-vs2.3.6.11/fs/block_dev.c
---- linux-3.13.10/fs/block_dev.c       2013-11-25 15:46:58.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/block_dev.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/block_dev.c linux-3.18.5-vs2.3.7.3/fs/block_dev.c
+--- linux-3.18.5/fs/block_dev.c        2015-01-17 02:40:16.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/block_dev.c      2015-01-19 10:57:46.000000000 +0000
 @@ -28,6 +28,7 @@
  #include <linux/log2.h>
  #include <linux/cleancache.h>
 @@ -28,6 +28,7 @@
  #include <linux/log2.h>
  #include <linux/cleancache.h>
@@ -1482,7 +1524,7 @@ diff -NurpP --minimal linux-3.13.10/fs/block_dev.c linux-3.13.10-vs2.3.6.11/fs/b
  #include <asm/uaccess.h>
  #include "internal.h"
  
  #include <asm/uaccess.h>
  #include "internal.h"
  
-@@ -515,6 +516,7 @@ struct block_device *bdget(dev_t dev)
+@@ -575,6 +576,7 @@ struct block_device *bdget(dev_t dev)
                bdev->bd_invalidated = 0;
                inode->i_mode = S_IFBLK;
                inode->i_rdev = dev;
                bdev->bd_invalidated = 0;
                inode->i_mode = S_IFBLK;
                inode->i_rdev = dev;
@@ -1490,7 +1532,7 @@ diff -NurpP --minimal linux-3.13.10/fs/block_dev.c linux-3.13.10-vs2.3.6.11/fs/b
                inode->i_bdev = bdev;
                inode->i_data.a_ops = &def_blk_aops;
                mapping_set_gfp_mask(&inode->i_data, GFP_USER);
                inode->i_bdev = bdev;
                inode->i_data.a_ops = &def_blk_aops;
                mapping_set_gfp_mask(&inode->i_data, GFP_USER);
-@@ -562,6 +564,11 @@ EXPORT_SYMBOL(bdput);
+@@ -622,6 +624,11 @@ EXPORT_SYMBOL(bdput);
  static struct block_device *bd_acquire(struct inode *inode)
  {
        struct block_device *bdev;
  static struct block_device *bd_acquire(struct inode *inode)
  {
        struct block_device *bdev;
@@ -1502,7 +1544,7 @@ diff -NurpP --minimal linux-3.13.10/fs/block_dev.c linux-3.13.10-vs2.3.6.11/fs/b
  
        spin_lock(&bdev_lock);
        bdev = inode->i_bdev;
  
        spin_lock(&bdev_lock);
        bdev = inode->i_bdev;
-@@ -572,7 +579,7 @@ static struct block_device *bd_acquire(s
+@@ -632,7 +639,7 @@ static struct block_device *bd_acquire(s
        }
        spin_unlock(&bdev_lock);
  
        }
        spin_unlock(&bdev_lock);
  
@@ -1511,10 +1553,10 @@ diff -NurpP --minimal linux-3.13.10/fs/block_dev.c linux-3.13.10-vs2.3.6.11/fs/b
        if (bdev) {
                spin_lock(&bdev_lock);
                if (!inode->i_bdev) {
        if (bdev) {
                spin_lock(&bdev_lock);
                if (!inode->i_bdev) {
-diff -NurpP --minimal linux-3.13.10/fs/btrfs/ctree.h linux-3.13.10-vs2.3.6.11/fs/btrfs/ctree.h
---- linux-3.13.10/fs/btrfs/ctree.h     2014-01-22 20:39:05.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/btrfs/ctree.h  2014-01-31 23:58:35.000000000 +0000
-@@ -718,11 +718,14 @@ struct btrfs_inode_item {
+diff -NurpP --minimal linux-3.18.5/fs/btrfs/ctree.h linux-3.18.5-vs2.3.7.3/fs/btrfs/ctree.h
+--- linux-3.18.5/fs/btrfs/ctree.h      2015-01-17 02:40:16.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/btrfs/ctree.h    2015-01-19 10:57:46.000000000 +0000
+@@ -728,11 +728,14 @@ struct btrfs_inode_item {
        /* modification sequence number for NFS */
        __le64 sequence;
  
        /* modification sequence number for NFS */
        __le64 sequence;
  
@@ -1530,16 +1572,16 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ctree.h linux-3.13.10-vs2.3.6.11/fs
        struct btrfs_timespec atime;
        struct btrfs_timespec ctime;
        struct btrfs_timespec mtime;
        struct btrfs_timespec atime;
        struct btrfs_timespec ctime;
        struct btrfs_timespec mtime;
-@@ -2000,6 +2003,8 @@ struct btrfs_ioctl_defrag_range_args {
+@@ -2098,6 +2101,8 @@ struct btrfs_ioctl_defrag_range_args {
  #define BTRFS_DEFAULT_COMMIT_INTERVAL (30)
  #define BTRFS_DEFAULT_COMMIT_INTERVAL (30)
+ #define BTRFS_DEFAULT_MAX_INLINE      (8192)
  
 +#define BTRFS_MOUNT_TAGGED            (1 << 24)
 +
  #define btrfs_clear_opt(o, opt)               ((o) &= ~BTRFS_MOUNT_##opt)
  #define btrfs_set_opt(o, opt)         ((o) |= BTRFS_MOUNT_##opt)
  #define btrfs_raw_test_opt(o, opt)    ((o) & BTRFS_MOUNT_##opt)
  
 +#define BTRFS_MOUNT_TAGGED            (1 << 24)
 +
  #define btrfs_clear_opt(o, opt)               ((o) &= ~BTRFS_MOUNT_##opt)
  #define btrfs_set_opt(o, opt)         ((o) |= BTRFS_MOUNT_##opt)
  #define btrfs_raw_test_opt(o, opt)    ((o) & BTRFS_MOUNT_##opt)
-@@ -2269,6 +2274,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st
+@@ -2381,6 +2386,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st
  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);
  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);
@@ -1547,7 +1589,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ctree.h linux-3.13.10-vs2.3.6.11/fs
  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);
  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);
-@@ -2341,6 +2347,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct
+@@ -2453,6 +2459,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct
  
  BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32);
  
  
  BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32);
  
@@ -1558,7 +1600,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ctree.h linux-3.13.10-vs2.3.6.11/fs
  
  BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8);
  
  
  BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8);
  
-@@ -3722,6 +3732,7 @@ long btrfs_ioctl(struct file *file, unsi
+@@ -3864,6 +3874,7 @@ long btrfs_ioctl(struct file *file, unsi
  void btrfs_update_iflags(struct inode *inode);
  void btrfs_inherit_iflags(struct inode *inode, struct inode *dir);
  int btrfs_is_empty_uuid(u8 *uuid);
  void btrfs_update_iflags(struct inode *inode);
  void btrfs_inherit_iflags(struct inode *inode, struct inode *dir);
  int btrfs_is_empty_uuid(u8 *uuid);
@@ -1566,10 +1608,10 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ctree.h linux-3.13.10-vs2.3.6.11/fs
  int btrfs_defrag_file(struct inode *inode, struct file *file,
                      struct btrfs_ioctl_defrag_range_args *range,
                      u64 newer_than, unsigned long max_pages);
  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.13.10/fs/btrfs/disk-io.c linux-3.13.10-vs2.3.6.11/fs/btrfs/disk-io.c
---- linux-3.13.10/fs/btrfs/disk-io.c   2014-01-22 20:39:05.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/btrfs/disk-io.c        2014-01-31 20:38:03.000000000 +0000
-@@ -2388,6 +2388,9 @@ int open_ctree(struct super_block *sb,
+diff -NurpP --minimal linux-3.18.5/fs/btrfs/disk-io.c linux-3.18.5-vs2.3.7.3/fs/btrfs/disk-io.c
+--- linux-3.18.5/fs/btrfs/disk-io.c    2015-02-05 18:02:44.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/btrfs/disk-io.c  2015-01-19 10:57:46.000000000 +0000
+@@ -2460,6 +2460,9 @@ int open_ctree(struct super_block *sb,
                goto fail_alloc;
        }
  
                goto fail_alloc;
        }
  
@@ -1579,9 +1621,9 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/disk-io.c linux-3.13.10-vs2.3.6.11/
        features = btrfs_super_incompat_flags(disk_super) &
                ~BTRFS_FEATURE_INCOMPAT_SUPP;
        if (features) {
        features = btrfs_super_incompat_flags(disk_super) &
                ~BTRFS_FEATURE_INCOMPAT_SUPP;
        if (features) {
-diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs/btrfs/inode.c
---- linux-3.13.10/fs/btrfs/inode.c     2014-04-17 01:12:31.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/btrfs/inode.c  2014-03-12 15:51:07.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/btrfs/inode.c linux-3.18.5-vs2.3.7.3/fs/btrfs/inode.c
+--- linux-3.18.5/fs/btrfs/inode.c      2015-01-17 02:40:16.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/btrfs/inode.c    2015-01-19 12:26:30.000000000 +0000
 @@ -43,6 +43,7 @@
  #include <linux/btrfs.h>
  #include <linux/blkdev.h>
 @@ -43,6 +43,7 @@
  #include <linux/btrfs.h>
  #include <linux/blkdev.h>
@@ -1590,8 +1632,8 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
  #include "ctree.h"
  #include "disk-io.h"
  #include "transaction.h"
  #include "ctree.h"
  #include "disk-io.h"
  #include "transaction.h"
-@@ -3317,6 +3318,9 @@ static void btrfs_read_locked_inode(stru
-       struct btrfs_key location;
+@@ -3477,6 +3478,9 @@ static void btrfs_read_locked_inode(stru
+       unsigned long ptr;
        int maybe_acls;
        u32 rdev;
 +      kuid_t kuid;
        int maybe_acls;
        u32 rdev;
 +      kuid_t kuid;
@@ -1599,8 +1641,8 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
 +      ktag_t ktag;
        int ret;
        bool filled = false;
 +      ktag_t ktag;
        int ret;
        bool filled = false;
-@@ -3344,8 +3348,14 @@ static void btrfs_read_locked_inode(stru
+       int first_xattr_slot;
+@@ -3504,8 +3508,14 @@ static void btrfs_read_locked_inode(stru
                                    struct btrfs_inode_item);
        inode->i_mode = btrfs_inode_mode(leaf, inode_item);
        set_nlink(inode, btrfs_inode_nlink(leaf, inode_item));
                                    struct btrfs_inode_item);
        inode->i_mode = btrfs_inode_mode(leaf, inode_item);
        set_nlink(inode, btrfs_inode_nlink(leaf, inode_item));
@@ -1617,7 +1659,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
        btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item));
  
        tspec = btrfs_inode_atime(inode_item);
        btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item));
  
        tspec = btrfs_inode_atime(inode_item);
-@@ -3436,11 +3446,18 @@ static void fill_inode_item(struct btrfs
+@@ -3629,11 +3639,18 @@ static void fill_inode_item(struct btrfs
                            struct inode *inode)
  {
        struct btrfs_map_token token;
                            struct inode *inode)
  {
        struct btrfs_map_token token;
@@ -1638,7 +1680,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
        btrfs_set_token_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size,
                                   &token);
        btrfs_set_token_inode_mode(leaf, item, inode->i_mode, &token);
        btrfs_set_token_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size,
                                   &token);
        btrfs_set_token_inode_mode(leaf, item, inode->i_mode, &token);
-@@ -8652,14 +8669,17 @@ static const struct inode_operations btr
+@@ -9459,6 +9476,7 @@ static const struct inode_operations btr
        .listxattr      = btrfs_listxattr,
        .removexattr    = btrfs_removexattr,
        .permission     = btrfs_permission,
        .listxattr      = btrfs_listxattr,
        .removexattr    = btrfs_removexattr,
        .permission     = btrfs_permission,
@@ -1646,8 +1688,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
        .get_acl        = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
        .get_acl        = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
- };
-+
+@@ -9467,6 +9485,7 @@ static const struct inode_operations btr
  static const struct inode_operations btrfs_dir_ro_inode_operations = {
        .lookup         = btrfs_lookup,
        .permission     = btrfs_permission,
  static const struct inode_operations btrfs_dir_ro_inode_operations = {
        .lookup         = btrfs_lookup,
        .permission     = btrfs_permission,
@@ -1655,19 +1696,18 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/inode.c linux-3.13.10-vs2.3.6.11/fs
        .get_acl        = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
        .get_acl        = btrfs_get_acl,
        .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
- };
-@@ -8727,6 +8747,7 @@ static const struct inode_operations btr
+@@ -9537,6 +9556,7 @@ static const struct inode_operations btr
        .removexattr    = btrfs_removexattr,
        .permission     = btrfs_permission,
        .fiemap         = btrfs_fiemap,
 +      .sync_flags     = btrfs_sync_flags,
        .get_acl        = btrfs_get_acl,
        .removexattr    = btrfs_removexattr,
        .permission     = btrfs_permission,
        .fiemap         = btrfs_fiemap,
 +      .sync_flags     = btrfs_sync_flags,
        .get_acl        = btrfs_get_acl,
+       .set_acl        = btrfs_set_acl,
        .update_time    = btrfs_update_time,
        .update_time    = btrfs_update_time,
- };
-diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs/btrfs/ioctl.c
---- linux-3.13.10/fs/btrfs/ioctl.c     2014-04-17 01:12:31.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/btrfs/ioctl.c  2014-02-25 11:26:09.000000000 +0000
-@@ -78,10 +78,13 @@ static unsigned int btrfs_flags_to_ioctl
+diff -NurpP --minimal linux-3.18.5/fs/btrfs/ioctl.c linux-3.18.5-vs2.3.7.3/fs/btrfs/ioctl.c
+--- linux-3.18.5/fs/btrfs/ioctl.c      2015-01-17 02:40:16.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/btrfs/ioctl.c    2015-01-21 09:54:51.000000000 +0000
+@@ -107,10 +107,13 @@ static unsigned int btrfs_flags_to_ioctl
  {
        unsigned int iflags = 0;
  
  {
        unsigned int iflags = 0;
  
@@ -1683,7 +1723,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
        if (flags & BTRFS_INODE_APPEND)
                iflags |= FS_APPEND_FL;
        if (flags & BTRFS_INODE_NODUMP)
        if (flags & BTRFS_INODE_APPEND)
                iflags |= FS_APPEND_FL;
        if (flags & BTRFS_INODE_NODUMP)
-@@ -98,28 +101,78 @@ static unsigned int btrfs_flags_to_ioctl
+@@ -127,34 +130,84 @@ static unsigned int btrfs_flags_to_ioctl
        else if (flags & BTRFS_INODE_NOCOMPRESS)
                iflags |= FS_NOCOMP_FL;
  
        else if (flags & BTRFS_INODE_NOCOMPRESS)
                iflags |= FS_NOCOMP_FL;
  
@@ -1701,36 +1741,40 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
  void btrfs_update_iflags(struct inode *inode)
  {
        struct btrfs_inode *ip = BTRFS_I(inode);
  void btrfs_update_iflags(struct inode *inode)
  {
        struct btrfs_inode *ip = BTRFS_I(inode);
--      inode->i_flags &= ~(S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
-+      inode->i_flags &= ~(S_IMMUTABLE | S_IXUNLINK |
-+              S_SYNC | S_APPEND | S_NOATIME | S_DIRSYNC);
+       unsigned int new_fl = 0;
  
 -      if (ip->flags & BTRFS_INODE_SYNC)
  
 -      if (ip->flags & BTRFS_INODE_SYNC)
--              inode->i_flags |= S_SYNC;
+-              new_fl |= S_SYNC;
        if (ip->flags & BTRFS_INODE_IMMUTABLE)
        if (ip->flags & BTRFS_INODE_IMMUTABLE)
-               inode->i_flags |= S_IMMUTABLE;
+               new_fl |= S_IMMUTABLE;
 +      if (ip->flags & BTRFS_INODE_IXUNLINK)
 +      if (ip->flags & BTRFS_INODE_IXUNLINK)
-+              inode->i_flags |= S_IXUNLINK;
++              new_fl |= S_IXUNLINK;
 +
 +      if (ip->flags & BTRFS_INODE_SYNC)
 +
 +      if (ip->flags & BTRFS_INODE_SYNC)
-+              inode->i_flags |= S_SYNC;
++              new_fl |= S_SYNC;
        if (ip->flags & BTRFS_INODE_APPEND)
        if (ip->flags & BTRFS_INODE_APPEND)
-               inode->i_flags |= S_APPEND;
+               new_fl |= S_APPEND;
        if (ip->flags & BTRFS_INODE_NOATIME)
        if (ip->flags & BTRFS_INODE_NOATIME)
-               inode->i_flags |= S_NOATIME;
+               new_fl |= S_NOATIME;
        if (ip->flags & BTRFS_INODE_DIRSYNC)
        if (ip->flags & BTRFS_INODE_DIRSYNC)
-               inode->i_flags |= S_DIRSYNC;
-+
-+      inode->i_vflags &= ~(V_BARRIER | V_COW);
+               new_fl |= S_DIRSYNC;
+-
+       set_mask_bits(&inode->i_flags,
+-                    S_SYNC | S_APPEND | S_IMMUTABLE | S_NOATIME | S_DIRSYNC,
++                    S_SYNC | S_APPEND | S_IMMUTABLE | S_IXUNLINK | S_NOATIME | S_DIRSYNC,
+                     new_fl);
 +
 +
++      new_fl = 0;
 +      if (ip->flags & BTRFS_INODE_BARRIER)
 +      if (ip->flags & BTRFS_INODE_BARRIER)
-+              inode->i_vflags |= V_BARRIER;
++              new_fl |= V_BARRIER;
 +      if (ip->flags & BTRFS_INODE_COW)
 +      if (ip->flags & BTRFS_INODE_COW)
-+              inode->i_vflags |= V_COW;
-+}
++              new_fl |= V_COW;
 +
 +
-+/*
++      set_mask_bits(&inode->i_vflags,
++              V_BARRIER | V_COW, new_fl);
+ }
+ /*
 + * Update btrfs internal flags from inode->i_(v)flags.
 + */
 +void btrfs_update_flags(struct inode *inode)
 + * Update btrfs internal flags from inode->i_(v)flags.
 + */
 +void btrfs_update_flags(struct inode *inode)
@@ -1763,10 +1807,13 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
 +              ip->flags |= BTRFS_INODE_BARRIER;
 +      if (vflags & V_COW)
 +              ip->flags |= BTRFS_INODE_COW;
 +              ip->flags |= BTRFS_INODE_BARRIER;
 +      if (vflags & V_COW)
 +              ip->flags |= BTRFS_INODE_COW;
- }
- /*
-@@ -135,6 +188,7 @@ void btrfs_inherit_iflags(struct inode *
++ }
++
++/*
+  * Inherit flags from the parent inode.
+  *
+  * Currently only the compression flags and the cow flags are inherited.
+@@ -167,6 +220,7 @@ void btrfs_inherit_iflags(struct inode *
                return;
  
        flags = BTRFS_I(dir)->flags;
                return;
  
        flags = BTRFS_I(dir)->flags;
@@ -1774,7 +1821,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
  
        if (flags & BTRFS_INODE_NOCOMPRESS) {
                BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS;
  
        if (flags & BTRFS_INODE_NOCOMPRESS) {
                BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS;
-@@ -153,6 +207,30 @@ void btrfs_inherit_iflags(struct inode *
+@@ -185,6 +239,30 @@ void btrfs_inherit_iflags(struct inode *
        btrfs_update_iflags(inode);
  }
  
        btrfs_update_iflags(inode);
  }
  
@@ -1805,7 +1852,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
  static int btrfs_ioctl_getflags(struct file *file, void __user *arg)
  {
        struct btrfs_inode *ip = BTRFS_I(file_inode(file));
  static int btrfs_ioctl_getflags(struct file *file, void __user *arg)
  {
        struct btrfs_inode *ip = BTRFS_I(file_inode(file));
-@@ -215,21 +293,27 @@ static int btrfs_ioctl_setflags(struct f
+@@ -247,21 +325,27 @@ static int btrfs_ioctl_setflags(struct f
  
        flags = btrfs_mask_flags(inode->i_mode, flags);
        oldflags = btrfs_flags_to_ioctl(ip->flags);
  
        flags = btrfs_mask_flags(inode->i_mode, flags);
        oldflags = btrfs_flags_to_ioctl(ip->flags);
@@ -1838,10 +1885,10 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs
        if (flags & FS_APPEND_FL)
                ip->flags |= BTRFS_INODE_APPEND;
        else
        if (flags & FS_APPEND_FL)
                ip->flags |= BTRFS_INODE_APPEND;
        else
-diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs/btrfs/super.c
---- linux-3.13.10/fs/btrfs/super.c     2014-01-22 20:39:05.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/btrfs/super.c  2014-01-31 23:58:08.000000000 +0000
-@@ -323,7 +323,7 @@ enum {
+diff -NurpP --minimal linux-3.18.5/fs/btrfs/super.c linux-3.18.5-vs2.3.7.3/fs/btrfs/super.c
+--- linux-3.18.5/fs/btrfs/super.c      2015-02-05 18:02:44.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/btrfs/super.c    2015-01-19 10:57:46.000000000 +0000
+@@ -325,7 +325,7 @@ enum {
        Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard,
        Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, Opt_datacow,
        Opt_datasum, Opt_treelog, Opt_noinode_cache,
        Opt_commit_interval, Opt_barrier, Opt_nodefrag, Opt_nodiscard,
        Opt_noenospc_debug, Opt_noflushoncommit, Opt_acl, Opt_datacow,
        Opt_datasum, Opt_treelog, Opt_noinode_cache,
@@ -1850,7 +1897,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs
  };
  
  static match_table_t tokens = {
  };
  
  static match_table_t tokens = {
-@@ -365,6 +365,9 @@ static match_table_t tokens = {
+@@ -377,6 +377,9 @@ static match_table_t tokens = {
        {Opt_rescan_uuid_tree, "rescan_uuid_tree"},
        {Opt_fatal_errors, "fatal_errors=%s"},
        {Opt_commit_interval, "commit=%d"},
        {Opt_rescan_uuid_tree, "rescan_uuid_tree"},
        {Opt_fatal_errors, "fatal_errors=%s"},
        {Opt_commit_interval, "commit=%d"},
@@ -1860,7 +1907,7 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs
        {Opt_err, NULL},
  };
  
        {Opt_err, NULL},
  };
  
-@@ -674,6 +677,22 @@ int btrfs_parse_options(struct btrfs_roo
+@@ -743,6 +746,22 @@ int btrfs_parse_options(struct btrfs_roo
                                info->commit_interval = BTRFS_DEFAULT_COMMIT_INTERVAL;
                        }
                        break;
                                info->commit_interval = BTRFS_DEFAULT_COMMIT_INTERVAL;
                        }
                        break;
@@ -1881,9 +1928,9 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs
 +                      break;
 +#endif
                case Opt_err:
 +                      break;
 +#endif
                case Opt_err:
-                       printk(KERN_INFO "btrfs: unrecognized mount option "
-                              "'%s'\n", p);
-@@ -1320,6 +1339,12 @@ static int btrfs_remount(struct super_bl
+                       btrfs_info(root->fs_info, "unrecognized mount option '%s'", p);
+                       ret = -EINVAL;
+@@ -1495,6 +1514,12 @@ static int btrfs_remount(struct super_bl
        btrfs_resize_thread_pool(fs_info,
                fs_info->thread_pool_size, old_thread_pool_size);
  
        btrfs_resize_thread_pool(fs_info,
                fs_info->thread_pool_size, old_thread_pool_size);
  
@@ -1896,9 +1943,9 @@ diff -NurpP --minimal linux-3.13.10/fs/btrfs/super.c linux-3.13.10-vs2.3.6.11/fs
        if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY))
                goto out;
  
        if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY))
                goto out;
  
-diff -NurpP --minimal linux-3.13.10/fs/char_dev.c linux-3.13.10-vs2.3.6.11/fs/char_dev.c
---- linux-3.13.10/fs/char_dev.c        2014-01-22 20:39:05.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/char_dev.c     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/char_dev.c linux-3.18.5-vs2.3.7.3/fs/char_dev.c
+--- linux-3.18.5/fs/char_dev.c 2014-01-22 20:39:05.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/char_dev.c       2015-01-19 10:57:46.000000000 +0000
 @@ -21,6 +21,8 @@
  #include <linux/mutex.h>
  #include <linux/backing-dev.h>
 @@ -21,6 +21,8 @@
  #include <linux/mutex.h>
  #include <linux/backing-dev.h>
@@ -1931,9 +1978,9 @@ diff -NurpP --minimal linux-3.13.10/fs/char_dev.c linux-3.13.10-vs2.3.6.11/fs/ch
                if (!kobj)
                        return -ENXIO;
                new = container_of(kobj, struct cdev, kobj);
                if (!kobj)
                        return -ENXIO;
                new = container_of(kobj, struct cdev, kobj);
-diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcache.c
---- linux-3.13.10/fs/dcache.c  2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/dcache.c       2014-04-17 01:17:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/dcache.c linux-3.18.5-vs2.3.7.3/fs/dcache.c
+--- linux-3.18.5/fs/dcache.c   2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/dcache.c 2015-01-19 12:06:59.000000000 +0000
 @@ -38,6 +38,7 @@
  #include <linux/prefetch.h>
  #include <linux/ratelimit.h>
 @@ -38,6 +38,7 @@
  #include <linux/prefetch.h>
  #include <linux/ratelimit.h>
@@ -1942,16 +1989,7 @@ diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcac
  #include "internal.h"
  #include "mount.h"
  
  #include "internal.h"
  #include "mount.h"
  
-@@ -640,6 +641,8 @@ int d_invalidate(struct dentry * dentry)
-               spin_lock(&dentry->d_lock);
-       }
-+      vx_dentry_dec(dentry);
-+
-       /*
-        * Somebody else still using it?
-        *
-@@ -669,6 +672,7 @@ EXPORT_SYMBOL(d_invalidate);
+@@ -654,6 +655,7 @@ EXPORT_SYMBOL(dput);
  static inline void __dget_dlock(struct dentry *dentry)
  {
        dentry->d_lockref.count++;
  static inline void __dget_dlock(struct dentry *dentry)
  {
        dentry->d_lockref.count++;
@@ -1959,7 +1997,16 @@ diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcac
  }
  
  static inline void __dget(struct dentry *dentry)
  }
  
  static inline void __dget(struct dentry *dentry)
-@@ -1483,6 +1487,9 @@ struct dentry *__d_alloc(struct super_bl
+@@ -666,6 +668,8 @@ struct dentry *dget_parent(struct dentry
+       int gotref;
+       struct dentry *ret;
++      vx_dentry_dec(dentry);
++
+       /*
+        * Do optimistic parent lookup without any
+        * locking.
+@@ -1410,6 +1414,9 @@ struct dentry *__d_alloc(struct super_bl
        struct dentry *dentry;
        char *dname;
  
        struct dentry *dentry;
        char *dname;
  
@@ -1969,7 +2016,7 @@ diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcac
        dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL);
        if (!dentry)
                return NULL;
        dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL);
        if (!dentry)
                return NULL;
-@@ -1515,6 +1522,7 @@ struct dentry *__d_alloc(struct super_bl
+@@ -1445,6 +1452,7 @@ struct dentry *__d_alloc(struct super_bl
  
        dentry->d_lockref.count = 1;
        dentry->d_flags = 0;
  
        dentry->d_lockref.count = 1;
        dentry->d_flags = 0;
@@ -1977,7 +2024,7 @@ diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcac
        spin_lock_init(&dentry->d_lock);
        seqcount_init(&dentry->d_seq);
        dentry->d_inode = NULL;
        spin_lock_init(&dentry->d_lock);
        seqcount_init(&dentry->d_seq);
        dentry->d_inode = NULL;
-@@ -2278,6 +2286,7 @@ struct dentry *__d_lookup(const struct d
+@@ -2184,6 +2192,7 @@ struct dentry *__d_lookup(const struct d
                }
  
                dentry->d_lockref.count++;
                }
  
                dentry->d_lockref.count++;
@@ -1985,10 +2032,10 @@ diff -NurpP --minimal linux-3.13.10/fs/dcache.c linux-3.13.10-vs2.3.6.11/fs/dcac
                found = dentry;
                spin_unlock(&dentry->d_lock);
                break;
                found = dentry;
                spin_unlock(&dentry->d_lock);
                break;
-diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/fs/devpts/inode.c
---- linux-3.13.10/fs/devpts/inode.c    2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/devpts/inode.c 2014-02-01 01:40:53.000000000 +0000
-@@ -25,6 +25,7 @@
+diff -NurpP --minimal linux-3.18.5/fs/devpts/inode.c linux-3.18.5-vs2.3.7.3/fs/devpts/inode.c
+--- linux-3.18.5/fs/devpts/inode.c     2014-09-03 13:19:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/devpts/inode.c   2015-01-19 10:57:47.000000000 +0000
+@@ -27,6 +27,7 @@
  #include <linux/parser.h>
  #include <linux/fsnotify.h>
  #include <linux/seq_file.h>
  #include <linux/parser.h>
  #include <linux/fsnotify.h>
  #include <linux/seq_file.h>
@@ -1996,7 +2043,7 @@ diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/f
  
  #define DEVPTS_DEFAULT_MODE 0600
  /*
  
  #define DEVPTS_DEFAULT_MODE 0600
  /*
-@@ -36,6 +37,21 @@
+@@ -38,6 +39,21 @@
  #define DEVPTS_DEFAULT_PTMX_MODE 0000
  #define PTMX_MINOR    2
  
  #define DEVPTS_DEFAULT_PTMX_MODE 0000
  #define PTMX_MINOR    2
  
@@ -2018,7 +2065,7 @@ diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/f
  /*
   * 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.
  /*
   * 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.
-@@ -345,6 +361,34 @@ static int devpts_show_options(struct se
+@@ -350,6 +366,34 @@ static int devpts_show_options(struct se
        return 0;
  }
  
        return 0;
  }
  
@@ -2053,7 +2100,7 @@ diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/f
  static const struct super_operations devpts_sops = {
        .statfs         = simple_statfs,
        .remount_fs     = devpts_remount,
  static const struct super_operations devpts_sops = {
        .statfs         = simple_statfs,
        .remount_fs     = devpts_remount,
-@@ -388,8 +432,10 @@ devpts_fill_super(struct super_block *s,
+@@ -393,8 +437,10 @@ devpts_fill_super(struct super_block *s,
        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;
        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;
@@ -2065,7 +2112,7 @@ diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/f
  
        s->s_root = d_make_root(inode);
        if (s->s_root)
  
        s->s_root = d_make_root(inode);
        if (s->s_root)
-@@ -593,6 +639,9 @@ struct inode *devpts_pty_new(struct inod
+@@ -598,6 +644,9 @@ struct inode *devpts_pty_new(struct inod
        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);
        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);
@@ -2075,9 +2122,9 @@ diff -NurpP --minimal linux-3.13.10/fs/devpts/inode.c linux-3.13.10-vs2.3.6.11/f
        inode->i_private = priv;
  
        sprintf(s, "%d", index);
        inode->i_private = priv;
  
        sprintf(s, "%d", index);
-diff -NurpP --minimal linux-3.13.10/fs/ext2/balloc.c linux-3.13.10-vs2.3.6.11/fs/ext2/balloc.c
---- linux-3.13.10/fs/ext2/balloc.c     2013-05-31 13:45:23.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/balloc.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/balloc.c linux-3.18.5-vs2.3.7.3/fs/ext2/balloc.c
+--- linux-3.18.5/fs/ext2/balloc.c      2013-05-31 13:45:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/balloc.c    2015-01-19 10:57:47.000000000 +0000
 @@ -693,7 +693,6 @@ ext2_try_to_allocate(struct super_block
                        start = 0;
                end = EXT2_BLOCKS_PER_GROUP(sb);
 @@ -693,7 +693,6 @@ ext2_try_to_allocate(struct super_block
                        start = 0;
                end = EXT2_BLOCKS_PER_GROUP(sb);
@@ -2086,9 +2133,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/balloc.c linux-3.13.10-vs2.3.6.11/fs
        BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb));
  
  repeat:
        BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb));
  
  repeat:
-diff -NurpP --minimal linux-3.13.10/fs/ext2/ext2.h linux-3.13.10-vs2.3.6.11/fs/ext2/ext2.h
---- linux-3.13.10/fs/ext2/ext2.h       2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/ext2.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/ext2.h linux-3.18.5-vs2.3.7.3/fs/ext2/ext2.h
+--- linux-3.18.5/fs/ext2/ext2.h        2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/ext2.h      2015-01-19 10:57:47.000000000 +0000
 @@ -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) */
 @@ -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) */
@@ -2136,18 +2183,18 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/ext2.h linux-3.13.10-vs2.3.6.11/fs/e
  
  /* ioctl.c */
  extern long ext2_ioctl(struct file *, unsigned int, unsigned long);
  
  /* ioctl.c */
  extern long ext2_ioctl(struct file *, unsigned int, unsigned long);
-diff -NurpP --minimal linux-3.13.10/fs/ext2/file.c linux-3.13.10-vs2.3.6.11/fs/ext2/file.c
---- linux-3.13.10/fs/ext2/file.c       2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/file.c    2014-01-31 20:38:03.000000000 +0000
-@@ -104,4 +104,5 @@ const struct inode_operations ext2_file_
-       .setattr        = ext2_setattr,
+diff -NurpP --minimal linux-3.18.5/fs/ext2/file.c linux-3.18.5-vs2.3.7.3/fs/ext2/file.c
+--- linux-3.18.5/fs/ext2/file.c        2014-09-03 13:19:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/file.c      2015-01-19 10:57:47.000000000 +0000
+@@ -105,4 +105,5 @@ const struct inode_operations ext2_file_
        .get_acl        = ext2_get_acl,
        .get_acl        = ext2_get_acl,
+       .set_acl        = ext2_set_acl,
        .fiemap         = ext2_fiemap,
 +      .sync_flags     = ext2_sync_flags,
  };
        .fiemap         = ext2_fiemap,
 +      .sync_flags     = ext2_sync_flags,
  };
-diff -NurpP --minimal linux-3.13.10/fs/ext2/ialloc.c linux-3.13.10-vs2.3.6.11/fs/ext2/ialloc.c
---- linux-3.13.10/fs/ext2/ialloc.c     2013-05-31 13:45:23.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/ialloc.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/ialloc.c linux-3.18.5-vs2.3.7.3/fs/ext2/ialloc.c
+--- linux-3.18.5/fs/ext2/ialloc.c      2014-06-12 13:02:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/ialloc.c    2015-01-19 10:57:47.000000000 +0000
 @@ -17,6 +17,7 @@
  #include <linux/backing-dev.h>
  #include <linux/buffer_head.h>
 @@ -17,6 +17,7 @@
  #include <linux/backing-dev.h>
  #include <linux/buffer_head.h>
@@ -2164,9 +2211,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/ialloc.c linux-3.13.10-vs2.3.6.11/fs
        } else
                inode_init_owner(inode, dir, mode);
  
        } else
                inode_init_owner(inode, dir, mode);
  
-diff -NurpP --minimal linux-3.13.10/fs/ext2/inode.c linux-3.13.10-vs2.3.6.11/fs/ext2/inode.c
---- linux-3.13.10/fs/ext2/inode.c      2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/inode.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/inode.c linux-3.18.5-vs2.3.7.3/fs/ext2/inode.c
+--- linux-3.18.5/fs/ext2/inode.c       2014-09-03 13:19:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/inode.c     2015-01-19 10:57:47.000000000 +0000
 @@ -32,6 +32,7 @@
  #include <linux/fiemap.h>
  #include <linux/namei.h>
 @@ -32,6 +32,7 @@
  #include <linux/fiemap.h>
  #include <linux/namei.h>
@@ -2299,9 +2346,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/inode.c linux-3.13.10-vs2.3.6.11/fs/
                error = dquot_transfer(inode, iattr);
                if (error)
                        return error;
                error = dquot_transfer(inode, iattr);
                if (error)
                        return error;
-diff -NurpP --minimal linux-3.13.10/fs/ext2/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ext2/ioctl.c
---- linux-3.13.10/fs/ext2/ioctl.c      2013-05-31 13:45:23.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/ioctl.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/ioctl.c linux-3.18.5-vs2.3.7.3/fs/ext2/ioctl.c
+--- linux-3.18.5/fs/ext2/ioctl.c       2013-05-31 13:45:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/ioctl.c     2015-01-19 10:57:47.000000000 +0000
 @@ -17,6 +17,16 @@
  #include <asm/uaccess.h>
  
 @@ -17,6 +17,16 @@
  #include <asm/uaccess.h>
  
@@ -2351,9 +2398,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
                flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE;
                ei->i_flags = flags;
  
                flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE;
                ei->i_flags = flags;
  
-diff -NurpP --minimal linux-3.13.10/fs/ext2/namei.c linux-3.13.10-vs2.3.6.11/fs/ext2/namei.c
---- linux-3.13.10/fs/ext2/namei.c      2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/namei.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/namei.c linux-3.18.5-vs2.3.7.3/fs/ext2/namei.c
+--- linux-3.18.5/fs/ext2/namei.c       2014-06-12 11:34:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/namei.c     2015-01-19 10:57:47.000000000 +0000
 @@ -32,6 +32,7 @@
  
  #include <linux/pagemap.h>
 @@ -32,6 +32,7 @@
  
  #include <linux/pagemap.h>
@@ -2370,16 +2417,17 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/namei.c linux-3.13.10-vs2.3.6.11/fs/
        }
        return d_splice_alias(inode, dentry);
  }
        }
        return d_splice_alias(inode, dentry);
  }
-@@ -432,5 +434,6 @@ const struct inode_operations ext2_speci
+@@ -433,6 +435,7 @@ const struct inode_operations ext2_speci
        .removexattr    = generic_removexattr,
  #endif
        .setattr        = ext2_setattr,
 +      .sync_flags     = ext2_sync_flags,
        .get_acl        = ext2_get_acl,
        .removexattr    = generic_removexattr,
  #endif
        .setattr        = ext2_setattr,
 +      .sync_flags     = ext2_sync_flags,
        .get_acl        = ext2_get_acl,
+       .set_acl        = ext2_set_acl,
  };
  };
-diff -NurpP --minimal linux-3.13.10/fs/ext2/super.c linux-3.13.10-vs2.3.6.11/fs/ext2/super.c
---- linux-3.13.10/fs/ext2/super.c      2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext2/super.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext2/super.c linux-3.18.5-vs2.3.7.3/fs/ext2/super.c
+--- linux-3.18.5/fs/ext2/super.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext2/super.c     2015-01-19 10:57:47.000000000 +0000
 @@ -395,7 +395,8 @@ enum {
        Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
        Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
 @@ -395,7 +395,8 @@ enum {
        Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
        Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
@@ -2430,7 +2478,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/super.c linux-3.13.10-vs2.3.6.11/fs/
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ?
                 MS_POSIXACL : 0);
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ?
                 MS_POSIXACL : 0);
-@@ -1269,6 +1289,14 @@ static int ext2_remount (struct super_bl
+@@ -1270,6 +1290,14 @@ static int ext2_remount (struct super_bl
                err = -EINVAL;
                goto restore_opts;
        }
                err = -EINVAL;
                goto restore_opts;
        }
@@ -2445,9 +2493,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext2/super.c linux-3.13.10-vs2.3.6.11/fs/
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/ext3/ext3.h
---- linux-3.13.10/fs/ext3/ext3.h       2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/ext3.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/ext3.h linux-3.18.5-vs2.3.7.3/fs/ext3/ext3.h
+--- linux-3.18.5/fs/ext3/ext3.h        2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/ext3.h      2015-01-19 10:57:47.000000000 +0000
 @@ -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) */
 @@ -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) */
@@ -2465,7 +2513,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/e
  
  /* Flags that should be inherited by new inodes from their parent. */
  #define EXT3_FL_INHERITED (EXT3_SECRM_FL | EXT3_UNRM_FL | EXT3_COMPR_FL |\
  
  /* Flags that should be inherited by new inodes from their parent. */
  #define EXT3_FL_INHERITED (EXT3_SECRM_FL | EXT3_UNRM_FL | EXT3_COMPR_FL |\
-@@ -290,7 +294,8 @@ struct ext3_inode {
+@@ -292,7 +296,8 @@ struct ext3_inode {
                        __u16   i_pad1;
                        __le16  l_i_uid_high;   /* these 2 fields    */
                        __le16  l_i_gid_high;   /* were reserved2[0] */
                        __u16   i_pad1;
                        __le16  l_i_uid_high;   /* these 2 fields    */
                        __le16  l_i_gid_high;   /* were reserved2[0] */
@@ -2475,7 +2523,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/e
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
                } linux2;
                struct {
                        __u8    h_i_frag;       /* Fragment number */
-@@ -320,6 +325,7 @@ struct ext3_inode {
+@@ -322,6 +327,7 @@ struct ext3_inode {
  #define i_gid_low     i_gid
  #define i_uid_high    osd2.linux2.l_i_uid_high
  #define i_gid_high    osd2.linux2.l_i_gid_high
  #define i_gid_low     i_gid
  #define i_uid_high    osd2.linux2.l_i_uid_high
  #define i_gid_high    osd2.linux2.l_i_gid_high
@@ -2483,7 +2531,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/e
  #define i_reserved2   osd2.linux2.l_i_reserved2
  
  /*
  #define i_reserved2   osd2.linux2.l_i_reserved2
  
  /*
-@@ -364,6 +370,7 @@ struct ext3_inode {
+@@ -366,6 +372,7 @@ struct ext3_inode {
  #define EXT3_MOUNT_GRPQUOTA           0x200000 /* "old" group quota */
  #define EXT3_MOUNT_DATA_ERR_ABORT     0x400000 /* Abort on file data write
                                                  * error in ordered mode */
  #define EXT3_MOUNT_GRPQUOTA           0x200000 /* "old" group quota */
  #define EXT3_MOUNT_DATA_ERR_ABORT     0x400000 /* Abort on file data write
                                                  * error in ordered mode */
@@ -2491,7 +2539,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/e
  
  /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
  #ifndef _LINUX_EXT2_FS_H
  
  /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
  #ifndef _LINUX_EXT2_FS_H
-@@ -1061,6 +1068,7 @@ extern void ext3_get_inode_flags(struct
+@@ -1063,6 +1070,7 @@ extern void ext3_get_inode_flags(struct
  extern void ext3_set_aops(struct inode *inode);
  extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
                       u64 start, u64 len);
  extern void ext3_set_aops(struct inode *inode);
  extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
                       u64 start, u64 len);
@@ -2499,19 +2547,19 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ext3.h linux-3.13.10-vs2.3.6.11/fs/e
  
  /* ioctl.c */
  extern long ext3_ioctl(struct file *, unsigned int, unsigned long);
  
  /* ioctl.c */
  extern long ext3_ioctl(struct file *, unsigned int, unsigned long);
-diff -NurpP --minimal linux-3.13.10/fs/ext3/file.c linux-3.13.10-vs2.3.6.11/fs/ext3/file.c
---- linux-3.13.10/fs/ext3/file.c       2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/file.c    2014-01-31 20:38:03.000000000 +0000
-@@ -76,5 +76,6 @@ const struct inode_operations ext3_file_
- #endif
+diff -NurpP --minimal linux-3.18.5/fs/ext3/file.c linux-3.18.5-vs2.3.7.3/fs/ext3/file.c
+--- linux-3.18.5/fs/ext3/file.c        2014-09-03 13:19:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/file.c      2015-01-19 10:57:47.000000000 +0000
+@@ -77,5 +77,6 @@ const struct inode_operations ext3_file_
        .get_acl        = ext3_get_acl,
        .get_acl        = ext3_get_acl,
+       .set_acl        = ext3_set_acl,
        .fiemap         = ext3_fiemap,
 +      .sync_flags     = ext3_sync_flags,
  };
  
        .fiemap         = ext3_fiemap,
 +      .sync_flags     = ext3_sync_flags,
  };
  
-diff -NurpP --minimal linux-3.13.10/fs/ext3/ialloc.c linux-3.13.10-vs2.3.6.11/fs/ext3/ialloc.c
---- linux-3.13.10/fs/ext3/ialloc.c     2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/ialloc.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/ialloc.c linux-3.18.5-vs2.3.7.3/fs/ext3/ialloc.c
+--- linux-3.18.5/fs/ext3/ialloc.c      2014-06-12 13:02:41.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/ialloc.c    2015-01-19 10:57:47.000000000 +0000
 @@ -14,6 +14,7 @@
  
  #include <linux/quotaops.h>
 @@ -14,6 +14,7 @@
  
  #include <linux/quotaops.h>
@@ -2528,9 +2576,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ialloc.c linux-3.13.10-vs2.3.6.11/fs
        } else
                inode_init_owner(inode, dir, mode);
  
        } else
                inode_init_owner(inode, dir, mode);
  
-diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/ext3/inode.c
---- linux-3.13.10/fs/ext3/inode.c      2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/inode.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/inode.c linux-3.18.5-vs2.3.7.3/fs/ext3/inode.c
+--- linux-3.18.5/fs/ext3/inode.c       2014-09-03 13:19:39.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/inode.c     2015-01-19 10:57:47.000000000 +0000
 @@ -28,6 +28,8 @@
  #include <linux/mpage.h>
  #include <linux/namei.h>
 @@ -28,6 +28,8 @@
  #include <linux/mpage.h>
  #include <linux/namei.h>
@@ -2540,7 +2588,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
  #include "ext3.h"
  #include "xattr.h"
  #include "acl.h"
  #include "ext3.h"
  #include "xattr.h"
  #include "acl.h"
-@@ -2855,36 +2857,60 @@ void ext3_set_inode_flags(struct inode *
+@@ -2813,36 +2815,60 @@ void ext3_set_inode_flags(struct inode *
  {
        unsigned int flags = EXT3_I(inode)->i_flags;
  
  {
        unsigned int flags = EXT3_I(inode)->i_flags;
  
@@ -2608,7 +2656,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
  }
  
  struct inode *ext3_iget(struct super_block *sb, unsigned long ino)
  }
  
  struct inode *ext3_iget(struct super_block *sb, unsigned long ino)
-@@ -2922,8 +2948,10 @@ struct inode *ext3_iget(struct super_blo
+@@ -2880,8 +2906,10 @@ struct inode *ext3_iget(struct super_blo
                i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16;
                i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16;
        }
                i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16;
                i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16;
        }
@@ -2621,7 +2669,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
        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);
        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);
-@@ -3095,8 +3123,10 @@ again:
+@@ -3053,8 +3081,10 @@ again:
  
        ext3_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
  
        ext3_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
@@ -2634,7 +2682,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
        if(!(test_opt(inode->i_sb, NO_UID32))) {
                raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid));
                raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid));
        if(!(test_opt(inode->i_sb, NO_UID32))) {
                raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid));
                raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid));
-@@ -3121,6 +3151,9 @@ again:
+@@ -3079,6 +3109,9 @@ again:
                raw_inode->i_uid_high = 0;
                raw_inode->i_gid_high = 0;
        }
                raw_inode->i_uid_high = 0;
                raw_inode->i_gid_high = 0;
        }
@@ -2644,7 +2692,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
        disksize = cpu_to_le32(ei->i_disksize);
        if (disksize != raw_inode->i_size) {
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
        disksize = cpu_to_le32(ei->i_disksize);
        if (disksize != raw_inode->i_size) {
-@@ -3289,7 +3322,8 @@ int ext3_setattr(struct dentry *dentry,
+@@ -3251,7 +3284,8 @@ int ext3_setattr(struct dentry *dentry,
        if (is_quota_modification(inode, attr))
                dquot_initialize(inode);
        if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) ||
        if (is_quota_modification(inode, attr))
                dquot_initialize(inode);
        if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) ||
@@ -2654,7 +2702,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
-@@ -3311,6 +3345,8 @@ int ext3_setattr(struct dentry *dentry,
+@@ -3273,6 +3307,8 @@ int ext3_setattr(struct dentry *dentry,
                        inode->i_uid = attr->ia_uid;
                if (attr->ia_valid & ATTR_GID)
                        inode->i_gid = attr->ia_gid;
                        inode->i_uid = attr->ia_uid;
                if (attr->ia_valid & ATTR_GID)
                        inode->i_gid = attr->ia_gid;
@@ -2663,9 +2711,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/inode.c linux-3.13.10-vs2.3.6.11/fs/
                error = ext3_mark_inode_dirty(handle, inode);
                ext3_journal_stop(handle);
        }
                error = ext3_mark_inode_dirty(handle, inode);
                ext3_journal_stop(handle);
        }
-diff -NurpP --minimal linux-3.13.10/fs/ext3/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ext3/ioctl.c
---- linux-3.13.10/fs/ext3/ioctl.c      2013-05-31 13:45:23.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/ioctl.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/ioctl.c linux-3.18.5-vs2.3.7.3/fs/ext3/ioctl.c
+--- linux-3.18.5/fs/ext3/ioctl.c       2013-05-31 13:45:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/ioctl.c     2015-01-19 10:57:47.000000000 +0000
 @@ -12,6 +12,34 @@
  #include <asm/uaccess.h>
  #include "ext3.h"
 @@ -12,6 +12,34 @@
  #include <asm/uaccess.h>
  #include "ext3.h"
@@ -2733,9 +2781,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
                flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE;
                ei->i_flags = flags;
  
                flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE;
                ei->i_flags = flags;
  
-diff -NurpP --minimal linux-3.13.10/fs/ext3/namei.c linux-3.13.10-vs2.3.6.11/fs/ext3/namei.c
---- linux-3.13.10/fs/ext3/namei.c      2013-11-25 15:46:59.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/namei.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/namei.c linux-3.18.5-vs2.3.7.3/fs/ext3/namei.c
+--- linux-3.18.5/fs/ext3/namei.c       2014-06-12 11:34:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/namei.c     2015-01-19 10:57:47.000000000 +0000
 @@ -25,6 +25,8 @@
   */
  
 @@ -25,6 +25,8 @@
   */
  
@@ -2759,11 +2807,11 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/namei.c linux-3.13.10-vs2.3.6.11/fs/
  #endif
 +      .sync_flags     = ext3_sync_flags,
        .get_acl        = ext3_get_acl,
  #endif
 +      .sync_flags     = ext3_sync_flags,
        .get_acl        = ext3_get_acl,
+       .set_acl        = ext3_set_acl,
  };
  };
-diff -NurpP --minimal linux-3.13.10/fs/ext3/super.c linux-3.13.10-vs2.3.6.11/fs/ext3/super.c
---- linux-3.13.10/fs/ext3/super.c      2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext3/super.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext3/super.c linux-3.18.5-vs2.3.7.3/fs/ext3/super.c
+--- linux-3.18.5/fs/ext3/super.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext3/super.c     2015-01-19 10:57:47.000000000 +0000
 @@ -826,7 +826,8 @@ enum {
        Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
        Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
 @@ -826,7 +826,8 @@ enum {
        Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
        Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
@@ -2805,7 +2853,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/super.c linux-3.13.10-vs2.3.6.11/fs/
                case Opt_nocheck:
                        clear_opt (sbi->s_mount_opt, CHECK);
                        break;
                case Opt_nocheck:
                        clear_opt (sbi->s_mount_opt, CHECK);
                        break;
-@@ -1788,6 +1806,9 @@ static int ext3_fill_super (struct super
+@@ -1781,6 +1799,9 @@ static int ext3_fill_super (struct super
                            NULL, 0))
                goto failed_mount;
  
                            NULL, 0))
                goto failed_mount;
  
@@ -2815,7 +2863,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/super.c linux-3.13.10-vs2.3.6.11/fs/
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
-@@ -2683,6 +2704,14 @@ static int ext3_remount (struct super_bl
+@@ -2678,6 +2699,14 @@ static int ext3_remount (struct super_bl
        if (test_opt(sb, ABORT))
                ext3_abort(sb, __func__, "Abort forced by user");
  
        if (test_opt(sb, ABORT))
                ext3_abort(sb, __func__, "Abort forced by user");
  
@@ -2830,9 +2878,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext3/super.c linux-3.13.10-vs2.3.6.11/fs/
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
-diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/ext4/ext4.h
---- linux-3.13.10/fs/ext4/ext4.h       2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/ext4.h    2014-03-12 15:51:07.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext4/ext4.h linux-3.18.5-vs2.3.7.3/fs/ext4/ext4.h
+--- linux-3.18.5/fs/ext4/ext4.h        2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/ext4.h      2015-01-19 10:57:47.000000000 +0000
 @@ -385,7 +385,10 @@ struct flex_groups {
  #define EXT4_EXTENTS_FL                       0x00080000 /* Inode uses extents */
  #define EXT4_EA_INODE_FL              0x00200000 /* Inode used for large EA */
 @@ -385,7 +385,10 @@ struct flex_groups {
  #define EXT4_EXTENTS_FL                       0x00080000 /* Inode uses extents */
  #define EXT4_EA_INODE_FL              0x00200000 /* Inode used for large EA */
@@ -2844,7 +2892,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/e
  #define EXT4_RESERVED_FL              0x80000000 /* reserved for ext4 lib */
  
  #define EXT4_FL_USER_VISIBLE          0x004BDFFF /* User visible flags */
  #define EXT4_RESERVED_FL              0x80000000 /* reserved for ext4 lib */
  
  #define EXT4_FL_USER_VISIBLE          0x004BDFFF /* User visible flags */
-@@ -670,7 +673,7 @@ struct ext4_inode {
+@@ -671,7 +674,7 @@ struct ext4_inode {
                        __le16  l_i_uid_high;   /* these 2 fields */
                        __le16  l_i_gid_high;   /* were reserved2[0] */
                        __le16  l_i_checksum_lo;/* crc32c(uuid+inum+inode) LE */
                        __le16  l_i_uid_high;   /* these 2 fields */
                        __le16  l_i_gid_high;   /* were reserved2[0] */
                        __le16  l_i_checksum_lo;/* crc32c(uuid+inum+inode) LE */
@@ -2853,7 +2901,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/e
                } linux2;
                struct {
                        __le16  h_i_reserved1;  /* Obsoleted fragment number/size which are removed in ext4 */
                } linux2;
                struct {
                        __le16  h_i_reserved1;  /* Obsoleted fragment number/size which are removed in ext4 */
-@@ -790,6 +793,7 @@ do {                                                                              \
+@@ -791,6 +794,7 @@ do {                                                                              \
  #define i_gid_low     i_gid
  #define i_uid_high    osd2.linux2.l_i_uid_high
  #define i_gid_high    osd2.linux2.l_i_gid_high
  #define i_gid_low     i_gid
  #define i_uid_high    osd2.linux2.l_i_uid_high
  #define i_gid_high    osd2.linux2.l_i_gid_high
@@ -2861,7 +2909,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/e
  #define i_checksum_lo osd2.linux2.l_i_checksum_lo
  
  #elif defined(__GNU__)
  #define i_checksum_lo osd2.linux2.l_i_checksum_lo
  
  #elif defined(__GNU__)
-@@ -976,6 +980,7 @@ struct ext4_inode_info {
+@@ -980,6 +984,7 @@ struct ext4_inode_info {
  #define EXT4_MOUNT_POSIX_ACL          0x08000 /* POSIX Access Control Lists */
  #define EXT4_MOUNT_NO_AUTO_DA_ALLOC   0x10000 /* No auto delalloc mapping */
  #define EXT4_MOUNT_BARRIER            0x20000 /* Use block barriers */
  #define EXT4_MOUNT_POSIX_ACL          0x08000 /* POSIX Access Control Lists */
  #define EXT4_MOUNT_NO_AUTO_DA_ALLOC   0x10000 /* No auto delalloc mapping */
  #define EXT4_MOUNT_BARRIER            0x20000 /* Use block barriers */
@@ -2869,7 +2917,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/e
  #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 */
  #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 */
-@@ -2653,6 +2658,7 @@ extern struct buffer_head *ext4_get_firs
+@@ -2644,6 +2649,7 @@ extern struct buffer_head *ext4_get_firs
  extern int ext4_inline_data_fiemap(struct inode *inode,
                                   struct fiemap_extent_info *fieinfo,
                                   int *has_inline);
  extern int ext4_inline_data_fiemap(struct inode *inode,
                                   struct fiemap_extent_info *fieinfo,
                                   int *has_inline);
@@ -2877,19 +2925,19 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ext4.h linux-3.13.10-vs2.3.6.11/fs/e
  extern int ext4_try_to_evict_inline_data(handle_t *handle,
                                         struct inode *inode,
                                         int needed);
  extern int ext4_try_to_evict_inline_data(handle_t *handle,
                                         struct inode *inode,
                                         int needed);
-diff -NurpP --minimal linux-3.13.10/fs/ext4/file.c linux-3.13.10-vs2.3.6.11/fs/ext4/file.c
---- linux-3.13.10/fs/ext4/file.c       2013-11-25 15:46:59.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/file.c    2014-01-31 20:38:03.000000000 +0000
-@@ -618,5 +618,6 @@ const struct inode_operations ext4_file_
-       .removexattr    = generic_removexattr,
+diff -NurpP --minimal linux-3.18.5/fs/ext4/file.c linux-3.18.5-vs2.3.7.3/fs/ext4/file.c
+--- linux-3.18.5/fs/ext4/file.c        2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/file.c      2015-01-19 10:57:47.000000000 +0000
+@@ -610,5 +610,6 @@ const struct inode_operations ext4_file_
        .get_acl        = ext4_get_acl,
        .get_acl        = ext4_get_acl,
+       .set_acl        = ext4_set_acl,
        .fiemap         = ext4_fiemap,
 +      .sync_flags     = ext4_sync_flags,
  };
  
        .fiemap         = ext4_fiemap,
 +      .sync_flags     = ext4_sync_flags,
  };
  
-diff -NurpP --minimal linux-3.13.10/fs/ext4/ialloc.c linux-3.13.10-vs2.3.6.11/fs/ext4/ialloc.c
---- linux-3.13.10/fs/ext4/ialloc.c     2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/ialloc.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext4/ialloc.c linux-3.18.5-vs2.3.7.3/fs/ext4/ialloc.c
+--- linux-3.18.5/fs/ext4/ialloc.c      2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/ialloc.c    2015-01-19 10:57:47.000000000 +0000
 @@ -22,6 +22,7 @@
  #include <linux/random.h>
  #include <linux/bitops.h>
 @@ -22,6 +22,7 @@
  #include <linux/random.h>
  #include <linux/bitops.h>
@@ -2898,7 +2946,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ialloc.c linux-3.13.10-vs2.3.6.11/fs
  #include <asm/byteorder.h>
  
  #include "ext4.h"
  #include <asm/byteorder.h>
  
  #include "ext4.h"
-@@ -731,6 +732,7 @@ struct inode *__ext4_new_inode(handle_t
+@@ -754,6 +755,7 @@ struct inode *__ext4_new_inode(handle_t
                inode->i_mode = mode;
                inode->i_uid = current_fsuid();
                inode->i_gid = dir->i_gid;
                inode->i_mode = mode;
                inode->i_uid = current_fsuid();
                inode->i_gid = dir->i_gid;
@@ -2906,9 +2954,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ialloc.c linux-3.13.10-vs2.3.6.11/fs
        } else
                inode_init_owner(inode, dir, mode);
        dquot_initialize(inode);
        } else
                inode_init_owner(inode, dir, mode);
        dquot_initialize(inode);
-diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/ext4/inode.c
---- linux-3.13.10/fs/ext4/inode.c      2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/inode.c   2014-04-17 01:28:13.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext4/inode.c linux-3.18.5-vs2.3.7.3/fs/ext4/inode.c
+--- linux-3.18.5/fs/ext4/inode.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/inode.c     2015-01-19 12:50:18.000000000 +0000
 @@ -39,6 +39,7 @@
  #include <linux/ratelimit.h>
  #include <linux/aio.h>
 @@ -39,6 +39,7 @@
  #include <linux/ratelimit.h>
  #include <linux/aio.h>
@@ -2917,7 +2965,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
  
  #include "ext4_jbd2.h"
  #include "xattr.h"
  
  #include "ext4_jbd2.h"
  #include "xattr.h"
-@@ -3929,42 +3930,67 @@ void ext4_set_inode_flags(struct inode *
+@@ -3811,42 +3812,66 @@ void ext4_set_inode_flags(struct inode *
        unsigned int flags = EXT4_I(inode)->i_flags;
        unsigned int new_fl = 0;
  
        unsigned int flags = EXT4_I(inode)->i_flags;
        unsigned int new_fl = 0;
  
@@ -2936,7 +2984,6 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
                new_fl |= S_NOATIME;
        if (flags & EXT4_DIRSYNC_FL)
                new_fl |= S_DIRSYNC;
                new_fl |= S_NOATIME;
        if (flags & EXT4_DIRSYNC_FL)
                new_fl |= S_DIRSYNC;
-+
        inode_set_flags(inode, new_fl,
 -                      S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
 +              S_IXUNLINK | S_IMMUTABLE |
        inode_set_flags(inode, new_fl,
 -                      S_SYNC|S_APPEND|S_IMMUTABLE|S_NOATIME|S_DIRSYNC);
 +              S_IXUNLINK | S_IMMUTABLE |
@@ -2992,7 +3039,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
        } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl);
  }
  
        } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl);
  }
  
-@@ -4069,8 +4095,10 @@ struct inode *ext4_iget(struct super_blo
+@@ -3950,8 +3975,10 @@ struct inode *ext4_iget(struct super_blo
                i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16;
                i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16;
        }
                i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16;
                i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16;
        }
@@ -3005,7 +3052,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
        set_nlink(inode, le16_to_cpu(raw_inode->i_links_count));
  
        ext4_clear_state_flags(ei);     /* Only relevant on 32-bit archs */
        set_nlink(inode, le16_to_cpu(raw_inode->i_links_count));
  
        ext4_clear_state_flags(ei);     /* Only relevant on 32-bit archs */
-@@ -4298,8 +4326,10 @@ static int ext4_do_update_inode(handle_t
+@@ -4191,8 +4218,10 @@ static int ext4_do_update_inode(handle_t
  
        ext4_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
  
        ext4_get_inode_flags(ei);
        raw_inode->i_mode = cpu_to_le16(inode->i_mode);
@@ -3018,7 +3065,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
        if (!(test_opt(inode->i_sb, NO_UID32))) {
                raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid));
                raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid));
        if (!(test_opt(inode->i_sb, NO_UID32))) {
                raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid));
                raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid));
-@@ -4322,6 +4352,9 @@ static int ext4_do_update_inode(handle_t
+@@ -4215,6 +4244,9 @@ static int ext4_do_update_inode(handle_t
                raw_inode->i_uid_high = 0;
                raw_inode->i_gid_high = 0;
        }
                raw_inode->i_uid_high = 0;
                raw_inode->i_gid_high = 0;
        }
@@ -3028,7 +3075,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
  
        EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
        raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
  
        EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
-@@ -4553,7 +4586,8 @@ int ext4_setattr(struct dentry *dentry,
+@@ -4458,7 +4490,8 @@ int ext4_setattr(struct dentry *dentry,
        if (is_quota_modification(inode, attr))
                dquot_initialize(inode);
        if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) ||
        if (is_quota_modification(inode, attr))
                dquot_initialize(inode);
        if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) ||
@@ -3038,7 +3085,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
                handle_t *handle;
  
                /* (user+group)*(old+new) structure, inode write (sb,
-@@ -4576,6 +4610,8 @@ int ext4_setattr(struct dentry *dentry,
+@@ -4481,6 +4514,8 @@ int ext4_setattr(struct dentry *dentry,
                        inode->i_uid = attr->ia_uid;
                if (attr->ia_valid & ATTR_GID)
                        inode->i_gid = attr->ia_gid;
                        inode->i_uid = attr->ia_uid;
                if (attr->ia_valid & ATTR_GID)
                        inode->i_gid = attr->ia_gid;
@@ -3047,9 +3094,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/inode.c linux-3.13.10-vs2.3.6.11/fs/
                error = ext4_mark_inode_dirty(handle, inode);
                ext4_journal_stop(handle);
        }
                error = ext4_mark_inode_dirty(handle, inode);
                ext4_journal_stop(handle);
        }
-diff -NurpP --minimal linux-3.13.10/fs/ext4/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ext4/ioctl.c
---- linux-3.13.10/fs/ext4/ioctl.c      2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/ioctl.c   2014-03-12 15:51:07.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext4/ioctl.c linux-3.18.5-vs2.3.7.3/fs/ext4/ioctl.c
+--- linux-3.18.5/fs/ext4/ioctl.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/ioctl.c     2015-01-19 10:57:47.000000000 +0000
 @@ -14,6 +14,7 @@
  #include <linux/compat.h>
  #include <linux/mount.h>
 @@ -14,6 +14,7 @@
  #include <linux/compat.h>
  #include <linux/mount.h>
@@ -3058,7 +3105,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
  #include <asm/uaccess.h>
  #include "ext4_jbd2.h"
  #include "ext4.h"
  #include <asm/uaccess.h>
  #include "ext4_jbd2.h"
  #include "ext4.h"
-@@ -214,6 +215,33 @@ swap_boot_out:
+@@ -198,6 +199,33 @@ journal_err_out:
        return err;
  }
  
        return err;
  }
  
@@ -3092,7 +3139,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
  long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        struct inode *inode = file_inode(filp);
  long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        struct inode *inode = file_inode(filp);
-@@ -247,6 +275,11 @@ long ext4_ioctl(struct file *filp, unsig
+@@ -231,6 +259,11 @@ long ext4_ioctl(struct file *filp, unsig
  
                flags = ext4_mask_flags(inode->i_mode, flags);
  
  
                flags = ext4_mask_flags(inode->i_mode, flags);
  
@@ -3104,7 +3151,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
                err = -EPERM;
                mutex_lock(&inode->i_mutex);
                /* Is it quota file? Do not allow user to mess with it */
                err = -EPERM;
                mutex_lock(&inode->i_mutex);
                /* Is it quota file? Do not allow user to mess with it */
-@@ -264,7 +297,9 @@ long ext4_ioctl(struct file *filp, unsig
+@@ -248,7 +281,9 @@ long ext4_ioctl(struct file *filp, unsig
                 *
                 * This test looks nicer. Thanks to Pauline Middelink
                 */
                 *
                 * This test looks nicer. Thanks to Pauline Middelink
                 */
@@ -3115,9 +3162,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/ioctl.c linux-3.13.10-vs2.3.6.11/fs/
                        if (!capable(CAP_LINUX_IMMUTABLE))
                                goto flags_out;
                }
                        if (!capable(CAP_LINUX_IMMUTABLE))
                                goto flags_out;
                }
-diff -NurpP --minimal linux-3.13.10/fs/ext4/namei.c linux-3.13.10-vs2.3.6.11/fs/ext4/namei.c
---- linux-3.13.10/fs/ext4/namei.c      2013-11-25 15:46:59.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/namei.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ext4/namei.c linux-3.18.5-vs2.3.7.3/fs/ext4/namei.c
+--- linux-3.18.5/fs/ext4/namei.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/namei.c     2015-01-19 10:57:47.000000000 +0000
 @@ -34,6 +34,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
 @@ -34,6 +34,7 @@
  #include <linux/quotaops.h>
  #include <linux/buffer_head.h>
@@ -3126,7 +3173,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/namei.c linux-3.13.10-vs2.3.6.11/fs/
  #include "ext4.h"
  #include "ext4_jbd2.h"
  
  #include "ext4.h"
  #include "ext4_jbd2.h"
  
-@@ -1299,6 +1300,7 @@ restart:
+@@ -1279,6 +1280,7 @@ restart:
                                        ll_rw_block(READ | REQ_META | REQ_PRIO,
                                                    1, &bh);
                        }
                                        ll_rw_block(READ | REQ_META | REQ_PRIO,
                                                    1, &bh);
                        }
@@ -3134,18 +3181,18 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/namei.c linux-3.13.10-vs2.3.6.11/fs/
                }
                if ((bh = bh_use[ra_ptr++]) == NULL)
                        goto next;
                }
                if ((bh = bh_use[ra_ptr++]) == NULL)
                        goto next;
-@@ -3226,6 +3228,7 @@ const struct inode_operations ext4_dir_i
-       .removexattr    = generic_removexattr,
+@@ -3539,6 +3541,7 @@ const struct inode_operations ext4_dir_i
        .get_acl        = ext4_get_acl,
        .get_acl        = ext4_get_acl,
+       .set_acl        = ext4_set_acl,
        .fiemap         = ext4_fiemap,
 +      .sync_flags     = ext4_sync_flags,
  };
  
  const struct inode_operations ext4_special_inode_operations = {
        .fiemap         = ext4_fiemap,
 +      .sync_flags     = ext4_sync_flags,
  };
  
  const struct inode_operations ext4_special_inode_operations = {
-diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/ext4/super.c
---- linux-3.13.10/fs/ext4/super.c      2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ext4/super.c   2014-03-12 15:51:07.000000000 +0000
-@@ -1162,7 +1162,7 @@ enum {
+diff -NurpP --minimal linux-3.18.5/fs/ext4/super.c linux-3.18.5-vs2.3.7.3/fs/ext4/super.c
+--- linux-3.18.5/fs/ext4/super.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ext4/super.c     2015-01-19 10:57:47.000000000 +0000
+@@ -1146,7 +1146,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,
        Opt_inode_readahead_blks, Opt_journal_ioprio,
        Opt_dioread_nolock, Opt_dioread_lock,
        Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable,
@@ -3154,7 +3201,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/
  };
  
  static const match_table_t tokens = {
  };
  
  static const match_table_t tokens = {
-@@ -1243,6 +1243,9 @@ static const match_table_t tokens = {
+@@ -1227,6 +1227,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 */
        {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 */
@@ -3164,7 +3211,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/
        {Opt_err, NULL},
  };
  
        {Opt_err, NULL},
  };
  
-@@ -1475,6 +1478,20 @@ static int handle_mount_opt(struct super
+@@ -1459,6 +1462,20 @@ static int handle_mount_opt(struct super
        case Opt_i_version:
                sb->s_flags |= MS_I_VERSION;
                return 1;
        case Opt_i_version:
                sb->s_flags |= MS_I_VERSION;
                return 1;
@@ -3185,7 +3232,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/
        }
  
        for (m = ext4_mount_opts; m->token != Opt_err; m++)
        }
  
        for (m = ext4_mount_opts; m->token != Opt_err; m++)
-@@ -3564,6 +3581,9 @@ static int ext4_fill_super(struct super_
+@@ -3600,6 +3617,9 @@ static int ext4_fill_super(struct super_
                        clear_opt(sb, DELALLOC);
        }
  
                        clear_opt(sb, DELALLOC);
        }
  
@@ -3195,7 +3242,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
-@@ -4818,6 +4838,14 @@ static int ext4_remount(struct super_blo
+@@ -4872,6 +4892,14 @@ static int ext4_remount(struct super_blo
        if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED)
                ext4_abort(sb, "Abort forced by user");
  
        if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED)
                ext4_abort(sb, "Abort forced by user");
  
@@ -3210,18 +3257,18 @@ diff -NurpP --minimal linux-3.13.10/fs/ext4/super.c linux-3.13.10-vs2.3.6.11/fs/
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
        sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
                (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
  
-diff -NurpP --minimal linux-3.13.10/fs/fcntl.c linux-3.13.10-vs2.3.6.11/fs/fcntl.c
---- linux-3.13.10/fs/fcntl.c   2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/fcntl.c        2014-01-31 20:38:03.000000000 +0000
-@@ -21,6 +21,7 @@
- #include <linux/rcupdate.h>
+diff -NurpP --minimal linux-3.18.5/fs/fcntl.c linux-3.18.5-vs2.3.7.3/fs/fcntl.c
+--- linux-3.18.5/fs/fcntl.c    2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/fcntl.c  2015-01-19 11:48:08.000000000 +0000
+@@ -22,6 +22,7 @@
  #include <linux/pid_namespace.h>
  #include <linux/user_namespace.h>
  #include <linux/pid_namespace.h>
  #include <linux/user_namespace.h>
+ #include <linux/shmem_fs.h>
 +#include <linux/vs_limit.h>
  
  #include <asm/poll.h>
  #include <asm/siginfo.h>
 +#include <linux/vs_limit.h>
  
  #include <asm/poll.h>
  #include <asm/siginfo.h>
-@@ -377,6 +378,8 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, f
+@@ -385,6 +386,8 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, f
  
        if (!f.file)
                goto out;
  
        if (!f.file)
                goto out;
@@ -3230,9 +3277,9 @@ diff -NurpP --minimal linux-3.13.10/fs/fcntl.c linux-3.13.10-vs2.3.6.11/fs/fcntl
  
        if (unlikely(f.file->f_mode & FMODE_PATH)) {
                if (!check_fcntl_cmd(cmd))
  
        if (unlikely(f.file->f_mode & FMODE_PATH)) {
                if (!check_fcntl_cmd(cmd))
-diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
---- linux-3.13.10/fs/file.c    2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/file.c 2014-02-25 11:26:09.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/file.c linux-3.18.5-vs2.3.7.3/fs/file.c
+--- linux-3.18.5/fs/file.c     2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/file.c   2015-01-19 10:57:47.000000000 +0000
 @@ -22,6 +22,7 @@
  #include <linux/spinlock.h>
  #include <linux/rcupdate.h>
 @@ -22,6 +22,7 @@
  #include <linux/spinlock.h>
  #include <linux/rcupdate.h>
@@ -3241,7 +3288,7 @@ diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
  
  int sysctl_nr_open __read_mostly = 1024*1024;
  int sysctl_nr_open_min = BITS_PER_LONG;
  
  int sysctl_nr_open __read_mostly = 1024*1024;
  int sysctl_nr_open_min = BITS_PER_LONG;
-@@ -311,6 +312,8 @@ struct files_struct *dup_fd(struct files
+@@ -309,6 +310,8 @@ struct files_struct *dup_fd(struct files
                struct file *f = *old_fds++;
                if (f) {
                        get_file(f);
                struct file *f = *old_fds++;
                if (f) {
                        get_file(f);
@@ -3250,9 +3297,9 @@ diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
                } else {
                        /*
                         * The fd may be claimed in the fd bitmap but not yet
                } else {
                        /*
                         * The fd may be claimed in the fd bitmap but not yet
-@@ -376,9 +379,11 @@ static void close_files(struct files_str
+@@ -369,9 +372,11 @@ static struct fdtable *close_files(struc
                                        filp_close(file, files);
                                        filp_close(file, files);
-                                       cond_resched();
+                                       cond_resched_rcu_qs();
                                }
 +                              vx_openfd_dec(i);
                        }
                                }
 +                              vx_openfd_dec(i);
                        }
@@ -3261,16 +3308,16 @@ diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
 +                      cond_resched();
                }
        }
 +                      cond_resched();
                }
        }
- }
-@@ -503,6 +508,7 @@ repeat:
+@@ -487,6 +492,7 @@ repeat:
        else
                __clear_close_on_exec(fd, fdt);
        error = fd;
 +      vx_openfd_inc(fd);
  #if 1
        /* Sanity check */
        else
                __clear_close_on_exec(fd, fdt);
        error = fd;
 +      vx_openfd_inc(fd);
  #if 1
        /* Sanity check */
-       if (rcu_dereference_raw(fdt->fd[fd]) != NULL) {
-@@ -533,6 +539,7 @@ static void __put_unused_fd(struct files
+       if (rcu_access_pointer(fdt->fd[fd]) != NULL) {
+@@ -517,6 +523,7 @@ static void __put_unused_fd(struct files
        __clear_open_fd(fd, fdt);
        if (fd < files->next_fd)
                files->next_fd = fd;
        __clear_open_fd(fd, fdt);
        if (fd < files->next_fd)
                files->next_fd = fd;
@@ -3278,7 +3325,7 @@ diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
  }
  
  void put_unused_fd(unsigned int fd)
  }
  
  void put_unused_fd(unsigned int fd)
-@@ -812,6 +819,8 @@ static int do_dup2(struct files_struct *
+@@ -784,6 +791,8 @@ __releases(&files->file_lock)
  
        if (tofree)
                filp_close(tofree, files);
  
        if (tofree)
                filp_close(tofree, files);
@@ -3287,9 +3334,9 @@ diff -NurpP --minimal linux-3.13.10/fs/file.c linux-3.13.10-vs2.3.6.11/fs/file.c
  
        return fd;
  
  
        return fd;
  
-diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/file_table.c
---- linux-3.13.10/fs/file_table.c      2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/file_table.c   2014-02-01 00:00:01.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/file_table.c linux-3.18.5-vs2.3.7.3/fs/file_table.c
+--- linux-3.18.5/fs/file_table.c       2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/file_table.c     2015-01-19 12:36:42.000000000 +0000
 @@ -26,6 +26,8 @@
  #include <linux/hardirq.h>
  #include <linux/task_work.h>
 @@ -26,6 +26,8 @@
  #include <linux/hardirq.h>
  #include <linux/task_work.h>
@@ -3300,7 +3347,7 @@ diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/
  #include <linux/atomic.h>
  
 @@ -137,6 +139,8 @@ struct file *get_empty_filp(void)
  #include <linux/atomic.h>
  
 @@ -137,6 +139,8 @@ struct file *get_empty_filp(void)
-       spin_lock_init(&f->f_lock);
+       mutex_init(&f->f_pos_lock);
        eventpoll_init_file(f);
        /* f->f_version: 0 */
 +      f->f_xid = vx_current_xid();
        eventpoll_init_file(f);
        /* f->f_version: 0 */
 +      f->f_xid = vx_current_xid();
@@ -3308,7 +3355,7 @@ diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/
        return f;
  
  over:
        return f;
  
  over:
-@@ -254,6 +258,8 @@ static void __fput(struct file *file)
+@@ -219,6 +223,8 @@ static void __fput(struct file *file)
                put_write_access(inode);
                __mnt_drop_write(mnt);
        }
                put_write_access(inode);
                __mnt_drop_write(mnt);
        }
@@ -3317,7 +3364,7 @@ diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/
        file->f_path.dentry = NULL;
        file->f_path.mnt = NULL;
        file->f_inode = NULL;
        file->f_path.dentry = NULL;
        file->f_path.mnt = NULL;
        file->f_inode = NULL;
-@@ -340,6 +346,8 @@ void put_filp(struct file *file)
+@@ -305,6 +311,8 @@ void put_filp(struct file *file)
  {
        if (atomic_long_dec_and_test(&file->f_count)) {
                security_file_free(file);
  {
        if (atomic_long_dec_and_test(&file->f_count)) {
                security_file_free(file);
@@ -3326,9 +3373,9 @@ diff -NurpP --minimal linux-3.13.10/fs/file_table.c linux-3.13.10-vs2.3.6.11/fs/
                file_free(file);
        }
  }
                file_free(file);
        }
  }
-diff -NurpP --minimal linux-3.13.10/fs/fs_struct.c linux-3.13.10-vs2.3.6.11/fs/fs_struct.c
---- linux-3.13.10/fs/fs_struct.c       2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/fs_struct.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/fs_struct.c linux-3.18.5-vs2.3.7.3/fs/fs_struct.c
+--- linux-3.18.5/fs/fs_struct.c        2014-01-22 20:39:06.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/fs_struct.c      2015-01-19 10:57:47.000000000 +0000
 @@ -4,6 +4,7 @@
  #include <linux/path.h>
  #include <linux/slab.h>
 @@ -4,6 +4,7 @@
  #include <linux/path.h>
  #include <linux/slab.h>
@@ -3353,10 +3400,10 @@ diff -NurpP --minimal linux-3.13.10/fs/fs_struct.c linux-3.13.10-vs2.3.6.11/fs/f
        }
        return fs;
  }
        }
        return fs;
  }
-diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/gfs2/file.c
---- linux-3.13.10/fs/gfs2/file.c       2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/gfs2/file.c    2014-01-31 20:38:03.000000000 +0000
-@@ -137,6 +137,9 @@ static const u32 fsflags_to_gfs2[32] = {
+diff -NurpP --minimal linux-3.18.5/fs/gfs2/file.c linux-3.18.5-vs2.3.7.3/fs/gfs2/file.c
+--- linux-3.18.5/fs/gfs2/file.c        2015-01-17 02:40:17.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/gfs2/file.c      2015-01-19 10:57:47.000000000 +0000
+@@ -138,6 +138,9 @@ static const u32 fsflags_to_gfs2[32] = {
        [12] = GFS2_DIF_EXHASH,
        [14] = GFS2_DIF_INHERIT_JDATA,
        [17] = GFS2_DIF_TOPDIR,
        [12] = GFS2_DIF_EXHASH,
        [14] = GFS2_DIF_INHERIT_JDATA,
        [17] = GFS2_DIF_TOPDIR,
@@ -3366,7 +3413,7 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/g
  };
  
  static const u32 gfs2_to_fsflags[32] = {
  };
  
  static const u32 gfs2_to_fsflags[32] = {
-@@ -147,6 +150,9 @@ static const u32 gfs2_to_fsflags[32] = {
+@@ -148,6 +151,9 @@ static const u32 gfs2_to_fsflags[32] = {
        [gfs2fl_ExHash] = FS_INDEX_FL,
        [gfs2fl_TopLevel] = FS_TOPDIR_FL,
        [gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL,
        [gfs2fl_ExHash] = FS_INDEX_FL,
        [gfs2fl_TopLevel] = FS_TOPDIR_FL,
        [gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL,
@@ -3376,7 +3423,7 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/g
  };
  
  static int gfs2_get_flags(struct file *filp, u32 __user *ptr)
  };
  
  static int gfs2_get_flags(struct file *filp, u32 __user *ptr)
-@@ -177,12 +183,18 @@ void gfs2_set_inode_flags(struct inode *
+@@ -178,12 +184,18 @@ void gfs2_set_inode_flags(struct inode *
  {
        struct gfs2_inode *ip = GFS2_I(inode);
        unsigned int flags = inode->i_flags;
  {
        struct gfs2_inode *ip = GFS2_I(inode);
        unsigned int flags = inode->i_flags;
@@ -3396,7 +3443,7 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/g
        if (ip->i_diskflags & GFS2_DIF_APPENDONLY)
                flags |= S_APPEND;
        if (ip->i_diskflags & GFS2_DIF_NOATIME)
        if (ip->i_diskflags & GFS2_DIF_APPENDONLY)
                flags |= S_APPEND;
        if (ip->i_diskflags & GFS2_DIF_NOATIME)
-@@ -190,6 +202,43 @@ void gfs2_set_inode_flags(struct inode *
+@@ -191,6 +203,43 @@ void gfs2_set_inode_flags(struct inode *
        if (ip->i_diskflags & GFS2_DIF_SYNC)
                flags |= S_SYNC;
        inode->i_flags = flags;
        if (ip->i_diskflags & GFS2_DIF_SYNC)
                flags |= S_SYNC;
        inode->i_flags = flags;
@@ -3440,7 +3487,7 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/g
  }
  
  /* Flags that can be set by user space */
  }
  
  /* Flags that can be set by user space */
-@@ -303,6 +352,37 @@ static int gfs2_set_flags(struct file *f
+@@ -304,6 +353,37 @@ static int gfs2_set_flags(struct file *f
        return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA);
  }
  
        return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA);
  }
  
@@ -3478,9 +3525,9 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/file.c linux-3.13.10-vs2.3.6.11/fs/g
  static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        switch(cmd) {
  static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        switch(cmd) {
-diff -NurpP --minimal linux-3.13.10/fs/gfs2/inode.h linux-3.13.10-vs2.3.6.11/fs/gfs2/inode.h
---- linux-3.13.10/fs/gfs2/inode.h      2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/gfs2/inode.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/gfs2/inode.h linux-3.18.5-vs2.3.7.3/fs/gfs2/inode.h
+--- linux-3.18.5/fs/gfs2/inode.h       2013-11-25 15:45:01.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/gfs2/inode.h     2015-01-19 10:57:47.000000000 +0000
 @@ -118,6 +118,7 @@ extern const struct file_operations gfs2
  extern const struct file_operations gfs2_dir_fops_nolock;
  
 @@ -118,6 +118,7 @@ extern const struct file_operations gfs2
  extern const struct file_operations gfs2_dir_fops_nolock;
  
@@ -3489,9 +3536,9 @@ diff -NurpP --minimal linux-3.13.10/fs/gfs2/inode.h linux-3.13.10-vs2.3.6.11/fs/
   
  #ifdef CONFIG_GFS2_FS_LOCKING_DLM
  extern const struct file_operations gfs2_file_fops;
   
  #ifdef CONFIG_GFS2_FS_LOCKING_DLM
  extern const struct file_operations gfs2_file_fops;
-diff -NurpP --minimal linux-3.13.10/fs/hostfs/hostfs.h linux-3.13.10-vs2.3.6.11/fs/hostfs/hostfs.h
---- linux-3.13.10/fs/hostfs/hostfs.h   2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/hostfs/hostfs.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/hostfs/hostfs.h linux-3.18.5-vs2.3.7.3/fs/hostfs/hostfs.h
+--- linux-3.18.5/fs/hostfs/hostfs.h    2015-01-16 22:19:18.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/hostfs/hostfs.h  2015-01-19 10:57:47.000000000 +0000
 @@ -42,6 +42,7 @@ struct hostfs_iattr {
        unsigned short  ia_mode;
        uid_t           ia_uid;
 @@ -42,6 +42,7 @@ struct hostfs_iattr {
        unsigned short  ia_mode;
        uid_t           ia_uid;
@@ -3500,9 +3547,9 @@ diff -NurpP --minimal linux-3.13.10/fs/hostfs/hostfs.h linux-3.13.10-vs2.3.6.11/
        loff_t          ia_size;
        struct timespec ia_atime;
        struct timespec ia_mtime;
        loff_t          ia_size;
        struct timespec ia_atime;
        struct timespec ia_mtime;
-diff -NurpP --minimal linux-3.13.10/fs/inode.c linux-3.13.10-vs2.3.6.11/fs/inode.c
---- linux-3.13.10/fs/inode.c   2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/inode.c        2014-01-31 23:33:47.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/inode.c linux-3.18.5-vs2.3.7.3/fs/inode.c
+--- linux-3.18.5/fs/inode.c    2015-01-16 22:19:18.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/inode.c  2015-01-19 10:57:47.000000000 +0000
 @@ -18,6 +18,7 @@
  #include <linux/buffer_head.h> /* for inode_has_buffers */
  #include <linux/ratelimit.h>
 @@ -18,6 +18,7 @@
  #include <linux/buffer_head.h> /* for inode_has_buffers */
  #include <linux/ratelimit.h>
@@ -3536,7 +3583,7 @@ diff -NurpP --minimal linux-3.13.10/fs/inode.c linux-3.13.10-vs2.3.6.11/fs/inode
        inode->dirtied_when = 0;
  
        if (security_inode_alloc(inode))
        inode->dirtied_when = 0;
  
        if (security_inode_alloc(inode))
-@@ -477,6 +482,8 @@ void __insert_inode_hash(struct inode *i
+@@ -478,6 +483,8 @@ void __insert_inode_hash(struct inode *i
  }
  EXPORT_SYMBOL(__insert_inode_hash);
  
  }
  EXPORT_SYMBOL(__insert_inode_hash);
  
@@ -3545,7 +3592,7 @@ diff -NurpP --minimal linux-3.13.10/fs/inode.c linux-3.13.10-vs2.3.6.11/fs/inode
  /**
   *    __remove_inode_hash - remove an inode from the hash
   *    @inode: inode to unhash
  /**
   *    __remove_inode_hash - remove an inode from the hash
   *    @inode: inode to unhash
-@@ -1802,9 +1809,11 @@ void init_special_inode(struct inode *in
+@@ -1795,9 +1802,11 @@ void init_special_inode(struct inode *in
        if (S_ISCHR(mode)) {
                inode->i_fop = &def_chr_fops;
                inode->i_rdev = rdev;
        if (S_ISCHR(mode)) {
                inode->i_fop = &def_chr_fops;
                inode->i_rdev = rdev;
@@ -3557,7 +3604,7 @@ diff -NurpP --minimal linux-3.13.10/fs/inode.c linux-3.13.10-vs2.3.6.11/fs/inode
        } else if (S_ISFIFO(mode))
                inode->i_fop = &pipefifo_fops;
        else if (S_ISSOCK(mode))
        } else if (S_ISFIFO(mode))
                inode->i_fop = &pipefifo_fops;
        else if (S_ISSOCK(mode))
-@@ -1833,6 +1842,7 @@ void inode_init_owner(struct inode *inod
+@@ -1826,6 +1835,7 @@ void inode_init_owner(struct inode *inod
        } else
                inode->i_gid = current_fsgid();
        inode->i_mode = mode;
        } else
                inode->i_gid = current_fsgid();
        inode->i_mode = mode;
@@ -3565,9 +3612,9 @@ diff -NurpP --minimal linux-3.13.10/fs/inode.c linux-3.13.10-vs2.3.6.11/fs/inode
  }
  EXPORT_SYMBOL(inode_init_owner);
  
  }
  EXPORT_SYMBOL(inode_init_owner);
  
-diff -NurpP --minimal linux-3.13.10/fs/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ioctl.c
---- linux-3.13.10/fs/ioctl.c   2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ioctl.c        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ioctl.c linux-3.18.5-vs2.3.7.3/fs/ioctl.c
+--- linux-3.18.5/fs/ioctl.c    2014-01-22 20:39:06.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ioctl.c  2015-01-19 10:57:47.000000000 +0000
 @@ -15,6 +15,9 @@
  #include <linux/writeback.h>
  #include <linux/buffer_head.h>
 @@ -15,6 +15,9 @@
  #include <linux/writeback.h>
  #include <linux/buffer_head.h>
@@ -3578,39 +3625,10 @@ diff -NurpP --minimal linux-3.13.10/fs/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ioctl
  
  #include <asm/ioctls.h>
  
  
  #include <asm/ioctls.h>
  
-diff -NurpP --minimal linux-3.13.10/fs/ioprio.c linux-3.13.10-vs2.3.6.11/fs/ioprio.c
---- linux-3.13.10/fs/ioprio.c  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ioprio.c       2014-01-31 20:38:03.000000000 +0000
-@@ -28,6 +28,7 @@
- #include <linux/syscalls.h>
- #include <linux/security.h>
- #include <linux/pid_namespace.h>
-+#include <linux/vs_base.h>
- int set_task_ioprio(struct task_struct *task, int ioprio)
- {
-@@ -105,6 +106,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which,
-                       else
-                               pgrp = find_vpid(who);
-                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
-+                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
-+                                      continue;
-                               ret = set_task_ioprio(p, ioprio);
-                               if (ret)
-                                       break;
-@@ -198,6 +201,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which,
-                       else
-                               pgrp = find_vpid(who);
-                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
-+                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
-+                                      continue;
-                               tmpio = get_task_ioprio(p);
-                               if (tmpio < 0)
-                                       continue;
-diff -NurpP --minimal linux-3.13.10/fs/jfs/file.c linux-3.13.10-vs2.3.6.11/fs/jfs/file.c
---- linux-3.13.10/fs/jfs/file.c        2013-02-19 13:58:48.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/file.c     2014-01-31 20:38:03.000000000 +0000
-@@ -109,7 +109,8 @@ int jfs_setattr(struct dentry *dentry, s
+diff -NurpP --minimal linux-3.18.5/fs/jfs/file.c linux-3.18.5-vs2.3.7.3/fs/jfs/file.c
+--- linux-3.18.5/fs/jfs/file.c 2014-09-03 13:19:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/file.c       2015-01-19 10:58:03.000000000 +0000
+@@ -110,7 +110,8 @@ int jfs_setattr(struct dentry *dentry, s
        if (is_quota_modification(inode, iattr))
                dquot_initialize(inode);
        if ((iattr->ia_valid & ATTR_UID && !uid_eq(iattr->ia_uid, inode->i_uid)) ||
        if (is_quota_modification(inode, iattr))
                dquot_initialize(inode);
        if ((iattr->ia_valid & ATTR_UID && !uid_eq(iattr->ia_uid, inode->i_uid)) ||
@@ -3620,17 +3638,17 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/file.c linux-3.13.10-vs2.3.6.11/fs/jf
                rc = dquot_transfer(inode, iattr);
                if (rc)
                        return rc;
                rc = dquot_transfer(inode, iattr);
                if (rc)
                        return rc;
-@@ -144,6 +145,7 @@ const struct inode_operations jfs_file_i
- #ifdef CONFIG_JFS_POSIX_ACL
+@@ -146,6 +147,7 @@ const struct inode_operations jfs_file_i
        .get_acl        = jfs_get_acl,
        .get_acl        = jfs_get_acl,
+       .set_acl        = jfs_set_acl,
  #endif
 +      .sync_flags     = jfs_sync_flags,
  };
  
  const struct file_operations jfs_file_operations = {
  #endif
 +      .sync_flags     = jfs_sync_flags,
  };
  
  const struct file_operations jfs_file_operations = {
-diff -NurpP --minimal linux-3.13.10/fs/jfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs/jfs/ioctl.c
---- linux-3.13.10/fs/jfs/ioctl.c       2013-05-31 13:45:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/ioctl.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/ioctl.c linux-3.18.5-vs2.3.7.3/fs/jfs/ioctl.c
+--- linux-3.18.5/fs/jfs/ioctl.c        2013-05-31 13:45:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/ioctl.c      2015-01-19 10:58:03.000000000 +0000
 @@ -12,6 +12,7 @@
  #include <linux/time.h>
  #include <linux/sched.h>
 @@ -12,6 +12,7 @@
  #include <linux/time.h>
  #include <linux/sched.h>
@@ -3688,9 +3706,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/ioctl.c linux-3.13.10-vs2.3.6.11/fs/j
                flags |= oldflags & ~JFS_FL_USER_MODIFIABLE;
                jfs_inode->mode2 = flags;
  
                flags |= oldflags & ~JFS_FL_USER_MODIFIABLE;
                jfs_inode->mode2 = flags;
  
-diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_dinode.h linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_dinode.h
---- linux-3.13.10/fs/jfs/jfs_dinode.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_dinode.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/jfs_dinode.h linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_dinode.h
+--- linux-3.18.5/fs/jfs/jfs_dinode.h   2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_dinode.h 2015-01-19 10:58:03.000000000 +0000
 @@ -161,9 +161,13 @@ struct dinode {
  
  #define JFS_APPEND_FL         0x01000000 /* writes to file may only append */
 @@ -161,9 +161,13 @@ struct dinode {
  
  #define JFS_APPEND_FL         0x01000000 /* writes to file may only append */
@@ -3707,9 +3725,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_dinode.h linux-3.13.10-vs2.3.6.11
  #define JFS_FL_INHERIT                0x03C80000
  
  /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
  #define JFS_FL_INHERIT                0x03C80000
  
  /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
-diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_filsys.h linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_filsys.h
---- linux-3.13.10/fs/jfs/jfs_filsys.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_filsys.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/jfs_filsys.h linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_filsys.h
+--- linux-3.18.5/fs/jfs/jfs_filsys.h   2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_filsys.h 2015-01-19 10:58:03.000000000 +0000
 @@ -266,6 +266,7 @@
  #define JFS_NAME_MAX  255
  #define JFS_PATH_MAX  BPSIZE
 @@ -266,6 +266,7 @@
  #define JFS_NAME_MAX  255
  #define JFS_PATH_MAX  BPSIZE
@@ -3718,9 +3736,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_filsys.h linux-3.13.10-vs2.3.6.11
  
  /*
   *    file system state (superblock state)
  
  /*
   *    file system state (superblock state)
-diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_imap.c linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_imap.c
---- linux-3.13.10/fs/jfs/jfs_imap.c    2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_imap.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/jfs_imap.c linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_imap.c
+--- linux-3.18.5/fs/jfs/jfs_imap.c     2013-11-25 15:45:01.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_imap.c   2015-01-19 10:58:03.000000000 +0000
 @@ -46,6 +46,7 @@
  #include <linux/pagemap.h>
  #include <linux/quotaops.h>
 @@ -46,6 +46,7 @@
  #include <linux/pagemap.h>
  #include <linux/quotaops.h>
@@ -3784,9 +3802,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_imap.c linux-3.13.10-vs2.3.6.11/f
        jfs_get_inode_flags(jfs_ip);
        /*
         * mode2 is only needed for storing the higher order bits.
        jfs_get_inode_flags(jfs_ip);
        /*
         * mode2 is only needed for storing the higher order bits.
-diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.c linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_inode.c
---- linux-3.13.10/fs/jfs/jfs_inode.c   2013-11-25 15:46:59.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_inode.c        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/jfs_inode.c linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_inode.c
+--- linux-3.18.5/fs/jfs/jfs_inode.c    2014-09-03 13:19:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_inode.c  2015-01-21 09:53:08.000000000 +0000
 @@ -18,6 +18,7 @@
  
  #include <linux/fs.h>
 @@ -18,6 +18,7 @@
  
  #include <linux/fs.h>
@@ -3795,37 +3813,35 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.c linux-3.13.10-vs2.3.6.11/
  #include "jfs_incore.h"
  #include "jfs_inode.h"
  #include "jfs_filsys.h"
  #include "jfs_incore.h"
  #include "jfs_inode.h"
  #include "jfs_filsys.h"
-@@ -30,29 +31,46 @@ void jfs_set_inode_flags(struct inode *i
- {
-       unsigned int flags = JFS_IP(inode)->mode2;
--      inode->i_flags &= ~(S_IMMUTABLE | S_APPEND |
--              S_NOATIME | S_DIRSYNC | S_SYNC);
-+      inode->i_flags &= ~(S_IMMUTABLE | S_IXUNLINK |
-+              S_SYNC | S_APPEND | S_NOATIME | S_DIRSYNC);
+@@ -33,26 +34,45 @@ void jfs_set_inode_flags(struct inode *i
  
        if (flags & JFS_IMMUTABLE_FL)
  
        if (flags & JFS_IMMUTABLE_FL)
-               inode->i_flags |= S_IMMUTABLE;
+               new_fl |= S_IMMUTABLE;
 +      if (flags & JFS_IXUNLINK_FL)
 +              inode->i_flags |= S_IXUNLINK;
 +
 +      if (flags & JFS_SYNC_FL)
 +              inode->i_flags |= S_SYNC;
        if (flags & JFS_APPEND_FL)
 +      if (flags & JFS_IXUNLINK_FL)
 +              inode->i_flags |= S_IXUNLINK;
 +
 +      if (flags & JFS_SYNC_FL)
 +              inode->i_flags |= S_SYNC;
        if (flags & JFS_APPEND_FL)
-               inode->i_flags |= S_APPEND;
+               new_fl |= S_APPEND;
        if (flags & JFS_NOATIME_FL)
        if (flags & JFS_NOATIME_FL)
-               inode->i_flags |= S_NOATIME;
+               new_fl |= S_NOATIME;
        if (flags & JFS_DIRSYNC_FL)
        if (flags & JFS_DIRSYNC_FL)
-               inode->i_flags |= S_DIRSYNC;
+               new_fl |= S_DIRSYNC;
 -      if (flags & JFS_SYNC_FL)
 -      if (flags & JFS_SYNC_FL)
--              inode->i_flags |= S_SYNC;
-+
-+      inode->i_vflags &= ~(V_BARRIER | V_COW);
+-              new_fl |= S_SYNC;
+-      inode_set_flags(inode, new_fl, S_IMMUTABLE | S_APPEND | S_NOATIME |
++      inode_set_flags(inode, new_fl, S_IMMUTABLE | S_IXUNLINK | S_APPEND | S_NOATIME |
+                       S_DIRSYNC | S_SYNC);
 +
 +
++      new_fl = 0;
 +      if (flags & JFS_BARRIER_FL)
 +      if (flags & JFS_BARRIER_FL)
-+              inode->i_vflags |= V_BARRIER;
++              new_fl |= V_BARRIER;
 +      if (flags & JFS_COW_FL)
 +      if (flags & JFS_COW_FL)
-+              inode->i_vflags |= V_COW;
++              new_fl |= V_COW;
++
++      set_mask_bits(&inode->i_vflags,
++              V_BARRIER | V_COW, new_fl);
  }
  
  void jfs_get_inode_flags(struct jfs_inode_info *jfs_ip)
  }
  
  void jfs_get_inode_flags(struct jfs_inode_info *jfs_ip)
@@ -3848,7 +3864,7 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.c linux-3.13.10-vs2.3.6.11/
        if (flags & S_APPEND)
                jfs_ip->mode2 |= JFS_APPEND_FL;
        if (flags & S_NOATIME)
        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 +81,11 @@ void jfs_get_inode_flags(struct jfs_inod
                jfs_ip->mode2 |= JFS_DIRSYNC_FL;
        if (flags & S_SYNC)
                jfs_ip->mode2 |= JFS_SYNC_FL;
                jfs_ip->mode2 |= JFS_DIRSYNC_FL;
        if (flags & S_SYNC)
                jfs_ip->mode2 |= JFS_SYNC_FL;
@@ -3860,9 +3876,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.c linux-3.13.10-vs2.3.6.11/
  }
  
  /*
  }
  
  /*
-diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.h linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_inode.h
---- linux-3.13.10/fs/jfs/jfs_inode.h   2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/jfs_inode.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/jfs_inode.h linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_inode.h
+--- linux-3.18.5/fs/jfs/jfs_inode.h    2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/jfs_inode.h  2015-01-19 10:58:03.000000000 +0000
 @@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s
  extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid,
        int fh_len, int fh_type);
 @@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s
  extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid,
        int fh_len, int fh_type);
@@ -3871,9 +3887,9 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/jfs_inode.h linux-3.13.10-vs2.3.6.11/
  extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int);
  extern int jfs_setattr(struct dentry *, struct iattr *);
  
  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.13.10/fs/jfs/namei.c linux-3.13.10-vs2.3.6.11/fs/jfs/namei.c
---- linux-3.13.10/fs/jfs/namei.c       2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/namei.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/namei.c linux-3.18.5-vs2.3.7.3/fs/jfs/namei.c
+--- linux-3.18.5/fs/jfs/namei.c        2014-06-12 11:34:58.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/namei.c      2015-01-19 10:58:03.000000000 +0000
 @@ -22,6 +22,7 @@
  #include <linux/ctype.h>
  #include <linux/quotaops.h>
 @@ -22,6 +22,7 @@
  #include <linux/ctype.h>
  #include <linux/quotaops.h>
@@ -3890,17 +3906,17 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/namei.c linux-3.13.10-vs2.3.6.11/fs/j
        return d_splice_alias(ip, dentry);
  }
  
        return d_splice_alias(ip, dentry);
  }
  
-@@ -1525,6 +1527,7 @@ const struct inode_operations jfs_dir_in
- #ifdef CONFIG_JFS_POSIX_ACL
+@@ -1526,6 +1528,7 @@ const struct inode_operations jfs_dir_in
        .get_acl        = jfs_get_acl,
        .get_acl        = jfs_get_acl,
+       .set_acl        = jfs_set_acl,
  #endif
 +      .sync_flags     = jfs_sync_flags,
  };
  
  const struct file_operations jfs_dir_operations = {
  #endif
 +      .sync_flags     = jfs_sync_flags,
  };
  
  const struct file_operations jfs_dir_operations = {
-diff -NurpP --minimal linux-3.13.10/fs/jfs/super.c linux-3.13.10-vs2.3.6.11/fs/jfs/super.c
---- linux-3.13.10/fs/jfs/super.c       2013-11-25 15:45:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/jfs/super.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/jfs/super.c linux-3.18.5-vs2.3.7.3/fs/jfs/super.c
+--- linux-3.18.5/fs/jfs/super.c        2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/jfs/super.c      2015-01-19 10:58:03.000000000 +0000
 @@ -203,7 +203,8 @@ enum {
        Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
        Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota,
 @@ -203,7 +203,8 @@ enum {
        Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
        Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota,
@@ -3922,8 +3938,8 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/super.c linux-3.13.10-vs2.3.6.11/fs/j
        {Opt_ignore, "noquota"},
        {Opt_ignore, "quota"},
        {Opt_usrquota, "usrquota"},
        {Opt_ignore, "noquota"},
        {Opt_ignore, "quota"},
        {Opt_usrquota, "usrquota"},
-@@ -389,7 +394,20 @@ static int parse_options(char *options,
-                       }
+@@ -402,7 +407,20 @@ static int parse_options(char *options,
+                               pr_err("JFS: discard option not supported on device\n");
                        break;
                }
 -
                        break;
                }
 -
@@ -3942,11 +3958,11 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/super.c linux-3.13.10-vs2.3.6.11/fs/j
 +                      break;
 +#endif
                default:
 +                      break;
 +#endif
                default:
-                       printk("jfs: Unrecognized mount option \"%s\" "
-                                       " or missing value\n", p);
-@@ -421,6 +439,12 @@ static int jfs_remount(struct super_bloc
+                       printk("jfs: Unrecognized mount option \"%s\" or missing value\n",
+                              p);
+@@ -434,6 +452,12 @@ static int jfs_remount(struct super_bloc
+       if (!parse_options(data, sb, &newLVSize, &flag))
                return -EINVAL;
                return -EINVAL;
-       }
  
 +      if ((flag & JFS_TAGGED) && !(sb->s_flags & MS_TAGGED)) {
 +              printk(KERN_ERR "JFS: %s: tagging not permitted on remount.\n",
  
 +      if ((flag & JFS_TAGGED) && !(sb->s_flags & MS_TAGGED)) {
 +              printk(KERN_ERR "JFS: %s: tagging not permitted on remount.\n",
@@ -3956,8 +3972,8 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/super.c linux-3.13.10-vs2.3.6.11/fs/j
 +
        if (newLVSize) {
                if (sb->s_flags & MS_RDONLY) {
 +
        if (newLVSize) {
                if (sb->s_flags & MS_RDONLY) {
-                       pr_err("JFS: resize requires volume" \
-@@ -506,6 +530,9 @@ static int jfs_fill_super(struct super_b
+                       pr_err("JFS: resize requires volume to be mounted read-write\n");
+@@ -517,6 +541,9 @@ static int jfs_fill_super(struct super_b
  #ifdef CONFIG_JFS_POSIX_ACL
        sb->s_flags |= MS_POSIXACL;
  #endif
  #ifdef CONFIG_JFS_POSIX_ACL
        sb->s_flags |= MS_POSIXACL;
  #endif
@@ -3967,10 +3983,10 @@ diff -NurpP --minimal linux-3.13.10/fs/jfs/super.c linux-3.13.10-vs2.3.6.11/fs/j
  
        if (newLVSize) {
                pr_err("resize option for remount only\n");
  
        if (newLVSize) {
                pr_err("resize option for remount only\n");
-diff -NurpP --minimal linux-3.13.10/fs/libfs.c linux-3.13.10-vs2.3.6.11/fs/libfs.c
---- linux-3.13.10/fs/libfs.c   2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/libfs.c        2014-02-01 01:35:46.000000000 +0000
-@@ -145,13 +145,14 @@ static inline unsigned char dt_type(stru
+diff -NurpP --minimal linux-3.18.5/fs/libfs.c linux-3.18.5-vs2.3.7.3/fs/libfs.c
+--- linux-3.18.5/fs/libfs.c    2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/libfs.c  2015-01-22 07:27:38.000000000 +0000
+@@ -146,13 +146,14 @@ static inline unsigned char dt_type(stru
   * both impossible due to the lock on directory.
   */
  
   * both impossible due to the lock on directory.
   */
  
@@ -3982,23 +3998,23 @@ diff -NurpP --minimal linux-3.13.10/fs/libfs.c linux-3.13.10-vs2.3.6.11/fs/libfs
 -      struct dentry *cursor = file->private_data;
 +      struct dentry *dentry = filp->f_path.dentry;
 +      struct dentry *cursor = filp->private_data;
 -      struct dentry *cursor = file->private_data;
 +      struct dentry *dentry = filp->f_path.dentry;
 +      struct dentry *cursor = filp->private_data;
-       struct list_head *p, *q = &cursor->d_u.d_child;
+       struct list_head *p, *q = &cursor->d_child;
  
 -      if (!dir_emit_dots(file, ctx))
 +      if (!dir_emit_dots(filp, ctx))
                return 0;
        spin_lock(&dentry->d_lock);
        if (ctx->pos == 2)
  
 -      if (!dir_emit_dots(file, ctx))
 +      if (!dir_emit_dots(filp, ctx))
                return 0;
        spin_lock(&dentry->d_lock);
        if (ctx->pos == 2)
-@@ -159,6 +160,8 @@ int dcache_readdir(struct file *file, st
+@@ -160,6 +161,8 @@ int dcache_readdir(struct file *file, st
  
        for (p = q->next; p != &dentry->d_subdirs; p = p->next) {
  
        for (p = q->next; p != &dentry->d_subdirs; p = p->next) {
-               struct dentry *next = list_entry(p, struct dentry, d_u.d_child);
+               struct dentry *next = list_entry(p, struct dentry, d_child);
 +              if (filter && !filter(next))
 +                      continue;
                spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED);
                if (!simple_positive(next)) {
                        spin_unlock(&next->d_lock);
 +              if (filter && !filter(next))
 +                      continue;
                spin_lock_nested(&next->d_lock, DENTRY_D_LOCK_NESTED);
                if (!simple_positive(next)) {
                        spin_unlock(&next->d_lock);
-@@ -181,8 +184,22 @@ int dcache_readdir(struct file *file, st
+@@ -182,8 +185,22 @@ int dcache_readdir(struct file *file, st
        spin_unlock(&dentry->d_lock);
        return 0;
  }
        spin_unlock(&dentry->d_lock);
        return 0;
  }
@@ -4021,9 +4037,9 @@ diff -NurpP --minimal linux-3.13.10/fs/libfs.c linux-3.13.10-vs2.3.6.11/fs/libfs
  ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos)
  {
        return -EISDIR;
  ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos)
  {
        return -EISDIR;
-diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks.c
---- linux-3.13.10/fs/locks.c   2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/locks.c        2014-01-31 23:51:55.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/locks.c linux-3.18.5-vs2.3.7.3/fs/locks.c
+--- linux-3.18.5/fs/locks.c    2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/locks.c  2015-01-28 11:48:02.000000000 +0000
 @@ -129,6 +129,8 @@
  #include <linux/hashtable.h>
  #include <linux/percpu.h>
 @@ -129,6 +129,8 @@
  #include <linux/hashtable.h>
  #include <linux/percpu.h>
@@ -4031,9 +4047,9 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
 +#include <linux/vs_base.h>
 +#include <linux/vs_limit.h>
  
 +#include <linux/vs_base.h>
 +#include <linux/vs_limit.h>
  
- #include <asm/uaccess.h>
-@@ -210,11 +212,17 @@ static void locks_init_lock_heads(struct
+ #define CREATE_TRACE_POINTS
+ #include <trace/events/filelock.h>
+@@ -214,11 +216,17 @@ static void locks_init_lock_heads(struct
  /* Allocate an empty lock structure. */
  struct file_lock *locks_alloc_lock(void)
  {
  /* Allocate an empty lock structure. */
  struct file_lock *locks_alloc_lock(void)
  {
@@ -4054,7 +4070,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        return fl;
  }
  EXPORT_SYMBOL_GPL(locks_alloc_lock);
        return fl;
  }
  EXPORT_SYMBOL_GPL(locks_alloc_lock);
-@@ -238,6 +246,7 @@ void locks_free_lock(struct file_lock *f
+@@ -246,6 +254,7 @@ void locks_free_lock(struct file_lock *f
        BUG_ON(!list_empty(&fl->fl_block));
        BUG_ON(!hlist_unhashed(&fl->fl_link));
  
        BUG_ON(!list_empty(&fl->fl_block));
        BUG_ON(!hlist_unhashed(&fl->fl_link));
  
@@ -4062,7 +4078,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        locks_release_private(fl);
        kmem_cache_free(filelock_cache, fl);
  }
        locks_release_private(fl);
        kmem_cache_free(filelock_cache, fl);
  }
-@@ -247,6 +256,7 @@ void locks_init_lock(struct file_lock *f
+@@ -267,6 +276,7 @@ void locks_init_lock(struct file_lock *f
  {
        memset(fl, 0, sizeof(struct file_lock));
        locks_init_lock_heads(fl);
  {
        memset(fl, 0, sizeof(struct file_lock));
        locks_init_lock_heads(fl);
@@ -4070,15 +4086,15 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
  }
  
  EXPORT_SYMBOL(locks_init_lock);
  }
  
  EXPORT_SYMBOL(locks_init_lock);
-@@ -287,6 +297,7 @@ void locks_copy_lock(struct file_lock *n
-       new->fl_file = fl->fl_file;
-       new->fl_ops = fl->fl_ops;
+@@ -284,6 +294,7 @@ void locks_copy_conflock(struct file_loc
+       new->fl_start = fl->fl_start;
+       new->fl_end = fl->fl_end;
        new->fl_lmops = fl->fl_lmops;
 +      new->fl_xid = fl->fl_xid;
        new->fl_lmops = fl->fl_lmops;
 +      new->fl_xid = fl->fl_xid;
+       new->fl_ops = NULL;
  
  
-       locks_copy_private(new, fl);
- }
-@@ -325,6 +336,11 @@ static int flock_make_lock(struct file *
+       if (fl->fl_lmops) {
+@@ -345,6 +356,11 @@ flock_make_lock(struct file *filp, unsig
        fl->fl_flags = FL_FLOCK;
        fl->fl_type = type;
        fl->fl_end = OFFSET_MAX;
        fl->fl_flags = FL_FLOCK;
        fl->fl_type = type;
        fl->fl_end = OFFSET_MAX;
@@ -4088,17 +4104,17 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
 +      fl->fl_xid = filp->f_xid;
 +      vx_locks_inc(fl);
        
 +      fl->fl_xid = filp->f_xid;
 +      vx_locks_inc(fl);
        
-       *lock = fl;
-       return 0;
-@@ -464,6 +480,7 @@ static int lease_init(struct file *filp,
+       return fl;
+ }
+@@ -467,6 +483,7 @@ static int lease_init(struct file *filp,
  
  
-       fl->fl_owner = current->files;
+       fl->fl_owner = filp;
        fl->fl_pid = current->tgid;
 +      fl->fl_xid = vx_current_xid();
  
        fl->fl_file = filp;
        fl->fl_flags = FL_LEASE;
        fl->fl_pid = current->tgid;
 +      fl->fl_xid = vx_current_xid();
  
        fl->fl_file = filp;
        fl->fl_flags = FL_LEASE;
-@@ -483,6 +500,11 @@ static struct file_lock *lease_alloc(str
+@@ -486,6 +503,11 @@ static struct file_lock *lease_alloc(str
        if (fl == NULL)
                return ERR_PTR(error);
  
        if (fl == NULL)
                return ERR_PTR(error);
  
@@ -4110,7 +4126,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        error = lease_init(filp, type, fl);
        if (error) {
                locks_free_lock(fl);
        error = lease_init(filp, type, fl);
        if (error) {
                locks_free_lock(fl);
-@@ -858,6 +880,7 @@ static int flock_lock_file(struct file *
+@@ -892,6 +914,7 @@ static int flock_lock_file(struct file *
                spin_lock(&inode->i_lock);
        }
  
                spin_lock(&inode->i_lock);
        }
  
@@ -4118,7 +4134,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
  find_conflict:
        for_each_lock(inode, before) {
                struct file_lock *fl = *before;
  find_conflict:
        for_each_lock(inode, before) {
                struct file_lock *fl = *before;
-@@ -878,6 +901,7 @@ find_conflict:
+@@ -912,6 +935,7 @@ find_conflict:
                goto out;
        locks_copy_lock(new_fl, request);
        locks_insert_lock(before, new_fl);
                goto out;
        locks_copy_lock(new_fl, request);
        locks_insert_lock(before, new_fl);
@@ -4126,7 +4142,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        new_fl = NULL;
        error = 0;
  
        new_fl = NULL;
        error = 0;
  
-@@ -888,7 +912,8 @@ out:
+@@ -923,7 +947,8 @@ out:
        return error;
  }
  
        return error;
  }
  
@@ -4136,16 +4152,16 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
  {
        struct file_lock *fl;
        struct file_lock *new_fl = NULL;
  {
        struct file_lock *fl;
        struct file_lock *new_fl = NULL;
-@@ -899,6 +924,8 @@ static int __posix_lock_file(struct inod
-       int error;
+@@ -935,6 +960,8 @@ static int __posix_lock_file(struct inod
        bool added = false;
        bool added = false;
+       LIST_HEAD(dispose);
  
 +      vxd_assert(xid == vx_current_xid(),
 +              "xid(%d) == current(%d)", xid, vx_current_xid());
        /*
         * We may need two file_lock structures for this operation,
         * so we get them in advance to avoid races.
  
 +      vxd_assert(xid == vx_current_xid(),
 +              "xid(%d) == current(%d)", xid, vx_current_xid());
        /*
         * We may need two file_lock structures for this operation,
         * so we get them in advance to avoid races.
-@@ -909,7 +936,11 @@ static int __posix_lock_file(struct inod
+@@ -945,7 +972,11 @@ static int __posix_lock_file(struct inod
            (request->fl_type != F_UNLCK ||
             request->fl_start != 0 || request->fl_end != OFFSET_MAX)) {
                new_fl = locks_alloc_lock();
            (request->fl_type != F_UNLCK ||
             request->fl_start != 0 || request->fl_end != OFFSET_MAX)) {
                new_fl = locks_alloc_lock();
@@ -4157,7 +4173,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        }
  
        spin_lock(&inode->i_lock);
        }
  
        spin_lock(&inode->i_lock);
-@@ -1118,7 +1149,8 @@ static int __posix_lock_file(struct inod
+@@ -1158,7 +1189,8 @@ static int __posix_lock_file(struct inod
  int posix_lock_file(struct file *filp, struct file_lock *fl,
                        struct file_lock *conflock)
  {
  int posix_lock_file(struct file *filp, struct file_lock *fl,
                        struct file_lock *conflock)
  {
@@ -4167,51 +4183,33 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
  }
  EXPORT_SYMBOL(posix_lock_file);
  
  }
  EXPORT_SYMBOL(posix_lock_file);
  
-@@ -1168,6 +1170,7 @@ int locks_mandatory_area(int read_write,
-       struct file_lock fl;
-       int error;
-       bool sleep = false;
-+      vxid_t xid;
-       locks_init_lock(&fl);
-       fl.fl_pid = current->tgid;
-@@ -1208,20 +1240,24 @@ int locks_mandatory_area(int read_write,
-       fl.fl_type = (read_write == FLOCK_VERIFY_WRITE) ? F_WRLCK : F_RDLCK;
-       fl.fl_start = offset;
-       fl.fl_end = offset + count - 1;
-+      if (filp)
-+              xid = filp->f_xid;
-+      else
-+              xid = vx_current_xid();
-       for (;;) {
+@@ -1252,7 +1284,7 @@ int locks_mandatory_area(int read_write,
                if (filp) {
                if (filp) {
-                       fl.fl_owner = (fl_owner_t)filp;
+                       fl.fl_owner = filp;
                        fl.fl_flags &= ~FL_SLEEP;
 -                      error = __posix_lock_file(inode, &fl, NULL);
                        fl.fl_flags &= ~FL_SLEEP;
 -                      error = __posix_lock_file(inode, &fl, NULL);
-+                      error = __posix_lock_file(inode, &fl, NULL, xid);
++                      error = __posix_lock_file(inode, &fl, NULL, filp->f_xid);
                        if (!error)
                                break;
                }
                        if (!error)
                                break;
                }
+@@ -1260,7 +1292,7 @@ int locks_mandatory_area(int read_write,
                if (sleep)
                        fl.fl_flags |= FL_SLEEP;
                fl.fl_owner = current->files;
 -              error = __posix_lock_file(inode, &fl, NULL);
                if (sleep)
                        fl.fl_flags |= FL_SLEEP;
                fl.fl_owner = current->files;
 -              error = __posix_lock_file(inode, &fl, NULL);
-+              error = __posix_lock_file(inode, &fl, NULL, xid);
++              error = __posix_lock_file(inode, &fl, NULL, filp->f_xid);
                if (error != FILE_LOCK_DEFERRED)
                        break;
                error = wait_event_interruptible(fl.fl_wait, !fl.fl_next);
                if (error != FILE_LOCK_DEFERRED)
                        break;
                error = wait_event_interruptible(fl.fl_wait, !fl.fl_next);
-@@ -1549,6 +1581,8 @@ static int generic_add_lease(struct file
-       error = check_conflicting_open(dentry, arg);
-       if (error)
-               locks_unlink_lock(flp);
-+      else
-+              vx_locks_inc(lease);
- out:
-       if (is_deleg)
-               mutex_unlock(&inode->i_mutex);
-@@ -1991,6 +2024,11 @@ int fcntl_setlk(unsigned int fd, struct
+@@ -1655,6 +1687,7 @@ generic_add_lease(struct file *filp, lon
+               goto out;
+       locks_insert_lock(before, lease);
++      vx_locks_inc(lease);
+       /*
+        * The check in break_lease() is lockless. It's possible for another
+        * open to race in after we did the earlier check for a conflicting
+@@ -2110,6 +2143,11 @@ int fcntl_setlk(unsigned int fd, struct
        if (file_lock == NULL)
                return -ENOLCK;
  
        if (file_lock == NULL)
                return -ENOLCK;
  
@@ -4223,7 +4221,7 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        /*
         * This might block, so we do it before checking the inode.
         */
        /*
         * This might block, so we do it before checking the inode.
         */
-@@ -2109,6 +2147,11 @@ int fcntl_setlk64(unsigned int fd, struc
+@@ -2250,6 +2288,11 @@ int fcntl_setlk64(unsigned int fd, struc
        if (file_lock == NULL)
                return -ENOLCK;
  
        if (file_lock == NULL)
                return -ENOLCK;
  
@@ -4235,35 +4233,34 @@ diff -NurpP --minimal linux-3.13.10/fs/locks.c linux-3.13.10-vs2.3.6.11/fs/locks
        /*
         * This might block, so we do it before checking the inode.
         */
        /*
         * This might block, so we do it before checking the inode.
         */
-@@ -2378,8 +2421,11 @@ static int locks_show(struct seq_file *f
+@@ -2557,8 +2600,11 @@ static int locks_show(struct seq_file *f
  
        lock_get_status(f, fl, iter->li_pos, "");
  
 -      list_for_each_entry(bfl, &fl->fl_block, fl_block)
  
        lock_get_status(f, fl, iter->li_pos, "");
  
 -      list_for_each_entry(bfl, &fl->fl_block, fl_block)
--              lock_get_status(f, bfl, iter->li_pos, " ->");
 +      list_for_each_entry(bfl, &fl->fl_block, fl_block) {
 +              if (!vx_check(fl->fl_xid, VS_WATCH_P | VS_IDENT))
 +                      continue;
 +      list_for_each_entry(bfl, &fl->fl_block, fl_block) {
 +              if (!vx_check(fl->fl_xid, VS_WATCH_P | VS_IDENT))
 +                      continue;
-+              lock_get_status(f, bfl, iter->li_pos, " ->");
+               lock_get_status(f, bfl, iter->li_pos, " ->");
 +      }
  
        return 0;
  }
 +      }
  
        return 0;
  }
-diff -NurpP --minimal linux-3.13.10/fs/mount.h linux-3.13.10-vs2.3.6.11/fs/mount.h
---- linux-3.13.10/fs/mount.h   2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/mount.h        2014-04-17 01:17:10.000000000 +0000
-@@ -57,6 +57,7 @@ struct mount {
+diff -NurpP --minimal linux-3.18.5/fs/mount.h linux-3.18.5-vs2.3.7.3/fs/mount.h
+--- linux-3.18.5/fs/mount.h    2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/mount.h  2015-01-19 10:58:03.000000000 +0000
+@@ -62,6 +62,7 @@ struct mount {
        int mnt_expiry_mark;            /* true if marked for expiry */
        int mnt_expiry_mark;            /* true if marked for expiry */
-       int mnt_pinned;
+       struct hlist_head mnt_pins;
        struct path mnt_ex_mountpoint;
 +      vtag_t mnt_tag;                 /* tagging used for vfsmount */
  };
  
  #define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */
        struct path mnt_ex_mountpoint;
 +      vtag_t mnt_tag;                 /* tagging used for vfsmount */
  };
  
  #define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */
-diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei.c
---- linux-3.13.10/fs/namei.c   2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/namei.c        2014-04-17 01:17:10.000000000 +0000
-@@ -34,9 +34,19 @@
+diff -NurpP --minimal linux-3.18.5/fs/namei.c linux-3.18.5-vs2.3.7.3/fs/namei.c
+--- linux-3.18.5/fs/namei.c    2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/namei.c  2015-01-22 08:31:30.000000000 +0000
+@@ -34,10 +34,20 @@
  #include <linux/device_cgroup.h>
  #include <linux/fs_struct.h>
  #include <linux/posix_acl.h>
  #include <linux/device_cgroup.h>
  #include <linux/fs_struct.h>
  #include <linux/posix_acl.h>
@@ -4276,6 +4273,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +#include <linux/vs_device.h>
 +#include <linux/vs_context.h>
 +#include <linux/pid_namespace.h>
 +#include <linux/vs_device.h>
 +#include <linux/vs_context.h>
 +#include <linux/pid_namespace.h>
+ #include <linux/hash.h>
  #include <asm/uaccess.h>
  
  #include "internal.h"
  #include <asm/uaccess.h>
  
  #include "internal.h"
@@ -4283,7 +4281,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
  #include "mount.h"
  
  /* [Feb-1997 T. Schoebel-Theuer]
  #include "mount.h"
  
  /* [Feb-1997 T. Schoebel-Theuer]
-@@ -266,6 +276,89 @@ static int check_acl(struct inode *inode
+@@ -278,6 +288,93 @@ static int check_acl(struct inode *inode
        return -EAGAIN;
  }
  
        return -EAGAIN;
  }
  
@@ -4313,8 +4311,12 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +      else if (inode->i_sb->s_magic == PROC_SUPER_MAGIC) {
 +              struct proc_dir_entry *de = PDE(inode);
 +
 +      else if (inode->i_sb->s_magic == PROC_SUPER_MAGIC) {
 +              struct proc_dir_entry *de = PDE(inode);
 +
-+              if (de && !vx_hide_check(0, de->vx_flags))
++              if (de && !vx_hide_check(0, de->vx_flags)) {
++                      vxdprintk(VXD_CBIT(misc, 9),
++                              VS_Q("%*s") " hidden by _dx_permission",
++                              de->namelen, de->name);
 +                      goto out;
 +                      goto out;
++              }
 +
 +              if ((mask & (MAY_WRITE | MAY_APPEND))) {
 +                      struct pid *pid;
 +
 +              if ((mask & (MAY_WRITE | MAY_APPEND))) {
 +                      struct pid *pid;
@@ -4373,7 +4375,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
  /*
   * This does the basic permission checking
   */
  /*
   * This does the basic permission checking
   */
-@@ -388,10 +481,14 @@ int __inode_permission(struct inode *ino
+@@ -402,10 +499,14 @@ int __inode_permission(struct inode *ino
                /*
                 * Nobody gets write access to an immutable file.
                 */
                /*
                 * Nobody gets write access to an immutable file.
                 */
@@ -4389,17 +4391,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
        retval = do_inode_permission(inode, mask);
        if (retval)
                return retval;
        retval = do_inode_permission(inode, mask);
        if (retval)
                return retval;
-@@ -1238,7 +1335,8 @@ static void follow_dotdot(struct nameida
-               if (nd->path.dentry == nd->root.dentry &&
-                   nd->path.mnt == nd->root.mnt) {
--                      break;
-+                      /* for sane '/' avoid follow_mount() */
-+                      return;
-               }
-               if (nd->path.dentry != nd->path.mnt->mnt_root) {
-                       /* rare case of legitimate dget_parent()... */
-@@ -1383,6 +1481,9 @@ static int lookup_fast(struct nameidata
+@@ -1416,6 +1517,9 @@ static int lookup_fast(struct nameidata
                                goto unlazy;
                        }
                }
                                goto unlazy;
                        }
                }
@@ -4408,9 +4400,9 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +
                path->mnt = mnt;
                path->dentry = dentry;
 +
                path->mnt = mnt;
                path->dentry = dentry;
-               if (unlikely(!__follow_mount_rcu(nd, path, inode)))
-@@ -1413,6 +1514,8 @@ unlazy:
-               }
+               if (likely(__follow_mount_rcu(nd, path, inode)))
+@@ -1442,6 +1546,8 @@ unlazy:
+               goto need_lookup;
        }
  
 +      /* FIXME: check dx permission */
        }
  
 +      /* FIXME: check dx permission */
@@ -4418,7 +4410,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
        path->mnt = mnt;
        path->dentry = dentry;
        err = follow_managed(path, nd->flags);
        path->mnt = mnt;
        path->dentry = dentry;
        err = follow_managed(path, nd->flags);
-@@ -2400,7 +2503,7 @@ static int may_delete(struct inode *dir,
+@@ -2434,7 +2540,7 @@ static int may_delete(struct inode *dir,
                return -EPERM;
  
        if (check_sticky(dir, inode) || IS_APPEND(inode) ||
                return -EPERM;
  
        if (check_sticky(dir, inode) || IS_APPEND(inode) ||
@@ -4426,8 +4418,8 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +              IS_IXORUNLINK(inode) || IS_SWAPFILE(inode))
                return -EPERM;
        if (isdir) {
 +              IS_IXORUNLINK(inode) || IS_SWAPFILE(inode))
                return -EPERM;
        if (isdir) {
-               if (!d_is_directory(victim) && !d_is_autodir(victim))
-@@ -2480,19 +2583,25 @@ int vfs_create(struct inode *dir, struct
+               if (!d_is_dir(victim))
+@@ -2516,19 +2622,25 @@ int vfs_create(struct inode *dir, struct
                bool want_excl)
  {
        int error = may_create(dir, dentry);
                bool want_excl)
  {
        int error = may_create(dir, dentry);
@@ -4454,8 +4446,8 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +              vxdprintk(VXD_CBIT(misc, 3), "i_op->create failed with %d", error);
        return error;
  }
 +              vxdprintk(VXD_CBIT(misc, 3), "i_op->create failed with %d", error);
        return error;
  }
-@@ -2527,6 +2636,15 @@ static int may_open(struct path *path, i
+ EXPORT_SYMBOL(vfs_create);
+@@ -2564,6 +2676,15 @@ static int may_open(struct path *path, i
                break;
        }
  
                break;
        }
  
@@ -4471,7 +4463,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
        error = inode_permission(inode, acc_mode);
        if (error)
                return error;
        error = inode_permission(inode, acc_mode);
        if (error)
                return error;
-@@ -3022,6 +3140,16 @@ finish_open:
+@@ -3058,6 +3179,16 @@ finish_open:
        }
  finish_open_created:
        error = may_open(&nd->path, acc_mode, open_flag);
        }
  finish_open_created:
        error = may_open(&nd->path, acc_mode, open_flag);
@@ -4487,8 +4479,8 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +#endif
        if (error)
                goto out;
 +#endif
        if (error)
                goto out;
-       file->f_path.mnt = nd->path.mnt;
-@@ -3147,6 +3275,7 @@ static struct file *path_openat(int dfd,
+@@ -3187,6 +3318,7 @@ static struct file *path_openat(int dfd,
        int opened = 0;
        int error;
  
        int opened = 0;
        int error;
  
@@ -4496,7 +4488,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
        file = get_empty_filp();
        if (IS_ERR(file))
                return file;
        file = get_empty_filp();
        if (IS_ERR(file))
                return file;
-@@ -3188,6 +3317,16 @@ static struct file *path_openat(int dfd,
+@@ -3228,6 +3360,16 @@ static struct file *path_openat(int dfd,
                error = do_last(nd, &path, file, op, &opened, pathname);
                put_link(nd, &link, cookie);
        }
                error = do_last(nd, &path, file, op, &opened, pathname);
                put_link(nd, &link, cookie);
        }
@@ -4513,7 +4505,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
  out:
        if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT))
                path_put(&nd->root);
  out:
        if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT))
                path_put(&nd->root);
-@@ -3303,6 +3442,11 @@ struct dentry *kern_path_create(int dfd,
+@@ -3343,6 +3485,11 @@ struct dentry *kern_path_create(int dfd,
                goto fail;
        }
        *path = nd.path;
                goto fail;
        }
        *path = nd.path;
@@ -4525,7 +4517,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
        return dentry;
  fail:
        dput(dentry);
        return dentry;
  fail:
        dput(dentry);
-@@ -3850,7 +3994,7 @@ int vfs_link(struct dentry *old_dentry,
+@@ -3899,7 +4046,7 @@ int vfs_link(struct dentry *old_dentry,
        /*
         * A link to an append-only or immutable file cannot be created.
         */
        /*
         * A link to an append-only or immutable file cannot be created.
         */
@@ -4534,9 +4526,9 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
                return -EPERM;
        if (!dir->i_op->link)
                return -EPERM;
                return -EPERM;
        if (!dir->i_op->link)
                return -EPERM;
-@@ -4305,6 +4449,288 @@ int generic_readlink(struct dentry *dent
-       return res;
+@@ -4404,6 +4551,289 @@ int generic_readlink(struct dentry *dent
  }
  }
+ EXPORT_SYMBOL(generic_readlink);
  
 +
 +#ifdef        CONFIG_VSERVER_COWBL
  
 +
 +#ifdef        CONFIG_VSERVER_COWBL
@@ -4818,18 +4810,19 @@ diff -NurpP --minimal linux-3.13.10/fs/namei.c linux-3.13.10-vs2.3.6.11/fs/namei
 +      kfree(pstr);
 +      return length;
 +}
 +      kfree(pstr);
 +      return length;
 +}
++
 +EXPORT_SYMBOL(vx_info_mnt_namespace);
 +
  /* get the link contents into pagecache */
  static char *page_getlink(struct dentry * dentry, struct page **ppage)
  {
 +EXPORT_SYMBOL(vx_info_mnt_namespace);
 +
  /* get the link contents into pagecache */
  static char *page_getlink(struct dentry * dentry, struct page **ppage)
  {
-diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/namespace.c
---- linux-3.13.10/fs/namespace.c       2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/namespace.c    2014-04-17 01:18:37.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/namespace.c linux-3.18.5-vs2.3.7.3/fs/namespace.c
+--- linux-3.18.5/fs/namespace.c        2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/namespace.c      2015-01-19 12:08:57.000000000 +0000
 @@ -24,6 +24,11 @@
 @@ -24,6 +24,11 @@
- #include <linux/proc_ns.h>
  #include <linux/magic.h>
  #include <linux/bootmem.h>
  #include <linux/magic.h>
  #include <linux/bootmem.h>
+ #include <linux/task_work.h>
 +#include <linux/vs_base.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_tag.h>
 +#include <linux/vs_base.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_tag.h>
@@ -4838,7 +4831,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  #include "pnode.h"
  #include "internal.h"
  
  #include "pnode.h"
  #include "internal.h"
  
-@@ -839,6 +844,10 @@ vfs_kern_mount(struct file_system_type *
+@@ -897,6 +902,10 @@ vfs_kern_mount(struct file_system_type *
        if (!type)
                return ERR_PTR(-ENODEV);
  
        if (!type)
                return ERR_PTR(-ENODEV);
  
@@ -4849,7 +4842,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        mnt = alloc_vfsmnt(name);
        if (!mnt)
                return ERR_PTR(-ENOMEM);
        mnt = alloc_vfsmnt(name);
        if (!mnt)
                return ERR_PTR(-ENOMEM);
-@@ -899,6 +908,7 @@ static struct mount *clone_mnt(struct mo
+@@ -971,6 +980,7 @@ static struct mount *clone_mnt(struct mo
        mnt->mnt.mnt_root = dget(root);
        mnt->mnt_mountpoint = mnt->mnt.mnt_root;
        mnt->mnt_parent = mnt;
        mnt->mnt.mnt_root = dget(root);
        mnt->mnt_mountpoint = mnt->mnt.mnt_root;
        mnt->mnt_parent = mnt;
@@ -4857,7 +4850,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        lock_mount_hash();
        list_add_tail(&mnt->mnt_instance, &sb->s_mounts);
        unlock_mount_hash();
        lock_mount_hash();
        list_add_tail(&mnt->mnt_instance, &sb->s_mounts);
        unlock_mount_hash();
-@@ -1369,7 +1379,8 @@ static int do_umount(struct mount *mnt,
+@@ -1508,7 +1518,8 @@ out_unlock:
   */
  static inline bool may_mount(void)
  {
   */
  static inline bool may_mount(void)
  {
@@ -4867,7 +4860,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  }
  
  /*
  }
  
  /*
-@@ -1785,6 +1796,7 @@ static int do_change_type(struct path *p
+@@ -1969,6 +1980,7 @@ static int do_change_type(struct path *p
                if (err)
                        goto out_unlock;
        }
                if (err)
                        goto out_unlock;
        }
@@ -4875,7 +4868,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  
        lock_mount_hash();
        for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL))
  
        lock_mount_hash();
        for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL))
-@@ -1813,12 +1825,14 @@ static bool has_locked_children(struct m
+@@ -1997,12 +2009,14 @@ static bool has_locked_children(struct m
   * do loopback mount.
   */
  static int do_loopback(struct path *path, const char *old_name,
   * do loopback mount.
   */
  static int do_loopback(struct path *path, const char *old_name,
@@ -4891,7 +4884,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        if (!old_name || !*old_name)
                return -EINVAL;
        err = kern_path(old_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path);
        if (!old_name || !*old_name)
                return -EINVAL;
        err = kern_path(old_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path);
-@@ -1898,7 +1912,7 @@ static int change_mount_flags(struct vfs
+@@ -2079,7 +2093,7 @@ static int change_mount_flags(struct vfs
   * on it - tough luck.
   */
  static int do_remount(struct path *path, int flags, int mnt_flags,
   * on it - tough luck.
   */
  static int do_remount(struct path *path, int flags, int mnt_flags,
@@ -4900,7 +4893,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  {
        int err;
        struct super_block *sb = path->mnt->mnt_sb;
  {
        int err;
        struct super_block *sb = path->mnt->mnt_sb;
-@@ -2377,6 +2391,7 @@ long do_mount(const char *dev_name, cons
+@@ -2579,6 +2593,7 @@ long do_mount(const char *dev_name, cons
        struct path path;
        int retval = 0;
        int mnt_flags = 0;
        struct path path;
        int retval = 0;
        int mnt_flags = 0;
@@ -4908,7 +4901,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  
        /* Discard magic */
        if ((flags & MS_MGC_MSK) == MS_MGC_VAL)
  
        /* Discard magic */
        if ((flags & MS_MGC_MSK) == MS_MGC_VAL)
-@@ -2406,6 +2421,12 @@ long do_mount(const char *dev_name, cons
+@@ -2604,6 +2619,12 @@ long do_mount(const char *dev_name, cons
        if (!(flags & MS_NOATIME))
                mnt_flags |= MNT_RELATIME;
  
        if (!(flags & MS_NOATIME))
                mnt_flags |= MNT_RELATIME;
  
@@ -4921,9 +4914,9 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        /* Separate the per-mountpoint flags */
        if (flags & MS_NOSUID)
                mnt_flags |= MNT_NOSUID;
        /* Separate the per-mountpoint flags */
        if (flags & MS_NOSUID)
                mnt_flags |= MNT_NOSUID;
-@@ -2422,15 +2443,17 @@ long do_mount(const char *dev_name, cons
-       if (flags & MS_RDONLY)
-               mnt_flags |= MNT_READONLY;
+@@ -2628,15 +2649,17 @@ long do_mount(const char *dev_name, cons
+               mnt_flags |= path.mnt->mnt_flags & MNT_ATIME_MASK;
+       }
  
 +      if (!vx_capable(CAP_SYS_ADMIN, VXC_DEV_MOUNT))
 +              mnt_flags |= MNT_NODEV;
  
 +      if (!vx_capable(CAP_SYS_ADMIN, VXC_DEV_MOUNT))
 +              mnt_flags |= MNT_NODEV;
@@ -4941,7 +4934,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
                retval = do_change_type(&path, flags);
        else if (flags & MS_MOVE)
        else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
                retval = do_change_type(&path, flags);
        else if (flags & MS_MOVE)
-@@ -2546,6 +2569,7 @@ struct mnt_namespace *copy_mnt_ns(unsign
+@@ -2752,6 +2775,7 @@ struct mnt_namespace *copy_mnt_ns(unsign
                        p = next_mnt(p, old);
        }
        namespace_unlock();
                        p = next_mnt(p, old);
        }
        namespace_unlock();
@@ -4949,7 +4942,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
  
        if (rootmnt)
                mntput(rootmnt);
  
        if (rootmnt)
                mntput(rootmnt);
-@@ -2727,9 +2751,10 @@ SYSCALL_DEFINE2(pivot_root, const char _
+@@ -2926,9 +2950,10 @@ SYSCALL_DEFINE2(pivot_root, const char _
        new_mnt = real_mount(new.mnt);
        root_mnt = real_mount(root.mnt);
        old_mnt = real_mount(old.mnt);
        new_mnt = real_mount(new.mnt);
        root_mnt = real_mount(root.mnt);
        old_mnt = real_mount(old.mnt);
@@ -4962,7 +4955,7 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
                goto out4;
        if (!check_mnt(root_mnt) || !check_mnt(new_mnt))
                goto out4;
                goto out4;
        if (!check_mnt(root_mnt) || !check_mnt(new_mnt))
                goto out4;
-@@ -2859,6 +2884,7 @@ void put_mnt_ns(struct mnt_namespace *ns
+@@ -3063,6 +3088,7 @@ void put_mnt_ns(struct mnt_namespace *ns
        if (!atomic_dec_and_test(&ns->count))
                return;
        drop_collected_mounts(&ns->root->mnt);
        if (!atomic_dec_and_test(&ns->count))
                return;
        drop_collected_mounts(&ns->root->mnt);
@@ -4970,10 +4963,10 @@ diff -NurpP --minimal linux-3.13.10/fs/namespace.c linux-3.13.10-vs2.3.6.11/fs/n
        free_mnt_ns(ns);
  }
  
        free_mnt_ns(ns);
  }
  
-diff -NurpP --minimal linux-3.13.10/fs/nfs/client.c linux-3.13.10-vs2.3.6.11/fs/nfs/client.c
---- linux-3.13.10/fs/nfs/client.c      2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfs/client.c   2014-01-31 20:38:03.000000000 +0000
-@@ -685,6 +685,9 @@ int nfs_init_server_rpcclient(struct nfs
+diff -NurpP --minimal linux-3.18.5/fs/nfs/client.c linux-3.18.5-vs2.3.7.3/fs/nfs/client.c
+--- linux-3.18.5/fs/nfs/client.c       2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfs/client.c     2015-01-19 10:58:03.000000000 +0000
+@@ -693,6 +693,9 @@ int nfs_init_server_rpcclient(struct nfs
        if (server->flags & NFS_MOUNT_SOFT)
                server->client->cl_softrtry = 1;
  
        if (server->flags & NFS_MOUNT_SOFT)
                server->client->cl_softrtry = 1;
  
@@ -4983,7 +4976,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/client.c linux-3.13.10-vs2.3.6.11/fs/
        return 0;
  }
  EXPORT_SYMBOL_GPL(nfs_init_server_rpcclient);
        return 0;
  }
  EXPORT_SYMBOL_GPL(nfs_init_server_rpcclient);
-@@ -863,6 +866,10 @@ static void nfs_server_set_fsinfo(struct
+@@ -871,6 +874,10 @@ static void nfs_server_set_fsinfo(struct
                server->acdirmin = server->acdirmax = 0;
        }
  
                server->acdirmin = server->acdirmax = 0;
        }
  
@@ -4994,9 +4987,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/client.c linux-3.13.10-vs2.3.6.11/fs/
        server->maxfilesize = fsinfo->maxfilesize;
  
        server->time_delta = fsinfo->time_delta;
        server->maxfilesize = fsinfo->maxfilesize;
  
        server->time_delta = fsinfo->time_delta;
-diff -NurpP --minimal linux-3.13.10/fs/nfs/dir.c linux-3.13.10-vs2.3.6.11/fs/nfs/dir.c
---- linux-3.13.10/fs/nfs/dir.c 2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfs/dir.c      2014-02-25 11:26:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfs/dir.c linux-3.18.5-vs2.3.7.3/fs/nfs/dir.c
+--- linux-3.18.5/fs/nfs/dir.c  2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfs/dir.c        2015-01-19 10:58:03.000000000 +0000
 @@ -37,6 +37,7 @@
  #include <linux/sched.h>
  #include <linux/kmemleak.h>
 @@ -37,6 +37,7 @@
  #include <linux/sched.h>
  #include <linux/kmemleak.h>
@@ -5005,7 +4998,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/dir.c linux-3.13.10-vs2.3.6.11/fs/nfs
  
  #include "delegation.h"
  #include "iostat.h"
  
  #include "delegation.h"
  #include "iostat.h"
-@@ -1319,6 +1320,7 @@ struct dentry *nfs_lookup(struct inode *
+@@ -1392,6 +1393,7 @@ struct dentry *nfs_lookup(struct inode *
        /* Success: notify readdir to use READDIRPLUS */
        nfs_advise_use_readdirplus(dir);
  
        /* Success: notify readdir to use READDIRPLUS */
        nfs_advise_use_readdirplus(dir);
  
@@ -5013,9 +5006,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/dir.c linux-3.13.10-vs2.3.6.11/fs/nfs
  no_entry:
        res = d_materialise_unique(dentry, inode);
        if (res != NULL) {
  no_entry:
        res = d_materialise_unique(dentry, inode);
        if (res != NULL) {
-diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/nfs/inode.c
---- linux-3.13.10/fs/nfs/inode.c       2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfs/inode.c    2014-03-12 15:51:07.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfs/inode.c linux-3.18.5-vs2.3.7.3/fs/nfs/inode.c
+--- linux-3.18.5/fs/nfs/inode.c        2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfs/inode.c      2015-01-19 11:44:24.000000000 +0000
 @@ -38,6 +38,7 @@
  #include <linux/slab.h>
  #include <linux/compat.h>
 @@ -38,6 +38,7 @@
  #include <linux/slab.h>
  #include <linux/compat.h>
@@ -5024,7 +5017,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
  #include <asm/uaccess.h>
  
  
  #include <asm/uaccess.h>
  
-@@ -359,6 +360,8 @@ nfs_fhget(struct super_block *sb, struct
+@@ -368,6 +369,8 @@ nfs_fhget(struct super_block *sb, struct
        if (inode->i_state & I_NEW) {
                struct nfs_inode *nfsi = NFS_I(inode);
                unsigned long now = jiffies;
        if (inode->i_state & I_NEW) {
                struct nfs_inode *nfsi = NFS_I(inode);
                unsigned long now = jiffies;
@@ -5033,7 +5026,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
                /* We set i_ino for the few things that still rely on it,
                 * such as stat(2) */
  
                /* We set i_ino for the few things that still rely on it,
                 * such as stat(2) */
-@@ -403,8 +406,8 @@ nfs_fhget(struct super_block *sb, struct
+@@ -412,8 +415,8 @@ nfs_fhget(struct super_block *sb, struct
                inode->i_version = 0;
                inode->i_size = 0;
                clear_nlink(inode);
                inode->i_version = 0;
                inode->i_size = 0;
                clear_nlink(inode);
@@ -5044,21 +5037,21 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
                inode->i_blocks = 0;
                memset(nfsi->cookieverf, 0, sizeof(nfsi->cookieverf));
                nfsi->write_io = 0;
                inode->i_blocks = 0;
                memset(nfsi->cookieverf, 0, sizeof(nfsi->cookieverf));
                nfsi->write_io = 0;
-@@ -438,11 +441,11 @@ nfs_fhget(struct super_block *sb, struct
+@@ -447,11 +450,11 @@ nfs_fhget(struct super_block *sb, struct
                else if (nfs_server_capable(inode, NFS_CAP_NLINK))
                else if (nfs_server_capable(inode, NFS_CAP_NLINK))
-                       nfsi->cache_validity |= NFS_INO_INVALID_ATTR;
+                       nfs_set_cache_invalid(inode, NFS_INO_INVALID_ATTR);
                if (fattr->valid & NFS_ATTR_FATTR_OWNER)
 -                      inode->i_uid = fattr->uid;
 +                      kuid = fattr->uid;
                else if (nfs_server_capable(inode, NFS_CAP_OWNER))
                if (fattr->valid & NFS_ATTR_FATTR_OWNER)
 -                      inode->i_uid = fattr->uid;
 +                      kuid = fattr->uid;
                else if (nfs_server_capable(inode, NFS_CAP_OWNER))
-                       nfsi->cache_validity |= NFS_INO_INVALID_ATTR;
+                       nfs_set_cache_invalid(inode, NFS_INO_INVALID_ATTR);
                if (fattr->valid & NFS_ATTR_FATTR_GROUP)
 -                      inode->i_gid = fattr->gid;
 +                      kgid = fattr->gid;
                else if (nfs_server_capable(inode, NFS_CAP_OWNER_GROUP))
                if (fattr->valid & NFS_ATTR_FATTR_GROUP)
 -                      inode->i_gid = fattr->gid;
 +                      kgid = fattr->gid;
                else if (nfs_server_capable(inode, NFS_CAP_OWNER_GROUP))
-                       nfsi->cache_validity |= NFS_INO_INVALID_ATTR;
+                       nfs_set_cache_invalid(inode, NFS_INO_INVALID_ATTR);
                if (fattr->valid & NFS_ATTR_FATTR_BLOCKS_USED)
                if (fattr->valid & NFS_ATTR_FATTR_BLOCKS_USED)
-@@ -453,6 +456,10 @@ nfs_fhget(struct super_block *sb, struct
+@@ -462,6 +465,10 @@ nfs_fhget(struct super_block *sb, struct
                         */
                        inode->i_blocks = nfs_calc_block_size(fattr->du.nfs3.used);
                }
                         */
                        inode->i_blocks = nfs_calc_block_size(fattr->du.nfs3.used);
                }
@@ -5069,16 +5062,16 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
                nfs_setsecurity(inode, fattr, label);
  
  
                nfs_setsecurity(inode, fattr, label);
  
-@@ -578,6 +585,8 @@ void nfs_setattr_update_inode(struct ino
+@@ -592,6 +599,8 @@ void nfs_setattr_update_inode(struct ino
                        inode->i_uid = attr->ia_uid;
                if ((attr->ia_valid & ATTR_GID) != 0)
                        inode->i_gid = attr->ia_gid;
 +              if ((attr->ia_valid & ATTR_TAG) && IS_TAGGED(inode))
 +                      inode->i_tag = attr->ia_tag;
                        inode->i_uid = attr->ia_uid;
                if ((attr->ia_valid & ATTR_GID) != 0)
                        inode->i_gid = attr->ia_gid;
 +              if ((attr->ia_valid & ATTR_TAG) && IS_TAGGED(inode))
 +                      inode->i_tag = attr->ia_tag;
-               NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL;
+               nfs_set_cache_invalid(inode, NFS_INO_INVALID_ACCESS
+                               | NFS_INO_INVALID_ACL);
                spin_unlock(&inode->i_lock);
                spin_unlock(&inode->i_lock);
-       }
-@@ -1092,7 +1101,9 @@ static int nfs_check_inode_attributes(st
+@@ -1171,7 +1180,9 @@ static int nfs_check_inode_attributes(st
        struct nfs_inode *nfsi = NFS_I(inode);
        loff_t cur_size, new_isize;
        unsigned long invalid = 0;
        struct nfs_inode *nfsi = NFS_I(inode);
        loff_t cur_size, new_isize;
        unsigned long invalid = 0;
@@ -5089,7 +5082,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
        if (nfs_have_delegated_attributes(inode))
                return 0;
  
        if (nfs_have_delegated_attributes(inode))
                return 0;
-@@ -1117,13 +1128,18 @@ static int nfs_check_inode_attributes(st
+@@ -1196,13 +1207,18 @@ static int nfs_check_inode_attributes(st
                        invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE;
        }
  
                        invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE;
        }
  
@@ -5110,7 +5103,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
        /* Has the link count changed? */
        if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink)
  
        /* Has the link count changed? */
        if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink)
-@@ -1440,6 +1456,9 @@ static int nfs_update_inode(struct inode
+@@ -1533,6 +1549,9 @@ static int nfs_update_inode(struct inode
        unsigned long invalid = 0;
        unsigned long now = jiffies;
        unsigned long save_cache_validity;
        unsigned long invalid = 0;
        unsigned long now = jiffies;
        unsigned long save_cache_validity;
@@ -5118,9 +5111,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
 +      kgid_t kgid;
 +      ktag_t ktag;
  
 +      kgid_t kgid;
 +      ktag_t ktag;
  
-       dfprintk(VFS, "NFS: %s(%s/%ld fh_crc=0x%08x ct=%d info=0x%x)\n",
+       dfprintk(VFS, "NFS: %s(%s/%lu fh_crc=0x%08x ct=%d info=0x%x)\n",
                        __func__, inode->i_sb->s_id, inode->i_ino,
                        __func__, inode->i_sb->s_id, inode->i_ino,
-@@ -1541,6 +1560,9 @@ static int nfs_update_inode(struct inode
+@@ -1637,6 +1656,9 @@ static int nfs_update_inode(struct inode
                                | NFS_INO_REVAL_PAGECACHE
                                | NFS_INO_REVAL_FORCED);
  
                                | NFS_INO_REVAL_PAGECACHE
                                | NFS_INO_REVAL_FORCED);
  
@@ -5130,7 +5123,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
  
        if (fattr->valid & NFS_ATTR_FATTR_ATIME)
                memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime));
  
        if (fattr->valid & NFS_ATTR_FATTR_ATIME)
                memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime));
-@@ -1583,6 +1605,10 @@ static int nfs_update_inode(struct inode
+@@ -1683,6 +1705,10 @@ static int nfs_update_inode(struct inode
                                | NFS_INO_INVALID_ACL
                                | NFS_INO_REVAL_FORCED);
  
                                | NFS_INO_INVALID_ACL
                                | NFS_INO_REVAL_FORCED);
  
@@ -5141,9 +5134,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/inode.c linux-3.13.10-vs2.3.6.11/fs/n
        if (fattr->valid & NFS_ATTR_FATTR_NLINK) {
                if (inode->i_nlink != fattr->nlink) {
                        invalid |= NFS_INO_INVALID_ATTR;
        if (fattr->valid & NFS_ATTR_FATTR_NLINK) {
                if (inode->i_nlink != fattr->nlink) {
                        invalid |= NFS_INO_INVALID_ATTR;
-diff -NurpP --minimal linux-3.13.10/fs/nfs/nfs3xdr.c linux-3.13.10-vs2.3.6.11/fs/nfs/nfs3xdr.c
---- linux-3.13.10/fs/nfs/nfs3xdr.c     2013-05-31 13:45:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfs/nfs3xdr.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfs/nfs3xdr.c linux-3.18.5-vs2.3.7.3/fs/nfs/nfs3xdr.c
+--- linux-3.18.5/fs/nfs/nfs3xdr.c      2014-09-03 13:19:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfs/nfs3xdr.c    2015-01-19 10:58:03.000000000 +0000
 @@ -20,6 +20,7 @@
  #include <linux/nfs3.h>
  #include <linux/nfs_fs.h>
 @@ -20,6 +20,7 @@
  #include <linux/nfs3.h>
  #include <linux/nfs_fs.h>
@@ -5289,9 +5282,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/nfs3xdr.c linux-3.13.10-vs2.3.6.11/fs
  }
  
  /*
  }
  
  /*
-diff -NurpP --minimal linux-3.13.10/fs/nfs/super.c linux-3.13.10-vs2.3.6.11/fs/nfs/super.c
---- linux-3.13.10/fs/nfs/super.c       2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfs/super.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfs/super.c linux-3.18.5-vs2.3.7.3/fs/nfs/super.c
+--- linux-3.18.5/fs/nfs/super.c        2015-01-17 02:40:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfs/super.c      2015-01-19 10:58:03.000000000 +0000
 @@ -55,6 +55,7 @@
  #include <linux/parser.h>
  #include <linux/nsproxy.h>
 @@ -55,6 +55,7 @@
  #include <linux/parser.h>
  #include <linux/nsproxy.h>
@@ -5337,7 +5330,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/super.c linux-3.13.10-vs2.3.6.11/fs/n
                { 0, NULL, NULL }
        };
        const struct proc_nfs_info *nfs_infop;
                { 0, NULL, NULL }
        };
        const struct proc_nfs_info *nfs_infop;
-@@ -1321,6 +1331,14 @@ static int nfs_parse_mount_options(char
+@@ -1320,6 +1330,14 @@ static int nfs_parse_mount_options(char
                case Opt_nomigration:
                        mnt->options &= NFS_OPTION_MIGRATION;
                        break;
                case Opt_nomigration:
                        mnt->options &= NFS_OPTION_MIGRATION;
                        break;
@@ -5352,7 +5345,7 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/super.c linux-3.13.10-vs2.3.6.11/fs/n
  
                /*
                 * options that take numeric values
  
                /*
                 * options that take numeric values
-@@ -1407,6 +1425,12 @@ static int nfs_parse_mount_options(char
+@@ -1406,6 +1424,12 @@ static int nfs_parse_mount_options(char
                                goto out_invalid_value;
                        mnt->minorversion = option;
                        break;
                                goto out_invalid_value;
                        mnt->minorversion = option;
                        break;
@@ -5365,18 +5358,18 @@ diff -NurpP --minimal linux-3.13.10/fs/nfs/super.c linux-3.13.10-vs2.3.6.11/fs/n
  
                /*
                 * options that take text values
  
                /*
                 * options that take text values
-diff -NurpP --minimal linux-3.13.10/fs/nfsd/auth.c linux-3.13.10-vs2.3.6.11/fs/nfsd/auth.c
---- linux-3.13.10/fs/nfsd/auth.c       2013-05-31 13:45:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfsd/auth.c    2014-01-31 20:38:03.000000000 +0000
-@@ -2,6 +2,7 @@
+diff -NurpP --minimal linux-3.18.5/fs/nfsd/auth.c linux-3.18.5-vs2.3.7.3/fs/nfsd/auth.c
+--- linux-3.18.5/fs/nfsd/auth.c        2015-01-16 22:19:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfsd/auth.c      2015-01-19 12:46:19.000000000 +0000
+@@ -1,6 +1,7 @@
+ /* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> */
  
  #include <linux/sched.h>
  
  #include <linux/sched.h>
- #include <linux/user_namespace.h>
 +#include <linux/vs_tag.h>
  #include "nfsd.h"
  #include "auth.h"
  
 +#include <linux/vs_tag.h>
  #include "nfsd.h"
  #include "auth.h"
  
-@@ -37,6 +38,9 @@ int nfsd_setuser(struct svc_rqst *rqstp,
+@@ -35,6 +36,9 @@ int nfsd_setuser(struct svc_rqst *rqstp,
  
        new->fsuid = rqstp->rq_cred.cr_uid;
        new->fsgid = rqstp->rq_cred.cr_gid;
  
        new->fsuid = rqstp->rq_cred.cr_uid;
        new->fsgid = rqstp->rq_cred.cr_gid;
@@ -5386,9 +5379,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/auth.c linux-3.13.10-vs2.3.6.11/fs/n
  
        rqgi = rqstp->rq_cred.cr_group_info;
  
  
        rqgi = rqstp->rq_cred.cr_group_info;
  
-diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs3xdr.c linux-3.13.10-vs2.3.6.11/fs/nfsd/nfs3xdr.c
---- linux-3.13.10/fs/nfsd/nfs3xdr.c    2013-05-31 13:45:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfsd/nfs3xdr.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfsd/nfs3xdr.c linux-3.18.5-vs2.3.7.3/fs/nfsd/nfs3xdr.c
+--- linux-3.18.5/fs/nfsd/nfs3xdr.c     2015-01-16 22:19:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfsd/nfs3xdr.c   2015-01-19 10:58:03.000000000 +0000
 @@ -8,6 +8,7 @@
  
  #include <linux/namei.h>
 @@ -8,6 +8,7 @@
  
  #include <linux/namei.h>
@@ -5427,9 +5420,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs3xdr.c linux-3.13.10-vs2.3.6.11/f
        if (*p++) {
                u64     newsize;
  
        if (*p++) {
                u64     newsize;
  
-@@ -170,8 +176,12 @@ encode_fattr3(struct svc_rqst *rqstp, __
+@@ -167,8 +173,12 @@ encode_fattr3(struct svc_rqst *rqstp, __
        *p++ = htonl(nfs3_ftypes[(stat->mode & S_IFMT) >> 12]);
        *p++ = htonl(nfs3_ftypes[(stat->mode & S_IFMT) >> 12]);
-       *p++ = htonl((u32) stat->mode);
+       *p++ = htonl((u32) (stat->mode & S_IALLUGO));
        *p++ = htonl((u32) stat->nlink);
 -      *p++ = htonl((u32) from_kuid(&init_user_ns, stat->uid));
 -      *p++ = htonl((u32) from_kgid(&init_user_ns, stat->gid));
        *p++ = htonl((u32) stat->nlink);
 -      *p++ = htonl((u32) from_kuid(&init_user_ns, stat->uid));
 -      *p++ = htonl((u32) from_kgid(&init_user_ns, stat->gid));
@@ -5442,10 +5435,10 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs3xdr.c linux-3.13.10-vs2.3.6.11/f
        if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
                p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
        } else {
        if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
                p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
        } else {
-diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs4xdr.c linux-3.13.10-vs2.3.6.11/fs/nfsd/nfs4xdr.c
---- linux-3.13.10/fs/nfsd/nfs4xdr.c    2014-01-22 20:39:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfsd/nfs4xdr.c 2014-01-31 20:38:03.000000000 +0000
-@@ -46,6 +46,7 @@
+diff -NurpP --minimal linux-3.18.5/fs/nfsd/nfs4xdr.c linux-3.18.5-vs2.3.7.3/fs/nfsd/nfs4xdr.c
+--- linux-3.18.5/fs/nfsd/nfs4xdr.c     2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfsd/nfs4xdr.c   2015-01-19 12:45:51.000000000 +0000
+@@ -39,6 +39,7 @@
  #include <linux/utsname.h>
  #include <linux/pagemap.h>
  #include <linux/sunrpc/svcauth_gss.h>
  #include <linux/utsname.h>
  #include <linux/pagemap.h>
  #include <linux/sunrpc/svcauth_gss.h>
@@ -5453,28 +5446,28 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfs4xdr.c linux-3.13.10-vs2.3.6.11/f
  
  #include "idmap.h"
  #include "acl.h"
  
  #include "idmap.h"
  #include "acl.h"
-@@ -2430,10 +2431,14 @@ out_acl:
-               WRITE32(stat.nlink);
+@@ -2436,12 +2437,16 @@ out_acl:
+               *p++ = cpu_to_be32(stat.nlink);
        }
        if (bmval1 & FATTR4_WORD1_OWNER) {
        }
        if (bmval1 & FATTR4_WORD1_OWNER) {
--              status = nfsd4_encode_user(rqstp, stat.uid, &p, &buflen);
-+              status = nfsd4_encode_user(rqstp,
+-              status = nfsd4_encode_user(xdr, rqstp, stat.uid);
++              status = nfsd4_encode_user(xdr, rqstp,
 +                      TAGINO_KUID(DX_TAG(dentry->d_inode),
 +                      TAGINO_KUID(DX_TAG(dentry->d_inode),
-+                      stat.uid, stat.tag), &p, &buflen);
++                              stat.uid, stat.tag));
                if (status)
                        goto out;
        }
        if (bmval1 & FATTR4_WORD1_OWNER_GROUP) {
                if (status)
                        goto out;
        }
        if (bmval1 & FATTR4_WORD1_OWNER_GROUP) {
--              status = nfsd4_encode_group(rqstp, stat.gid, &p, &buflen);
-+              status = nfsd4_encode_group(rqstp,
+-              status = nfsd4_encode_group(xdr, rqstp, stat.gid);
++              status = nfsd4_encode_group(xdr, rqstp,
 +                      TAGINO_KGID(DX_TAG(dentry->d_inode),
 +                      TAGINO_KGID(DX_TAG(dentry->d_inode),
-+                      stat.gid, stat.tag), &p, &buflen);
++                              stat.gid, stat.tag));
                if (status)
                        goto out;
        }
                if (status)
                        goto out;
        }
-diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfsxdr.c linux-3.13.10-vs2.3.6.11/fs/nfsd/nfsxdr.c
---- linux-3.13.10/fs/nfsd/nfsxdr.c     2013-05-31 13:45:24.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/nfsd/nfsxdr.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/nfsd/nfsxdr.c linux-3.18.5-vs2.3.7.3/fs/nfsd/nfsxdr.c
+--- linux-3.18.5/fs/nfsd/nfsxdr.c      2015-01-16 22:19:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/nfsd/nfsxdr.c    2015-01-19 10:58:03.000000000 +0000
 @@ -7,6 +7,7 @@
  #include "vfs.h"
  #include "xdr.h"
 @@ -7,6 +7,7 @@
  #include "vfs.h"
  #include "xdr.h"
@@ -5526,9 +5519,9 @@ diff -NurpP --minimal linux-3.13.10/fs/nfsd/nfsxdr.c linux-3.13.10-vs2.3.6.11/fs
  
        if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
                *p++ = htonl(NFS_MAXPATHLEN);
  
        if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
                *p++ = htonl(NFS_MAXPATHLEN);
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/dlmglue.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/dlmglue.c
---- linux-3.13.10/fs/ocfs2/dlmglue.c   2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/dlmglue.c        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/dlmglue.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/dlmglue.c
+--- linux-3.18.5/fs/ocfs2/dlmglue.c    2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/dlmglue.c  2015-01-19 10:58:03.000000000 +0000
 @@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struc
        lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
        lvb->lvb_iuid      = cpu_to_be32(i_uid_read(inode));
 @@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struc
        lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters);
        lvb->lvb_iuid      = cpu_to_be32(i_uid_read(inode));
@@ -5545,9 +5538,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/dlmglue.c linux-3.13.10-vs2.3.6.11/
        inode->i_mode    = be16_to_cpu(lvb->lvb_imode);
        set_nlink(inode, be16_to_cpu(lvb->lvb_inlink));
        ocfs2_unpack_timespec(&inode->i_atime,
        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.13.10/fs/ocfs2/dlmglue.h linux-3.13.10-vs2.3.6.11/fs/ocfs2/dlmglue.h
---- linux-3.13.10/fs/ocfs2/dlmglue.h   2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/dlmglue.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/dlmglue.h linux-3.18.5-vs2.3.7.3/fs/ocfs2/dlmglue.h
+--- linux-3.18.5/fs/ocfs2/dlmglue.h    2014-06-12 13:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/dlmglue.h  2015-01-19 10:58:03.000000000 +0000
 @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb {
        __be16       lvb_inlink;
        __be32       lvb_iattr;
 @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb {
        __be16       lvb_inlink;
        __be32       lvb_iattr;
@@ -5558,10 +5551,10 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/dlmglue.h linux-3.13.10-vs2.3.6.11/
  };
  
  #define OCFS2_QINFO_LVB_VERSION 1
  };
  
  #define OCFS2_QINFO_LVB_VERSION 1
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/file.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/file.c
---- linux-3.13.10/fs/ocfs2/file.c      2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/file.c   2014-04-17 01:17:10.000000000 +0000
-@@ -1119,7 +1119,7 @@ int ocfs2_setattr(struct dentry *dentry,
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/file.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/file.c
+--- linux-3.18.5/fs/ocfs2/file.c       2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/file.c     2015-01-19 10:58:03.000000000 +0000
+@@ -1139,7 +1139,7 @@ int ocfs2_setattr(struct dentry *dentry,
                attr->ia_valid &= ~ATTR_SIZE;
  
  #define OCFS2_VALID_ATTRS (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME | ATTR_SIZE \
                attr->ia_valid &= ~ATTR_SIZE;
  
  #define OCFS2_VALID_ATTRS (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME | ATTR_SIZE \
@@ -5570,9 +5563,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/file.c linux-3.13.10-vs2.3.6.11/fs/
        if (!(attr->ia_valid & OCFS2_VALID_ATTRS))
                return 0;
  
        if (!(attr->ia_valid & OCFS2_VALID_ATTRS))
                return 0;
  
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/inode.c
---- linux-3.13.10/fs/ocfs2/inode.c     2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/inode.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/inode.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/inode.c
+--- linux-3.18.5/fs/ocfs2/inode.c      2014-06-12 13:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/inode.c    2015-01-19 10:58:03.000000000 +0000
 @@ -28,6 +28,7 @@
  #include <linux/highmem.h>
  #include <linux/pagemap.h>
 @@ -28,6 +28,7 @@
  #include <linux/highmem.h>
  #include <linux/pagemap.h>
@@ -5645,7 +5638,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.c linux-3.13.10-vs2.3.6.11/fs
  }
  
  struct inode *ocfs2_ilookup(struct super_block *sb, u64 blkno)
  }
  
  struct inode *ocfs2_ilookup(struct super_block *sb, u64 blkno)
-@@ -241,6 +263,8 @@ void ocfs2_populate_inode(struct inode *
+@@ -268,6 +290,8 @@ void ocfs2_populate_inode(struct inode *
        struct super_block *sb;
        struct ocfs2_super *osb;
        int use_plocks = 1;
        struct super_block *sb;
        struct ocfs2_super *osb;
        int use_plocks = 1;
@@ -5654,7 +5647,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.c linux-3.13.10-vs2.3.6.11/fs
  
        sb = inode->i_sb;
        osb = OCFS2_SB(sb);
  
        sb = inode->i_sb;
        osb = OCFS2_SB(sb);
-@@ -269,8 +293,12 @@ void ocfs2_populate_inode(struct inode *
+@@ -296,8 +320,12 @@ void ocfs2_populate_inode(struct inode *
        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);
        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);
@@ -5669,10 +5662,10 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.c linux-3.13.10-vs2.3.6.11/fs
  
        /* Fast symlinks will have i_size but no allocated clusters. */
        if (S_ISLNK(inode->i_mode) && !fe->i_clusters) {
  
        /* Fast symlinks will have i_size but no allocated clusters. */
        if (S_ISLNK(inode->i_mode) && !fe->i_clusters) {
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.h linux-3.13.10-vs2.3.6.11/fs/ocfs2/inode.h
---- linux-3.13.10/fs/ocfs2/inode.h     2013-07-14 17:01:29.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/inode.h  2014-01-31 20:38:03.000000000 +0000
-@@ -152,6 +152,7 @@ struct buffer_head *ocfs2_bread(struct i
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/inode.h linux-3.18.5-vs2.3.7.3/fs/ocfs2/inode.h
+--- linux-3.18.5/fs/ocfs2/inode.h      2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/inode.h    2015-01-19 10:58:03.000000000 +0000
+@@ -157,6 +157,7 @@ struct buffer_head *ocfs2_bread(struct i
  
  void ocfs2_set_inode_flags(struct inode *inode);
  void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi);
  
  void ocfs2_set_inode_flags(struct inode *inode);
  void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi);
@@ -5680,9 +5673,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/inode.h linux-3.13.10-vs2.3.6.11/fs
  
  static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
  {
  
  static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
  {
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/ioctl.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/ioctl.c
---- linux-3.13.10/fs/ocfs2/ioctl.c     2013-11-25 15:47:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/ioctl.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/ioctl.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/ioctl.c
+--- linux-3.18.5/fs/ocfs2/ioctl.c      2015-01-16 22:19:19.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/ioctl.c    2015-01-19 10:58:03.000000000 +0000
 @@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i
        return status;
  }
 @@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i
        return status;
  }
@@ -5738,7 +5731,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/ioctl.c linux-3.13.10-vs2.3.6.11/fs
        handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
        if (IS_ERR(handle)) {
                status = PTR_ERR(handle);
        handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS);
        if (IS_ERR(handle)) {
                status = PTR_ERR(handle);
-@@ -881,6 +920,7 @@ bail:
+@@ -841,6 +880,7 @@ bail:
        return status;
  }
  
        return status;
  }
  
@@ -5746,9 +5739,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/ioctl.c linux-3.13.10-vs2.3.6.11/fs
  long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        struct inode *inode = file_inode(filp);
  long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
  {
        struct inode *inode = file_inode(filp);
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/namei.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/namei.c
---- linux-3.13.10/fs/ocfs2/namei.c     2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/namei.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/namei.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/namei.c
+--- linux-3.18.5/fs/ocfs2/namei.c      2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/namei.c    2015-01-19 12:15:49.000000000 +0000
 @@ -41,6 +41,7 @@
  #include <linux/slab.h>
  #include <linux/highmem.h>
 @@ -41,6 +41,7 @@
  #include <linux/slab.h>
  #include <linux/highmem.h>
@@ -5757,7 +5750,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/namei.c linux-3.13.10-vs2.3.6.11/fs
  
  #include <cluster/masklog.h>
  
  
  #include <cluster/masklog.h>
  
-@@ -475,6 +476,7 @@ static int __ocfs2_mknod_locked(struct i
+@@ -524,6 +525,7 @@ static int __ocfs2_mknod_locked(struct i
        struct ocfs2_extent_list *fel;
        u16 feat;
        struct ocfs2_inode_info *oi = OCFS2_I(inode);
        struct ocfs2_extent_list *fel;
        u16 feat;
        struct ocfs2_inode_info *oi = OCFS2_I(inode);
@@ -5765,7 +5758,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/namei.c linux-3.13.10-vs2.3.6.11/fs
  
        *new_fe_bh = NULL;
  
  
        *new_fe_bh = NULL;
  
-@@ -512,8 +514,13 @@ static int __ocfs2_mknod_locked(struct i
+@@ -561,8 +563,13 @@ static int __ocfs2_mknod_locked(struct i
        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);
        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);
@@ -5781,20 +5774,20 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/namei.c linux-3.13.10-vs2.3.6.11/fs
        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));
        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.13.10/fs/ocfs2/ocfs2.h linux-3.13.10-vs2.3.6.11/fs/ocfs2/ocfs2.h
---- linux-3.13.10/fs/ocfs2/ocfs2.h     2013-11-25 15:45:04.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/ocfs2.h  2014-01-31 20:38:03.000000000 +0000
-@@ -272,6 +272,7 @@ enum ocfs2_mount_options
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/ocfs2.h linux-3.18.5-vs2.3.7.3/fs/ocfs2/ocfs2.h
+--- linux-3.18.5/fs/ocfs2/ocfs2.h      2014-09-03 13:19:40.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/ocfs2.h    2015-01-19 10:58:03.000000000 +0000
+@@ -273,6 +273,7 @@ enum ocfs2_mount_options
                                                     writes */
        OCFS2_MOUNT_HB_NONE = 1 << 13, /* No heartbeat */
        OCFS2_MOUNT_HB_GLOBAL = 1 << 14, /* Global heartbeat */
 +      OCFS2_MOUNT_TAGGED = 1 << 15, /* use tagging */
  };
  
                                                     writes */
        OCFS2_MOUNT_HB_NONE = 1 << 13, /* No heartbeat */
        OCFS2_MOUNT_HB_GLOBAL = 1 << 14, /* Global heartbeat */
 +      OCFS2_MOUNT_TAGGED = 1 << 15, /* use tagging */
  };
  
- #define OCFS2_OSB_SOFT_RO                     0x0001
-diff -NurpP --minimal linux-3.13.10/fs/ocfs2/ocfs2_fs.h linux-3.13.10-vs2.3.6.11/fs/ocfs2/ocfs2_fs.h
---- linux-3.13.10/fs/ocfs2/ocfs2_fs.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/ocfs2_fs.h       2014-01-31 20:38:03.000000000 +0000
+ #define OCFS2_OSB_SOFT_RO     0x0001
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/ocfs2_fs.h linux-3.18.5-vs2.3.7.3/fs/ocfs2/ocfs2_fs.h
+--- linux-3.18.5/fs/ocfs2/ocfs2_fs.h   2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/ocfs2_fs.h 2015-01-19 10:58:03.000000000 +0000
 @@ -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 */
 @@ -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 */
@@ -5807,9 +5800,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/ocfs2_fs.h linux-3.13.10-vs2.3.6.11
  #define OCFS2_FL_VISIBLE              FS_FL_USER_VISIBLE      /* User visible flags */
  #define OCFS2_FL_MODIFIABLE           FS_FL_USER_MODIFIABLE   /* User modifiable flags */
  
  #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.13.10/fs/ocfs2/super.c linux-3.13.10-vs2.3.6.11/fs/ocfs2/super.c
---- linux-3.13.10/fs/ocfs2/super.c     2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/ocfs2/super.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/ocfs2/super.c linux-3.18.5-vs2.3.7.3/fs/ocfs2/super.c
+--- linux-3.18.5/fs/ocfs2/super.c      2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/ocfs2/super.c    2015-01-19 10:58:03.000000000 +0000
 @@ -185,6 +185,7 @@ enum {
        Opt_coherency_full,
        Opt_resv_level,
 @@ -185,6 +185,7 @@ enum {
        Opt_coherency_full,
        Opt_resv_level,
@@ -5828,7 +5821,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/super.c linux-3.13.10-vs2.3.6.11/fs
        {Opt_err, NULL}
  };
  
        {Opt_err, NULL}
  };
  
-@@ -661,6 +665,13 @@ static int ocfs2_remount(struct super_bl
+@@ -666,6 +670,13 @@ static int ocfs2_remount(struct super_bl
                goto out;
        }
  
                goto out;
        }
  
@@ -5842,7 +5835,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/super.c linux-3.13.10-vs2.3.6.11/fs
        /* We're going to/from readonly mode. */
        if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) {
                /* Disable quota accounting before remounting RO */
        /* We're going to/from readonly mode. */
        if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) {
                /* Disable quota accounting before remounting RO */
-@@ -1176,6 +1187,9 @@ static int ocfs2_fill_super(struct super
+@@ -1185,6 +1196,9 @@ static int ocfs2_fill_super(struct super
  
        ocfs2_complete_mount_recovery(osb);
  
  
        ocfs2_complete_mount_recovery(osb);
  
@@ -5852,7 +5845,7 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/super.c linux-3.13.10-vs2.3.6.11/fs
        if (ocfs2_mount_local(osb))
                snprintf(nodestr, sizeof(nodestr), "local");
        else
        if (ocfs2_mount_local(osb))
                snprintf(nodestr, sizeof(nodestr), "local");
        else
-@@ -1503,6 +1517,20 @@ static int ocfs2_parse_options(struct su
+@@ -1493,6 +1507,20 @@ static int ocfs2_parse_options(struct su
                            option < OCFS2_MAX_RESV_LEVEL)
                                mopt->dir_resv_level = option;
                        break;
                            option < OCFS2_MAX_RESV_LEVEL)
                                mopt->dir_resv_level = option;
                        break;
@@ -5873,9 +5866,9 @@ diff -NurpP --minimal linux-3.13.10/fs/ocfs2/super.c linux-3.13.10-vs2.3.6.11/fs
                default:
                        mlog(ML_ERROR,
                             "Unrecognized mount option \"%s\" "
                default:
                        mlog(ML_ERROR,
                             "Unrecognized mount option \"%s\" "
-diff -NurpP --minimal linux-3.13.10/fs/open.c linux-3.13.10-vs2.3.6.11/fs/open.c
---- linux-3.13.10/fs/open.c    2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/open.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/open.c linux-3.18.5-vs2.3.7.3/fs/open.c
+--- linux-3.18.5/fs/open.c     2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/open.c   2015-01-19 10:58:03.000000000 +0000
 @@ -31,6 +31,11 @@
  #include <linux/ima.h>
  #include <linux/dnotify.h>
 @@ -31,6 +31,11 @@
  #include <linux/ima.h>
  #include <linux/dnotify.h>
@@ -5900,7 +5893,7 @@ diff -NurpP --minimal linux-3.13.10/fs/open.c linux-3.13.10-vs2.3.6.11/fs/open.c
        inode = path->dentry->d_inode;
  
        /* For directories it's -EISDIR, for other non-regulars - -EINVAL */
        inode = path->dentry->d_inode;
  
        /* For directories it's -EISDIR, for other non-regulars - -EINVAL */
-@@ -511,6 +521,13 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons
+@@ -530,6 +540,13 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons
        unsigned int lookup_flags = LOOKUP_FOLLOW;
  retry:
        error = user_path_at(dfd, filename, lookup_flags, &path);
        unsigned int lookup_flags = LOOKUP_FOLLOW;
  retry:
        error = user_path_at(dfd, filename, lookup_flags, &path);
@@ -5914,7 +5907,7 @@ diff -NurpP --minimal linux-3.13.10/fs/open.c linux-3.13.10-vs2.3.6.11/fs/open.c
        if (!error) {
                error = chmod_common(&path, mode);
                path_put(&path);
        if (!error) {
                error = chmod_common(&path, mode);
                path_put(&path);
-@@ -544,13 +561,15 @@ static int chown_common(struct path *pat
+@@ -563,13 +580,15 @@ static int chown_common(struct path *pat
                if (!uid_valid(uid))
                        return -EINVAL;
                newattrs.ia_valid |= ATTR_UID;
                if (!uid_valid(uid))
                        return -EINVAL;
                newattrs.ia_valid |= ATTR_UID;
@@ -5932,7 +5925,7 @@ diff -NurpP --minimal linux-3.13.10/fs/open.c linux-3.13.10-vs2.3.6.11/fs/open.c
        }
        if (!S_ISDIR(inode->i_mode))
                newattrs.ia_valid |=
        }
        if (!S_ISDIR(inode->i_mode))
                newattrs.ia_valid |=
-@@ -589,6 +608,18 @@ retry:
+@@ -608,6 +627,18 @@ retry:
        error = mnt_want_write(path.mnt);
        if (error)
                goto out_release;
        error = mnt_want_write(path.mnt);
        if (error)
                goto out_release;
@@ -5951,9 +5944,9 @@ diff -NurpP --minimal linux-3.13.10/fs/open.c linux-3.13.10-vs2.3.6.11/fs/open.c
        error = chown_common(&path, user, group);
        mnt_drop_write(path.mnt);
  out_release:
        error = chown_common(&path, user, group);
        mnt_drop_write(path.mnt);
  out_release:
-diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/proc/array.c
---- linux-3.13.10/fs/proc/array.c      2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/array.c   2014-02-01 01:44:54.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/array.c linux-3.18.5-vs2.3.7.3/fs/proc/array.c
+--- linux-3.18.5/fs/proc/array.c       2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/array.c     2015-01-21 06:37:56.000000000 +0000
 @@ -82,6 +82,8 @@
  #include <linux/ptrace.h>
  #include <linux/tracehook.h>
 @@ -82,6 +82,8 @@
  #include <linux/ptrace.h>
  #include <linux/tracehook.h>
@@ -5963,7 +5956,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
-@@ -173,6 +175,9 @@ static inline void task_state(struct seq
+@@ -164,6 +166,9 @@ static inline void task_state(struct seq
        rcu_read_lock();
        ppid = pid_alive(p) ?
                task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0;
        rcu_read_lock();
        ppid = pid_alive(p) ?
                task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0;
@@ -5973,18 +5966,20 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
        tpid = 0;
        if (pid_alive(p)) {
                struct task_struct *tracer = ptrace_parent(p);
        tpid = 0;
        if (pid_alive(p)) {
                struct task_struct *tracer = ptrace_parent(p);
-@@ -299,7 +304,7 @@ static inline void task_sig(struct seq_f
+@@ -289,8 +294,8 @@ static inline void task_sig(struct seq_f
+       render_sigset_t(m, "SigCgt:\t", &caught);
  }
  
  }
  
- static void render_cap_t(struct seq_file *m, const char *header,
+-static void render_cap_t(struct seq_file *m, const char *header,
 -                      kernel_cap_t *a)
 -                      kernel_cap_t *a)
++void render_cap_t(struct seq_file *m, const char *header,
 +                      struct vx_info *vxi, kernel_cap_t *a)
  {
        unsigned __capi;
  
 +                      struct vx_info *vxi, kernel_cap_t *a)
  {
        unsigned __capi;
  
-@@ -333,10 +338,11 @@ static inline void task_cap(struct seq_f
-       NORM_CAPS(cap_effective);
-       NORM_CAPS(cap_bset);
+@@ -315,10 +320,11 @@ static inline void task_cap(struct seq_f
+       cap_bset        = cred->cap_bset;
+       rcu_read_unlock();
  
 -      render_cap_t(m, "CapInh:\t", &cap_inheritable);
 -      render_cap_t(m, "CapPrm:\t", &cap_permitted);
  
 -      render_cap_t(m, "CapInh:\t", &cap_inheritable);
 -      render_cap_t(m, "CapPrm:\t", &cap_permitted);
@@ -5998,7 +5993,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
  }
  
  static inline void task_seccomp(struct seq_file *m, struct task_struct *p)
  }
  
  static inline void task_seccomp(struct seq_file *m, struct task_struct *p)
-@@ -365,6 +371,43 @@ static void task_cpus_allowed(struct seq
+@@ -347,6 +353,43 @@ static void task_cpus_allowed(struct seq
        seq_putc(m, '\n');
  }
  
        seq_putc(m, '\n');
  }
  
@@ -6034,15 +6029,15 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
 +      if (task_vx_flags(task, VXF_HIDE_VINFO, 0))
 +              return;
 +
 +      if (task_vx_flags(task, VXF_HIDE_VINFO, 0))
 +              return;
 +
-+      seq_printf(m, "VxID: %d\n", vx_task_xid(task));
-+      seq_printf(m, "NxID: %d\n", nx_task_nid(task));
++      seq_printf(m, "VxID:\t%d\n", vx_task_xid(task));
++      seq_printf(m, "NxID:\t%d\n", nx_task_nid(task));
 +}
 +
 +
  int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
                        struct pid *pid, struct task_struct *task)
  {
 +}
 +
 +
  int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
                        struct pid *pid, struct task_struct *task)
  {
-@@ -382,6 +425,7 @@ int proc_pid_status(struct seq_file *m,
+@@ -364,6 +407,7 @@ int proc_pid_status(struct seq_file *m,
        task_seccomp(m, task);
        task_cpus_allowed(m, task);
        cpuset_task_status_allowed(m, task);
        task_seccomp(m, task);
        task_cpus_allowed(m, task);
        cpuset_task_status_allowed(m, task);
@@ -6050,9 +6045,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
        task_context_switch_counts(m, task);
        return 0;
  }
        task_context_switch_counts(m, task);
        return 0;
  }
-@@ -491,6 +535,17 @@ static int do_task_stat(struct seq_file
+@@ -467,6 +511,17 @@ static int do_task_stat(struct seq_file
        /* convert nsec -> ticks */
        /* convert nsec -> ticks */
-       start_time = nsec_to_clock_t(start_time);
+       start_time = nsec_to_clock_t(task->real_start_time);
  
 +      /* fixup start time for virt uptime */
 +      if (vx_flags(VXF_VIRT_UPTIME, 0)) {
  
 +      /* fixup start time for virt uptime */
 +      if (vx_flags(VXF_VIRT_UPTIME, 0)) {
@@ -6068,9 +6063,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/array.c linux-3.13.10-vs2.3.6.11/fs/
        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);
        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.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/proc/base.c
---- linux-3.13.10/fs/proc/base.c       2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/base.c    2014-04-17 01:17:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/base.c linux-3.18.5-vs2.3.7.3/fs/proc/base.c
+--- linux-3.18.5/fs/proc/base.c        2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/base.c      2015-01-22 09:04:57.000000000 +0000
 @@ -87,6 +87,8 @@
  #include <linux/slab.h>
  #include <linux/flex_array.h>
 @@ -87,6 +87,8 @@
  #include <linux/slab.h>
  #include <linux/flex_array.h>
@@ -6080,7 +6075,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
  #ifdef CONFIG_HARDWALL
  #include <asm/hardwall.h>
  #endif
  #ifdef CONFIG_HARDWALL
  #include <asm/hardwall.h>
  #endif
-@@ -976,11 +978,15 @@ static ssize_t oom_adj_write(struct file
+@@ -884,11 +886,15 @@ static ssize_t oom_adj_write(struct file
                oom_adj = (oom_adj * OOM_SCORE_ADJ_MAX) / -OOM_DISABLE;
  
        if (oom_adj < task->signal->oom_score_adj &&
                oom_adj = (oom_adj * OOM_SCORE_ADJ_MAX) / -OOM_DISABLE;
  
        if (oom_adj < task->signal->oom_score_adj &&
@@ -6097,7 +6092,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
        /*
         * /proc/pid/oom_adj is provided for legacy purposes, ask users to use
         * /proc/pid/oom_score_adj instead.
        /*
         * /proc/pid/oom_adj is provided for legacy purposes, ask users to use
         * /proc/pid/oom_score_adj instead.
-@@ -1565,6 +1571,8 @@ struct inode *proc_pid_make_inode(struct
+@@ -1476,6 +1482,8 @@ struct inode *proc_pid_make_inode(struct
                inode->i_gid = cred->egid;
                rcu_read_unlock();
        }
                inode->i_gid = cred->egid;
                rcu_read_unlock();
        }
@@ -6106,37 +6101,36 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
        security_task_to_inode(task, inode);
  
  out:
        security_task_to_inode(task, inode);
  
  out:
-@@ -1610,6 +1618,8 @@ int pid_getattr(struct vfsmount *mnt, st
+@@ -1521,6 +1529,8 @@ int pid_getattr(struct vfsmount *mnt, st
  
  /* dentry stuff */
  
  
  /* dentry stuff */
  
-+static unsigned name_to_int(struct dentry *dentry);
++// static unsigned name_to_int(struct dentry *dentry);
 +
  /*
   *    Exceptional case: normally we are not allowed to unhash a busy
   * directory. In this case, however, we can do it - no aliasing problems
 +
  /*
   *    Exceptional case: normally we are not allowed to unhash a busy
   * directory. In this case, however, we can do it - no aliasing problems
-@@ -1638,6 +1648,12 @@ int pid_revalidate(struct dentry *dentry
+@@ -1549,6 +1559,19 @@ int pid_revalidate(struct dentry *dentry
        task = get_proc_task(inode);
  
        if (task) {
        task = get_proc_task(inode);
  
        if (task) {
-+              unsigned pid = name_to_int(dentry);
-+
-+              if (pid != ~0U && pid != vx_map_pid(task->pid)) {
++              unsigned pid = name_to_int(&dentry->d_name);
++
++              if (pid != ~0U && pid != vx_map_pid(task->pid) &&
++                      pid != __task_pid_nr_ns(task, PIDTYPE_PID,
++                              task_active_pid_ns(task))) {
++                      vxdprintk(VXD_CBIT(misc, 10),
++                              VS_Q("%*s") " dropped by pid_revalidate(%d!=%d)",
++                              dentry->d_name.len, dentry->d_name.name,
++                              pid, vx_map_pid(task->pid));
 +                      put_task_struct(task);
 +                      put_task_struct(task);
-+                      goto drop;
++                      d_drop(dentry);
++                      return 0;
 +              }
                if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
                    task_dumpable(task)) {
                        rcu_read_lock();
 +              }
                if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
                    task_dumpable(task)) {
                        rcu_read_lock();
-@@ -1654,6 +1670,7 @@ int pid_revalidate(struct dentry *dentry
-               put_task_struct(task);
-               return 1;
-       }
-+drop:
-       d_drop(dentry);
-       return 0;
- }
-@@ -2173,6 +2190,13 @@ static struct dentry *proc_pident_lookup
+@@ -2085,6 +2108,13 @@ static struct dentry *proc_pident_lookup
        if (!task)
                goto out_no_task;
  
        if (!task)
                goto out_no_task;
  
@@ -6150,26 +6144,28 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
        /*
         * Yes, it does not scale. And it should not. Don't add
         * new entries into /proc/<tgid>/ without very good reasons.
        /*
         * Yes, it does not scale. And it should not. Don't add
         * new entries into /proc/<tgid>/ without very good reasons.
-@@ -2569,6 +2593,9 @@ static int proc_pid_personality(struct s
+@@ -2534,6 +2564,11 @@ static int proc_pid_personality(struct s
  static const struct file_operations proc_task_operations;
  static const struct inode_operations proc_task_inode_operations;
  
  static const struct file_operations proc_task_operations;
  static const struct inode_operations proc_task_inode_operations;
  
-+extern int proc_pid_vx_info(struct task_struct *, char *);
-+extern int proc_pid_nx_info(struct task_struct *, char *);
++extern int proc_pid_vx_info(struct seq_file *,
++      struct pid_namespace *, struct pid *, struct task_struct *);
++extern int proc_pid_nx_info(struct seq_file *,
++      struct pid_namespace *, struct pid *, struct task_struct *);
 +
  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),
 +
  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),
-@@ -2635,6 +2662,8 @@ static const struct pid_entry tgid_base_
+@@ -2600,6 +2635,8 @@ static const struct pid_entry tgid_base_
  #ifdef CONFIG_CGROUPS
  #ifdef CONFIG_CGROUPS
-       REG("cgroup",  S_IRUGO, proc_cgroup_operations),
+       ONE("cgroup",  S_IRUGO, proc_cgroup_show),
  #endif
  #endif
-+      INF("vinfo",      S_IRUGO, proc_pid_vx_info),
-+      INF("ninfo",      S_IRUGO, proc_pid_nx_info),
-       INF("oom_score",  S_IRUGO, proc_oom_score),
++      ONE("vinfo",      S_IRUGO, proc_pid_vx_info),
++      ONE("ninfo",      S_IRUGO, proc_pid_nx_info),
+       ONE("oom_score",  S_IRUGO, proc_oom_score),
        REG("oom_adj",    S_IRUGO|S_IWUSR, proc_oom_adj_operations),
        REG("oom_score_adj", S_IRUGO|S_IWUSR, proc_oom_score_adj_operations),
        REG("oom_adj",    S_IRUGO|S_IWUSR, proc_oom_adj_operations),
        REG("oom_score_adj", S_IRUGO|S_IWUSR, proc_oom_score_adj_operations),
-@@ -2847,7 +2876,7 @@ retry:
+@@ -2811,7 +2848,7 @@ retry:
        iter.task = NULL;
        pid = find_ge_pid(iter.tgid, ns);
        if (pid) {
        iter.task = NULL;
        pid = find_ge_pid(iter.tgid, ns);
        if (pid) {
@@ -6178,7 +6174,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
                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
                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
-@@ -2900,8 +2929,10 @@ int proc_pid_readdir(struct file *file,
+@@ -2869,8 +2906,10 @@ int proc_pid_readdir(struct file *file,
                if (!has_pid_permissions(ns, iter.task, 2))
                        continue;
  
                if (!has_pid_permissions(ns, iter.task, 2))
                        continue;
  
@@ -6190,16 +6186,16 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
                if (!proc_fill_cache(file, ctx, name, len,
                                     proc_pid_instantiate, iter.task, NULL)) {
                        put_task_struct(iter.task);
                if (!proc_fill_cache(file, ctx, name, len,
                                     proc_pid_instantiate, iter.task, NULL)) {
                        put_task_struct(iter.task);
-@@ -2994,6 +3025,7 @@ static const struct pid_entry tid_base_s
-       REG("gid_map",    S_IRUGO|S_IWUSR, proc_gid_map_operations),
+@@ -2967,6 +3006,7 @@ static const struct pid_entry tid_base_s
        REG("projid_map", S_IRUGO|S_IWUSR, proc_projid_map_operations),
        REG("projid_map", S_IRUGO|S_IWUSR, proc_projid_map_operations),
+       REG("setgroups",  S_IRUGO|S_IWUSR, proc_setgroups_operations),
  #endif
 +      ONE("nsproxy",  S_IRUGO, proc_pid_nsproxy),
  };
  
  static int proc_tid_base_readdir(struct file *file, struct dir_context *ctx)
  #endif
 +      ONE("nsproxy",  S_IRUGO, proc_pid_nsproxy),
  };
  
  static int proc_tid_base_readdir(struct file *file, struct dir_context *ctx)
-@@ -3060,6 +3092,8 @@ static struct dentry *proc_task_lookup(s
-       tid = name_to_int(dentry);
+@@ -3033,6 +3073,8 @@ static struct dentry *proc_task_lookup(s
+       tid = name_to_int(&dentry->d_name);
        if (tid == ~0U)
                goto out;
 +      if (vx_current_initpid(tid))
        if (tid == ~0U)
                goto out;
 +      if (vx_current_initpid(tid))
@@ -6207,9 +6203,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/base.c linux-3.13.10-vs2.3.6.11/fs/p
  
        ns = dentry->d_sb->s_fs_info;
        rcu_read_lock();
  
        ns = dentry->d_sb->s_fs_info;
        rcu_read_lock();
-diff -NurpP --minimal linux-3.13.10/fs/proc/generic.c linux-3.13.10-vs2.3.6.11/fs/proc/generic.c
---- linux-3.13.10/fs/proc/generic.c    2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/generic.c 2014-02-01 00:07:40.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/generic.c linux-3.18.5-vs2.3.7.3/fs/proc/generic.c
+--- linux-3.18.5/fs/proc/generic.c     2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/generic.c   2015-01-22 08:31:12.000000000 +0000
 @@ -23,6 +23,7 @@
  #include <linux/bitops.h>
  #include <linux/spinlock.h>
 @@ -23,6 +23,7 @@
  #include <linux/bitops.h>
  #include <linux/spinlock.h>
@@ -6218,16 +6214,20 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/generic.c linux-3.13.10-vs2.3.6.11/f
  #include <asm/uaccess.h>
  
  #include "internal.h"
  #include <asm/uaccess.h>
  
  #include "internal.h"
-@@ -187,6 +188,8 @@ struct dentry *proc_lookup_de(struct pro
+@@ -186,6 +187,12 @@ struct dentry *proc_lookup_de(struct pro
        for (de = de->subdir; de ; de = de->next) {
                if (de->namelen != dentry->d_name.len)
                        continue;
        for (de = de->subdir; de ; de = de->next) {
                if (de->namelen != dentry->d_name.len)
                        continue;
-+              if (!vx_hide_check(0, de->vx_flags))
++              if (!vx_hide_check(0, de->vx_flags)) {
++                      vxdprintk(VXD_CBIT(misc, 9),
++                              VS_Q("%*s") " hidden in proc_lookup_de()",
++                              de->namelen, de->name);
 +                      continue;
 +                      continue;
++              }
                if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
                        pde_get(de);
                        spin_unlock(&proc_subdir_lock);
                if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
                        pde_get(de);
                        spin_unlock(&proc_subdir_lock);
-@@ -195,6 +198,8 @@ struct dentry *proc_lookup_de(struct pro
+@@ -194,6 +201,8 @@ struct dentry *proc_lookup_de(struct pro
                                return ERR_PTR(-ENOMEM);
                        d_set_d_op(dentry, &simple_dentry_operations);
                        d_add(dentry, inode);
                                return ERR_PTR(-ENOMEM);
                        d_set_d_op(dentry, &simple_dentry_operations);
                        d_add(dentry, inode);
@@ -6236,17 +6236,21 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/generic.c linux-3.13.10-vs2.3.6.11/f
                        return NULL;
                }
        }
                        return NULL;
                }
        }
-@@ -242,6 +247,9 @@ int proc_readdir_de(struct proc_dir_entr
+@@ -241,6 +250,13 @@ int proc_readdir_de(struct proc_dir_entr
        do {
                struct proc_dir_entry *next;
                pde_get(de);
 +
        do {
                struct proc_dir_entry *next;
                pde_get(de);
 +
-+              if (!vx_hide_check(0, de->vx_flags))
++              if (!vx_hide_check(0, de->vx_flags)) {
++                      vxdprintk(VXD_CBIT(misc, 9),
++                              VS_Q("%*s") " hidden in proc_readdir_de()",
++                              de->namelen, de->name);
 +                      goto skip;
 +                      goto skip;
++              }
                spin_unlock(&proc_subdir_lock);
                if (!dir_emit(ctx, de->name, de->namelen,
                            de->low_ino, de->mode >> 12)) {
                spin_unlock(&proc_subdir_lock);
                if (!dir_emit(ctx, de->name, de->namelen,
                            de->low_ino, de->mode >> 12)) {
-@@ -249,6 +257,7 @@ int proc_readdir_de(struct proc_dir_entr
+@@ -248,6 +264,7 @@ int proc_readdir_de(struct proc_dir_entr
                        return 0;
                }
                spin_lock(&proc_subdir_lock);
                        return 0;
                }
                spin_lock(&proc_subdir_lock);
@@ -6254,15 +6258,15 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/generic.c linux-3.13.10-vs2.3.6.11/f
                ctx->pos++;
                next = de->next;
                pde_put(de);
                ctx->pos++;
                next = de->next;
                pde_put(de);
-@@ -355,6 +364,7 @@ static struct proc_dir_entry *__proc_cre
-       ent->namelen = len;
+@@ -354,6 +371,7 @@ static struct proc_dir_entry *__proc_cre
+       ent->namelen = qstr.len;
        ent->mode = mode;
        ent->nlink = nlink;
 +      ent->vx_flags = IATTR_PROC_DEFAULT;
        atomic_set(&ent->count, 1);
        spin_lock_init(&ent->pde_unload_lock);
        INIT_LIST_HEAD(&ent->pde_openers);
        ent->mode = mode;
        ent->nlink = nlink;
 +      ent->vx_flags = IATTR_PROC_DEFAULT;
        atomic_set(&ent->count, 1);
        spin_lock_init(&ent->pde_unload_lock);
        INIT_LIST_HEAD(&ent->pde_openers);
-@@ -378,7 +388,8 @@ struct proc_dir_entry *proc_symlink(cons
+@@ -377,7 +395,8 @@ struct proc_dir_entry *proc_symlink(cons
                                kfree(ent->data);
                                kfree(ent);
                                ent = NULL;
                                kfree(ent->data);
                                kfree(ent);
                                ent = NULL;
@@ -6272,9 +6276,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/generic.c linux-3.13.10-vs2.3.6.11/f
                } else {
                        kfree(ent);
                        ent = NULL;
                } else {
                        kfree(ent);
                        ent = NULL;
-diff -NurpP --minimal linux-3.13.10/fs/proc/inode.c linux-3.13.10-vs2.3.6.11/fs/proc/inode.c
---- linux-3.13.10/fs/proc/inode.c      2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/inode.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/inode.c linux-3.18.5-vs2.3.7.3/fs/proc/inode.c
+--- linux-3.18.5/fs/proc/inode.c       2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/inode.c     2015-01-19 10:58:03.000000000 +0000
 @@ -415,6 +415,8 @@ struct inode *proc_get_inode(struct supe
                        inode->i_uid = de->uid;
                        inode->i_gid = de->gid;
 @@ -415,6 +415,8 @@ struct inode *proc_get_inode(struct supe
                        inode->i_uid = de->uid;
                        inode->i_gid = de->gid;
@@ -6284,9 +6288,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/inode.c linux-3.13.10-vs2.3.6.11/fs/
                if (de->size)
                        inode->i_size = de->size;
                if (de->nlink)
                if (de->size)
                        inode->i_size = de->size;
                if (de->nlink)
-diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/fs/proc/internal.h
---- linux-3.13.10/fs/proc/internal.h   2013-11-25 15:45:04.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/internal.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/internal.h linux-3.18.5-vs2.3.7.3/fs/proc/internal.h
+--- linux-3.18.5/fs/proc/internal.h    2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/internal.h  2015-01-19 12:40:33.000000000 +0000
 @@ -14,6 +14,7 @@
  #include <linux/spinlock.h>
  #include <linux/atomic.h>
 @@ -14,6 +14,7 @@
  #include <linux/spinlock.h>
  #include <linux/atomic.h>
@@ -6303,7 +6307,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/
        loff_t size;
        const struct inode_operations *proc_iops;
        const struct file_operations *proc_fops;
        loff_t size;
        const struct inode_operations *proc_iops;
        const struct file_operations *proc_fops;
-@@ -50,16 +52,23 @@ struct proc_dir_entry {
+@@ -50,15 +52,22 @@ struct proc_dir_entry {
        char name[];
  };
  
        char name[];
  };
  
@@ -6312,7 +6316,6 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/
 +
  union proc_op {
        int (*proc_get_link)(struct dentry *, struct path *);
 +
  union proc_op {
        int (*proc_get_link)(struct dentry *, struct path *);
-       int (*proc_read)(struct task_struct *task, char *page);
        int (*proc_show)(struct seq_file *m,
                struct pid_namespace *ns, struct pid *pid,
                struct task_struct *task);
        int (*proc_show)(struct seq_file *m,
                struct pid_namespace *ns, struct pid *pid,
                struct task_struct *task);
@@ -6327,7 +6330,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/
        int fd;
        union proc_op op;
        struct proc_dir_entry *pde;
        int fd;
        union proc_op op;
        struct proc_dir_entry *pde;
-@@ -92,11 +101,16 @@ static inline struct pid *proc_pid(struc
+@@ -91,11 +100,16 @@ static inline struct pid *proc_pid(struc
        return PROC_I(inode)->pid;
  }
  
        return PROC_I(inode)->pid;
  }
  
@@ -6345,7 +6348,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/
  static inline int task_dumpable(struct task_struct *task)
  {
        int dumpable = 0;
  static inline int task_dumpable(struct task_struct *task)
  {
        int dumpable = 0;
-@@ -155,6 +169,8 @@ extern int proc_pid_status(struct seq_fi
+@@ -154,6 +168,8 @@ extern int proc_pid_status(struct seq_fi
                           struct pid *, struct task_struct *);
  extern int proc_pid_statm(struct seq_file *, struct pid_namespace *,
                          struct pid *, struct task_struct *);
                           struct pid *, struct task_struct *);
  extern int proc_pid_statm(struct seq_file *, struct pid_namespace *,
                          struct pid *, struct task_struct *);
@@ -6354,9 +6357,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/internal.h linux-3.13.10-vs2.3.6.11/
  
  /*
   * base.c
  
  /*
   * base.c
-diff -NurpP --minimal linux-3.13.10/fs/proc/loadavg.c linux-3.13.10-vs2.3.6.11/fs/proc/loadavg.c
---- linux-3.13.10/fs/proc/loadavg.c    2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/loadavg.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/loadavg.c linux-3.18.5-vs2.3.7.3/fs/proc/loadavg.c
+--- linux-3.18.5/fs/proc/loadavg.c     2014-06-12 11:34:59.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/loadavg.c   2015-01-19 10:58:03.000000000 +0000
 @@ -12,15 +12,27 @@
  
  static int loadavg_proc_show(struct seq_file *m, void *v)
 @@ -12,15 +12,27 @@
  
  static int loadavg_proc_show(struct seq_file *m, void *v)
@@ -6386,10 +6389,10 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/loadavg.c linux-3.13.10-vs2.3.6.11/f
                task_active_pid_ns(current)->last_pid);
        return 0;
  }
                task_active_pid_ns(current)->last_pid);
        return 0;
  }
-diff -NurpP --minimal linux-3.13.10/fs/proc/meminfo.c linux-3.13.10-vs2.3.6.11/fs/proc/meminfo.c
---- linux-3.13.10/fs/proc/meminfo.c    2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/meminfo.c 2014-01-31 20:38:03.000000000 +0000
-@@ -37,7 +37,8 @@ static int meminfo_proc_show(struct seq_
+diff -NurpP --minimal linux-3.18.5/fs/proc/meminfo.c linux-3.18.5-vs2.3.7.3/fs/proc/meminfo.c
+--- linux-3.18.5/fs/proc/meminfo.c     2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/meminfo.c   2015-01-19 10:58:03.000000000 +0000
+@@ -41,7 +41,8 @@ static int meminfo_proc_show(struct seq_
        si_swapinfo(&i);
        committed = percpu_counter_read_positive(&vm_committed_as);
  
        si_swapinfo(&i);
        committed = percpu_counter_read_positive(&vm_committed_as);
  
@@ -6399,9 +6402,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/meminfo.c linux-3.13.10-vs2.3.6.11/f
                        total_swapcache_pages() - i.bufferram;
        if (cached < 0)
                cached = 0;
                        total_swapcache_pages() - i.bufferram;
        if (cached < 0)
                cached = 0;
-diff -NurpP --minimal linux-3.13.10/fs/proc/root.c linux-3.13.10-vs2.3.6.11/fs/proc/root.c
---- linux-3.13.10/fs/proc/root.c       2013-11-25 15:47:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/root.c    2014-02-01 00:02:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/root.c linux-3.18.5-vs2.3.7.3/fs/proc/root.c
+--- linux-3.18.5/fs/proc/root.c        2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/root.c      2015-01-19 10:58:04.000000000 +0000
 @@ -20,9 +20,14 @@
  #include <linux/mount.h>
  #include <linux/pid_namespace.h>
 @@ -20,9 +20,14 @@
  #include <linux/mount.h>
  #include <linux/pid_namespace.h>
@@ -6417,7 +6420,7 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/root.c linux-3.13.10-vs2.3.6.11/fs/p
  static int proc_test_super(struct super_block *sb, void *data)
  {
        return sb->s_fs_info == data;
  static int proc_test_super(struct super_block *sb, void *data)
  {
        return sb->s_fs_info == data;
-@@ -114,7 +119,8 @@ static struct dentry *proc_mount(struct
+@@ -116,7 +121,8 @@ static struct dentry *proc_mount(struct
                        return ERR_PTR(-EPERM);
  
                /* Does the mounter have privilege over the pid namespace? */
                        return ERR_PTR(-EPERM);
  
                /* Does the mounter have privilege over the pid namespace? */
@@ -6427,15 +6430,15 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/root.c linux-3.13.10-vs2.3.6.11/fs/p
                        return ERR_PTR(-EPERM);
        }
  
                        return ERR_PTR(-EPERM);
        }
  
-@@ -188,6 +194,7 @@ void __init proc_root_init(void)
- #endif
+@@ -190,6 +196,7 @@ void __init proc_root_init(void)
+       proc_tty_init();
        proc_mkdir("bus", NULL);
        proc_sys_init();
 +      proc_vx_init();
  }
  
  static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat
        proc_mkdir("bus", NULL);
        proc_sys_init();
 +      proc_vx_init();
  }
  
  static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat
-@@ -249,6 +256,7 @@ struct proc_dir_entry proc_root = {
+@@ -251,6 +258,7 @@ struct proc_dir_entry proc_root = {
        .proc_iops      = &proc_root_inode_operations, 
        .proc_fops      = &proc_root_operations,
        .parent         = &proc_root,
        .proc_iops      = &proc_root_inode_operations, 
        .proc_fops      = &proc_root_operations,
        .parent         = &proc_root,
@@ -6443,9 +6446,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/root.c linux-3.13.10-vs2.3.6.11/fs/p
        .name           = "/proc",
  };
  
        .name           = "/proc",
  };
  
-diff -NurpP --minimal linux-3.13.10/fs/proc/self.c linux-3.13.10-vs2.3.6.11/fs/proc/self.c
---- linux-3.13.10/fs/proc/self.c       2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/self.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/self.c linux-3.18.5-vs2.3.7.3/fs/proc/self.c
+--- linux-3.18.5/fs/proc/self.c        2014-06-12 13:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/self.c      2015-01-19 10:58:04.000000000 +0000
 @@ -2,6 +2,7 @@
  #include <linux/namei.h>
  #include <linux/slab.h>
 @@ -2,6 +2,7 @@
  #include <linux/namei.h>
  #include <linux/slab.h>
@@ -6463,9 +6466,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/self.c linux-3.13.10-vs2.3.6.11/fs/p
                if (inode) {
                        inode->i_ino = self_inum;
                        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
                if (inode) {
                        inode->i_ino = self_inum;
                        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
-diff -NurpP --minimal linux-3.13.10/fs/proc/stat.c linux-3.13.10-vs2.3.6.11/fs/proc/stat.c
---- linux-3.13.10/fs/proc/stat.c       2013-07-14 17:01:29.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/stat.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/stat.c linux-3.18.5-vs2.3.7.3/fs/proc/stat.c
+--- linux-3.18.5/fs/proc/stat.c        2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/stat.c      2015-01-28 11:48:02.000000000 +0000
 @@ -9,8 +9,10 @@
  #include <linux/slab.h>
  #include <linux/time.h>
 @@ -9,8 +9,10 @@
  #include <linux/slab.h>
  #include <linux/time.h>
@@ -6514,9 +6517,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/stat.c linux-3.13.10-vs2.3.6.11/fs/p
                /* Copy values here to work around gcc-2.95.3, gcc-2.96 */
                user = kcpustat_cpu(i).cpustat[CPUTIME_USER];
                nice = kcpustat_cpu(i).cpustat[CPUTIME_NICE];
                /* Copy values here to work around gcc-2.95.3, gcc-2.96 */
                user = kcpustat_cpu(i).cpustat[CPUTIME_USER];
                nice = kcpustat_cpu(i).cpustat[CPUTIME_NICE];
-diff -NurpP --minimal linux-3.13.10/fs/proc/uptime.c linux-3.13.10-vs2.3.6.11/fs/proc/uptime.c
---- linux-3.13.10/fs/proc/uptime.c     2013-11-25 15:45:04.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc/uptime.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc/uptime.c linux-3.18.5-vs2.3.7.3/fs/proc/uptime.c
+--- linux-3.18.5/fs/proc/uptime.c      2014-06-12 13:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc/uptime.c    2015-01-19 12:41:00.000000000 +0000
 @@ -5,6 +5,7 @@
  #include <linux/seq_file.h>
  #include <linux/time.h>
 @@ -5,6 +5,7 @@
  #include <linux/seq_file.h>
  #include <linux/time.h>
@@ -6536,9 +6539,9 @@ diff -NurpP --minimal linux-3.13.10/fs/proc/uptime.c linux-3.13.10-vs2.3.6.11/fs
        seq_printf(m, "%lu.%02lu %lu.%02lu\n",
                        (unsigned long) uptime.tv_sec,
                        (uptime.tv_nsec / (NSEC_PER_SEC / 100)),
        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.13.10/fs/proc_namespace.c linux-3.13.10-vs2.3.6.11/fs/proc_namespace.c
---- linux-3.13.10/fs/proc_namespace.c  2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/proc_namespace.c       2014-02-25 12:43:16.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/proc_namespace.c linux-3.18.5-vs2.3.7.3/fs/proc_namespace.c
+--- linux-3.18.5/fs/proc_namespace.c   2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/proc_namespace.c 2015-01-19 10:58:04.000000000 +0000
 @@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file
                { MS_SYNCHRONOUS, ",sync" },
                { MS_DIRSYNC, ",dirsync" },
 @@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file
                { MS_SYNCHRONOUS, ",sync" },
                { MS_DIRSYNC, ",dirsync" },
@@ -6652,50 +6655,53 @@ diff -NurpP --minimal linux-3.13.10/fs/proc_namespace.c linux-3.13.10-vs2.3.6.11
        /* file system type */
        seq_puts(m, "with fstype ");
        show_type(m, sb);
        /* file system type */
        seq_puts(m, "with fstype ");
        show_type(m, sb);
-diff -NurpP --minimal linux-3.13.10/fs/quota/dquot.c linux-3.13.10-vs2.3.6.11/fs/quota/dquot.c
---- linux-3.13.10/fs/quota/dquot.c     2014-04-17 01:12:34.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/quota/dquot.c  2014-03-12 15:51:07.000000000 +0000
-@@ -1602,6 +1602,9 @@ int __dquot_alloc_space(struct inode *in
+diff -NurpP --minimal linux-3.18.5/fs/quota/dquot.c linux-3.18.5-vs2.3.7.3/fs/quota/dquot.c
+--- linux-3.18.5/fs/quota/dquot.c      2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/quota/dquot.c    2015-01-19 23:44:31.000000000 +0000
+@@ -1598,6 +1598,12 @@ int __dquot_alloc_space(struct inode *in
        struct dquot **dquots = inode->i_dquot;
        int reserve = flags & DQUOT_SPACE_RESERVE;
  
        struct dquot **dquots = inode->i_dquot;
        int reserve = flags & DQUOT_SPACE_RESERVE;
  
++      if ((ret = dl_alloc_inode(inode)))
++              return ret;
++
 +      if ((ret = dl_alloc_space(inode, number)))
 +              return ret;
 +
 +      if ((ret = dl_alloc_space(inode, number)))
 +              return ret;
 +
-       /*
-        * First test before acquiring mutex - solves deadlocks when we
-        * re-enter the quota code and are already holding the mutex
-@@ -1657,6 +1660,9 @@ int dquot_alloc_inode(const struct inode
+       if (!dquot_active(inode)) {
+               inode_incr_space(inode, number, reserve);
+               goto out;
+@@ -1649,6 +1655,9 @@ int dquot_alloc_inode(const struct inode
        struct dquot_warn warn[MAXQUOTAS];
        struct dquot * const *dquots = inode->i_dquot;
  
 +      if ((ret = dl_alloc_inode(inode)))
 +              return ret;
 +
        struct dquot_warn warn[MAXQUOTAS];
        struct dquot * const *dquots = inode->i_dquot;
  
 +      if ((ret = dl_alloc_inode(inode)))
 +              return ret;
 +
-       /* First test before acquiring mutex - solves deadlocks when we
-          * re-enter the quota code and are already holding the mutex */
        if (!dquot_active(inode))
        if (!dquot_active(inode))
-@@ -1757,6 +1763,8 @@ void __dquot_free_space(struct inode *in
+               return 0;
+       for (cnt = 0; cnt < MAXQUOTAS; cnt++)
+@@ -1748,6 +1757,8 @@ void __dquot_free_space(struct inode *in
        struct dquot **dquots = inode->i_dquot;
        struct dquot **dquots = inode->i_dquot;
-       int reserve = flags & DQUOT_SPACE_RESERVE;
+       int reserve = flags & DQUOT_SPACE_RESERVE, index;
  
 +      dl_free_space(inode, number);
 +
  
 +      dl_free_space(inode, number);
 +
-       /* First test before acquiring mutex - solves deadlocks when we
-          * re-enter the quota code and are already holding the mutex */
        if (!dquot_active(inode)) {
        if (!dquot_active(inode)) {
-@@ -1801,6 +1809,8 @@ void dquot_free_inode(const struct inode
-       struct dquot_warn warn[MAXQUOTAS];
+               inode_decr_space(inode, number, reserve);
+               return;
+@@ -1791,6 +1802,8 @@ void dquot_free_inode(const struct inode
        struct dquot * const *dquots = inode->i_dquot;
        struct dquot * const *dquots = inode->i_dquot;
+       int index;
  
 +      dl_free_inode(inode);
 +
  
 +      dl_free_inode(inode);
 +
-       /* First test before acquiring mutex - solves deadlocks when we
-          * re-enter the quota code and are already holding the mutex */
        if (!dquot_active(inode))
        if (!dquot_active(inode))
-diff -NurpP --minimal linux-3.13.10/fs/quota/quota.c linux-3.13.10-vs2.3.6.11/fs/quota/quota.c
---- linux-3.13.10/fs/quota/quota.c     2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/quota/quota.c  2014-01-31 20:38:03.000000000 +0000
+               return;
+diff -NurpP --minimal linux-3.18.5/fs/quota/quota.c linux-3.18.5-vs2.3.7.3/fs/quota/quota.c
+--- linux-3.18.5/fs/quota/quota.c      2015-01-16 22:19:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/quota/quota.c    2015-01-19 10:58:04.000000000 +0000
 @@ -8,6 +8,7 @@
  #include <linux/fs.h>
  #include <linux/namei.h>
 @@ -8,6 +8,7 @@
  #include <linux/fs.h>
  #include <linux/namei.h>
@@ -6713,7 +6719,7 @@ diff -NurpP --minimal linux-3.13.10/fs/quota/quota.c linux-3.13.10-vs2.3.6.11/fs
                        return -EPERM;
        }
  
                        return -EPERM;
        }
  
-@@ -338,6 +339,46 @@ static int do_quotactl(struct super_bloc
+@@ -350,6 +351,46 @@ static int do_quotactl(struct super_bloc
  
  #ifdef CONFIG_BLOCK
  
  
  #ifdef CONFIG_BLOCK
  
@@ -6760,7 +6766,7 @@ diff -NurpP --minimal linux-3.13.10/fs/quota/quota.c linux-3.13.10-vs2.3.6.11/fs
  /* Return 1 if 'cmd' will block on frozen filesystem */
  static int quotactl_cmd_write(int cmd)
  {
  /* Return 1 if 'cmd' will block on frozen filesystem */
  static int quotactl_cmd_write(int cmd)
  {
-@@ -373,6 +414,22 @@ static struct super_block *quotactl_bloc
+@@ -385,6 +426,22 @@ static struct super_block *quotactl_bloc
        putname(tmp);
        if (IS_ERR(bdev))
                return ERR_CAST(bdev);
        putname(tmp);
        if (IS_ERR(bdev))
                return ERR_CAST(bdev);
@@ -6783,9 +6789,9 @@ diff -NurpP --minimal linux-3.13.10/fs/quota/quota.c linux-3.13.10-vs2.3.6.11/fs
        if (quotactl_cmd_write(cmd))
                sb = get_super_thawed(bdev);
        else
        if (quotactl_cmd_write(cmd))
                sb = get_super_thawed(bdev);
        else
-diff -NurpP --minimal linux-3.13.10/fs/stat.c linux-3.13.10-vs2.3.6.11/fs/stat.c
---- linux-3.13.10/fs/stat.c    2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/stat.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/stat.c linux-3.18.5-vs2.3.7.3/fs/stat.c
+--- linux-3.18.5/fs/stat.c     2014-01-22 20:39:07.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/stat.c   2015-01-19 10:58:04.000000000 +0000
 @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod
        stat->nlink = inode->i_nlink;
        stat->uid = inode->i_uid;
 @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod
        stat->nlink = inode->i_nlink;
        stat->uid = inode->i_uid;
@@ -6794,9 +6800,9 @@ diff -NurpP --minimal linux-3.13.10/fs/stat.c linux-3.13.10-vs2.3.6.11/fs/stat.c
        stat->rdev = inode->i_rdev;
        stat->size = i_size_read(inode);
        stat->atime = inode->i_atime;
        stat->rdev = inode->i_rdev;
        stat->size = i_size_read(inode);
        stat->atime = inode->i_atime;
-diff -NurpP --minimal linux-3.13.10/fs/statfs.c linux-3.13.10-vs2.3.6.11/fs/statfs.c
---- linux-3.13.10/fs/statfs.c  2013-11-25 15:47:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/statfs.c       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/statfs.c linux-3.18.5-vs2.3.7.3/fs/statfs.c
+--- linux-3.18.5/fs/statfs.c   2013-11-25 15:47:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/statfs.c 2015-01-19 10:58:04.000000000 +0000
 @@ -7,6 +7,8 @@
  #include <linux/statfs.h>
  #include <linux/security.h>
 @@ -7,6 +7,8 @@
  #include <linux/statfs.h>
  #include <linux/security.h>
@@ -6815,10 +6821,10 @@ diff -NurpP --minimal linux-3.13.10/fs/statfs.c linux-3.13.10-vs2.3.6.11/fs/stat
        return retval;
  }
  
        return retval;
  }
  
-diff -NurpP --minimal linux-3.13.10/fs/super.c linux-3.13.10-vs2.3.6.11/fs/super.c
---- linux-3.13.10/fs/super.c   2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/super.c        2014-01-31 20:38:03.000000000 +0000
-@@ -34,6 +34,8 @@
+diff -NurpP --minimal linux-3.18.5/fs/super.c linux-3.18.5-vs2.3.7.3/fs/super.c
+--- linux-3.18.5/fs/super.c    2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/super.c  2015-01-19 10:58:04.000000000 +0000
+@@ -33,6 +33,8 @@
  #include <linux/cleancache.h>
  #include <linux/fsnotify.h>
  #include <linux/lockdep.h>
  #include <linux/cleancache.h>
  #include <linux/fsnotify.h>
  #include <linux/lockdep.h>
@@ -6827,7 +6833,7 @@ diff -NurpP --minimal linux-3.13.10/fs/super.c linux-3.13.10-vs2.3.6.11/fs/super
  #include "internal.h"
  
  
  #include "internal.h"
  
  
-@@ -1098,6 +1100,13 @@ mount_fs(struct file_system_type *type,
+@@ -1114,6 +1116,13 @@ mount_fs(struct file_system_type *type,
        WARN_ON(sb->s_bdi == &default_backing_dev_info);
        sb->s_flags |= MS_BORN;
  
        WARN_ON(sb->s_bdi == &default_backing_dev_info);
        sb->s_flags |= MS_BORN;
  
@@ -6841,9 +6847,9 @@ diff -NurpP --minimal linux-3.13.10/fs/super.c linux-3.13.10-vs2.3.6.11/fs/super
        error = security_sb_kern_mount(sb, flags, secdata);
        if (error)
                goto out_sb;
        error = security_sb_kern_mount(sb, flags, secdata);
        if (error)
                goto out_sb;
-diff -NurpP --minimal linux-3.13.10/fs/utimes.c linux-3.13.10-vs2.3.6.11/fs/utimes.c
---- linux-3.13.10/fs/utimes.c  2014-01-22 20:39:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/utimes.c       2014-01-31 23:49:14.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/utimes.c linux-3.18.5-vs2.3.7.3/fs/utimes.c
+--- linux-3.18.5/fs/utimes.c   2014-01-22 20:39:07.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/utimes.c 2015-01-19 10:58:04.000000000 +0000
 @@ -8,6 +8,8 @@
  #include <linux/stat.h>
  #include <linux/utime.h>
 @@ -8,6 +8,8 @@
  #include <linux/stat.h>
  #include <linux/utime.h>
@@ -6874,9 +6880,9 @@ diff -NurpP --minimal linux-3.13.10/fs/utimes.c linux-3.13.10-vs2.3.6.11/fs/utim
        if (times && times[0].tv_nsec == UTIME_NOW &&
                     times[1].tv_nsec == UTIME_NOW)
                times = NULL;
        if (times && times[0].tv_nsec == UTIME_NOW &&
                     times[1].tv_nsec == UTIME_NOW)
                times = NULL;
-diff -NurpP --minimal linux-3.13.10/fs/xattr.c linux-3.13.10-vs2.3.6.11/fs/xattr.c
---- linux-3.13.10/fs/xattr.c   2013-02-19 13:58:49.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/xattr.c        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/fs/xattr.c linux-3.18.5-vs2.3.7.3/fs/xattr.c
+--- linux-3.18.5/fs/xattr.c    2015-01-17 02:40:20.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/fs/xattr.c  2015-01-19 10:58:04.000000000 +0000
 @@ -21,6 +21,7 @@
  #include <linux/audit.h>
  #include <linux/vmalloc.h>
 @@ -21,6 +21,7 @@
  #include <linux/audit.h>
  #include <linux/vmalloc.h>
@@ -6894,10 +6900,23 @@ diff -NurpP --minimal linux-3.13.10/fs/xattr.c linux-3.13.10-vs2.3.6.11/fs/xattr
                        return (mask & MAY_WRITE) ? -EPERM : -ENODATA;
                return 0;
        }
                        return (mask & MAY_WRITE) ? -EPERM : -ENODATA;
                return 0;
        }
-diff -NurpP --minimal linux-3.13.10/include/linux/cred.h linux-3.13.10-vs2.3.6.11/include/linux/cred.h
---- linux-3.13.10/include/linux/cred.h 2013-02-19 13:58:50.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/cred.h      2014-01-31 20:38:03.000000000 +0000
-@@ -143,6 +143,7 @@ extern void exit_creds(struct task_struc
+diff -NurpP --minimal linux-3.18.5/include/linux/capability.h linux-3.18.5-vs2.3.7.3/include/linux/capability.h
+--- linux-3.18.5/include/linux/capability.h    2015-01-16 22:19:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/capability.h  2015-01-19 10:58:04.000000000 +0000
+@@ -79,7 +79,8 @@ extern const kernel_cap_t __cap_init_eff
+ #else /* HAND-CODED capability initializers */
+ #define CAP_LAST_U32                  ((_KERNEL_CAPABILITY_U32S) - 1)
+-#define CAP_LAST_U32_VALID_MASK               (CAP_TO_MASK(CAP_LAST_CAP + 1) -1)
++#define CAP_LAST_U32_VALID_MASK               ((CAP_TO_MASK(CAP_LAST_CAP + 1) -1) \
++                                      | CAP_TO_MASK(CAP_CONTEXT))
+ # define CAP_EMPTY_SET    ((kernel_cap_t){{ 0, 0 }})
+ # define CAP_FULL_SET     ((kernel_cap_t){{ ~0, CAP_LAST_U32_VALID_MASK }})
+diff -NurpP --minimal linux-3.18.5/include/linux/cred.h linux-3.18.5-vs2.3.7.3/include/linux/cred.h
+--- linux-3.18.5/include/linux/cred.h  2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/cred.h        2015-01-19 10:58:04.000000000 +0000
+@@ -144,6 +144,7 @@ extern void exit_creds(struct task_struc
  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);
  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);
@@ -6905,7 +6924,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/cred.h linux-3.13.10-vs2.3.6.1
  extern struct cred *prepare_creds(void);
  extern struct cred *prepare_exec_creds(void);
  extern int commit_creds(struct cred *);
  extern struct cred *prepare_creds(void);
  extern struct cred *prepare_exec_creds(void);
  extern int commit_creds(struct cred *);
-@@ -196,6 +197,31 @@ static inline void validate_process_cred
+@@ -197,6 +198,31 @@ static inline void validate_process_cred
  }
  #endif
  
  }
  #endif
  
@@ -6937,27 +6956,27 @@ diff -NurpP --minimal linux-3.13.10/include/linux/cred.h linux-3.13.10-vs2.3.6.1
  /**
   * get_new_cred - Get a reference on a new set of credentials
   * @cred: The new credentials to reference
  /**
   * get_new_cred - Get a reference on a new set of credentials
   * @cred: The new credentials to reference
-diff -NurpP --minimal linux-3.13.10/include/linux/devpts_fs.h linux-3.13.10-vs2.3.6.11/include/linux/devpts_fs.h
---- linux-3.13.10/include/linux/devpts_fs.h    2013-02-19 13:58:50.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/devpts_fs.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/devpts_fs.h linux-3.18.5-vs2.3.7.3/include/linux/devpts_fs.h
+--- linux-3.18.5/include/linux/devpts_fs.h     2013-02-19 13:58:50.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/devpts_fs.h   2015-01-19 10:58:04.000000000 +0000
 @@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc
  
  #endif
  
 -
  #endif /* _LINUX_DEVPTS_FS_H */
 @@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc
  
  #endif
  
 -
  #endif /* _LINUX_DEVPTS_FS_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/include/linux/fs.h
---- linux-3.13.10/include/linux/fs.h   2014-01-22 20:39:10.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/fs.h        2014-01-31 23:33:22.000000000 +0000
-@@ -213,6 +213,7 @@ typedef void (dio_iodone_t)(struct kiocb
+diff -NurpP --minimal linux-3.18.5/include/linux/fs.h linux-3.18.5-vs2.3.7.3/include/linux/fs.h
+--- linux-3.18.5/include/linux/fs.h    2015-01-17 02:40:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/fs.h  2015-01-19 10:58:04.000000000 +0000
+@@ -221,6 +221,7 @@ typedef void (dio_iodone_t)(struct kiocb
  #define ATTR_KILL_PRIV        (1 << 14)
  #define ATTR_OPEN     (1 << 15) /* Truncating from open(O_TRUNC) */
  #define ATTR_TIMES_SET        (1 << 16)
 +#define ATTR_TAG      (1 << 17)
  
  /*
  #define ATTR_KILL_PRIV        (1 << 14)
  #define ATTR_OPEN     (1 << 15) /* Truncating from open(O_TRUNC) */
  #define ATTR_TIMES_SET        (1 << 16)
 +#define ATTR_TAG      (1 << 17)
  
  /*
-  * This is the Inode Attributes structure, used for notify_change().  It
-@@ -228,6 +229,7 @@ struct iattr {
+  * Whiteout is represented by a char device.  The following constants define the
+@@ -243,6 +244,7 @@ struct iattr {
        umode_t         ia_mode;
        kuid_t          ia_uid;
        kgid_t          ia_gid;
        umode_t         ia_mode;
        kuid_t          ia_uid;
        kgid_t          ia_gid;
@@ -6965,7 +6984,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
        loff_t          ia_size;
        struct timespec ia_atime;
        struct timespec ia_mtime;
        loff_t          ia_size;
        struct timespec ia_atime;
        struct timespec ia_mtime;
-@@ -526,7 +528,9 @@ struct inode {
+@@ -540,7 +542,9 @@ struct inode {
        unsigned short          i_opflags;
        kuid_t                  i_uid;
        kgid_t                  i_gid;
        unsigned short          i_opflags;
        kuid_t                  i_uid;
        kgid_t                  i_gid;
@@ -6976,7 +6995,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  
  #ifdef CONFIG_FS_POSIX_ACL
        struct posix_acl        *i_acl;
  
  #ifdef CONFIG_FS_POSIX_ACL
        struct posix_acl        *i_acl;
-@@ -555,6 +559,7 @@ struct inode {
+@@ -569,6 +573,7 @@ struct inode {
                unsigned int __i_nlink;
        };
        dev_t                   i_rdev;
                unsigned int __i_nlink;
        };
        dev_t                   i_rdev;
@@ -6984,7 +7003,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
        loff_t                  i_size;
        struct timespec         i_atime;
        struct timespec         i_mtime;
        loff_t                  i_size;
        struct timespec         i_atime;
        struct timespec         i_mtime;
-@@ -713,6 +718,11 @@ static inline gid_t i_gid_read(const str
+@@ -730,6 +735,11 @@ static inline gid_t i_gid_read(const str
        return from_kgid(&init_user_ns, inode->i_gid);
  }
  
        return from_kgid(&init_user_ns, inode->i_gid);
  }
  
@@ -6996,7 +7015,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  static inline void i_uid_write(struct inode *inode, uid_t uid)
  {
        inode->i_uid = make_kuid(&init_user_ns, uid);
  static inline void i_uid_write(struct inode *inode, uid_t uid)
  {
        inode->i_uid = make_kuid(&init_user_ns, uid);
-@@ -723,14 +733,19 @@ static inline void i_gid_write(struct in
+@@ -740,14 +750,19 @@ static inline void i_gid_write(struct in
        inode->i_gid = make_kgid(&init_user_ns, gid);
  }
  
        inode->i_gid = make_kgid(&init_user_ns, gid);
  }
  
@@ -7018,7 +7037,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  }
  
  extern struct block_device *I_BDEV(struct inode *inode);
  }
  
  extern struct block_device *I_BDEV(struct inode *inode);
-@@ -790,6 +805,7 @@ struct file {
+@@ -805,6 +820,7 @@ struct file {
        loff_t                  f_pos;
        struct fown_struct      f_owner;
        const struct cred       *f_cred;
        loff_t                  f_pos;
        struct fown_struct      f_owner;
        const struct cred       *f_cred;
@@ -7026,7 +7045,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
        struct file_ra_state    f_ra;
  
        u64                     f_version;
        struct file_ra_state    f_ra;
  
        u64                     f_version;
-@@ -962,6 +978,7 @@ struct file_lock {
+@@ -929,6 +945,7 @@ struct file_lock {
        struct file *fl_file;
        loff_t fl_start;
        loff_t fl_end;
        struct file *fl_file;
        loff_t fl_start;
        loff_t fl_end;
@@ -7034,7 +7053,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  
        struct fasync_struct *  fl_fasync; /* for lease break notifications */
        /* for lease breaks: */
  
        struct fasync_struct *  fl_fasync; /* for lease break notifications */
        /* for lease breaks: */
-@@ -1573,6 +1590,7 @@ struct inode_operations {
+@@ -1542,6 +1559,7 @@ struct inode_operations {
        ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
        ssize_t (*listxattr) (struct dentry *, char *, size_t);
        int (*removexattr) (struct dentry *, const char *);
        ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t);
        ssize_t (*listxattr) (struct dentry *, char *, size_t);
        int (*removexattr) (struct dentry *, const char *);
@@ -7042,7 +7061,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
        int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
                      u64 len);
        int (*update_time)(struct inode *, struct timespec *, int);
        int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
                      u64 len);
        int (*update_time)(struct inode *, struct timespec *, int);
-@@ -1586,6 +1604,7 @@ ssize_t rw_copy_check_uvector(int type,
+@@ -1559,6 +1577,7 @@ ssize_t rw_copy_check_uvector(int type,
                              unsigned long nr_segs, unsigned long fast_segs,
                              struct iovec *fast_pointer,
                              struct iovec **ret_pointer);
                              unsigned long nr_segs, unsigned long fast_segs,
                              struct iovec *fast_pointer,
                              struct iovec **ret_pointer);
@@ -7050,7 +7069,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  
  extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
  extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
  
  extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
  extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
-@@ -1639,6 +1658,14 @@ struct super_operations {
+@@ -1612,6 +1631,14 @@ struct super_operations {
  #define S_IMA         1024    /* Inode has an associated IMA struct */
  #define S_AUTOMOUNT   2048    /* Automount/referral quasi-directory */
  #define S_NOSEC               4096    /* no suid or xattr security attributes */
  #define S_IMA         1024    /* Inode has an associated IMA struct */
  #define S_AUTOMOUNT   2048    /* Automount/referral quasi-directory */
  #define S_NOSEC               4096    /* no suid or xattr security attributes */
@@ -7065,7 +7084,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  
  /*
   * Note that nosuid etc flags are inode-specific: setting some file-system
  
  /*
   * Note that nosuid etc flags are inode-specific: setting some file-system
-@@ -1663,10 +1690,13 @@ struct super_operations {
+@@ -1636,10 +1663,13 @@ struct super_operations {
  #define IS_MANDLOCK(inode)    __IS_FLG(inode, MS_MANDLOCK)
  #define IS_NOATIME(inode)     __IS_FLG(inode, MS_RDONLY|MS_NOATIME)
  #define IS_I_VERSION(inode)   __IS_FLG(inode, MS_I_VERSION)
  #define IS_MANDLOCK(inode)    __IS_FLG(inode, MS_MANDLOCK)
  #define IS_NOATIME(inode)     __IS_FLG(inode, MS_RDONLY|MS_NOATIME)
  #define IS_I_VERSION(inode)   __IS_FLG(inode, MS_I_VERSION)
@@ -7079,9 +7098,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  #define IS_POSIXACL(inode)    __IS_FLG(inode, MS_POSIXACL)
  
  #define IS_DEADDIR(inode)     ((inode)->i_flags & S_DEAD)
  #define IS_POSIXACL(inode)    __IS_FLG(inode, MS_POSIXACL)
  
  #define IS_DEADDIR(inode)     ((inode)->i_flags & S_DEAD)
-@@ -1677,6 +1707,16 @@ struct super_operations {
- #define IS_AUTOMOUNT(inode)   ((inode)->i_flags & S_AUTOMOUNT)
#define IS_NOSEC(inode)               ((inode)->i_flags & S_NOSEC)
+@@ -1653,6 +1683,16 @@ struct super_operations {
+ #define IS_WHITEOUT(inode)    (S_ISCHR(inode->i_mode) && \
                               (inode)->i_rdev == WHITEOUT_DEV)
  
 +#define IS_BARRIER(inode)     (S_ISDIR((inode)->i_mode) && ((inode)->i_vflags & V_BARRIER))
 +
  
 +#define IS_BARRIER(inode)     (S_ISDIR((inode)->i_mode) && ((inode)->i_vflags & V_BARRIER))
 +
@@ -7096,8 +7115,8 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  /*
   * Inode state bits.  Protected by inode->i_lock
   *
  /*
   * Inode state bits.  Protected by inode->i_lock
   *
-@@ -1920,6 +1960,9 @@ extern struct kobject *fs_kobj;
- extern int locks_mandatory_locked(struct inode *);
+@@ -1902,6 +1942,9 @@ extern struct kobject *fs_kobj;
+ extern int locks_mandatory_locked(struct file *);
  extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
  
 +#define ATTR_FLAG_BARRIER     512     /* Barrier for chroot() */
  extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
  
 +#define ATTR_FLAG_BARRIER     512     /* Barrier for chroot() */
@@ -7106,7 +7125,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  /*
   * Candidates for mandatory locking have the setgid bit set
   * but no group execute bit -  an otherwise meaningless combination.
  /*
   * Candidates for mandatory locking have the setgid bit set
   * but no group execute bit -  an otherwise meaningless combination.
-@@ -2605,6 +2648,7 @@ extern int dcache_dir_open(struct inode
+@@ -2610,6 +2653,7 @@ extern int dcache_dir_open(struct inode
  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 *, struct dir_context *);
  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 *, struct dir_context *);
@@ -7114,12 +7133,12 @@ diff -NurpP --minimal linux-3.13.10/include/linux/fs.h linux-3.13.10-vs2.3.6.11/
  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 *);
  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.13.10/include/linux/init_task.h linux-3.13.10-vs2.3.6.11/include/linux/init_task.h
---- linux-3.13.10/include/linux/init_task.h    2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/init_task.h 2014-01-31 20:38:03.000000000 +0000
-@@ -222,6 +222,10 @@ extern struct task_group root_task_group
-       INIT_TASK_RCU_PREEMPT(tsk)                                      \
+diff -NurpP --minimal linux-3.18.5/include/linux/init_task.h linux-3.18.5-vs2.3.7.3/include/linux/init_task.h
+--- linux-3.18.5/include/linux/init_task.h     2015-01-17 02:40:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/init_task.h   2015-01-19 10:58:04.000000000 +0000
+@@ -237,6 +237,10 @@ extern struct task_group root_task_group
        INIT_CPUSET_SEQ(tsk)                                            \
        INIT_CPUSET_SEQ(tsk)                                            \
+       INIT_RT_MUTEXES(tsk)                                            \
        INIT_VTIME(tsk)                                                 \
 +      .xid            = 0,                                            \
 +      .vx_info        = NULL,                                         \
        INIT_VTIME(tsk)                                                 \
 +      .xid            = 0,                                            \
 +      .vx_info        = NULL,                                         \
@@ -7128,9 +7147,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/init_task.h linux-3.13.10-vs2.
  }
  
  
  }
  
  
-diff -NurpP --minimal linux-3.13.10/include/linux/ipc.h linux-3.13.10-vs2.3.6.11/include/linux/ipc.h
---- linux-3.13.10/include/linux/ipc.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/ipc.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/ipc.h linux-3.18.5-vs2.3.7.3/include/linux/ipc.h
+--- linux-3.18.5/include/linux/ipc.h   2014-06-12 11:35:01.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/ipc.h 2015-01-19 10:58:04.000000000 +0000
 @@ -16,6 +16,7 @@ struct kern_ipc_perm
        key_t           key;
        kuid_t          uid;
 @@ -16,6 +16,7 @@ struct kern_ipc_perm
        key_t           key;
        kuid_t          uid;
@@ -7139,10 +7158,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/ipc.h linux-3.13.10-vs2.3.6.11
        kuid_t          cuid;
        kgid_t          cgid;
        umode_t         mode; 
        kuid_t          cuid;
        kgid_t          cgid;
        umode_t         mode; 
-diff -NurpP --minimal linux-3.13.10/include/linux/memcontrol.h linux-3.13.10-vs2.3.6.11/include/linux/memcontrol.h
---- linux-3.13.10/include/linux/memcontrol.h   2013-11-25 15:47:01.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/memcontrol.h        2014-01-31 20:38:03.000000000 +0000
-@@ -99,6 +99,13 @@ extern struct mem_cgroup *try_get_mem_cg
+diff -NurpP --minimal linux-3.18.5/include/linux/memcontrol.h linux-3.18.5-vs2.3.7.3/include/linux/memcontrol.h
+--- linux-3.18.5/include/linux/memcontrol.h    2015-01-17 02:40:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/memcontrol.h  2015-01-19 10:58:04.000000000 +0000
+@@ -79,6 +79,13 @@ extern struct mem_cgroup *mem_cgroup_fro
  extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg);
  extern struct mem_cgroup *mem_cgroup_from_css(struct cgroup_subsys_state *css);
  
  extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg);
  extern struct mem_cgroup *mem_cgroup_from_css(struct cgroup_subsys_state *css);
  
@@ -7156,23 +7175,12 @@ diff -NurpP --minimal linux-3.13.10/include/linux/memcontrol.h linux-3.13.10-vs2
  static inline
  bool mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *memcg)
  {
  static inline
  bool mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *memcg)
  {
-diff -NurpP --minimal linux-3.13.10/include/linux/mm_types.h linux-3.13.10-vs2.3.6.11/include/linux/mm_types.h
---- linux-3.13.10/include/linux/mm_types.h     2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/mm_types.h  2014-01-31 20:38:03.000000000 +0000
-@@ -397,6 +397,7 @@ struct mm_struct {
-       /* Architecture-specific MM context */
-       mm_context_t context;
-+      struct vx_info *mm_vx_info;
-       unsigned long flags; /* Must use atomic bitops to access the bits */
-diff -NurpP --minimal linux-3.13.10/include/linux/mount.h linux-3.13.10-vs2.3.6.11/include/linux/mount.h
---- linux-3.13.10/include/linux/mount.h        2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/mount.h     2014-01-31 20:38:03.000000000 +0000
-@@ -52,6 +52,9 @@ struct mnt_namespace;
- #define MNT_DOOMED            0x1000000
+diff -NurpP --minimal linux-3.18.5/include/linux/mount.h linux-3.18.5-vs2.3.7.3/include/linux/mount.h
+--- linux-3.18.5/include/linux/mount.h 2015-01-17 02:40:21.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/mount.h       2015-01-19 10:58:04.000000000 +0000
+@@ -62,6 +62,9 @@ struct mnt_namespace;
  #define MNT_SYNC_UMOUNT               0x2000000
  #define MNT_SYNC_UMOUNT               0x2000000
+ #define MNT_MARKED            0x4000000
  
 +#define MNT_TAGID     0x10000
 +#define MNT_NOTAG     0x20000
  
 +#define MNT_TAGID     0x10000
 +#define MNT_NOTAG     0x20000
@@ -7180,9 +7188,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/mount.h linux-3.13.10-vs2.3.6.
  struct vfsmount {
        struct dentry *mnt_root;        /* root of the mounted tree */
        struct super_block *mnt_sb;     /* pointer to superblock */
  struct vfsmount {
        struct dentry *mnt_root;        /* root of the mounted tree */
        struct super_block *mnt_sb;     /* pointer to superblock */
-diff -NurpP --minimal linux-3.13.10/include/linux/net.h linux-3.13.10-vs2.3.6.11/include/linux/net.h
---- linux-3.13.10/include/linux/net.h  2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/net.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/net.h linux-3.18.5-vs2.3.7.3/include/linux/net.h
+--- linux-3.18.5/include/linux/net.h   2014-06-12 13:02:49.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/net.h 2015-01-19 10:58:04.000000000 +0000
 @@ -39,6 +39,7 @@ struct net;
  #define SOCK_PASSCRED         3
  #define SOCK_PASSSEC          4
 @@ -39,6 +39,7 @@ struct net;
  #define SOCK_PASSCRED         3
  #define SOCK_PASSSEC          4
@@ -7191,10 +7199,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/net.h linux-3.13.10-vs2.3.6.11
  
  #ifndef ARCH_HAS_SOCKET_TYPES
  /**
  
  #ifndef ARCH_HAS_SOCKET_TYPES
  /**
-diff -NurpP --minimal linux-3.13.10/include/linux/netdevice.h linux-3.13.10-vs2.3.6.11/include/linux/netdevice.h
---- linux-3.13.10/include/linux/netdevice.h    2014-04-17 01:12:37.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/netdevice.h 2014-03-12 15:51:07.000000000 +0000
-@@ -1839,6 +1839,7 @@ int init_dummy_netdev(struct net_device
+diff -NurpP --minimal linux-3.18.5/include/linux/netdevice.h linux-3.18.5-vs2.3.7.3/include/linux/netdevice.h
+--- linux-3.18.5/include/linux/netdevice.h     2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/netdevice.h   2015-01-28 11:48:02.000000000 +0000
+@@ -2124,6 +2124,7 @@ int init_dummy_netdev(struct net_device
  
  struct net_device *dev_get_by_index(struct net *net, int ifindex);
  struct net_device *__dev_get_by_index(struct net *net, int ifindex);
  
  struct net_device *dev_get_by_index(struct net *net, int ifindex);
  struct net_device *__dev_get_by_index(struct net *net, int ifindex);
@@ -7202,9 +7210,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/netdevice.h linux-3.13.10-vs2.
  struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex);
  int netdev_get_name(struct net *net, char *name, int ifindex);
  int dev_restart(struct net_device *dev);
  struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex);
  int netdev_get_name(struct net *net, char *name, int ifindex);
  int dev_restart(struct net_device *dev);
-diff -NurpP --minimal linux-3.13.10/include/linux/nsproxy.h linux-3.13.10-vs2.3.6.11/include/linux/nsproxy.h
---- linux-3.13.10/include/linux/nsproxy.h      2013-11-25 15:45:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/nsproxy.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/nsproxy.h linux-3.18.5-vs2.3.7.3/include/linux/nsproxy.h
+--- linux-3.18.5/include/linux/nsproxy.h       2015-01-16 22:19:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/nsproxy.h     2015-01-19 10:58:04.000000000 +0000
 @@ -3,6 +3,7 @@
  
  #include <linux/spinlock.h>
 @@ -3,6 +3,7 @@
  
  #include <linux/spinlock.h>
@@ -7213,15 +7221,15 @@ diff -NurpP --minimal linux-3.13.10/include/linux/nsproxy.h linux-3.13.10-vs2.3.
  
  struct mnt_namespace;
  struct uts_namespace;
  
  struct mnt_namespace;
  struct uts_namespace;
-@@ -67,6 +68,7 @@ static inline struct nsproxy *task_nspro
- }
+@@ -63,6 +64,7 @@ extern struct nsproxy init_nsproxy;
+  */
  
  int copy_namespaces(unsigned long flags, struct task_struct *tsk);
 +struct nsproxy *copy_nsproxy(struct nsproxy *orig);
  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);
  
  int copy_namespaces(unsigned long flags, struct task_struct *tsk);
 +struct nsproxy *copy_nsproxy(struct nsproxy *orig);
  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);
-@@ -74,16 +76,26 @@ int unshare_nsproxy_namespaces(unsigned
+@@ -70,16 +72,26 @@ int unshare_nsproxy_namespaces(unsigned
        struct cred *, struct fs_struct *);
  int __init nsproxy_cache_init(void);
  
        struct cred *, struct fs_struct *);
  int __init nsproxy_cache_init(void);
  
@@ -7254,9 +7262,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/nsproxy.h linux-3.13.10-vs2.3.
  }
  
  #endif
  }
  
  #endif
-diff -NurpP --minimal linux-3.13.10/include/linux/pid.h linux-3.13.10-vs2.3.6.11/include/linux/pid.h
---- linux-3.13.10/include/linux/pid.h  2013-11-25 15:45:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/pid.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/pid.h linux-3.18.5-vs2.3.7.3/include/linux/pid.h
+--- linux-3.18.5/include/linux/pid.h   2013-11-25 15:45:06.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/pid.h 2015-01-19 10:58:04.000000000 +0000
 @@ -8,7 +8,8 @@ enum pid_type
        PIDTYPE_PID,
        PIDTYPE_PGID,
 @@ -8,7 +8,8 @@ enum pid_type
        PIDTYPE_PID,
        PIDTYPE_PGID,
@@ -7275,9 +7283,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/pid.h linux-3.13.10-vs2.3.6.11
  pid_t pid_vnr(struct pid *pid);
  
  #define do_each_pid_task(pid, type, task)                             \
  pid_t pid_vnr(struct pid *pid);
  
  #define do_each_pid_task(pid, type, task)                             \
-diff -NurpP --minimal linux-3.13.10/include/linux/quotaops.h linux-3.13.10-vs2.3.6.11/include/linux/quotaops.h
---- linux-3.13.10/include/linux/quotaops.h     2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/quotaops.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/quotaops.h linux-3.18.5-vs2.3.7.3/include/linux/quotaops.h
+--- linux-3.18.5/include/linux/quotaops.h      2014-06-12 13:02:49.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/quotaops.h    2015-01-19 10:58:04.000000000 +0000
 @@ -8,6 +8,7 @@
  #define _LINUX_QUOTAOPS_
  
 @@ -8,6 +8,7 @@
  #define _LINUX_QUOTAOPS_
  
@@ -7286,7 +7294,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/quotaops.h linux-3.13.10-vs2.3
  
  #define DQUOT_SPACE_WARN      0x1
  #define DQUOT_SPACE_RESERVE   0x2
  
  #define DQUOT_SPACE_WARN      0x1
  #define DQUOT_SPACE_RESERVE   0x2
-@@ -207,11 +208,12 @@ static inline void dquot_drop(struct ino
+@@ -215,11 +216,12 @@ static inline void dquot_drop(struct ino
  
  static inline int dquot_alloc_inode(const struct inode *inode)
  {
  
  static inline int dquot_alloc_inode(const struct inode *inode)
  {
@@ -7300,7 +7308,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/quotaops.h linux-3.13.10-vs2.3
  }
  
  static inline int dquot_transfer(struct inode *inode, struct iattr *iattr)
  }
  
  static inline int dquot_transfer(struct inode *inode, struct iattr *iattr)
-@@ -222,6 +224,10 @@ static inline int dquot_transfer(struct
+@@ -230,6 +232,10 @@ static inline int dquot_transfer(struct
  static inline int __dquot_alloc_space(struct inode *inode, qsize_t number,
                int flags)
  {
  static inline int __dquot_alloc_space(struct inode *inode, qsize_t number,
                int flags)
  {
@@ -7311,7 +7319,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/quotaops.h linux-3.13.10-vs2.3
        if (!(flags & DQUOT_SPACE_RESERVE))
                inode_add_bytes(inode, number);
        return 0;
        if (!(flags & DQUOT_SPACE_RESERVE))
                inode_add_bytes(inode, number);
        return 0;
-@@ -232,6 +238,7 @@ static inline void __dquot_free_space(st
+@@ -240,6 +246,7 @@ static inline void __dquot_free_space(st
  {
        if (!(flags & DQUOT_SPACE_RESERVE))
                inode_sub_bytes(inode, number);
  {
        if (!(flags & DQUOT_SPACE_RESERVE))
                inode_sub_bytes(inode, number);
@@ -7319,10 +7327,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/quotaops.h linux-3.13.10-vs2.3
  }
  
  static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
  }
  
  static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
-diff -NurpP --minimal linux-3.13.10/include/linux/sched.h linux-3.13.10-vs2.3.6.11/include/linux/sched.h
---- linux-3.13.10/include/linux/sched.h        2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/sched.h     2014-01-31 20:38:03.000000000 +0000
-@@ -1237,6 +1237,14 @@ struct task_struct {
+diff -NurpP --minimal linux-3.18.5/include/linux/sched.h linux-3.18.5-vs2.3.7.3/include/linux/sched.h
+--- linux-3.18.5/include/linux/sched.h 2015-01-17 02:40:22.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/sched.h       2015-01-19 10:58:04.000000000 +0000
+@@ -1438,6 +1438,14 @@ struct task_struct {
  #endif
        struct seccomp seccomp;
  
  #endif
        struct seccomp seccomp;
  
@@ -7337,7 +7345,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sched.h linux-3.13.10-vs2.3.6.
  /* Thread group tracking */
        u32 parent_exec_id;
        u32 self_exec_id;
  /* Thread group tracking */
        u32 parent_exec_id;
        u32 self_exec_id;
-@@ -1531,6 +1539,11 @@ struct pid_namespace;
+@@ -1743,6 +1751,11 @@ struct pid_namespace;
  pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
                        struct pid_namespace *ns);
  
  pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
                        struct pid_namespace *ns);
  
@@ -7349,7 +7357,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sched.h linux-3.13.10-vs2.3.6.
  static inline pid_t task_pid_nr(struct task_struct *tsk)
  {
        return tsk->pid;
  static inline pid_t task_pid_nr(struct task_struct *tsk)
  {
        return tsk->pid;
-@@ -1544,7 +1557,8 @@ static inline pid_t task_pid_nr_ns(struc
+@@ -1756,7 +1769,8 @@ static inline pid_t task_pid_nr_ns(struc
  
  static inline pid_t task_pid_vnr(struct task_struct *tsk)
  {
  
  static inline pid_t task_pid_vnr(struct task_struct *tsk)
  {
@@ -7359,7 +7367,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sched.h linux-3.13.10-vs2.3.6.
  }
  
  
  }
  
  
-@@ -1557,7 +1571,7 @@ pid_t task_tgid_nr_ns(struct task_struct
+@@ -1769,7 +1783,7 @@ pid_t task_tgid_nr_ns(struct task_struct
  
  static inline pid_t task_tgid_vnr(struct task_struct *tsk)
  {
  
  static inline pid_t task_tgid_vnr(struct task_struct *tsk)
  {
@@ -7368,10 +7376,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sched.h linux-3.13.10-vs2.3.6.
  }
  
  
  }
  
  
-diff -NurpP --minimal linux-3.13.10/include/linux/shmem_fs.h linux-3.13.10-vs2.3.6.11/include/linux/shmem_fs.h
---- linux-3.13.10/include/linux/shmem_fs.h     2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/shmem_fs.h  2014-01-31 20:38:03.000000000 +0000
-@@ -9,6 +9,9 @@
+diff -NurpP --minimal linux-3.18.5/include/linux/shmem_fs.h linux-3.18.5-vs2.3.7.3/include/linux/shmem_fs.h
+--- linux-3.18.5/include/linux/shmem_fs.h      2015-01-16 22:19:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/shmem_fs.h    2015-01-19 10:58:04.000000000 +0000
+@@ -10,6 +10,9 @@
  
  /* inode in-kernel data */
  
  
  /* inode in-kernel data */
  
@@ -7380,10 +7388,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/shmem_fs.h linux-3.13.10-vs2.3
 +
  struct shmem_inode_info {
        spinlock_t              lock;
 +
  struct shmem_inode_info {
        spinlock_t              lock;
-       unsigned long           flags;
-diff -NurpP --minimal linux-3.13.10/include/linux/stat.h linux-3.13.10-vs2.3.6.11/include/linux/stat.h
---- linux-3.13.10/include/linux/stat.h 2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/stat.h      2014-01-31 20:38:03.000000000 +0000
+       unsigned int            seals;          /* shmem seals */
+diff -NurpP --minimal linux-3.18.5/include/linux/stat.h linux-3.18.5-vs2.3.7.3/include/linux/stat.h
+--- linux-3.18.5/include/linux/stat.h  2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/stat.h        2015-01-19 10:58:04.000000000 +0000
 @@ -25,6 +25,7 @@ struct kstat {
        unsigned int    nlink;
        kuid_t          uid;
 @@ -25,6 +25,7 @@ struct kstat {
        unsigned int    nlink;
        kuid_t          uid;
@@ -7392,9 +7400,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/stat.h linux-3.13.10-vs2.3.6.1
        dev_t           rdev;
        loff_t          size;
        struct timespec  atime;
        dev_t           rdev;
        loff_t          size;
        struct timespec  atime;
-diff -NurpP --minimal linux-3.13.10/include/linux/sunrpc/auth.h linux-3.13.10-vs2.3.6.11/include/linux/sunrpc/auth.h
---- linux-3.13.10/include/linux/sunrpc/auth.h  2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/sunrpc/auth.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/sunrpc/auth.h linux-3.18.5-vs2.3.7.3/include/linux/sunrpc/auth.h
+--- linux-3.18.5/include/linux/sunrpc/auth.h   2015-01-16 22:19:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/sunrpc/auth.h 2015-01-19 10:58:04.000000000 +0000
 @@ -36,6 +36,7 @@ enum {
  struct auth_cred {
        kuid_t  uid;
 @@ -36,6 +36,7 @@ enum {
  struct auth_cred {
        kuid_t  uid;
@@ -7403,9 +7411,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sunrpc/auth.h linux-3.13.10-vs
        struct group_info *group_info;
        const char *principal;
        unsigned long ac_flags;
        struct group_info *group_info;
        const char *principal;
        unsigned long ac_flags;
-diff -NurpP --minimal linux-3.13.10/include/linux/sunrpc/clnt.h linux-3.13.10-vs2.3.6.11/include/linux/sunrpc/clnt.h
---- linux-3.13.10/include/linux/sunrpc/clnt.h  2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/sunrpc/clnt.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/sunrpc/clnt.h linux-3.18.5-vs2.3.7.3/include/linux/sunrpc/clnt.h
+--- linux-3.18.5/include/linux/sunrpc/clnt.h   2014-06-12 13:02:50.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/sunrpc/clnt.h 2015-01-19 10:58:04.000000000 +0000
 @@ -51,7 +51,8 @@ struct rpc_clnt {
                                cl_discrtry : 1,/* disconnect before retry */
                                cl_noretranstimeo: 1,/* No retransmit timeouts */
 @@ -51,7 +51,8 @@ struct rpc_clnt {
                                cl_discrtry : 1,/* disconnect before retry */
                                cl_noretranstimeo: 1,/* No retransmit timeouts */
@@ -7416,9 +7424,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/sunrpc/clnt.h linux-3.13.10-vs
  
        struct rpc_rtt *        cl_rtt;         /* RTO estimator data */
        const struct rpc_timeout *cl_timeout;   /* Timeout strategy */
  
        struct rpc_rtt *        cl_rtt;         /* RTO estimator data */
        const struct rpc_timeout *cl_timeout;   /* Timeout strategy */
-diff -NurpP --minimal linux-3.13.10/include/linux/types.h linux-3.13.10-vs2.3.6.11/include/linux/types.h
---- linux-3.13.10/include/linux/types.h        2013-02-19 13:58:52.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/types.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/types.h linux-3.18.5-vs2.3.7.3/include/linux/types.h
+--- linux-3.18.5/include/linux/types.h 2014-09-03 13:19:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/types.h       2015-01-19 10:58:04.000000000 +0000
 @@ -32,6 +32,9 @@ typedef __kernel_uid32_t     uid_t;
  typedef __kernel_gid32_t      gid_t;
  typedef __kernel_uid16_t        uid16_t;
 @@ -32,6 +32,9 @@ typedef __kernel_uid32_t     uid_t;
  typedef __kernel_gid32_t      gid_t;
  typedef __kernel_uid16_t        uid16_t;
@@ -7429,10 +7437,10 @@ diff -NurpP --minimal linux-3.13.10/include/linux/types.h linux-3.13.10-vs2.3.6.
  
  typedef unsigned long         uintptr_t;
  
  
  typedef unsigned long         uintptr_t;
  
-diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6.11/include/linux/uidgid.h
---- linux-3.13.10/include/linux/uidgid.h       2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/uidgid.h    2014-01-31 20:38:03.000000000 +0000
-@@ -23,13 +23,17 @@ typedef struct {
+diff -NurpP --minimal linux-3.18.5/include/linux/uidgid.h linux-3.18.5-vs2.3.7.3/include/linux/uidgid.h
+--- linux-3.18.5/include/linux/uidgid.h        2014-06-12 11:35:03.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/uidgid.h      2015-01-25 18:11:57.000000000 +0000
+@@ -21,13 +21,17 @@ typedef struct {
        uid_t val;
  } kuid_t;
  
        uid_t val;
  } kuid_t;
  
@@ -7451,7 +7459,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  
  static inline uid_t __kuid_val(kuid_t uid)
  {
  
  static inline uid_t __kuid_val(kuid_t uid)
  {
-@@ -41,11 +45,18 @@ static inline gid_t __kgid_val(kgid_t gi
+@@ -39,11 +43,18 @@ static inline gid_t __kgid_val(kgid_t gi
        return gid.val;
  }
  
        return gid.val;
  }
  
@@ -7470,7 +7478,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  
  static inline bool uid_eq(kuid_t left, kuid_t right)
  {
  
  static inline bool uid_eq(kuid_t left, kuid_t right)
  {
-@@ -77,6 +95,11 @@ static inline bool gid_eq(kgid_t left, k
+@@ -55,6 +66,11 @@ static inline bool gid_eq(kgid_t left, k
        return __kgid_val(left) == __kgid_val(right);
  }
  
        return __kgid_val(left) == __kgid_val(right);
  }
  
@@ -7482,7 +7490,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  static inline bool uid_gt(kuid_t left, kuid_t right)
  {
        return __kuid_val(left) > __kuid_val(right);
  static inline bool uid_gt(kuid_t left, kuid_t right)
  {
        return __kuid_val(left) > __kuid_val(right);
-@@ -127,13 +150,21 @@ static inline bool gid_valid(kgid_t gid)
+@@ -105,13 +121,21 @@ static inline bool gid_valid(kgid_t gid)
        return !gid_eq(gid, INVALID_GID);
  }
  
        return !gid_eq(gid, INVALID_GID);
  }
  
@@ -7504,7 +7512,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  extern uid_t from_kuid_munged(struct user_namespace *to, kuid_t uid);
  extern gid_t from_kgid_munged(struct user_namespace *to, kgid_t gid);
  
  extern uid_t from_kuid_munged(struct user_namespace *to, kuid_t uid);
  extern gid_t from_kgid_munged(struct user_namespace *to, kgid_t gid);
  
-@@ -159,6 +190,11 @@ static inline kgid_t make_kgid(struct us
+@@ -137,6 +161,11 @@ static inline kgid_t make_kgid(struct us
        return KGIDT_INIT(gid);
  }
  
        return KGIDT_INIT(gid);
  }
  
@@ -7516,7 +7524,7 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  static inline uid_t from_kuid(struct user_namespace *to, kuid_t kuid)
  {
        return __kuid_val(kuid);
  static inline uid_t from_kuid(struct user_namespace *to, kuid_t kuid)
  {
        return __kuid_val(kuid);
-@@ -169,6 +205,11 @@ static inline gid_t from_kgid(struct use
+@@ -147,6 +176,11 @@ static inline gid_t from_kgid(struct use
        return __kgid_val(kgid);
  }
  
        return __kgid_val(kgid);
  }
  
@@ -7528,9 +7536,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/uidgid.h linux-3.13.10-vs2.3.6
  static inline uid_t from_kuid_munged(struct user_namespace *to, kuid_t kuid)
  {
        uid_t uid = from_kuid(to, kuid);
  static inline uid_t from_kuid_munged(struct user_namespace *to, kuid_t kuid)
  {
        uid_t uid = from_kuid(to, kuid);
-diff -NurpP --minimal linux-3.13.10/include/linux/vroot.h linux-3.13.10-vs2.3.6.11/include/linux/vroot.h
---- linux-3.13.10/include/linux/vroot.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vroot.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vroot.h linux-3.18.5-vs2.3.7.3/include/linux/vroot.h
+--- linux-3.18.5/include/linux/vroot.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vroot.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,51 @@
 +
 +/*
 @@ -0,0 +1,51 @@
 +
 +/*
@@ -7583,9 +7591,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vroot.h linux-3.13.10-vs2.3.6.
 +#define VROOT_CLR_DEV         0x5601
 +
 +#endif /* _LINUX_VROOT_H */
 +#define VROOT_CLR_DEV         0x5601
 +
 +#endif /* _LINUX_VROOT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_base.h linux-3.13.10-vs2.3.6.11/include/linux/vs_base.h
---- linux-3.13.10/include/linux/vs_base.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_base.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_base.h linux-3.18.5-vs2.3.7.3/include/linux/vs_base.h
+--- linux-3.18.5/include/linux/vs_base.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_base.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,10 @@
 +#ifndef _VS_BASE_H
 +#define _VS_BASE_H
 @@ -0,0 +1,10 @@
 +#ifndef _VS_BASE_H
 +#define _VS_BASE_H
@@ -7597,9 +7605,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_base.h linux-3.13.10-vs2.3.
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_context.h linux-3.13.10-vs2.3.6.11/include/linux/vs_context.h
---- linux-3.13.10/include/linux/vs_context.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_context.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_context.h linux-3.18.5-vs2.3.7.3/include/linux/vs_context.h
+--- linux-3.18.5/include/linux/vs_context.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_context.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,242 @@
 +#ifndef _VS_CONTEXT_H
 +#define _VS_CONTEXT_H
 @@ -0,0 +1,242 @@
 +#ifndef _VS_CONTEXT_H
 +#define _VS_CONTEXT_H
@@ -7843,9 +7851,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_context.h linux-3.13.10-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_cowbl.h linux-3.13.10-vs2.3.6.11/include/linux/vs_cowbl.h
---- linux-3.13.10/include/linux/vs_cowbl.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_cowbl.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_cowbl.h linux-3.18.5-vs2.3.7.3/include/linux/vs_cowbl.h
+--- linux-3.18.5/include/linux/vs_cowbl.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_cowbl.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,48 @@
 +#ifndef _VS_COWBL_H
 +#define _VS_COWBL_H
 @@ -0,0 +1,48 @@
 +#ifndef _VS_COWBL_H
 +#define _VS_COWBL_H
@@ -7895,9 +7903,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_cowbl.h linux-3.13.10-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_cvirt.h linux-3.13.10-vs2.3.6.11/include/linux/vs_cvirt.h
---- linux-3.13.10/include/linux/vs_cvirt.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_cvirt.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_cvirt.h linux-3.18.5-vs2.3.7.3/include/linux/vs_cvirt.h
+--- linux-3.18.5/include/linux/vs_cvirt.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_cvirt.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,50 @@
 +#ifndef _VS_CVIRT_H
 +#define _VS_CVIRT_H
 @@ -0,0 +1,50 @@
 +#ifndef _VS_CVIRT_H
 +#define _VS_CVIRT_H
@@ -7949,9 +7957,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_cvirt.h linux-3.13.10-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_device.h linux-3.13.10-vs2.3.6.11/include/linux/vs_device.h
---- linux-3.13.10/include/linux/vs_device.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_device.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_device.h linux-3.18.5-vs2.3.7.3/include/linux/vs_device.h
+--- linux-3.18.5/include/linux/vs_device.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_device.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,45 @@
 +#ifndef _VS_DEVICE_H
 +#define _VS_DEVICE_H
 @@ -0,0 +1,45 @@
 +#ifndef _VS_DEVICE_H
 +#define _VS_DEVICE_H
@@ -7998,9 +8006,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_device.h linux-3.13.10-vs2.
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_dlimit.h linux-3.13.10-vs2.3.6.11/include/linux/vs_dlimit.h
---- linux-3.13.10/include/linux/vs_dlimit.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_dlimit.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_dlimit.h linux-3.18.5-vs2.3.7.3/include/linux/vs_dlimit.h
+--- linux-3.18.5/include/linux/vs_dlimit.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_dlimit.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,215 @@
 +#ifndef _VS_DLIMIT_H
 +#define _VS_DLIMIT_H
 @@ -0,0 +1,215 @@
 +#ifndef _VS_DLIMIT_H
 +#define _VS_DLIMIT_H
@@ -8217,9 +8225,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_dlimit.h linux-3.13.10-vs2.
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_inet.h linux-3.13.10-vs2.3.6.11/include/linux/vs_inet.h
---- linux-3.13.10/include/linux/vs_inet.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_inet.h   2014-02-01 00:32:45.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_inet.h linux-3.18.5-vs2.3.7.3/include/linux/vs_inet.h
+--- linux-3.18.5/include/linux/vs_inet.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_inet.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,364 @@
 +#ifndef _VS_INET_H
 +#define _VS_INET_H
 @@ -0,0 +1,364 @@
 +#ifndef _VS_INET_H
 +#define _VS_INET_H
@@ -8585,9 +8593,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_inet.h linux-3.13.10-vs2.3.
 +#else
 +// #warning duplicate inclusion
 +#endif
 +#else
 +// #warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_inet6.h linux-3.13.10-vs2.3.6.11/include/linux/vs_inet6.h
---- linux-3.13.10/include/linux/vs_inet6.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_inet6.h  2014-02-01 00:35:02.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_inet6.h linux-3.18.5-vs2.3.7.3/include/linux/vs_inet6.h
+--- linux-3.18.5/include/linux/vs_inet6.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_inet6.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,257 @@
 +#ifndef _VS_INET6_H
 +#define _VS_INET6_H
 @@ -0,0 +1,257 @@
 +#ifndef _VS_INET6_H
 +#define _VS_INET6_H
@@ -8846,9 +8854,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_inet6.h linux-3.13.10-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_limit.h linux-3.13.10-vs2.3.6.11/include/linux/vs_limit.h
---- linux-3.13.10/include/linux/vs_limit.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_limit.h  2014-02-01 01:29:43.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_limit.h linux-3.18.5-vs2.3.7.3/include/linux/vs_limit.h
+--- linux-3.18.5/include/linux/vs_limit.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_limit.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,140 @@
 +#ifndef _VS_LIMIT_H
 +#define _VS_LIMIT_H
 @@ -0,0 +1,140 @@
 +#ifndef _VS_LIMIT_H
 +#define _VS_LIMIT_H
@@ -8990,9 +8998,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_limit.h linux-3.13.10-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_network.h linux-3.13.10-vs2.3.6.11/include/linux/vs_network.h
---- linux-3.13.10/include/linux/vs_network.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_network.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_network.h linux-3.18.5-vs2.3.7.3/include/linux/vs_network.h
+--- linux-3.18.5/include/linux/vs_network.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_network.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,169 @@
 +#ifndef _NX_VS_NETWORK_H
 +#define _NX_VS_NETWORK_H
 @@ -0,0 +1,169 @@
 +#ifndef _NX_VS_NETWORK_H
 +#define _NX_VS_NETWORK_H
@@ -9163,9 +9171,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_network.h linux-3.13.10-vs2
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_pid.h linux-3.13.10-vs2.3.6.11/include/linux/vs_pid.h
---- linux-3.13.10/include/linux/vs_pid.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_pid.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_pid.h linux-3.18.5-vs2.3.7.3/include/linux/vs_pid.h
+--- linux-3.18.5/include/linux/vs_pid.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_pid.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,50 @@
 +#ifndef _VS_PID_H
 +#define _VS_PID_H
 @@ -0,0 +1,50 @@
 +#ifndef _VS_PID_H
 +#define _VS_PID_H
@@ -9217,9 +9225,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_pid.h linux-3.13.10-vs2.3.6
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_sched.h linux-3.13.10-vs2.3.6.11/include/linux/vs_sched.h
---- linux-3.13.10/include/linux/vs_sched.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_sched.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_sched.h linux-3.18.5-vs2.3.7.3/include/linux/vs_sched.h
+--- linux-3.18.5/include/linux/vs_sched.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_sched.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,40 @@
 +#ifndef _VS_SCHED_H
 +#define _VS_SCHED_H
 @@ -0,0 +1,40 @@
 +#ifndef _VS_SCHED_H
 +#define _VS_SCHED_H
@@ -9261,9 +9269,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_sched.h linux-3.13.10-vs2.3
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_socket.h linux-3.13.10-vs2.3.6.11/include/linux/vs_socket.h
---- linux-3.13.10/include/linux/vs_socket.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_socket.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_socket.h linux-3.18.5-vs2.3.7.3/include/linux/vs_socket.h
+--- linux-3.18.5/include/linux/vs_socket.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_socket.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,67 @@
 +#ifndef _VS_SOCKET_H
 +#define _VS_SOCKET_H
 @@ -0,0 +1,67 @@
 +#ifndef _VS_SOCKET_H
 +#define _VS_SOCKET_H
@@ -9332,9 +9340,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_socket.h linux-3.13.10-vs2.
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_tag.h linux-3.13.10-vs2.3.6.11/include/linux/vs_tag.h
---- linux-3.13.10/include/linux/vs_tag.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_tag.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_tag.h linux-3.18.5-vs2.3.7.3/include/linux/vs_tag.h
+--- linux-3.18.5/include/linux/vs_tag.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_tag.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,47 @@
 +#ifndef _VS_TAG_H
 +#define _VS_TAG_H
 @@ -0,0 +1,47 @@
 +#ifndef _VS_TAG_H
 +#define _VS_TAG_H
@@ -9383,9 +9391,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_tag.h linux-3.13.10-vs2.3.6
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vs_time.h linux-3.13.10-vs2.3.6.11/include/linux/vs_time.h
---- linux-3.13.10/include/linux/vs_time.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vs_time.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vs_time.h linux-3.18.5-vs2.3.7.3/include/linux/vs_time.h
+--- linux-3.18.5/include/linux/vs_time.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vs_time.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,19 @@
 +#ifndef _VS_TIME_H
 +#define _VS_TIME_H
 @@ -0,0 +1,19 @@
 +#ifndef _VS_TIME_H
 +#define _VS_TIME_H
@@ -9406,9 +9414,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vs_time.h linux-3.13.10-vs2.3.
 +#else
 +#warning duplicate inclusion
 +#endif
 +#else
 +#warning duplicate inclusion
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/base.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/base.h
---- linux-3.13.10/include/linux/vserver/base.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/base.h      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/base.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/base.h
+--- linux-3.18.5/include/linux/vserver/base.h  1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/base.h        2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,184 @@
 +#ifndef _VSERVER_BASE_H
 +#define _VSERVER_BASE_H
 @@ -0,0 +1,184 @@
 +#ifndef _VSERVER_BASE_H
 +#define _VSERVER_BASE_H
@@ -9594,9 +9602,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/base.h linux-3.13.10-v
 +#define nx_info_state(n, m)   (__nx_state(n) & (m))
 +
 +#endif
 +#define nx_info_state(n, m)   (__nx_state(n) & (m))
 +
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct.h
---- linux-3.13.10/include/linux/vserver/cacct.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cacct.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct.h
+--- linux-3.18.5/include/linux/vserver/cacct.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,15 @@
 +#ifndef _VSERVER_CACCT_H
 +#define _VSERVER_CACCT_H
 @@ -0,0 +1,15 @@
 +#ifndef _VSERVER_CACCT_H
 +#define _VSERVER_CACCT_H
@@ -9613,9 +9621,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct.h linux-3.13.10-
 +};
 +
 +#endif        /* _VSERVER_CACCT_H */
 +};
 +
 +#endif        /* _VSERVER_CACCT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_cmd.h
---- linux-3.13.10/include/linux/vserver/cacct_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cacct_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_cmd.h
+--- linux-3.18.5/include/linux/vserver/cacct_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,10 @@
 +#ifndef _VSERVER_CACCT_CMD_H
 +#define _VSERVER_CACCT_CMD_H
 @@ -0,0 +1,10 @@
 +#ifndef _VSERVER_CACCT_CMD_H
 +#define _VSERVER_CACCT_CMD_H
@@ -9627,9 +9635,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_cmd.h linux-3.13
 +extern int vc_sock_stat(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CACCT_CMD_H */
 +extern int vc_sock_stat(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CACCT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_def.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_def.h
---- linux-3.13.10/include/linux/vserver/cacct_def.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_def.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cacct_def.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_def.h
+--- linux-3.18.5/include/linux/vserver/cacct_def.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_def.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,43 @@
 +#ifndef _VSERVER_CACCT_DEF_H
 +#define _VSERVER_CACCT_DEF_H
 @@ -0,0 +1,43 @@
 +#ifndef _VSERVER_CACCT_DEF_H
 +#define _VSERVER_CACCT_DEF_H
@@ -9674,9 +9682,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_def.h linux-3.13
 +#endif
 +
 +#endif        /* _VSERVER_CACCT_DEF_H */
 +#endif
 +
 +#endif        /* _VSERVER_CACCT_DEF_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_int.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_int.h
---- linux-3.13.10/include/linux/vserver/cacct_int.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cacct_int.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cacct_int.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_int.h
+--- linux-3.18.5/include/linux/vserver/cacct_int.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cacct_int.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,17 @@
 +#ifndef _VSERVER_CACCT_INT_H
 +#define _VSERVER_CACCT_INT_H
 @@ -0,0 +1,17 @@
 +#ifndef _VSERVER_CACCT_INT_H
 +#define _VSERVER_CACCT_INT_H
@@ -9695,9 +9703,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cacct_int.h linux-3.13
 +}
 +
 +#endif        /* _VSERVER_CACCT_INT_H */
 +}
 +
 +#endif        /* _VSERVER_CACCT_INT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/check.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/check.h
---- linux-3.13.10/include/linux/vserver/check.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/check.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/check.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/check.h
+--- linux-3.18.5/include/linux/vserver/check.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/check.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,89 @@
 +#ifndef _VSERVER_CHECK_H
 +#define _VSERVER_CHECK_H
 @@ -0,0 +1,89 @@
 +#ifndef _VSERVER_CHECK_H
 +#define _VSERVER_CHECK_H
@@ -9788,9 +9796,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/check.h linux-3.13.10-
 +#define nx_weak_check(c, m)   ((m) ? nx_check(c, m) : 1)
 +
 +#endif
 +#define nx_weak_check(c, m)   ((m) ? nx_check(c, m) : 1)
 +
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/context.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/context.h
---- linux-3.13.10/include/linux/vserver/context.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/context.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/context.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/context.h
+--- linux-3.18.5/include/linux/vserver/context.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/context.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,110 @@
 +#ifndef _VSERVER_CONTEXT_H
 +#define _VSERVER_CONTEXT_H
 @@ -0,0 +1,110 @@
 +#ifndef _VSERVER_CONTEXT_H
 +#define _VSERVER_CONTEXT_H
@@ -9902,9 +9910,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/context.h linux-3.13.1
 +
 +
 +#endif        /* _VSERVER_CONTEXT_H */
 +
 +
 +#endif        /* _VSERVER_CONTEXT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/context_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/context_cmd.h
---- linux-3.13.10/include/linux/vserver/context_cmd.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/context_cmd.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/context_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/context_cmd.h
+--- linux-3.18.5/include/linux/vserver/context_cmd.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/context_cmd.h 2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,33 @@
 +#ifndef _VSERVER_CONTEXT_CMD_H
 +#define _VSERVER_CONTEXT_CMD_H
 @@ -0,0 +1,33 @@
 +#ifndef _VSERVER_CONTEXT_CMD_H
 +#define _VSERVER_CONTEXT_CMD_H
@@ -9939,9 +9947,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/context_cmd.h linux-3.
 +extern int vc_set_badness(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CONTEXT_CMD_H */
 +extern int vc_set_badness(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt.h
---- linux-3.13.10/include/linux/vserver/cvirt.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cvirt.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt.h
+--- linux-3.18.5/include/linux/vserver/cvirt.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,18 @@
 +#ifndef _VSERVER_CVIRT_H
 +#define _VSERVER_CVIRT_H
 @@ -0,0 +1,18 @@
 +#ifndef _VSERVER_CVIRT_H
 +#define _VSERVER_CVIRT_H
@@ -9961,9 +9969,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt.h linux-3.13.10-
 +int vx_do_syslog(int, char __user *, int);
 +
 +#endif        /* _VSERVER_CVIRT_H */
 +int vx_do_syslog(int, char __user *, int);
 +
 +#endif        /* _VSERVER_CVIRT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt_cmd.h
---- linux-3.13.10/include/linux/vserver/cvirt_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cvirt_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt_cmd.h
+--- linux-3.18.5/include/linux/vserver/cvirt_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,13 @@
 +#ifndef _VSERVER_CVIRT_CMD_H
 +#define _VSERVER_CVIRT_CMD_H
 @@ -0,0 +1,13 @@
 +#ifndef _VSERVER_CVIRT_CMD_H
 +#define _VSERVER_CVIRT_CMD_H
@@ -9978,9 +9986,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt_cmd.h linux-3.13
 +extern int vc_virt_stat(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CVIRT_CMD_H */
 +extern int vc_virt_stat(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CVIRT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt_def.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt_def.h
---- linux-3.13.10/include/linux/vserver/cvirt_def.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/cvirt_def.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/cvirt_def.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt_def.h
+--- linux-3.18.5/include/linux/vserver/cvirt_def.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/cvirt_def.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,80 @@
 +#ifndef _VSERVER_CVIRT_DEF_H
 +#define _VSERVER_CVIRT_DEF_H
 @@ -0,0 +1,80 @@
 +#ifndef _VSERVER_CVIRT_DEF_H
 +#define _VSERVER_CVIRT_DEF_H
@@ -10062,9 +10070,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/cvirt_def.h linux-3.13
 +#endif
 +
 +#endif        /* _VSERVER_CVIRT_DEF_H */
 +#endif
 +
 +#endif        /* _VSERVER_CVIRT_DEF_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/debug.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/debug.h
---- linux-3.13.10/include/linux/vserver/debug.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/debug.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/debug.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/debug.h
+--- linux-3.18.5/include/linux/vserver/debug.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/debug.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,146 @@
 +#ifndef _VSERVER_DEBUG_H
 +#define _VSERVER_DEBUG_H
 @@ -0,0 +1,146 @@
 +#ifndef _VSERVER_DEBUG_H
 +#define _VSERVER_DEBUG_H
@@ -10212,9 +10220,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/debug.h linux-3.13.10-
 +
 +
 +#endif /* _VSERVER_DEBUG_H */
 +
 +
 +#endif /* _VSERVER_DEBUG_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/debug_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/debug_cmd.h
---- linux-3.13.10/include/linux/vserver/debug_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/debug_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/debug_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/debug_cmd.h
+--- linux-3.18.5/include/linux/vserver/debug_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/debug_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,37 @@
 +#ifndef _VSERVER_DEBUG_CMD_H
 +#define _VSERVER_DEBUG_CMD_H
 @@ -0,0 +1,37 @@
 +#ifndef _VSERVER_DEBUG_CMD_H
 +#define _VSERVER_DEBUG_CMD_H
@@ -10253,9 +10261,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/debug_cmd.h linux-3.13
 +#endif  /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DEBUG_CMD_H */
 +#endif  /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DEBUG_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/device.h
---- linux-3.13.10/include/linux/vserver/device.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/device.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/device.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/device.h
+--- linux-3.18.5/include/linux/vserver/device.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/device.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,9 @@
 +#ifndef _VSERVER_DEVICE_H
 +#define _VSERVER_DEVICE_H
 @@ -0,0 +1,9 @@
 +#ifndef _VSERVER_DEVICE_H
 +#define _VSERVER_DEVICE_H
@@ -10266,9 +10274,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device.h linux-3.13.10
 +#else /* _VSERVER_DEVICE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_DEVICE_H */
 +#else /* _VSERVER_DEVICE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_DEVICE_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/device_cmd.h
---- linux-3.13.10/include/linux/vserver/device_cmd.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/device_cmd.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/device_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/device_cmd.h
+--- linux-3.18.5/include/linux/vserver/device_cmd.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/device_cmd.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,31 @@
 +#ifndef _VSERVER_DEVICE_CMD_H
 +#define _VSERVER_DEVICE_CMD_H
 @@ -0,0 +1,31 @@
 +#ifndef _VSERVER_DEVICE_CMD_H
 +#define _VSERVER_DEVICE_CMD_H
@@ -10301,9 +10309,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device_cmd.h linux-3.1
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DEVICE_CMD_H */
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DEVICE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device_def.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/device_def.h
---- linux-3.13.10/include/linux/vserver/device_def.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/device_def.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/device_def.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/device_def.h
+--- linux-3.18.5/include/linux/vserver/device_def.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/device_def.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,17 @@
 +#ifndef _VSERVER_DEVICE_DEF_H
 +#define _VSERVER_DEVICE_DEF_H
 @@ -0,0 +1,17 @@
 +#ifndef _VSERVER_DEVICE_DEF_H
 +#define _VSERVER_DEVICE_DEF_H
@@ -10322,9 +10330,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/device_def.h linux-3.1
 +};
 +
 +#endif        /* _VSERVER_DEVICE_DEF_H */
 +};
 +
 +#endif        /* _VSERVER_DEVICE_DEF_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/dlimit.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/dlimit.h
---- linux-3.13.10/include/linux/vserver/dlimit.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/dlimit.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/dlimit.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/dlimit.h
+--- linux-3.18.5/include/linux/vserver/dlimit.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/dlimit.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,54 @@
 +#ifndef _VSERVER_DLIMIT_H
 +#define _VSERVER_DLIMIT_H
 @@ -0,0 +1,54 @@
 +#ifndef _VSERVER_DLIMIT_H
 +#define _VSERVER_DLIMIT_H
@@ -10380,9 +10388,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/dlimit.h linux-3.13.10
 +#else /* _VSERVER_DLIMIT_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_DLIMIT_H */
 +#else /* _VSERVER_DLIMIT_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_DLIMIT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/dlimit_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/dlimit_cmd.h
---- linux-3.13.10/include/linux/vserver/dlimit_cmd.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/dlimit_cmd.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/dlimit_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/dlimit_cmd.h
+--- linux-3.18.5/include/linux/vserver/dlimit_cmd.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/dlimit_cmd.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,46 @@
 +#ifndef _VSERVER_DLIMIT_CMD_H
 +#define _VSERVER_DLIMIT_CMD_H
 @@ -0,0 +1,46 @@
 +#ifndef _VSERVER_DLIMIT_CMD_H
 +#define _VSERVER_DLIMIT_CMD_H
@@ -10430,9 +10438,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/dlimit_cmd.h linux-3.1
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DLIMIT_CMD_H */
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/global.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/global.h
---- linux-3.13.10/include/linux/vserver/global.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/global.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/global.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/global.h
+--- linux-3.18.5/include/linux/vserver/global.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/global.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,19 @@
 +#ifndef _VSERVER_GLOBAL_H
 +#define _VSERVER_GLOBAL_H
 @@ -0,0 +1,19 @@
 +#ifndef _VSERVER_GLOBAL_H
 +#define _VSERVER_GLOBAL_H
@@ -10453,9 +10461,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/global.h linux-3.13.10
 +
 +
 +#endif /* _VSERVER_GLOBAL_H */
 +
 +
 +#endif /* _VSERVER_GLOBAL_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/history.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/history.h
---- linux-3.13.10/include/linux/vserver/history.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/history.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/history.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/history.h
+--- linux-3.18.5/include/linux/vserver/history.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/history.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,197 @@
 +#ifndef _VSERVER_HISTORY_H
 +#define _VSERVER_HISTORY_H
 @@ -0,0 +1,197 @@
 +#ifndef _VSERVER_HISTORY_H
 +#define _VSERVER_HISTORY_H
@@ -10654,9 +10662,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/history.h linux-3.13.1
 +#endif /* CONFIG_VSERVER_HISTORY */
 +
 +#endif /* _VSERVER_HISTORY_H */
 +#endif /* CONFIG_VSERVER_HISTORY */
 +
 +#endif /* _VSERVER_HISTORY_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/inode.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/inode.h
---- linux-3.13.10/include/linux/vserver/inode.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/inode.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/inode.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/inode.h
+--- linux-3.18.5/include/linux/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/inode.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,19 @@
 +#ifndef _VSERVER_INODE_H
 +#define _VSERVER_INODE_H
 @@ -0,0 +1,19 @@
 +#ifndef _VSERVER_INODE_H
 +#define _VSERVER_INODE_H
@@ -10677,9 +10685,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/inode.h linux-3.13.10-
 +#else /* _VSERVER_INODE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_INODE_H */
 +#else /* _VSERVER_INODE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_INODE_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/inode_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/inode_cmd.h
---- linux-3.13.10/include/linux/vserver/inode_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/inode_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/inode_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/inode_cmd.h
+--- linux-3.18.5/include/linux/vserver/inode_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/inode_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,36 @@
 +#ifndef _VSERVER_INODE_CMD_H
 +#define _VSERVER_INODE_CMD_H
 @@ -0,0 +1,36 @@
 +#ifndef _VSERVER_INODE_CMD_H
 +#define _VSERVER_INODE_CMD_H
@@ -10717,9 +10725,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/inode_cmd.h linux-3.13
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_INODE_CMD_H */
 +#endif        /* CONFIG_COMPAT */
 +
 +#endif        /* _VSERVER_INODE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit.h
---- linux-3.13.10/include/linux/vserver/limit.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/limit.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit.h
+--- linux-3.18.5/include/linux/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,61 @@
 +#ifndef _VSERVER_LIMIT_H
 +#define _VSERVER_LIMIT_H
 @@ -0,0 +1,61 @@
 +#ifndef _VSERVER_LIMIT_H
 +#define _VSERVER_LIMIT_H
@@ -10782,9 +10790,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit.h linux-3.13.10-
 +#define NUM_LIMITS    24
 +
 +#endif        /* _VSERVER_LIMIT_H */
 +#define NUM_LIMITS    24
 +
 +#endif        /* _VSERVER_LIMIT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_cmd.h
---- linux-3.13.10/include/linux/vserver/limit_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/limit_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_cmd.h
+--- linux-3.18.5/include/linux/vserver/limit_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,35 @@
 +#ifndef _VSERVER_LIMIT_CMD_H
 +#define _VSERVER_LIMIT_CMD_H
 @@ -0,0 +1,35 @@
 +#ifndef _VSERVER_LIMIT_CMD_H
 +#define _VSERVER_LIMIT_CMD_H
@@ -10821,9 +10829,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_cmd.h linux-3.13
 +#endif        /* CONFIG_IA32_EMULATION */
 +
 +#endif        /* _VSERVER_LIMIT_CMD_H */
 +#endif        /* CONFIG_IA32_EMULATION */
 +
 +#endif        /* _VSERVER_LIMIT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_def.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_def.h
---- linux-3.13.10/include/linux/vserver/limit_def.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_def.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/limit_def.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_def.h
+--- linux-3.18.5/include/linux/vserver/limit_def.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_def.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,47 @@
 +#ifndef _VSERVER_LIMIT_DEF_H
 +#define _VSERVER_LIMIT_DEF_H
 @@ -0,0 +1,47 @@
 +#ifndef _VSERVER_LIMIT_DEF_H
 +#define _VSERVER_LIMIT_DEF_H
@@ -10872,9 +10880,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_def.h linux-3.13
 +#endif
 +
 +#endif        /* _VSERVER_LIMIT_DEF_H */
 +#endif
 +
 +#endif        /* _VSERVER_LIMIT_DEF_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_int.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_int.h
---- linux-3.13.10/include/linux/vserver/limit_int.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/limit_int.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/limit_int.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_int.h
+--- linux-3.18.5/include/linux/vserver/limit_int.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/limit_int.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,193 @@
 +#ifndef _VSERVER_LIMIT_INT_H
 +#define _VSERVER_LIMIT_INT_H
 @@ -0,0 +1,193 @@
 +#ifndef _VSERVER_LIMIT_INT_H
 +#define _VSERVER_LIMIT_INT_H
@@ -11069,9 +11077,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/limit_int.h linux-3.13
 +
 +
 +#endif        /* _VSERVER_LIMIT_INT_H */
 +
 +
 +#endif        /* _VSERVER_LIMIT_INT_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/monitor.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/monitor.h
---- linux-3.13.10/include/linux/vserver/monitor.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/monitor.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/monitor.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/monitor.h
+--- linux-3.18.5/include/linux/vserver/monitor.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/monitor.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,6 @@
 +#ifndef _VSERVER_MONITOR_H
 +#define _VSERVER_MONITOR_H
 @@ -0,0 +1,6 @@
 +#ifndef _VSERVER_MONITOR_H
 +#define _VSERVER_MONITOR_H
@@ -11079,9 +11087,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/monitor.h linux-3.13.1
 +#include <uapi/vserver/monitor.h>
 +
 +#endif /* _VSERVER_MONITOR_H */
 +#include <uapi/vserver/monitor.h>
 +
 +#endif /* _VSERVER_MONITOR_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/network.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/network.h
---- linux-3.13.10/include/linux/vserver/network.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/network.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/network.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/network.h
+--- linux-3.18.5/include/linux/vserver/network.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/network.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,76 @@
 +#ifndef _VSERVER_NETWORK_H
 +#define _VSERVER_NETWORK_H
 @@ -0,0 +1,76 @@
 +#ifndef _VSERVER_NETWORK_H
 +#define _VSERVER_NETWORK_H
@@ -11159,9 +11167,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/network.h linux-3.13.1
 +#endif
 +
 +#endif        /* _VSERVER_NETWORK_H */
 +#endif
 +
 +#endif        /* _VSERVER_NETWORK_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/network_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/network_cmd.h
---- linux-3.13.10/include/linux/vserver/network_cmd.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/network_cmd.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/network_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/network_cmd.h
+--- linux-3.18.5/include/linux/vserver/network_cmd.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/network_cmd.h 2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,37 @@
 +#ifndef _VSERVER_NETWORK_CMD_H
 +#define _VSERVER_NETWORK_CMD_H
 @@ -0,0 +1,37 @@
 +#ifndef _VSERVER_NETWORK_CMD_H
 +#define _VSERVER_NETWORK_CMD_H
@@ -11200,9 +11208,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/network_cmd.h linux-3.
 +extern int vc_set_ncaps(struct nx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CONTEXT_CMD_H */
 +extern int vc_set_ncaps(struct nx_info *, void __user *);
 +
 +#endif        /* _VSERVER_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/percpu.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/percpu.h
---- linux-3.13.10/include/linux/vserver/percpu.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/percpu.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/percpu.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/percpu.h
+--- linux-3.18.5/include/linux/vserver/percpu.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/percpu.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_PERCPU_H
 +#define _VSERVER_PERCPU_H
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_PERCPU_H
 +#define _VSERVER_PERCPU_H
@@ -11218,9 +11226,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/percpu.h linux-3.13.10
 +#define       PERCPU_PERCTX   (sizeof(struct _vx_percpu))
 +
 +#endif        /* _VSERVER_PERCPU_H */
 +#define       PERCPU_PERCTX   (sizeof(struct _vx_percpu))
 +
 +#endif        /* _VSERVER_PERCPU_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/pid.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/pid.h
---- linux-3.13.10/include/linux/vserver/pid.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/pid.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/pid.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/pid.h
+--- linux-3.18.5/include/linux/vserver/pid.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/pid.h 2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,51 @@
 +#ifndef _VSERVER_PID_H
 +#define _VSERVER_PID_H
 @@ -0,0 +1,51 @@
 +#ifndef _VSERVER_PID_H
 +#define _VSERVER_PID_H
@@ -11273,9 +11281,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/pid.h linux-3.13.10-vs
 +}
 +
 +#endif
 +}
 +
 +#endif
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched.h
---- linux-3.13.10/include/linux/vserver/sched.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/sched.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched.h
+--- linux-3.18.5/include/linux/vserver/sched.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,23 @@
 +#ifndef _VSERVER_SCHED_H
 +#define _VSERVER_SCHED_H
 @@ -0,0 +1,23 @@
 +#ifndef _VSERVER_SCHED_H
 +#define _VSERVER_SCHED_H
@@ -11300,9 +11308,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched.h linux-3.13.10-
 +#else /* _VSERVER_SCHED_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SCHED_H */
 +#else /* _VSERVER_SCHED_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SCHED_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched_cmd.h
---- linux-3.13.10/include/linux/vserver/sched_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/sched_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched_cmd.h
+--- linux-3.18.5/include/linux/vserver/sched_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,11 @@
 +#ifndef _VSERVER_SCHED_CMD_H
 +#define _VSERVER_SCHED_CMD_H
 @@ -0,0 +1,11 @@
 +#ifndef _VSERVER_SCHED_CMD_H
 +#define _VSERVER_SCHED_CMD_H
@@ -11315,9 +11323,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched_cmd.h linux-3.13
 +extern int vc_get_prio_bias(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_SCHED_CMD_H */
 +extern int vc_get_prio_bias(struct vx_info *, void __user *);
 +
 +#endif        /* _VSERVER_SCHED_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched_def.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched_def.h
---- linux-3.13.10/include/linux/vserver/sched_def.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/sched_def.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/sched_def.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched_def.h
+--- linux-3.18.5/include/linux/vserver/sched_def.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/sched_def.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,38 @@
 +#ifndef _VSERVER_SCHED_DEF_H
 +#define _VSERVER_SCHED_DEF_H
 @@ -0,0 +1,38 @@
 +#ifndef _VSERVER_SCHED_DEF_H
 +#define _VSERVER_SCHED_DEF_H
@@ -11357,9 +11365,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/sched_def.h linux-3.13
 +#endif
 +
 +#endif        /* _VSERVER_SCHED_DEF_H */
 +#endif
 +
 +#endif        /* _VSERVER_SCHED_DEF_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/signal.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/signal.h
---- linux-3.13.10/include/linux/vserver/signal.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/signal.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/signal.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/signal.h
+--- linux-3.18.5/include/linux/vserver/signal.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/signal.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_SIGNAL_H
 +#define _VSERVER_SIGNAL_H
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_SIGNAL_H
 +#define _VSERVER_SIGNAL_H
@@ -11375,9 +11383,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/signal.h linux-3.13.10
 +#else /* _VSERVER_SIGNAL_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SIGNAL_H */
 +#else /* _VSERVER_SIGNAL_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SIGNAL_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/signal_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/signal_cmd.h
---- linux-3.13.10/include/linux/vserver/signal_cmd.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/signal_cmd.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/signal_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/signal_cmd.h
+--- linux-3.18.5/include/linux/vserver/signal_cmd.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/signal_cmd.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_SIGNAL_CMD_H
 +#define _VSERVER_SIGNAL_CMD_H
 @@ -0,0 +1,14 @@
 +#ifndef _VSERVER_SIGNAL_CMD_H
 +#define _VSERVER_SIGNAL_CMD_H
@@ -11393,9 +11401,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/signal_cmd.h linux-3.1
 +extern int vc_set_pflags(uint32_t pid, void __user *);
 +
 +#endif        /* _VSERVER_SIGNAL_CMD_H */
 +extern int vc_set_pflags(uint32_t pid, void __user *);
 +
 +#endif        /* _VSERVER_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/space.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/space.h
---- linux-3.13.10/include/linux/vserver/space.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/space.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/space.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/space.h
+--- linux-3.18.5/include/linux/vserver/space.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/space.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,12 @@
 +#ifndef _VSERVER_SPACE_H
 +#define _VSERVER_SPACE_H
 @@ -0,0 +1,12 @@
 +#ifndef _VSERVER_SPACE_H
 +#define _VSERVER_SPACE_H
@@ -11409,9 +11417,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/space.h linux-3.13.10-
 +#else /* _VSERVER_SPACE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SPACE_H */
 +#else /* _VSERVER_SPACE_H */
 +#warning duplicate inclusion
 +#endif        /* _VSERVER_SPACE_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/space_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/space_cmd.h
---- linux-3.13.10/include/linux/vserver/space_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/space_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/space_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/space_cmd.h
+--- linux-3.18.5/include/linux/vserver/space_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/space_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,13 @@
 +#ifndef _VSERVER_SPACE_CMD_H
 +#define _VSERVER_SPACE_CMD_H
 @@ -0,0 +1,13 @@
 +#ifndef _VSERVER_SPACE_CMD_H
 +#define _VSERVER_SPACE_CMD_H
@@ -11426,9 +11434,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/space_cmd.h linux-3.13
 +extern int vc_get_space_mask(void __user *, int);
 +
 +#endif        /* _VSERVER_SPACE_CMD_H */
 +extern int vc_get_space_mask(void __user *, int);
 +
 +#endif        /* _VSERVER_SPACE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/switch.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/switch.h
---- linux-3.13.10/include/linux/vserver/switch.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/switch.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/switch.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/switch.h
+--- linux-3.18.5/include/linux/vserver/switch.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/switch.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,8 @@
 +#ifndef _VSERVER_SWITCH_H
 +#define _VSERVER_SWITCH_H
 @@ -0,0 +1,8 @@
 +#ifndef _VSERVER_SWITCH_H
 +#define _VSERVER_SWITCH_H
@@ -11438,9 +11446,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/switch.h linux-3.13.10
 +#include <uapi/vserver/switch.h>
 +
 +#endif        /* _VSERVER_SWITCH_H */
 +#include <uapi/vserver/switch.h>
 +
 +#endif        /* _VSERVER_SWITCH_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/tag.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/tag.h
---- linux-3.13.10/include/linux/vserver/tag.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/tag.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/tag.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/tag.h
+--- linux-3.18.5/include/linux/vserver/tag.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/tag.h 2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,160 @@
 +#ifndef _DX_TAG_H
 +#define _DX_TAG_H
 @@ -0,0 +1,160 @@
 +#ifndef _DX_TAG_H
 +#define _DX_TAG_H
@@ -11602,9 +11610,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/tag.h linux-3.13.10-vs
 +#endif
 +
 +#endif /* _DX_TAG_H */
 +#endif
 +
 +#endif /* _DX_TAG_H */
-diff -NurpP --minimal linux-3.13.10/include/linux/vserver/tag_cmd.h linux-3.13.10-vs2.3.6.11/include/linux/vserver/tag_cmd.h
---- linux-3.13.10/include/linux/vserver/tag_cmd.h      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/linux/vserver/tag_cmd.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/linux/vserver/tag_cmd.h linux-3.18.5-vs2.3.7.3/include/linux/vserver/tag_cmd.h
+--- linux-3.18.5/include/linux/vserver/tag_cmd.h       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/linux/vserver/tag_cmd.h     2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,10 @@
 +#ifndef _VSERVER_TAG_CMD_H
 +#define _VSERVER_TAG_CMD_H
 @@ -0,0 +1,10 @@
 +#ifndef _VSERVER_TAG_CMD_H
 +#define _VSERVER_TAG_CMD_H
@@ -11616,9 +11624,9 @@ diff -NurpP --minimal linux-3.13.10/include/linux/vserver/tag_cmd.h linux-3.13.1
 +extern int vc_tag_migrate(uint32_t);
 +
 +#endif        /* _VSERVER_TAG_CMD_H */
 +extern int vc_tag_migrate(uint32_t);
 +
 +#endif        /* _VSERVER_TAG_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/net/addrconf.h linux-3.13.10-vs2.3.6.11/include/net/addrconf.h
---- linux-3.13.10/include/net/addrconf.h       2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/addrconf.h    2014-01-31 20:39:35.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/net/addrconf.h linux-3.18.5-vs2.3.7.3/include/net/addrconf.h
+--- linux-3.18.5/include/net/addrconf.h        2015-01-17 02:40:22.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/addrconf.h      2015-01-19 10:58:04.000000000 +0000
 @@ -79,7 +79,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
  
  int ipv6_dev_get_saddr(struct net *net, const struct net_device *dev,
 @@ -79,7 +79,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
  
  int ipv6_dev_get_saddr(struct net *net, const struct net_device *dev,
@@ -11626,11 +11634,11 @@ diff -NurpP --minimal linux-3.13.10/include/net/addrconf.h linux-3.13.10-vs2.3.6
 -                     struct in6_addr *saddr);
 +                     struct in6_addr *saddr, struct nx_info *nxi);
  int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
 -                     struct in6_addr *saddr);
 +                     struct in6_addr *saddr, struct nx_info *nxi);
  int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
-                     unsigned char banned_flags);
+                     u32 banned_flags);
  int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
  int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
-diff -NurpP --minimal linux-3.13.10/include/net/af_unix.h linux-3.13.10-vs2.3.6.11/include/net/af_unix.h
---- linux-3.13.10/include/net/af_unix.h        2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/af_unix.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/net/af_unix.h linux-3.18.5-vs2.3.7.3/include/net/af_unix.h
+--- linux-3.18.5/include/net/af_unix.h 2013-11-25 15:47:02.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/af_unix.h       2015-01-19 10:58:04.000000000 +0000
 @@ -4,6 +4,7 @@
  #include <linux/socket.h>
  #include <linux/un.h>
 @@ -4,6 +4,7 @@
  #include <linux/socket.h>
  #include <linux/un.h>
@@ -11639,10 +11647,10 @@ diff -NurpP --minimal linux-3.13.10/include/net/af_unix.h linux-3.13.10-vs2.3.6.
  #include <net/sock.h>
  
  void unix_inflight(struct file *fp);
  #include <net/sock.h>
  
  void unix_inflight(struct file *fp);
-diff -NurpP --minimal linux-3.13.10/include/net/inet_timewait_sock.h linux-3.13.10-vs2.3.6.11/include/net/inet_timewait_sock.h
---- linux-3.13.10/include/net/inet_timewait_sock.h     2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/inet_timewait_sock.h  2014-01-31 20:40:30.000000000 +0000
-@@ -121,6 +121,10 @@ struct inet_timewait_sock {
+diff -NurpP --minimal linux-3.18.5/include/net/inet_timewait_sock.h linux-3.18.5-vs2.3.7.3/include/net/inet_timewait_sock.h
+--- linux-3.18.5/include/net/inet_timewait_sock.h      2015-01-16 22:19:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/inet_timewait_sock.h    2015-01-19 10:58:04.000000000 +0000
+@@ -122,6 +122,10 @@ struct inet_timewait_sock {
  #define tw_v6_rcv_saddr       __tw_common.skc_v6_rcv_saddr
  #define tw_dport              __tw_common.skc_dport
  #define tw_num                        __tw_common.skc_num
  #define tw_v6_rcv_saddr       __tw_common.skc_v6_rcv_saddr
  #define tw_dport              __tw_common.skc_dport
  #define tw_num                        __tw_common.skc_num
@@ -11653,10 +11661,10 @@ diff -NurpP --minimal linux-3.13.10/include/net/inet_timewait_sock.h linux-3.13.
  
        int                     tw_timeout;
        volatile unsigned char  tw_substate;
  
        int                     tw_timeout;
        volatile unsigned char  tw_substate;
-diff -NurpP --minimal linux-3.13.10/include/net/ip6_route.h linux-3.13.10-vs2.3.6.11/include/net/ip6_route.h
---- linux-3.13.10/include/net/ip6_route.h      2014-01-22 20:39:11.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/ip6_route.h   2014-01-31 20:41:10.000000000 +0000
-@@ -90,7 +90,7 @@ int ip6_del_rt(struct rt6_info *);
+diff -NurpP --minimal linux-3.18.5/include/net/ip6_route.h linux-3.18.5-vs2.3.7.3/include/net/ip6_route.h
+--- linux-3.18.5/include/net/ip6_route.h       2014-09-03 13:19:43.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/ip6_route.h     2015-01-19 10:58:04.000000000 +0000
+@@ -80,7 +80,7 @@ int ip6_del_rt(struct rt6_info *);
  
  int ip6_route_get_saddr(struct net *net, struct rt6_info *rt,
                        const struct in6_addr *daddr, unsigned int prefs,
  
  int ip6_route_get_saddr(struct net *net, struct rt6_info *rt,
                        const struct in6_addr *daddr, unsigned int prefs,
@@ -11665,10 +11673,10 @@ diff -NurpP --minimal linux-3.13.10/include/net/ip6_route.h linux-3.13.10-vs2.3.
  
  struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr,
                            const struct in6_addr *saddr, int oif, int flags);
  
  struct rt6_info *rt6_lookup(struct net *net, const struct in6_addr *daddr,
                            const struct in6_addr *saddr, int oif, int flags);
-diff -NurpP --minimal linux-3.13.10/include/net/route.h linux-3.13.10-vs2.3.6.11/include/net/route.h
---- linux-3.13.10/include/net/route.h  2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/route.h       2014-02-01 12:30:58.000000000 +0000
-@@ -203,6 +203,9 @@ static inline void ip_rt_put(struct rtab
+diff -NurpP --minimal linux-3.18.5/include/net/route.h linux-3.18.5-vs2.3.7.3/include/net/route.h
+--- linux-3.18.5/include/net/route.h   2014-06-12 13:02:51.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/route.h 2015-01-19 10:58:04.000000000 +0000
+@@ -205,6 +205,9 @@ static inline void ip_rt_put(struct rtab
        dst_release(&rt->dst);
  }
  
        dst_release(&rt->dst);
  }
  
@@ -11715,10 +11723,10 @@ diff -NurpP --minimal linux-3.13.10/include/net/route.h linux-3.13.10-vs2.3.6.11
                rt = __ip_route_output_key(net, fl4);
                if (IS_ERR(rt))
                        return rt;
                rt = __ip_route_output_key(net, fl4);
                if (IS_ERR(rt))
                        return rt;
-diff -NurpP --minimal linux-3.13.10/include/net/sock.h linux-3.13.10-vs2.3.6.11/include/net/sock.h
---- linux-3.13.10/include/net/sock.h   2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/net/sock.h        2014-04-17 01:17:10.000000000 +0000
-@@ -191,6 +191,10 @@ struct sock_common {
+diff -NurpP --minimal linux-3.18.5/include/net/sock.h linux-3.18.5-vs2.3.7.3/include/net/sock.h
+--- linux-3.18.5/include/net/sock.h    2015-01-17 02:40:22.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/net/sock.h  2015-01-19 10:58:04.000000000 +0000
+@@ -193,6 +193,10 @@ struct sock_common {
  #ifdef CONFIG_NET_NS
        struct net              *skc_net;
  #endif
  #ifdef CONFIG_NET_NS
        struct net              *skc_net;
  #endif
@@ -11729,7 +11737,7 @@ diff -NurpP --minimal linux-3.13.10/include/net/sock.h linux-3.13.10-vs2.3.6.11/
  
  #if IS_ENABLED(CONFIG_IPV6)
        struct in6_addr         skc_v6_daddr;
  
  #if IS_ENABLED(CONFIG_IPV6)
        struct in6_addr         skc_v6_daddr;
-@@ -321,7 +325,11 @@ struct sock {
+@@ -327,7 +331,11 @@ struct sock {
  #define sk_prot                       __sk_common.skc_prot
  #define sk_net                        __sk_common.skc_net
  #define sk_v6_daddr           __sk_common.skc_v6_daddr
  #define sk_prot                       __sk_common.skc_prot
  #define sk_net                        __sk_common.skc_net
  #define sk_v6_daddr           __sk_common.skc_v6_daddr
@@ -11742,17 +11750,17 @@ diff -NurpP --minimal linux-3.13.10/include/net/sock.h linux-3.13.10-vs2.3.6.11/
  
        socket_lock_t           sk_lock;
        struct sk_buff_head     sk_receive_queue;
  
        socket_lock_t           sk_lock;
        struct sk_buff_head     sk_receive_queue;
-diff -NurpP --minimal linux-3.13.10/include/uapi/Kbuild linux-3.13.10-vs2.3.6.11/include/uapi/Kbuild
---- linux-3.13.10/include/uapi/Kbuild  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/Kbuild       2014-01-31 20:38:03.000000000 +0000
-@@ -12,3 +12,4 @@ header-y += video/
- header-y += drm/
+diff -NurpP --minimal linux-3.18.5/include/uapi/Kbuild linux-3.18.5-vs2.3.7.3/include/uapi/Kbuild
+--- linux-3.18.5/include/uapi/Kbuild   2015-01-17 02:40:22.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/Kbuild 2015-01-19 10:59:16.000000000 +0000
+@@ -13,3 +13,4 @@ header-y += drm/
  header-y += xen/
  header-y += scsi/
  header-y += xen/
  header-y += scsi/
+ header-y += misc/
 +header-y += vserver/
 +header-y += vserver/
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/capability.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/capability.h
---- linux-3.13.10/include/uapi/linux/capability.h      2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/capability.h   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/capability.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/capability.h
+--- linux-3.18.5/include/uapi/linux/capability.h       2014-09-03 13:19:44.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/capability.h     2015-01-19 10:58:04.000000000 +0000
 @@ -259,6 +259,7 @@ struct vfs_cap_data {
     arbitrary SCSI commands */
  /* Allow setting encryption key on loopback filesystem */
 @@ -259,6 +259,7 @@ struct vfs_cap_data {
     arbitrary SCSI commands */
  /* Allow setting encryption key on loopback filesystem */
@@ -11761,9 +11769,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/capability.h linux-3.13.1
  
  #define CAP_SYS_ADMIN        21
  
  
  #define CAP_SYS_ADMIN        21
  
-@@ -345,7 +346,12 @@ struct vfs_cap_data {
+@@ -354,7 +355,12 @@ struct vfs_cap_data {
  
  
- #define CAP_LAST_CAP         CAP_BLOCK_SUSPEND
+ #define CAP_LAST_CAP         CAP_AUDIT_READ
  
 -#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
 +/* Allow context manipulations */
  
 -#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
 +/* Allow context manipulations */
@@ -11775,10 +11783,10 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/capability.h linux-3.13.1
  
  /*
   * Bit location of each capability (used by user-space library and kernel)
  
  /*
   * Bit location of each capability (used by user-space library and kernel)
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/fs.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/fs.h
---- linux-3.13.10/include/uapi/linux/fs.h      2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/fs.h   2014-01-31 20:38:03.000000000 +0000
-@@ -86,6 +86,9 @@ struct inodes_stat_t {
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/fs.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/fs.h
+--- linux-3.18.5/include/uapi/linux/fs.h       2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/fs.h     2015-01-19 10:58:04.000000000 +0000
+@@ -90,6 +90,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 */
  #define MS_STRICTATIME        (1<<24) /* Always perform atime updates */
  #define MS_KERNMOUNT  (1<<22) /* this is a kern_mount call */
  #define MS_I_VERSION  (1<<23) /* Update inode I_version field */
  #define MS_STRICTATIME        (1<<24) /* Always perform atime updates */
@@ -11788,7 +11796,7 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/fs.h linux-3.13.10-vs2.3.
  
  /* These sb flags are internal to the kernel */
  #define MS_NOSEC      (1<<28)
  
  /* These sb flags are internal to the kernel */
  #define MS_NOSEC      (1<<28)
-@@ -191,11 +194,14 @@ struct inodes_stat_t {
+@@ -195,11 +198,14 @@ struct inodes_stat_t {
  #define FS_EXTENT_FL                  0x00080000 /* Extents */
  #define FS_DIRECTIO_FL                        0x00100000 /* Use direct i/o */
  #define FS_NOCOW_FL                   0x00800000 /* Do not cow file */
  #define FS_EXTENT_FL                  0x00080000 /* Extents */
  #define FS_DIRECTIO_FL                        0x00100000 /* Use direct i/o */
  #define FS_NOCOW_FL                   0x00800000 /* Do not cow file */
@@ -11805,9 +11813,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/fs.h linux-3.13.10-vs2.3.
  
  #define SYNC_FILE_RANGE_WAIT_BEFORE   1
  #define SYNC_FILE_RANGE_WRITE         2
  
  #define SYNC_FILE_RANGE_WAIT_BEFORE   1
  #define SYNC_FILE_RANGE_WRITE         2
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/gfs2_ondisk.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/gfs2_ondisk.h
---- linux-3.13.10/include/uapi/linux/gfs2_ondisk.h     2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/gfs2_ondisk.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/gfs2_ondisk.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/gfs2_ondisk.h
+--- linux-3.18.5/include/uapi/linux/gfs2_ondisk.h      2014-09-03 13:19:44.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/gfs2_ondisk.h    2015-01-19 10:58:04.000000000 +0000
 @@ -225,6 +225,9 @@ enum {
        gfs2fl_Sync             = 8,
        gfs2fl_System           = 9,
 @@ -225,6 +225,9 @@ enum {
        gfs2fl_Sync             = 8,
        gfs2fl_System           = 9,
@@ -11828,9 +11836,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/gfs2_ondisk.h linux-3.13.
  #define GFS2_DIF_TRUNC_IN_PROG                0x20000000 /* New in gfs2 */
  #define GFS2_DIF_INHERIT_DIRECTIO     0x40000000 /* only in gfs1 */
  #define GFS2_DIF_INHERIT_JDATA                0x80000000
  #define GFS2_DIF_TRUNC_IN_PROG                0x20000000 /* New in gfs2 */
  #define GFS2_DIF_INHERIT_DIRECTIO     0x40000000 /* only in gfs1 */
  #define GFS2_DIF_INHERIT_JDATA                0x80000000
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/if_tun.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/if_tun.h
---- linux-3.13.10/include/uapi/linux/if_tun.h  2013-11-25 15:47:02.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/if_tun.h       2014-01-31 20:45:49.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/if_tun.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/if_tun.h
+--- linux-3.18.5/include/uapi/linux/if_tun.h   2013-11-25 15:47:02.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/if_tun.h 2015-01-19 10:58:04.000000000 +0000
 @@ -58,6 +58,7 @@
  #define TUNSETQUEUE  _IOW('T', 217, int)
  #define TUNSETIFINDEX _IOW('T', 218, unsigned int)
 @@ -58,6 +58,7 @@
  #define TUNSETQUEUE  _IOW('T', 217, int)
  #define TUNSETIFINDEX _IOW('T', 218, unsigned int)
@@ -11839,9 +11847,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/if_tun.h linux-3.13.10-vs
  
  /* TUNSETIFF ifr flags */
  #define IFF_TUN               0x0001
  
  /* TUNSETIFF ifr flags */
  #define IFF_TUN               0x0001
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/major.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/major.h
---- linux-3.13.10/include/uapi/linux/major.h   2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/major.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/major.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/major.h
+--- linux-3.18.5/include/uapi/linux/major.h    2014-01-22 20:39:12.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/major.h  2015-01-19 10:58:04.000000000 +0000
 @@ -15,6 +15,7 @@
  #define HD_MAJOR              IDE0_MAJOR
  #define PTY_SLAVE_MAJOR               3
 @@ -15,6 +15,7 @@
  #define HD_MAJOR              IDE0_MAJOR
  #define PTY_SLAVE_MAJOR               3
@@ -11850,9 +11858,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/major.h linux-3.13.10-vs2
  #define TTYAUX_MAJOR          5
  #define LP_MAJOR              6
  #define VCS_MAJOR             7
  #define TTYAUX_MAJOR          5
  #define LP_MAJOR              6
  #define VCS_MAJOR             7
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/nfs_mount.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/nfs_mount.h
---- linux-3.13.10/include/uapi/linux/nfs_mount.h       2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/nfs_mount.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/nfs_mount.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/nfs_mount.h
+--- linux-3.18.5/include/uapi/linux/nfs_mount.h        2014-01-22 20:39:12.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/nfs_mount.h      2015-01-19 10:58:04.000000000 +0000
 @@ -63,7 +63,8 @@ struct nfs_mount_data {
  #define NFS_MOUNT_SECFLAVOUR  0x2000  /* 5 non-text parsed mount data only */
  #define NFS_MOUNT_NORDIRPLUS  0x4000  /* 5 */
 @@ -63,7 +63,8 @@ struct nfs_mount_data {
  #define NFS_MOUNT_SECFLAVOUR  0x2000  /* 5 non-text parsed mount data only */
  #define NFS_MOUNT_NORDIRPLUS  0x4000  /* 5 */
@@ -11863,9 +11871,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/nfs_mount.h linux-3.13.10
  
  /* The following are for internal use only */
  #define NFS_MOUNT_LOOKUP_CACHE_NONEG  0x10000
  
  /* The following are for internal use only */
  #define NFS_MOUNT_LOOKUP_CACHE_NONEG  0x10000
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/reboot.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/reboot.h
---- linux-3.13.10/include/uapi/linux/reboot.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/reboot.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/reboot.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/reboot.h
+--- linux-3.18.5/include/uapi/linux/reboot.h   2012-12-11 03:30:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/reboot.h 2015-01-19 10:58:04.000000000 +0000
 @@ -33,7 +33,7 @@
  #define       LINUX_REBOOT_CMD_RESTART2       0xA1B2C3D4
  #define       LINUX_REBOOT_CMD_SW_SUSPEND     0xD000FCE2
 @@ -33,7 +33,7 @@
  #define       LINUX_REBOOT_CMD_RESTART2       0xA1B2C3D4
  #define       LINUX_REBOOT_CMD_SW_SUSPEND     0xD000FCE2
@@ -11875,9 +11883,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/reboot.h linux-3.13.10-vs
  
  
  #endif /* _UAPI_LINUX_REBOOT_H */
  
  
  #endif /* _UAPI_LINUX_REBOOT_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/linux/sysctl.h linux-3.13.10-vs2.3.6.11/include/uapi/linux/sysctl.h
---- linux-3.13.10/include/uapi/linux/sysctl.h  2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/linux/sysctl.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/linux/sysctl.h linux-3.18.5-vs2.3.7.3/include/uapi/linux/sysctl.h
+--- linux-3.18.5/include/uapi/linux/sysctl.h   2015-01-16 22:19:26.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/linux/sysctl.h 2015-01-19 10:58:04.000000000 +0000
 @@ -60,6 +60,7 @@ enum
        CTL_ABI=9,              /* Binary emulation */
        CTL_CPU=10,             /* CPU stuff (speed scaling, etc) */
 @@ -60,6 +60,7 @@ enum
        CTL_ABI=9,              /* Binary emulation */
        CTL_CPU=10,             /* CPU stuff (speed scaling, etc) */
@@ -11894,9 +11902,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/linux/sysctl.h linux-3.13.10-vs
  
        KERN_SPARC_REBOOT=21,   /* reboot command on Sparc */
        KERN_CTLALTDEL=22,      /* int: allow ctl-alt-del to reboot */
  
        KERN_SPARC_REBOOT=21,   /* reboot command on Sparc */
        KERN_CTLALTDEL=22,      /* int: allow ctl-alt-del to reboot */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/Kbuild linux-3.13.10-vs2.3.6.11/include/uapi/vserver/Kbuild
---- linux-3.13.10/include/uapi/vserver/Kbuild  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/Kbuild       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/Kbuild linux-3.18.5-vs2.3.7.3/include/uapi/vserver/Kbuild
+--- linux-3.18.5/include/uapi/vserver/Kbuild   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/Kbuild 2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,9 @@
 +
 +header-y += context_cmd.h network_cmd.h space_cmd.h \
 @@ -0,0 +1,9 @@
 +
 +header-y += context_cmd.h network_cmd.h space_cmd.h \
@@ -11907,9 +11915,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/Kbuild linux-3.13.10-vs
 +header-y += switch.h context.h network.h monitor.h \
 +      limit.h inode.h device.h
 +
 +header-y += switch.h context.h network.h monitor.h \
 +      limit.h inode.h device.h
 +
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/cacct_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/cacct_cmd.h
---- linux-3.13.10/include/uapi/vserver/cacct_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/cacct_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/cacct_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/cacct_cmd.h
+--- linux-3.18.5/include/uapi/vserver/cacct_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/cacct_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,15 @@
 +#ifndef _UAPI_VS_CACCT_CMD_H
 +#define _UAPI_VS_CACCT_CMD_H
 @@ -0,0 +1,15 @@
 +#ifndef _UAPI_VS_CACCT_CMD_H
 +#define _UAPI_VS_CACCT_CMD_H
@@ -11926,9 +11934,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/cacct_cmd.h linux-3.13.
 +};
 +
 +#endif /* _UAPI_VS_CACCT_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_CACCT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/context.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/context.h
---- linux-3.13.10/include/uapi/vserver/context.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/context.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/context.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/context.h
+--- linux-3.18.5/include/uapi/vserver/context.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/context.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,81 @@
 +#ifndef _UAPI_VS_CONTEXT_H
 +#define _UAPI_VS_CONTEXT_H
 @@ -0,0 +1,81 @@
 +#ifndef _UAPI_VS_CONTEXT_H
 +#define _UAPI_VS_CONTEXT_H
@@ -12011,9 +12019,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/context.h linux-3.13.10
 +#define VXC_NAMESPACE         0x02000000
 +
 +#endif /* _UAPI_VS_CONTEXT_H */
 +#define VXC_NAMESPACE         0x02000000
 +
 +#endif /* _UAPI_VS_CONTEXT_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/context_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/context_cmd.h
---- linux-3.13.10/include/uapi/vserver/context_cmd.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/context_cmd.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/context_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/context_cmd.h
+--- linux-3.18.5/include/uapi/vserver/context_cmd.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/context_cmd.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,115 @@
 +#ifndef _UAPI_VS_CONTEXT_CMD_H
 +#define _UAPI_VS_CONTEXT_CMD_H
 @@ -0,0 +1,115 @@
 +#ifndef _UAPI_VS_CONTEXT_CMD_H
 +#define _UAPI_VS_CONTEXT_CMD_H
@@ -12130,9 +12138,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/context_cmd.h linux-3.1
 +};
 +
 +#endif /* _UAPI_VS_CONTEXT_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/cvirt_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/cvirt_cmd.h
---- linux-3.13.10/include/uapi/vserver/cvirt_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/cvirt_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/cvirt_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/cvirt_cmd.h
+--- linux-3.18.5/include/uapi/vserver/cvirt_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/cvirt_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,41 @@
 +#ifndef _UAPI_VS_CVIRT_CMD_H
 +#define _UAPI_VS_CVIRT_CMD_H
 @@ -0,0 +1,41 @@
 +#ifndef _UAPI_VS_CVIRT_CMD_H
 +#define _UAPI_VS_CVIRT_CMD_H
@@ -12175,9 +12183,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/cvirt_cmd.h linux-3.13.
 +};
 +
 +#endif /* _UAPI_VS_CVIRT_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_CVIRT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/debug_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/debug_cmd.h
---- linux-3.13.10/include/uapi/vserver/debug_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/debug_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/debug_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/debug_cmd.h
+--- linux-3.18.5/include/uapi/vserver/debug_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/debug_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,24 @@
 +#ifndef _UAPI_VS_DEBUG_CMD_H
 +#define _UAPI_VS_DEBUG_CMD_H
 @@ -0,0 +1,24 @@
 +#ifndef _UAPI_VS_DEBUG_CMD_H
 +#define _UAPI_VS_DEBUG_CMD_H
@@ -12203,9 +12211,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/debug_cmd.h linux-3.13.
 +};
 +
 +#endif /* _UAPI_VS_DEBUG_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_DEBUG_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/device.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/device.h
---- linux-3.13.10/include/uapi/vserver/device.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/device.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/device.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/device.h
+--- linux-3.18.5/include/uapi/vserver/device.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/device.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,12 @@
 +#ifndef _UAPI_VS_DEVICE_H
 +#define _UAPI_VS_DEVICE_H
 @@ -0,0 +1,12 @@
 +#ifndef _UAPI_VS_DEVICE_H
 +#define _UAPI_VS_DEVICE_H
@@ -12219,9 +12227,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/device.h linux-3.13.10-
 +#define DATTR_MASK    0x00000013
 +
 +#endif        /* _UAPI_VS_DEVICE_H */
 +#define DATTR_MASK    0x00000013
 +
 +#endif        /* _UAPI_VS_DEVICE_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/device_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/device_cmd.h
---- linux-3.13.10/include/uapi/vserver/device_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/device_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/device_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/device_cmd.h
+--- linux-3.18.5/include/uapi/vserver/device_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/device_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,16 @@
 +#ifndef _UAPI_VS_DEVICE_CMD_H
 +#define _UAPI_VS_DEVICE_CMD_H
 @@ -0,0 +1,16 @@
 +#ifndef _UAPI_VS_DEVICE_CMD_H
 +#define _UAPI_VS_DEVICE_CMD_H
@@ -12239,9 +12247,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/device_cmd.h linux-3.13
 +};
 +
 +#endif /* _UAPI_VS_DEVICE_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_DEVICE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/dlimit_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/dlimit_cmd.h
---- linux-3.13.10/include/uapi/vserver/dlimit_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/dlimit_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/dlimit_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/dlimit_cmd.h
+--- linux-3.18.5/include/uapi/vserver/dlimit_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/dlimit_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,67 @@
 +#ifndef _UAPI_VS_DLIMIT_CMD_H
 +#define _UAPI_VS_DLIMIT_CMD_H
 @@ -0,0 +1,67 @@
 +#ifndef _UAPI_VS_DLIMIT_CMD_H
 +#define _UAPI_VS_DLIMIT_CMD_H
@@ -12310,9 +12318,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/dlimit_cmd.h linux-3.13
 +}
 +
 +#endif /* _UAPI_VS_DLIMIT_CMD_H */
 +}
 +
 +#endif /* _UAPI_VS_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/inode.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/inode.h
---- linux-3.13.10/include/uapi/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/inode.h      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/inode.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/inode.h
+--- linux-3.18.5/include/uapi/vserver/inode.h  1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/inode.h        2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,23 @@
 +#ifndef _UAPI_VS_INODE_H
 +#define _UAPI_VS_INODE_H
 @@ -0,0 +1,23 @@
 +#ifndef _UAPI_VS_INODE_H
 +#define _UAPI_VS_INODE_H
@@ -12337,9 +12345,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/inode.h linux-3.13.10-v
 +#define FIOC_SETXFLG  _IOW('x', 6, long)
 +
 +#endif        /* _UAPI_VS_INODE_H */
 +#define FIOC_SETXFLG  _IOW('x', 6, long)
 +
 +#endif        /* _UAPI_VS_INODE_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/inode_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/inode_cmd.h
---- linux-3.13.10/include/uapi/vserver/inode_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/inode_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/inode_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/inode_cmd.h
+--- linux-3.18.5/include/uapi/vserver/inode_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/inode_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,26 @@
 +#ifndef _UAPI_VS_INODE_CMD_H
 +#define _UAPI_VS_INODE_CMD_H
 @@ -0,0 +1,26 @@
 +#ifndef _UAPI_VS_INODE_CMD_H
 +#define _UAPI_VS_INODE_CMD_H
@@ -12367,9 +12375,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/inode_cmd.h linux-3.13.
 +};
 +
 +#endif /* _UAPI_VS_INODE_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_INODE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/limit.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/limit.h
---- linux-3.13.10/include/uapi/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/limit.h      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/limit.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/limit.h
+--- linux-3.18.5/include/uapi/vserver/limit.h  1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/limit.h        2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,14 @@
 +#ifndef _UAPI_VS_LIMIT_H
 +#define _UAPI_VS_LIMIT_H
 @@ -0,0 +1,14 @@
 +#ifndef _UAPI_VS_LIMIT_H
 +#define _UAPI_VS_LIMIT_H
@@ -12385,9 +12393,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/limit.h linux-3.13.10-v
 +#define VLIMIT_MAPPED 23
 +
 +#endif /* _UAPI_VS_LIMIT_H */
 +#define VLIMIT_MAPPED 23
 +
 +#endif /* _UAPI_VS_LIMIT_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/limit_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/limit_cmd.h
---- linux-3.13.10/include/uapi/vserver/limit_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/limit_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/limit_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/limit_cmd.h
+--- linux-3.18.5/include/uapi/vserver/limit_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/limit_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,40 @@
 +#ifndef _UAPI_VS_LIMIT_CMD_H
 +#define _UAPI_VS_LIMIT_CMD_H
 @@ -0,0 +1,40 @@
 +#ifndef _UAPI_VS_LIMIT_CMD_H
 +#define _UAPI_VS_LIMIT_CMD_H
@@ -12429,9 +12437,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/limit_cmd.h linux-3.13.
 +#define CRLIM_KEEP            (~1ULL)
 +
 +#endif /* _UAPI_VS_LIMIT_CMD_H */
 +#define CRLIM_KEEP            (~1ULL)
 +
 +#endif /* _UAPI_VS_LIMIT_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/monitor.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/monitor.h
---- linux-3.13.10/include/uapi/vserver/monitor.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/monitor.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/monitor.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/monitor.h
+--- linux-3.18.5/include/uapi/vserver/monitor.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/monitor.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,96 @@
 +#ifndef _UAPI_VS_MONITOR_H
 +#define _UAPI_VS_MONITOR_H
 @@ -0,0 +1,96 @@
 +#ifndef _UAPI_VS_MONITOR_H
 +#define _UAPI_VS_MONITOR_H
@@ -12529,9 +12537,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/monitor.h linux-3.13.10
 +};
 +
 +#endif /* _UAPI_VS_MONITOR_H */
 +};
 +
 +#endif /* _UAPI_VS_MONITOR_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/network.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/network.h
---- linux-3.13.10/include/uapi/vserver/network.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/network.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/network.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/network.h
+--- linux-3.18.5/include/uapi/vserver/network.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/network.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,76 @@
 +#ifndef _UAPI_VS_NETWORK_H
 +#define _UAPI_VS_NETWORK_H
 @@ -0,0 +1,76 @@
 +#ifndef _UAPI_VS_NETWORK_H
 +#define _UAPI_VS_NETWORK_H
@@ -12609,9 +12617,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/network.h linux-3.13.10
 +#define NXA_MASK_SHOW         (NXA_MASK_ALL | NXA_LOOPBACK)
 +
 +#endif /* _UAPI_VS_NETWORK_H */
 +#define NXA_MASK_SHOW         (NXA_MASK_ALL | NXA_LOOPBACK)
 +
 +#endif /* _UAPI_VS_NETWORK_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/network_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/network_cmd.h
---- linux-3.13.10/include/uapi/vserver/network_cmd.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/network_cmd.h        2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/network_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/network_cmd.h
+--- linux-3.18.5/include/uapi/vserver/network_cmd.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/network_cmd.h  2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,123 @@
 +#ifndef _UAPI_VS_NETWORK_CMD_H
 +#define _UAPI_VS_NETWORK_CMD_H
 @@ -0,0 +1,123 @@
 +#ifndef _UAPI_VS_NETWORK_CMD_H
 +#define _UAPI_VS_NETWORK_CMD_H
@@ -12736,9 +12744,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/network_cmd.h linux-3.1
 +};
 +
 +#endif /* _UAPI_VS_NETWORK_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_NETWORK_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/sched_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/sched_cmd.h
---- linux-3.13.10/include/uapi/vserver/sched_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/sched_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/sched_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/sched_cmd.h
+--- linux-3.18.5/include/uapi/vserver/sched_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/sched_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,13 @@
 +#ifndef _UAPI_VS_SCHED_CMD_H
 +#define _UAPI_VS_SCHED_CMD_H
 @@ -0,0 +1,13 @@
 +#ifndef _UAPI_VS_SCHED_CMD_H
 +#define _UAPI_VS_SCHED_CMD_H
@@ -12753,9 +12761,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/sched_cmd.h linux-3.13.
 +#define VCMD_get_prio_bias    VC_CMD(SCHED, 5, 0)
 +
 +#endif /* _UAPI_VS_SCHED_CMD_H */
 +#define VCMD_get_prio_bias    VC_CMD(SCHED, 5, 0)
 +
 +#endif /* _UAPI_VS_SCHED_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/signal_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/signal_cmd.h
---- linux-3.13.10/include/uapi/vserver/signal_cmd.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/signal_cmd.h 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/signal_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/signal_cmd.h
+--- linux-3.18.5/include/uapi/vserver/signal_cmd.h     1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/signal_cmd.h   2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,31 @@
 +#ifndef _UAPI_VS_SIGNAL_CMD_H
 +#define _UAPI_VS_SIGNAL_CMD_H
 @@ -0,0 +1,31 @@
 +#ifndef _UAPI_VS_SIGNAL_CMD_H
 +#define _UAPI_VS_SIGNAL_CMD_H
@@ -12788,9 +12796,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/signal_cmd.h linux-3.13
 +};
 +
 +#endif /* _UAPI_VS_SIGNAL_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/space_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/space_cmd.h
---- linux-3.13.10/include/uapi/vserver/space_cmd.h     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/space_cmd.h  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/space_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/space_cmd.h
+--- linux-3.18.5/include/uapi/vserver/space_cmd.h      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/space_cmd.h    2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,28 @@
 +#ifndef _UAPI_VS_SPACE_CMD_H
 +#define _UAPI_VS_SPACE_CMD_H
 @@ -0,0 +1,28 @@
 +#ifndef _UAPI_VS_SPACE_CMD_H
 +#define _UAPI_VS_SPACE_CMD_H
@@ -12820,9 +12828,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/space_cmd.h linux-3.13.
 +};
 +
 +#endif /* _UAPI_VS_SPACE_CMD_H */
 +};
 +
 +#endif /* _UAPI_VS_SPACE_CMD_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/switch.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/switch.h
---- linux-3.13.10/include/uapi/vserver/switch.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/switch.h     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/switch.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/switch.h
+--- linux-3.18.5/include/uapi/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/switch.h       2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,90 @@
 +#ifndef _UAPI_VS_SWITCH_H
 +#define _UAPI_VS_SWITCH_H
 @@ -0,0 +1,90 @@
 +#ifndef _UAPI_VS_SWITCH_H
 +#define _UAPI_VS_SWITCH_H
@@ -12914,9 +12922,9 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/switch.h linux-3.13.10-
 +#define VCMD_get_vci          VC_CMD(VERSION, 1, 0)
 +
 +#endif /* _UAPI_VS_SWITCH_H */
 +#define VCMD_get_vci          VC_CMD(VERSION, 1, 0)
 +
 +#endif /* _UAPI_VS_SWITCH_H */
-diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/tag_cmd.h linux-3.13.10-vs2.3.6.11/include/uapi/vserver/tag_cmd.h
---- linux-3.13.10/include/uapi/vserver/tag_cmd.h       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/include/uapi/vserver/tag_cmd.h    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/include/uapi/vserver/tag_cmd.h linux-3.18.5-vs2.3.7.3/include/uapi/vserver/tag_cmd.h
+--- linux-3.18.5/include/uapi/vserver/tag_cmd.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/include/uapi/vserver/tag_cmd.h      2015-01-19 10:58:04.000000000 +0000
 @@ -0,0 +1,14 @@
 +#ifndef _UAPI_VS_TAG_CMD_H
 +#define _UAPI_VS_TAG_CMD_H
 @@ -0,0 +1,14 @@
 +#ifndef _UAPI_VS_TAG_CMD_H
 +#define _UAPI_VS_TAG_CMD_H
@@ -12932,10 +12940,10 @@ diff -NurpP --minimal linux-3.13.10/include/uapi/vserver/tag_cmd.h linux-3.13.10
 +#define VCMD_tag_migrate      VC_CMD(TAGMIG, 1, 0)
 +
 +#endif /* _UAPI_VS_TAG_CMD_H */
 +#define VCMD_tag_migrate      VC_CMD(TAGMIG, 1, 0)
 +
 +#endif /* _UAPI_VS_TAG_CMD_H */
-diff -NurpP --minimal linux-3.13.10/init/Kconfig linux-3.13.10-vs2.3.6.11/init/Kconfig
---- linux-3.13.10/init/Kconfig 2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/init/Kconfig      2014-04-17 01:17:11.000000000 +0000
-@@ -855,6 +855,7 @@ config NUMA_BALANCING
+diff -NurpP --minimal linux-3.18.5/init/Kconfig linux-3.18.5-vs2.3.7.3/init/Kconfig
+--- linux-3.18.5/init/Kconfig  2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/init/Kconfig        2015-01-19 13:07:13.000000000 +0000
+@@ -923,6 +923,7 @@ config NUMA_BALANCING
  menuconfig CGROUPS
        boolean "Control Group support"
        select KERNFS
  menuconfig CGROUPS
        boolean "Control Group support"
        select KERNFS
@@ -12943,28 +12951,20 @@ diff -NurpP --minimal linux-3.13.10/init/Kconfig linux-3.13.10-vs2.3.6.11/init/K
        help
          This option adds support for grouping sets of processes together, for
          use with process control subsystems such as Cpusets, CFS, memory
        help
          This option adds support for grouping sets of processes together, for
          use with process control subsystems such as Cpusets, CFS, memory
-@@ -1117,6 +1118,7 @@ config IPC_NS
- config USER_NS
-       bool "User namespace"
-+      depends on VSERVER_DISABLED
-       default n
-       help
-         This allows containers, i.e. vservers, to use user namespaces
-diff -NurpP --minimal linux-3.13.10/init/main.c linux-3.13.10-vs2.3.6.11/init/main.c
---- linux-3.13.10/init/main.c  2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/init/main.c       2014-01-31 20:38:03.000000000 +0000
-@@ -77,6 +77,7 @@
- #include <linux/sched_clock.h>
+diff -NurpP --minimal linux-3.18.5/init/main.c linux-3.18.5-vs2.3.7.3/init/main.c
+--- linux-3.18.5/init/main.c   2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/init/main.c 2015-01-19 11:05:25.000000000 +0000
+@@ -78,6 +78,7 @@
  #include <linux/context_tracking.h>
  #include <linux/random.h>
  #include <linux/context_tracking.h>
  #include <linux/random.h>
+ #include <linux/list.h>
 +#include <linux/vserver/percpu.h>
  
  #include <asm/io.h>
  #include <asm/bugs.h>
 +#include <linux/vserver/percpu.h>
  
  #include <asm/io.h>
  #include <asm/bugs.h>
-diff -NurpP --minimal linux-3.13.10/ipc/mqueue.c linux-3.13.10-vs2.3.6.11/ipc/mqueue.c
---- linux-3.13.10/ipc/mqueue.c 2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/ipc/mqueue.c      2014-03-12 15:51:08.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/ipc/mqueue.c linux-3.18.5-vs2.3.7.3/ipc/mqueue.c
+--- linux-3.18.5/ipc/mqueue.c  2014-06-12 13:02:52.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/ipc/mqueue.c        2015-01-19 10:58:05.000000000 +0000
 @@ -35,6 +35,8 @@
  #include <linux/ipc_namespace.h>
  #include <linux/user_namespace.h>
 @@ -35,6 +35,8 @@
  #include <linux/ipc_namespace.h>
  #include <linux/user_namespace.h>
@@ -12975,7 +12975,7 @@ diff -NurpP --minimal linux-3.13.10/ipc/mqueue.c linux-3.13.10-vs2.3.6.11/ipc/mq
  #include <net/sock.h>
  #include "util.h"
 @@ -76,6 +78,7 @@ struct mqueue_inode_info {
  #include <net/sock.h>
  #include "util.h"
 @@ -76,6 +78,7 @@ struct mqueue_inode_info {
-       struct pidnotify_owner;
+       struct pid *notify_owner;
        struct user_namespace *notify_user_ns;
        struct user_struct *user;       /* user who created, for accounting */
 +      struct vx_info *vxi;
        struct user_namespace *notify_user_ns;
        struct user_struct *user;       /* user who created, for accounting */
 +      struct vx_info *vxi;
@@ -13040,9 +13040,9 @@ diff -NurpP --minimal linux-3.13.10/ipc/mqueue.c linux-3.13.10-vs2.3.6.11/ipc/mq
                free_uid(user);
        }
        if (ipc_ns)
                free_uid(user);
        }
        if (ipc_ns)
-diff -NurpP --minimal linux-3.13.10/ipc/msg.c linux-3.13.10-vs2.3.6.11/ipc/msg.c
---- linux-3.13.10/ipc/msg.c    2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/ipc/msg.c 2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/ipc/msg.c linux-3.18.5-vs2.3.7.3/ipc/msg.c
+--- linux-3.18.5/ipc/msg.c     2014-09-03 13:19:44.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/ipc/msg.c   2015-01-19 10:58:05.000000000 +0000
 @@ -37,6 +37,7 @@
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
 @@ -37,6 +37,7 @@
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
@@ -13050,8 +13050,8 @@ diff -NurpP --minimal linux-3.13.10/ipc/msg.c linux-3.13.10-vs2.3.6.11/ipc/msg.c
 +#include <linux/vs_base.h>
  
  #include <asm/current.h>
 +#include <linux/vs_base.h>
  
  #include <asm/current.h>
- #include <asm/uaccess.h>
-@@ -194,6 +195,7 @@ static int newque(struct ipc_namespace *
+ #include <linux/uaccess.h>
+@@ -129,6 +130,7 @@ static int newque(struct ipc_namespace *
  
        msq->q_perm.mode = msgflg & S_IRWXUGO;
        msq->q_perm.key = key;
  
        msq->q_perm.mode = msgflg & S_IRWXUGO;
        msq->q_perm.key = key;
@@ -13059,19 +13059,19 @@ diff -NurpP --minimal linux-3.13.10/ipc/msg.c linux-3.13.10-vs2.3.6.11/ipc/msg.c
  
        msq->q_perm.security = NULL;
        retval = security_msg_queue_alloc(msq);
  
        msq->q_perm.security = NULL;
        retval = security_msg_queue_alloc(msq);
-diff -NurpP --minimal linux-3.13.10/ipc/sem.c linux-3.13.10-vs2.3.6.11/ipc/sem.c
---- linux-3.13.10/ipc/sem.c    2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/ipc/sem.c 2014-01-31 20:38:03.000000000 +0000
-@@ -86,6 +86,8 @@
+diff -NurpP --minimal linux-3.18.5/ipc/sem.c linux-3.18.5-vs2.3.7.3/ipc/sem.c
+--- linux-3.18.5/ipc/sem.c     2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/ipc/sem.c   2015-01-19 10:58:05.000000000 +0000
+@@ -85,6 +85,8 @@
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
  #include <linux/ipc_namespace.h>
 +#include <linux/vs_base.h>
 +#include <linux/vs_limit.h>
  
  #include <linux/rwsem.h>
  #include <linux/nsproxy.h>
  #include <linux/ipc_namespace.h>
 +#include <linux/vs_base.h>
 +#include <linux/vs_limit.h>
  
- #include <asm/uaccess.h>
+ #include <linux/uaccess.h>
  #include "util.h"
  #include "util.h"
-@@ -500,6 +502,7 @@ static int newary(struct ipc_namespace *
+@@ -499,6 +501,7 @@ static int newary(struct ipc_namespace *
  
        sma->sem_perm.mode = (semflg & S_IRWXUGO);
        sma->sem_perm.key = key;
  
        sma->sem_perm.mode = (semflg & S_IRWXUGO);
        sma->sem_perm.key = key;
@@ -13079,7 +13079,7 @@ diff -NurpP --minimal linux-3.13.10/ipc/sem.c linux-3.13.10-vs2.3.6.11/ipc/sem.c
  
        sma->sem_perm.security = NULL;
        retval = security_sem_alloc(sma);
  
        sma->sem_perm.security = NULL;
        retval = security_sem_alloc(sma);
-@@ -514,6 +517,9 @@ static int newary(struct ipc_namespace *
+@@ -528,6 +531,9 @@ static int newary(struct ipc_namespace *
                return id;
        }
        ns->used_sems += nsems;
                return id;
        }
        ns->used_sems += nsems;
@@ -13087,9 +13087,9 @@ diff -NurpP --minimal linux-3.13.10/ipc/sem.c linux-3.13.10-vs2.3.6.11/ipc/sem.c
 +      vx_semary_inc(sma);
 +      vx_nsems_add(sma, nsems);
  
 +      vx_semary_inc(sma);
 +      vx_nsems_add(sma, nsems);
  
-       sma->sem_base = (struct sem *) &sma[1];
-@@ -1103,6 +1109,9 @@ static void freeary(struct ipc_namespace
+       sem_unlock(sma, -1);
+       rcu_read_unlock();
+@@ -1116,6 +1122,9 @@ static void freeary(struct ipc_namespace
  
        wake_up_sem_queue_do(&tasks);
        ns->used_sems -= sma->sem_nsems;
  
        wake_up_sem_queue_do(&tasks);
        ns->used_sems -= sma->sem_nsems;
@@ -13099,9 +13099,9 @@ diff -NurpP --minimal linux-3.13.10/ipc/sem.c linux-3.13.10-vs2.3.6.11/ipc/sem.c
        ipc_rcu_putref(sma, sem_rcu_free);
  }
  
        ipc_rcu_putref(sma, sem_rcu_free);
  }
  
-diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
---- linux-3.13.10/ipc/shm.c    2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/ipc/shm.c 2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/ipc/shm.c linux-3.18.5-vs2.3.7.3/ipc/shm.c
+--- linux-3.18.5/ipc/shm.c     2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/ipc/shm.c   2015-01-19 10:58:05.000000000 +0000
 @@ -42,6 +42,8 @@
  #include <linux/nsproxy.h>
  #include <linux/mount.h>
 @@ -42,6 +42,8 @@
  #include <linux/nsproxy.h>
  #include <linux/mount.h>
@@ -13109,9 +13109,9 @@ diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
 +#include <linux/vs_context.h>
 +#include <linux/vs_limit.h>
  
 +#include <linux/vs_context.h>
 +#include <linux/vs_limit.h>
  
- #include <asm/uaccess.h>
+ #include <linux/uaccess.h>
  
  
-@@ -209,10 +211,14 @@ static void shm_open(struct vm_area_stru
+@@ -210,10 +212,14 @@ static void shm_open(struct vm_area_stru
  static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
  {
        struct file *shm_file;
  static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp)
  {
        struct file *shm_file;
@@ -13127,7 +13127,7 @@ diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
        shm_rmid(ns, shp);
        shm_unlock(shp);
        if (!is_file_hugepages(shm_file))
        shm_rmid(ns, shp);
        shm_unlock(shp);
        if (!is_file_hugepages(shm_file))
-@@ -220,6 +226,7 @@ static void shm_destroy(struct ipc_names
+@@ -221,6 +227,7 @@ static void shm_destroy(struct ipc_names
        else if (shp->mlock_user)
                user_shm_unlock(file_inode(shm_file)->i_size, shp->mlock_user);
        fput(shm_file);
        else if (shp->mlock_user)
                user_shm_unlock(file_inode(shm_file)->i_size, shp->mlock_user);
        fput(shm_file);
@@ -13135,8 +13135,8 @@ diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
        ipc_rcu_putref(shp, shm_rcu_free);
  }
  
        ipc_rcu_putref(shp, shm_rcu_free);
  }
  
-@@ -497,11 +504,15 @@ static int newseg(struct ipc_namespace *
-       if (ns->shm_tot + numpages > ns->shm_ctlall)
+@@ -502,11 +509,15 @@ static int newseg(struct ipc_namespace *
+                       ns->shm_tot + numpages > ns->shm_ctlall)
                return -ENOSPC;
  
 +      if (!vx_ipcshm_avail(current_vx_info(), numpages))
                return -ENOSPC;
  
 +      if (!vx_ipcshm_avail(current_vx_info(), numpages))
@@ -13151,7 +13151,7 @@ diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
        shp->shm_perm.mode = (shmflg & S_IRWXUGO);
        shp->mlock_user = NULL;
  
        shp->shm_perm.mode = (shmflg & S_IRWXUGO);
        shp->mlock_user = NULL;
  
-@@ -570,6 +581,7 @@ static int newseg(struct ipc_namespace *
+@@ -576,6 +587,7 @@ static int newseg(struct ipc_namespace *
  
        ipc_unlock_object(&shp->shm_perm);
        rcu_read_unlock();
  
        ipc_unlock_object(&shp->shm_perm);
        rcu_read_unlock();
@@ -13159,21 +13159,21 @@ diff -NurpP --minimal linux-3.13.10/ipc/shm.c linux-3.13.10-vs2.3.6.11/ipc/shm.c
        return error;
  
  no_id:
        return error;
  
  no_id:
-diff -NurpP --minimal linux-3.13.10/kernel/Makefile linux-3.13.10-vs2.3.6.11/kernel/Makefile
---- linux-3.13.10/kernel/Makefile      2014-01-22 20:39:12.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/Makefile   2014-01-31 21:36:22.000000000 +0000
-@@ -25,6 +25,7 @@ obj-y += printk/
- obj-y += cpu/
+diff -NurpP --minimal linux-3.18.5/kernel/Makefile linux-3.18.5-vs2.3.7.3/kernel/Makefile
+--- linux-3.18.5/kernel/Makefile       2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/Makefile     2015-01-19 10:58:05.000000000 +0000
+@@ -26,6 +26,7 @@ obj-y += power/
+ obj-y += printk/
  obj-y += irq/
  obj-y += rcu/
 +obj-y += vserver/
  
  obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
  obj-$(CONFIG_FREEZER) += freezer.o
  obj-y += irq/
  obj-y += rcu/
 +obj-y += vserver/
  
  obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
  obj-$(CONFIG_FREEZER) += freezer.o
-diff -NurpP --minimal linux-3.13.10/kernel/auditsc.c linux-3.13.10-vs2.3.6.11/kernel/auditsc.c
---- linux-3.13.10/kernel/auditsc.c     2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/auditsc.c  2014-04-17 01:17:11.000000000 +0000
-@@ -1956,7 +1956,7 @@ static int audit_set_loginuid_perm(kuid_
+diff -NurpP --minimal linux-3.18.5/kernel/auditsc.c linux-3.18.5-vs2.3.7.3/kernel/auditsc.c
+--- linux-3.18.5/kernel/auditsc.c      2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/auditsc.c    2015-01-19 10:58:05.000000000 +0000
+@@ -2025,7 +2025,7 @@ static int audit_set_loginuid_perm(kuid_
        if (is_audit_feature_set(AUDIT_FEATURE_LOGINUID_IMMUTABLE))
                return -EPERM;
        /* it is set, you need permission */
        if (is_audit_feature_set(AUDIT_FEATURE_LOGINUID_IMMUTABLE))
                return -EPERM;
        /* it is set, you need permission */
@@ -13182,10 +13182,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/auditsc.c linux-3.13.10-vs2.3.6.11/ke
                return -EPERM;
        /* reject if this is not an unset and we don't allow that */
        if (is_audit_feature_set(AUDIT_FEATURE_ONLY_UNSET_LOGINUID) && uid_valid(loginuid))
                return -EPERM;
        /* reject if this is not an unset and we don't allow that */
        if (is_audit_feature_set(AUDIT_FEATURE_ONLY_UNSET_LOGINUID) && uid_valid(loginuid))
-diff -NurpP --minimal linux-3.13.10/kernel/capability.c linux-3.13.10-vs2.3.6.11/kernel/capability.c
---- linux-3.13.10/kernel/capability.c  2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/capability.c       2014-01-31 20:38:03.000000000 +0000
-@@ -15,6 +15,7 @@
+diff -NurpP --minimal linux-3.18.5/kernel/capability.c linux-3.18.5-vs2.3.7.3/kernel/capability.c
+--- linux-3.18.5/kernel/capability.c   2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/capability.c 2015-01-19 10:58:05.000000000 +0000
+@@ -17,6 +17,7 @@
  #include <linux/syscalls.h>
  #include <linux/pid_namespace.h>
  #include <linux/user_namespace.h>
  #include <linux/syscalls.h>
  #include <linux/pid_namespace.h>
  #include <linux/user_namespace.h>
@@ -13193,7 +13193,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/capability.c linux-3.13.10-vs2.3.6.11
  #include <asm/uaccess.h>
  
  /*
  #include <asm/uaccess.h>
  
  /*
-@@ -116,6 +117,7 @@ static int cap_validate_magic(cap_user_h
+@@ -106,6 +107,7 @@ static int cap_validate_magic(cap_user_h
        return 0;
  }
  
        return 0;
  }
  
@@ -13201,7 +13201,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/capability.c linux-3.13.10-vs2.3.6.11
  /*
   * 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
  /*
   * 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
+@@ -343,6 +345,8 @@ bool has_ns_capability_noaudit(struct ta
        return (ret == 0);
  }
  
        return (ret == 0);
  }
  
@@ -13210,9 +13210,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/capability.c linux-3.13.10-vs2.3.6.11
  /**
   * has_capability_noaudit - Does a task have a capability (unaudited) in the
   * initial user ns
  /**
   * has_capability_noaudit - Does a task have a capability (unaudited) in the
   * initial user ns
-diff -NurpP --minimal linux-3.13.10/kernel/compat.c linux-3.13.10-vs2.3.6.11/kernel/compat.c
---- linux-3.13.10/kernel/compat.c      2013-07-14 17:01:34.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/compat.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/compat.c linux-3.18.5-vs2.3.7.3/kernel/compat.c
+--- linux-3.18.5/kernel/compat.c       2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/compat.c     2015-01-19 10:58:05.000000000 +0000
 @@ -27,6 +27,7 @@
  #include <linux/times.h>
  #include <linux/ptrace.h>
 @@ -27,6 +27,7 @@
  #include <linux/times.h>
  #include <linux/ptrace.h>
@@ -13221,7 +13221,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/compat.c linux-3.13.10-vs2.3.6.11/ker
  
  #include <asm/uaccess.h>
  
  
  #include <asm/uaccess.h>
  
-@@ -1040,7 +1041,7 @@ asmlinkage long compat_sys_stime(compat_
+@@ -1058,7 +1059,7 @@ COMPAT_SYSCALL_DEFINE1(stime, compat_tim
        if (err)
                return err;
  
        if (err)
                return err;
  
@@ -13230,9 +13230,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/compat.c linux-3.13.10-vs2.3.6.11/ker
        return 0;
  }
  
        return 0;
  }
  
-diff -NurpP --minimal linux-3.13.10/kernel/cred.c linux-3.13.10-vs2.3.6.11/kernel/cred.c
---- linux-3.13.10/kernel/cred.c        2013-02-19 13:58:56.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/cred.c     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/cred.c linux-3.18.5-vs2.3.7.3/kernel/cred.c
+--- linux-3.18.5/kernel/cred.c 2013-02-19 13:58:56.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/cred.c       2015-01-19 10:58:05.000000000 +0000
 @@ -56,31 +56,6 @@ struct cred init_cred = {
        .group_info             = &init_groups,
  };
 @@ -56,31 +56,6 @@ struct cred init_cred = {
        .group_info             = &init_groups,
  };
@@ -13302,9 +13302,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/cred.c linux-3.13.10-vs2.3.6.11/kerne
  EXPORT_SYMBOL(prepare_creds);
  
  /*
  EXPORT_SYMBOL(prepare_creds);
  
  /*
-diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kernel/exit.c
---- linux-3.13.10/kernel/exit.c        2013-11-25 15:45:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/exit.c     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/exit.c linux-3.18.5-vs2.3.7.3/kernel/exit.c
+--- linux-3.18.5/kernel/exit.c 2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/exit.c       2015-01-19 11:06:12.000000000 +0000
 @@ -48,6 +48,10 @@
  #include <linux/fs_struct.h>
  #include <linux/init_task.h>
 @@ -48,6 +48,10 @@
  #include <linux/fs_struct.h>
  #include <linux/init_task.h>
@@ -13316,7 +13316,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kerne
  #include <trace/events/sched.h>
  #include <linux/hw_breakpoint.h>
  #include <linux/oom.h>
  #include <trace/events/sched.h>
  #include <linux/hw_breakpoint.h>
  #include <linux/oom.h>
-@@ -503,15 +507,25 @@ static struct task_struct *find_new_reap
+@@ -474,15 +478,25 @@ static struct task_struct *find_new_reap
        __acquires(&tasklist_lock)
  {
        struct pid_namespace *pid_ns = task_active_pid_ns(father);
        __acquires(&tasklist_lock)
  {
        struct pid_namespace *pid_ns = task_active_pid_ns(father);
@@ -13345,7 +13345,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kerne
        }
  
        if (unlikely(pid_ns->child_reaper == father)) {
        }
  
        if (unlikely(pid_ns->child_reaper == father)) {
-@@ -549,7 +563,9 @@ static struct task_struct *find_new_reap
+@@ -520,7 +534,9 @@ static struct task_struct *find_new_reap
                }
        }
  
                }
        }
  
@@ -13356,9 +13356,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kerne
  }
  
  /*
  }
  
  /*
-@@ -600,10 +616,15 @@ static void forget_original_parent(struc
-       list_for_each_entry_safe(p, n, &father->children, sibling) {
+@@ -572,10 +588,15 @@ static void forget_original_parent(struc
                struct task_struct *t = p;
                struct task_struct *t = p;
                do {
 -                      t->real_parent = reaper;
 +                      struct task_struct *new_parent = reaper;
                do {
 -                      t->real_parent = reaper;
 +                      struct task_struct *new_parent = reaper;
@@ -13374,17 +13374,17 @@ diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kerne
                        }
                        if (t->pdeath_signal)
                                group_send_sig_info(t->pdeath_signal,
                        }
                        if (t->pdeath_signal)
                                group_send_sig_info(t->pdeath_signal,
-@@ -810,6 +831,9 @@ void do_exit(long code)
+@@ -777,6 +798,9 @@ void do_exit(long code)
         */
        flush_ptrace_hw_breakpoint(tsk);
  
 +      /* needs to stay before exit_notify() */
 +      exit_vx_info_early(tsk, code);
 +
         */
        flush_ptrace_hw_breakpoint(tsk);
  
 +      /* needs to stay before exit_notify() */
 +      exit_vx_info_early(tsk, code);
 +
+       TASKS_RCU(tasks_rcu_i = __srcu_read_lock(&tasks_rcu_exit_srcu));
        exit_notify(tsk, group_dead);
        exit_notify(tsk, group_dead);
- #ifdef CONFIG_NUMA
-       task_lock(tsk);
-@@ -863,10 +887,15 @@ void do_exit(long code)
+       proc_exit_connector(tsk);
+@@ -834,10 +858,15 @@ void do_exit(long code)
        smp_mb();
        raw_spin_unlock_wait(&tsk->pi_lock);
  
        smp_mb();
        raw_spin_unlock_wait(&tsk->pi_lock);
  
@@ -13400,10 +13400,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/exit.c linux-3.13.10-vs2.3.6.11/kerne
        BUG();
        /* Avoid "noreturn function does return".  */
        for (;;)
        BUG();
        /* Avoid "noreturn function does return".  */
        for (;;)
-diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kernel/fork.c
---- linux-3.13.10/kernel/fork.c        2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/fork.c     2014-01-31 20:38:03.000000000 +0000
-@@ -71,6 +71,9 @@
+diff -NurpP --minimal linux-3.18.5/kernel/fork.c linux-3.18.5-vs2.3.7.3/kernel/fork.c
+--- linux-3.18.5/kernel/fork.c 2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/fork.c       2015-01-21 09:21:45.000000000 +0000
+@@ -74,6 +74,9 @@
  #include <linux/uprobes.h>
  #include <linux/aio.h>
  #include <linux/compiler.h>
  #include <linux/uprobes.h>
  #include <linux/aio.h>
  #include <linux/compiler.h>
@@ -13413,7 +13413,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
  
  #include <asm/pgtable.h>
  #include <asm/pgalloc.h>
  
  #include <asm/pgtable.h>
  #include <asm/pgalloc.h>
-@@ -211,6 +214,8 @@ void free_task(struct task_struct *tsk)
+@@ -214,6 +217,8 @@ void free_task(struct task_struct *tsk)
        arch_release_thread_info(tsk->stack);
        free_thread_info(tsk->stack);
        rt_mutex_debug_task_free(tsk);
        arch_release_thread_info(tsk->stack);
        free_thread_info(tsk->stack);
        rt_mutex_debug_task_free(tsk);
@@ -13422,39 +13422,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
        ftrace_graph_exit_task(tsk);
        put_seccomp_filter(tsk);
        arch_release_task_struct(tsk);
        ftrace_graph_exit_task(tsk);
        put_seccomp_filter(tsk);
        arch_release_task_struct(tsk);
-@@ -542,6 +547,7 @@ static struct mm_struct *mm_init(struct
-       if (likely(!mm_alloc_pgd(mm))) {
-               mm->def_flags = 0;
-               mmu_notifier_mm_init(mm);
-+              set_vx_info(&mm->mm_vx_info, p->vx_info);
-               return mm;
-       }
-@@ -594,6 +600,7 @@ void __mmdrop(struct mm_struct *mm)
-       destroy_context(mm);
-       mmu_notifier_mm_destroy(mm);
-       check_mm(mm);
-+      clr_vx_info(&mm->mm_vx_info);
-       free_mm(mm);
- }
- EXPORT_SYMBOL_GPL(__mmdrop);
-@@ -813,6 +820,7 @@ struct mm_struct *dup_mm(struct task_str
-               goto fail_nomem;
-       memcpy(mm, oldmm, sizeof(*mm));
-+      mm->mm_vx_info = NULL;
-       mm_init_cpumask(mm);
- #if defined(CONFIG_TRANSPARENT_HUGEPAGE) && !USE_SPLIT_PMD_PTLOCKS
-@@ -851,6 +859,7 @@ fail_nocontext:
-        * If init_new_context() failed, we cannot use mmput() to free the mm
-        * because it calls destroy_context()
-        */
-+      clr_vx_info(&mm->mm_vx_info);
-       mm_free_pgd(mm);
-       free_mm(mm);
-       return NULL;
-@@ -1135,6 +1144,8 @@ static struct task_struct *copy_process(
+@@ -1188,6 +1193,8 @@ static struct task_struct *copy_process(
  {
        int retval;
        struct task_struct *p;
  {
        int retval;
        struct task_struct *p;
@@ -13463,7 +13431,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
  
        if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
                return ERR_PTR(-EINVAL);
  
        if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
                return ERR_PTR(-EINVAL);
-@@ -1197,7 +1208,12 @@ static struct task_struct *copy_process(
+@@ -1249,7 +1256,12 @@ static struct task_struct *copy_process(
        DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled);
        DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
  #endif
        DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled);
        DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
  #endif
@@ -13476,10 +13444,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
        if (atomic_read(&p->real_cred->user->processes) >=
                        task_rlimit(p, RLIMIT_NPROC)) {
                if (p->real_cred->user != INIT_USER &&
        if (atomic_read(&p->real_cred->user->processes) >=
                        task_rlimit(p, RLIMIT_NPROC)) {
                if (p->real_cred->user != INIT_USER &&
-@@ -1479,6 +1495,18 @@ static struct task_struct *copy_process(
+@@ -1535,6 +1547,18 @@ static struct task_struct *copy_process(
        total_forks++;
        spin_unlock(&current->sighand->siglock);
        total_forks++;
        spin_unlock(&current->sighand->siglock);
+       syscall_tracepoint_update(p);
 +
 +      /* p is copy of current */
 +      vxi = p->vx_info;
 +
 +      /* p is copy of current */
 +      vxi = p->vx_info;
@@ -13493,11 +13461,11 @@ diff -NurpP --minimal linux-3.13.10/kernel/fork.c linux-3.13.10-vs2.3.6.11/kerne
 +      if (nxi)
 +              claim_nx_info(nxi, p);
        write_unlock_irq(&tasklist_lock);
 +      if (nxi)
 +              claim_nx_info(nxi, p);
        write_unlock_irq(&tasklist_lock);
        proc_fork_connector(p);
        proc_fork_connector(p);
-       cgroup_post_fork(p);
-diff -NurpP --minimal linux-3.13.10/kernel/kthread.c linux-3.13.10-vs2.3.6.11/kernel/kthread.c
---- linux-3.13.10/kernel/kthread.c     2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/kthread.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/kthread.c linux-3.18.5-vs2.3.7.3/kernel/kthread.c
+--- linux-3.18.5/kernel/kthread.c      2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/kthread.c    2015-01-19 10:58:05.000000000 +0000
 @@ -18,6 +18,7 @@
  #include <linux/freezer.h>
  #include <linux/ptrace.h>
 @@ -18,6 +18,7 @@
  #include <linux/freezer.h>
  #include <linux/ptrace.h>
@@ -13506,9 +13474,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/kthread.c linux-3.13.10-vs2.3.6.11/ke
  #include <trace/events/sched.h>
  
  static DEFINE_SPINLOCK(kthread_create_lock);
  #include <trace/events/sched.h>
  
  static DEFINE_SPINLOCK(kthread_create_lock);
-diff -NurpP --minimal linux-3.13.10/kernel/nsproxy.c linux-3.13.10-vs2.3.6.11/kernel/nsproxy.c
---- linux-3.13.10/kernel/nsproxy.c     2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/nsproxy.c  2014-02-01 00:17:43.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/nsproxy.c linux-3.18.5-vs2.3.7.3/kernel/nsproxy.c
+--- linux-3.18.5/kernel/nsproxy.c      2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/nsproxy.c    2015-01-19 10:58:05.000000000 +0000
 @@ -20,11 +20,14 @@
  #include <linux/mnt_namespace.h>
  #include <linux/utsname.h>
 @@ -20,11 +20,14 @@
  #include <linux/mnt_namespace.h>
  #include <linux/utsname.h>
@@ -13693,9 +13661,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/nsproxy.c linux-3.13.10-vs2.3.6.11/ke
                return -EPERM;
  
        *new_nsp = create_new_namespaces(unshare_flags, current, user_ns,
                return -EPERM;
  
        *new_nsp = create_new_namespaces(unshare_flags, current, user_ns,
-diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel/pid.c
---- linux-3.13.10/kernel/pid.c 2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/pid.c      2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/pid.c linux-3.18.5-vs2.3.7.3/kernel/pid.c
+--- linux-3.18.5/kernel/pid.c  2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/pid.c        2015-01-19 10:58:05.000000000 +0000
 @@ -38,6 +38,7 @@
  #include <linux/syscalls.h>
  #include <linux/proc_ns.h>
 @@ -38,6 +38,7 @@
  #include <linux/syscalls.h>
  #include <linux/proc_ns.h>
@@ -13704,7 +13672,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
  
  #define pid_hashfn(nr, ns)    \
        hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift)
  
  #define pid_hashfn(nr, ns)    \
        hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift)
-@@ -373,7 +374,7 @@ EXPORT_SYMBOL_GPL(find_pid_ns);
+@@ -375,7 +376,7 @@ EXPORT_SYMBOL_GPL(find_pid_ns);
  
  struct pid *find_vpid(int nr)
  {
  
  struct pid *find_vpid(int nr)
  {
@@ -13713,7 +13681,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
  }
  EXPORT_SYMBOL_GPL(find_vpid);
  
  }
  EXPORT_SYMBOL_GPL(find_vpid);
  
-@@ -429,6 +430,9 @@ void transfer_pid(struct task_struct *ol
+@@ -431,6 +432,9 @@ void transfer_pid(struct task_struct *ol
  struct task_struct *pid_task(struct pid *pid, enum pid_type type)
  {
        struct task_struct *result = NULL;
  struct task_struct *pid_task(struct pid *pid, enum pid_type type)
  {
        struct task_struct *result = NULL;
@@ -13723,7 +13691,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
        if (pid) {
                struct hlist_node *first;
                first = rcu_dereference_check(hlist_first_rcu(&pid->tasks[type]),
        if (pid) {
                struct hlist_node *first;
                first = rcu_dereference_check(hlist_first_rcu(&pid->tasks[type]),
-@@ -448,7 +452,7 @@ struct task_struct *find_task_by_pid_ns(
+@@ -450,7 +454,7 @@ struct task_struct *find_task_by_pid_ns(
        rcu_lockdep_assert(rcu_read_lock_held(),
                           "find_task_by_pid_ns() needs rcu_read_lock()"
                           " protection");
        rcu_lockdep_assert(rcu_read_lock_held(),
                           "find_task_by_pid_ns() needs rcu_read_lock()"
                           " protection");
@@ -13732,7 +13700,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
  }
  
  struct task_struct *find_task_by_vpid(pid_t vnr)
  }
  
  struct task_struct *find_task_by_vpid(pid_t vnr)
-@@ -492,7 +496,7 @@ struct pid *find_get_pid(pid_t nr)
+@@ -494,7 +498,7 @@ struct pid *find_get_pid(pid_t nr)
  }
  EXPORT_SYMBOL_GPL(find_get_pid);
  
  }
  EXPORT_SYMBOL_GPL(find_get_pid);
  
@@ -13741,7 +13709,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
  {
        struct upid *upid;
        pid_t nr = 0;
  {
        struct upid *upid;
        pid_t nr = 0;
-@@ -506,6 +510,11 @@ pid_t pid_nr_ns(struct pid *pid, struct
+@@ -508,6 +512,11 @@ pid_t pid_nr_ns(struct pid *pid, struct
  }
  EXPORT_SYMBOL_GPL(pid_nr_ns);
  
  }
  EXPORT_SYMBOL_GPL(pid_nr_ns);
  
@@ -13753,9 +13721,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid.c linux-3.13.10-vs2.3.6.11/kernel
  pid_t pid_vnr(struct pid *pid)
  {
        return pid_nr_ns(pid, task_active_pid_ns(current));
  pid_t pid_vnr(struct pid *pid)
  {
        return pid_nr_ns(pid, task_active_pid_ns(current));
-diff -NurpP --minimal linux-3.13.10/kernel/pid_namespace.c linux-3.13.10-vs2.3.6.11/kernel/pid_namespace.c
---- linux-3.13.10/kernel/pid_namespace.c       2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/pid_namespace.c    2014-02-01 12:23:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/pid_namespace.c linux-3.18.5-vs2.3.7.3/kernel/pid_namespace.c
+--- linux-3.18.5/kernel/pid_namespace.c        2014-06-12 13:02:52.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/pid_namespace.c      2015-01-19 10:58:05.000000000 +0000
 @@ -18,6 +18,7 @@
  #include <linux/proc_ns.h>
  #include <linux/reboot.h>
 @@ -18,6 +18,7 @@
  #include <linux/proc_ns.h>
  #include <linux/reboot.h>
@@ -13780,56 +13748,18 @@ diff -NurpP --minimal linux-3.13.10/kernel/pid_namespace.c linux-3.13.10-vs2.3.6
        kmem_cache_free(pid_ns_cachep, ns);
  out:
        return ERR_PTR(err);
        kmem_cache_free(pid_ns_cachep, ns);
  out:
        return ERR_PTR(err);
-diff -NurpP --minimal linux-3.13.10/kernel/posix-timers.c linux-3.13.10-vs2.3.6.11/kernel/posix-timers.c
---- linux-3.13.10/kernel/posix-timers.c        2013-07-14 17:01:35.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/posix-timers.c     2014-01-31 20:38:03.000000000 +0000
-@@ -48,6 +48,7 @@
- #include <linux/workqueue.h>
- #include <linux/export.h>
- #include <linux/hashtable.h>
-+#include <linux/vs_context.h>
- /*
-  * Management arrays for POSIX timers. Timers are now kept in static hash table
-@@ -398,6 +399,7 @@ int posix_timer_event(struct k_itimer *t
- {
-       struct task_struct *task;
-       int shared, ret = -1;
-+
-       /*
-        * FIXME: if ->sigq is queued we can race with
-        * dequeue_signal()->do_schedule_next_timer().
-@@ -414,10 +416,18 @@ int posix_timer_event(struct k_itimer *t
-       rcu_read_lock();
-       task = pid_task(timr->it_pid, PIDTYPE_PID);
-       if (task) {
-+              struct vx_info_save vxis;
-+              struct vx_info *vxi;
-+
-+              vxi = get_vx_info(task->vx_info);
-+              enter_vx_info(vxi, &vxis);
-               shared = !(timr->it_sigev_notify & SIGEV_THREAD_ID);
-               ret = send_sigqueue(timr->sigq, task, shared);
-+              leave_vx_info(&vxis);
-+              put_vx_info(vxi);
-       }
-       rcu_read_unlock();
-+
-       /* If we failed to send the signal the timer stops. */
-       return ret > 0;
- }
-diff -NurpP --minimal linux-3.13.10/kernel/printk/printk.c linux-3.13.10-vs2.3.6.11/kernel/printk/printk.c
---- linux-3.13.10/kernel/printk/printk.c       2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/printk/printk.c    2014-04-17 01:17:11.000000000 +0000
-@@ -45,6 +45,7 @@
- #include <linux/poll.h>
+diff -NurpP --minimal linux-3.18.5/kernel/printk/printk.c linux-3.18.5-vs2.3.7.3/kernel/printk/printk.c
+--- linux-3.18.5/kernel/printk/printk.c        2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/printk/printk.c      2015-01-19 11:13:25.000000000 +0000
+@@ -46,6 +46,7 @@
  #include <linux/irq_work.h>
  #include <linux/utsname.h>
  #include <linux/irq_work.h>
  #include <linux/utsname.h>
+ #include <linux/ctype.h>
 +#include <linux/vs_cvirt.h>
  
  #include <asm/uaccess.h>
  
 +#include <linux/vs_cvirt.h>
  
  #include <asm/uaccess.h>
  
-@@ -386,7 +387,7 @@ static int check_syslog_permissions(int
+@@ -490,7 +491,7 @@ static int check_syslog_permissions(int
                return 0;
  
        if (syslog_action_restricted(type)) {
                return 0;
  
        if (syslog_action_restricted(type)) {
@@ -13838,7 +13768,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/printk/printk.c linux-3.13.10-vs2.3.6
                        return 0;
                /*
                 * For historical reasons, accept CAP_SYS_ADMIN too, with
                        return 0;
                /*
                 * For historical reasons, accept CAP_SYS_ADMIN too, with
-@@ -1134,12 +1135,9 @@ int do_syslog(int type, char __user *buf
+@@ -1270,12 +1271,9 @@ int do_syslog(int type, char __user *buf
        if (error)
                return error;
  
        if (error)
                return error;
  
@@ -13854,7 +13784,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/printk/printk.c linux-3.13.10-vs2.3.6
                error = -EINVAL;
                if (!buf || len < 0)
                        goto out;
                error = -EINVAL;
                if (!buf || len < 0)
                        goto out;
-@@ -1150,6 +1148,16 @@ int do_syslog(int type, char __user *buf
+@@ -1286,6 +1284,16 @@ int do_syslog(int type, char __user *buf
                        error = -EFAULT;
                        goto out;
                }
                        error = -EFAULT;
                        goto out;
                }
@@ -13871,7 +13801,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/printk/printk.c linux-3.13.10-vs2.3.6
                error = wait_event_interruptible(log_wait,
                                                 syslog_seq != log_next_seq);
                if (error)
                error = wait_event_interruptible(log_wait,
                                                 syslog_seq != log_next_seq);
                if (error)
-@@ -1162,16 +1170,6 @@ int do_syslog(int type, char __user *buf
+@@ -1298,16 +1306,6 @@ int do_syslog(int type, char __user *buf
                /* FALL THRU */
        /* Read last kernel messages */
        case SYSLOG_ACTION_READ_ALL:
                /* FALL THRU */
        /* Read last kernel messages */
        case SYSLOG_ACTION_READ_ALL:
@@ -13888,9 +13818,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/printk/printk.c linux-3.13.10-vs2.3.6
                error = syslog_print_all(buf, len, clear);
                break;
        /* Clear ring buffer */
                error = syslog_print_all(buf, len, clear);
                break;
        /* Clear ring buffer */
-diff -NurpP --minimal linux-3.13.10/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/kernel/ptrace.c
---- linux-3.13.10/kernel/ptrace.c      2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/ptrace.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/ptrace.c linux-3.18.5-vs2.3.7.3/kernel/ptrace.c
+--- linux-3.18.5/kernel/ptrace.c       2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/ptrace.c     2015-01-19 10:58:13.000000000 +0000
 @@ -23,6 +23,7 @@
  #include <linux/syscalls.h>
  #include <linux/uaccess.h>
 @@ -23,6 +23,7 @@
  #include <linux/syscalls.h>
  #include <linux/uaccess.h>
@@ -13899,7 +13829,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/ker
  #include <linux/hw_breakpoint.h>
  #include <linux/cn_proc.h>
  #include <linux/compat.h>
  #include <linux/hw_breakpoint.h>
  #include <linux/cn_proc.h>
  #include <linux/compat.h>
-@@ -264,6 +265,11 @@ ok:
+@@ -258,6 +259,11 @@ ok:
        }
        rcu_read_unlock();
  
        }
        rcu_read_unlock();
  
@@ -13911,9 +13841,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/ptrace.c linux-3.13.10-vs2.3.6.11/ker
        return security_ptrace_access_check(task, mode);
  }
  
        return security_ptrace_access_check(task, mode);
  }
  
-diff -NurpP --minimal linux-3.13.10/kernel/reboot.c linux-3.13.10-vs2.3.6.11/kernel/reboot.c
---- linux-3.13.10/kernel/reboot.c      2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/reboot.c   2014-02-01 00:19:40.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/reboot.c linux-3.18.5-vs2.3.7.3/kernel/reboot.c
+--- linux-3.18.5/kernel/reboot.c       2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/reboot.c     2015-01-19 10:58:13.000000000 +0000
 @@ -16,6 +16,7 @@
  #include <linux/syscalls.h>
  #include <linux/syscore_ops.h>
 @@ -16,6 +16,7 @@
  #include <linux/syscalls.h>
  #include <linux/syscore_ops.h>
@@ -13922,7 +13852,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/reboot.c linux-3.13.10-vs2.3.6.11/ker
  
  /*
   * this indicates whether you can reboot with ctrl-alt-del: the default is yes
  
  /*
   * this indicates whether you can reboot with ctrl-alt-del: the default is yes
-@@ -188,6 +189,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off);
+@@ -269,6 +270,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off);
  
  static DEFINE_MUTEX(reboot_mutex);
  
  
  static DEFINE_MUTEX(reboot_mutex);
  
@@ -13931,7 +13861,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/reboot.c linux-3.13.10-vs2.3.6.11/ker
  /*
   * Reboot system call: for obvious reasons only root may call it,
   * and even root needs to set up some magic numbers in the registers
  /*
   * Reboot system call: for obvious reasons only root may call it,
   * and even root needs to set up some magic numbers in the registers
-@@ -230,6 +233,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
+@@ -311,6 +314,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int
        if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
                cmd = LINUX_REBOOT_CMD_HALT;
  
        if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off)
                cmd = LINUX_REBOOT_CMD_HALT;
  
@@ -13941,10 +13871,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/reboot.c linux-3.13.10-vs2.3.6.11/ker
        mutex_lock(&reboot_mutex);
        switch (cmd) {
        case LINUX_REBOOT_CMD_RESTART:
        mutex_lock(&reboot_mutex);
        switch (cmd) {
        case LINUX_REBOOT_CMD_RESTART:
-diff -NurpP --minimal linux-3.13.10/kernel/sched/core.c linux-3.13.10-vs2.3.6.11/kernel/sched/core.c
---- linux-3.13.10/kernel/sched/core.c  2014-04-17 01:12:39.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sched/core.c       2014-02-25 11:26:10.000000000 +0000
-@@ -73,6 +73,8 @@
+diff -NurpP --minimal linux-3.18.5/kernel/sched/core.c linux-3.18.5-vs2.3.7.3/kernel/sched/core.c
+--- linux-3.18.5/kernel/sched/core.c   2015-02-05 18:02:45.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sched/core.c 2015-01-19 11:06:53.000000000 +0000
+@@ -74,6 +74,8 @@
  #include <linux/binfmts.h>
  #include <linux/context_tracking.h>
  #include <linux/compiler.h>
  #include <linux/binfmts.h>
  #include <linux/context_tracking.h>
  #include <linux/compiler.h>
@@ -13953,18 +13883,18 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/core.c linux-3.13.10-vs2.3.6.11
  
  #include <asm/switch_to.h>
  #include <asm/tlb.h>
  
  #include <asm/switch_to.h>
  #include <asm/tlb.h>
-@@ -2927,7 +2929,7 @@ SYSCALL_DEFINE1(nice, int, increment)
-               nice = 19;
+@@ -3192,7 +3194,7 @@ SYSCALL_DEFINE1(nice, int, increment)
  
  
+       nice = clamp_val(nice, MIN_NICE, MAX_NICE);
        if (increment < 0 && !can_nice(current, nice))
 -              return -EPERM;
 +              return vx_flags(VXF_IGNEG_NICE, 0) ? 0 : -EPERM;
  
        retval = security_task_setnice(current, nice);
        if (retval)
        if (increment < 0 && !can_nice(current, nice))
 -              return -EPERM;
 +              return vx_flags(VXF_IGNEG_NICE, 0) ? 0 : -EPERM;
  
        retval = security_task_setnice(current, nice);
        if (retval)
-diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6.11/kernel/sched/cputime.c
---- linux-3.13.10/kernel/sched/cputime.c       2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sched/cputime.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/sched/cputime.c linux-3.18.5-vs2.3.7.3/kernel/sched/cputime.c
+--- linux-3.18.5/kernel/sched/cputime.c        2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sched/cputime.c      2015-01-19 11:08:36.000000000 +0000
 @@ -4,6 +4,7 @@
  #include <linux/kernel_stat.h>
  #include <linux/static_key.h>
 @@ -4,6 +4,7 @@
  #include <linux/kernel_stat.h>
  #include <linux/static_key.h>
@@ -13973,7 +13903,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6
  #include "sched.h"
  
  
  #include "sched.h"
  
  
-@@ -189,9 +193,12 @@ static inline
+@@ -135,14 +136,17 @@ static inline void task_group_account_fi
  void account_user_time(struct task_struct *p, cputime_t cputime,
                       cputime_t cputime_scaled)
  {
  void account_user_time(struct task_struct *p, cputime_t cputime,
                       cputime_t cputime_scaled)
  {
@@ -13992,7 +13922,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6
  
        /* Add user time to cpustat. */
        task_group_account_field(p, index, (__force u64) cputime);
  
        /* Add user time to cpustat. */
        task_group_account_field(p, index, (__force u64) cputime);
-@@ -215,14 +216,17 @@ static inline void task_group_account_fi
+@@ -189,9 +193,12 @@ static inline
  void __account_system_time(struct task_struct *p, cputime_t cputime,
                        cputime_t cputime_scaled, int index)
  {
  void __account_system_time(struct task_struct *p, cputime_t cputime,
                        cputime_t cputime_scaled, int index)
  {
@@ -14005,10 +13935,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/cputime.c linux-3.13.10-vs2.3.6
        account_group_system_time(p, cputime);
  
        /* Add system time to cpustat. */
        account_group_system_time(p, cputime);
  
        /* Add system time to cpustat. */
-diff -NurpP --minimal linux-3.13.10/kernel/sched/fair.c linux-3.13.10-vs2.3.6.11/kernel/sched/fair.c
---- linux-3.13.10/kernel/sched/fair.c  2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sched/fair.c       2014-04-17 01:17:11.000000000 +0000
-@@ -29,6 +29,7 @@
+diff -NurpP --minimal linux-3.18.5/kernel/sched/fair.c linux-3.18.5-vs2.3.7.3/kernel/sched/fair.c
+--- linux-3.18.5/kernel/sched/fair.c   2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sched/fair.c 2015-01-19 10:58:14.000000000 +0000
+@@ -30,6 +30,7 @@
  #include <linux/mempolicy.h>
  #include <linux/migrate.h>
  #include <linux/task_work.h>
  #include <linux/mempolicy.h>
  #include <linux/migrate.h>
  #include <linux/task_work.h>
@@ -14016,7 +13946,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/fair.c linux-3.13.10-vs2.3.6.11
  
  #include <trace/events/sched.h>
  
  
  #include <trace/events/sched.h>
  
-@@ -2577,6 +2578,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st
+@@ -2840,6 +2841,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st
                __enqueue_entity(cfs_rq, se);
        se->on_rq = 1;
  
                __enqueue_entity(cfs_rq, se);
        se->on_rq = 1;
  
@@ -14025,7 +13955,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/fair.c linux-3.13.10-vs2.3.6.11
        if (cfs_rq->nr_running == 1) {
                list_add_leaf_cfs_rq(cfs_rq);
                check_enqueue_throttle(cfs_rq);
        if (cfs_rq->nr_running == 1) {
                list_add_leaf_cfs_rq(cfs_rq);
                check_enqueue_throttle(cfs_rq);
-@@ -2658,6 +2661,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st
+@@ -2921,6 +2924,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st
        if (se != cfs_rq->curr)
                __dequeue_entity(cfs_rq, se);
        se->on_rq = 0;
        if (se != cfs_rq->curr)
                __dequeue_entity(cfs_rq, se);
        se->on_rq = 0;
@@ -14034,10 +13964,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/fair.c linux-3.13.10-vs2.3.6.11
        account_entity_dequeue(cfs_rq, se);
  
        /*
        account_entity_dequeue(cfs_rq, se);
  
        /*
-diff -NurpP --minimal linux-3.13.10/kernel/sched/proc.c linux-3.13.10-vs2.3.6.11/kernel/sched/proc.c
---- linux-3.13.10/kernel/sched/proc.c  2013-11-25 15:45:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sched/proc.c       2014-01-31 21:22:36.000000000 +0000
-@@ -78,9 +78,17 @@ EXPORT_SYMBOL(avenrun); /* should be rem
+diff -NurpP --minimal linux-3.18.5/kernel/sched/proc.c linux-3.18.5-vs2.3.7.3/kernel/sched/proc.c
+--- linux-3.18.5/kernel/sched/proc.c   2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sched/proc.c 2015-01-19 10:58:14.000000000 +0000
+@@ -71,9 +71,17 @@ EXPORT_SYMBOL(avenrun); /* should be rem
   */
  void get_avenrun(unsigned long *loads, unsigned long offset, int shift)
  {
   */
  void get_avenrun(unsigned long *loads, unsigned long offset, int shift)
  {
@@ -14058,10 +13988,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/sched/proc.c linux-3.13.10-vs2.3.6.11
  }
  
  long calc_load_fold_active(struct rq *this_rq)
  }
  
  long calc_load_fold_active(struct rq *this_rq)
-diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/kernel/signal.c
---- linux-3.13.10/kernel/signal.c      2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/signal.c   2014-01-31 20:38:03.000000000 +0000
-@@ -33,6 +33,8 @@
+diff -NurpP --minimal linux-3.18.5/kernel/signal.c linux-3.18.5-vs2.3.7.3/kernel/signal.c
+--- linux-3.18.5/kernel/signal.c       2015-01-16 22:19:27.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/signal.c     2015-01-19 13:14:52.000000000 +0000
+@@ -34,6 +34,8 @@
  #include <linux/compat.h>
  #include <linux/cn_proc.h>
  #include <linux/compiler.h>
  #include <linux/compat.h>
  #include <linux/cn_proc.h>
  #include <linux/compiler.h>
@@ -14070,7 +14000,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/signal.h>
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/signal.h>
-@@ -790,9 +792,18 @@ static int check_kill_permission(int sig
+@@ -767,9 +769,18 @@ static int check_kill_permission(int sig
        struct pid *sid;
        int error;
  
        struct pid *sid;
        int error;
  
@@ -14089,7 +14019,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
        if (!si_fromuser(info))
                return 0;
  
        if (!si_fromuser(info))
                return 0;
  
-@@ -816,6 +827,20 @@ static int check_kill_permission(int sig
+@@ -793,6 +804,20 @@ static int check_kill_permission(int sig
                }
        }
  
                }
        }
  
@@ -14110,7 +14040,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
        return security_task_kill(t, info, sig, 0);
  }
  
        return security_task_kill(t, info, sig, 0);
  }
  
-@@ -1353,7 +1378,7 @@ int kill_pid_info(int sig, struct siginf
+@@ -1334,7 +1359,7 @@ int kill_pid_info(int sig, struct siginf
        rcu_read_lock();
  retry:
        p = pid_task(pid, PIDTYPE_PID);
        rcu_read_lock();
  retry:
        p = pid_task(pid, PIDTYPE_PID);
@@ -14119,7 +14049,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
                error = group_send_sig_info(sig, info, p);
                if (unlikely(error == -ESRCH))
                        /*
                error = group_send_sig_info(sig, info, p);
                if (unlikely(error == -ESRCH))
                        /*
-@@ -1401,7 +1426,7 @@ int kill_pid_info_as_cred(int sig, struc
+@@ -1382,7 +1407,7 @@ int kill_pid_info_as_cred(int sig, struc
  
        rcu_read_lock();
        p = pid_task(pid, PIDTYPE_PID);
  
        rcu_read_lock();
        p = pid_task(pid, PIDTYPE_PID);
@@ -14128,7 +14058,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
                ret = -ESRCH;
                goto out_unlock;
        }
                ret = -ESRCH;
                goto out_unlock;
        }
-@@ -1453,8 +1478,10 @@ static int kill_something_info(int sig,
+@@ -1434,8 +1459,10 @@ static int kill_something_info(int sig,
                struct task_struct * p;
  
                for_each_process(p) {
                struct task_struct * p;
  
                for_each_process(p) {
@@ -14141,22 +14071,22 @@ diff -NurpP --minimal linux-3.13.10/kernel/signal.c linux-3.13.10-vs2.3.6.11/ker
                                int err = group_send_sig_info(sig, info, p);
                                ++count;
                                if (err != -EPERM)
                                int err = group_send_sig_info(sig, info, p);
                                ++count;
                                if (err != -EPERM)
-@@ -2308,6 +2335,11 @@ relock:
+@@ -2288,6 +2315,11 @@ relock:
                                !sig_kernel_only(signr))
                        continue;
  
 +              /* virtual init is protected against user signals */
                                !sig_kernel_only(signr))
                        continue;
  
 +              /* virtual init is protected against user signals */
-+              if ((info->si_code == SI_USER) &&
++              if ((ksig->info.si_code == SI_USER) &&
 +                      vx_current_initpid(current->pid))
 +                      continue;
 +
                if (sig_kernel_stop(signr)) {
                        /*
                         * The default action is to stop all threads in
 +                      vx_current_initpid(current->pid))
 +                      continue;
 +
                if (sig_kernel_stop(signr)) {
                        /*
                         * The default action is to stop all threads in
-diff -NurpP --minimal linux-3.13.10/kernel/softirq.c linux-3.13.10-vs2.3.6.11/kernel/softirq.c
---- linux-3.13.10/kernel/softirq.c     2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/softirq.c  2014-01-31 20:38:03.000000000 +0000
-@@ -23,6 +23,7 @@
+diff -NurpP --minimal linux-3.18.5/kernel/softirq.c linux-3.18.5-vs2.3.7.3/kernel/softirq.c
+--- linux-3.18.5/kernel/softirq.c      2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/softirq.c    2015-01-19 11:09:03.000000000 +0000
+@@ -26,6 +26,7 @@
  #include <linux/smpboot.h>
  #include <linux/tick.h>
  #include <linux/irq.h>
  #include <linux/smpboot.h>
  #include <linux/tick.h>
  #include <linux/irq.h>
@@ -14164,9 +14094,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/softirq.c linux-3.13.10-vs2.3.6.11/ke
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/irq.h>
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/irq.h>
-diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel/sys.c
---- linux-3.13.10/kernel/sys.c 2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sys.c      2014-02-01 00:19:29.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/sys.c linux-3.18.5-vs2.3.7.3/kernel/sys.c
+--- linux-3.18.5/kernel/sys.c  2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sys.c        2015-01-19 11:17:00.000000000 +0000
 @@ -54,6 +54,7 @@
  #include <linux/cred.h>
  
 @@ -54,6 +54,7 @@
  #include <linux/cred.h>
  
@@ -14188,24 +14118,33 @@ diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel
        }
        no_nice = security_task_setnice(p, niceval);
 @@ -196,6 +200,8 @@ SYSCALL_DEFINE3(setpriority, int, which,
        }
        no_nice = security_task_setnice(p, niceval);
 @@ -196,6 +200,8 @@ SYSCALL_DEFINE3(setpriority, int, which,
-                       else
-                               pgrp = task_pgrp(current);
-                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
-+                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
-+                                      continue;
-                               error = set_one_prio(p, niceval, error);
-                       } while_each_pid_thread(pgrp, PIDTYPE_PGID, p);
-                       break;
-@@ -261,6 +267,8 @@ SYSCALL_DEFINE2(getpriority, int, which,
-                       else
-                               pgrp = task_pgrp(current);
-                       do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
-+                              if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
-+                                      continue;
-                               niceval = 20 - task_nice(p);
+               else
+                       pgrp = task_pgrp(current);
+               do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
++                      if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++                              continue;
+                       error = set_one_prio(p, niceval, error);
+               } while_each_pid_thread(pgrp, PIDTYPE_PGID, p);
+               break;
+@@ -262,6 +268,8 @@ SYSCALL_DEFINE2(getpriority, int, which,
+               else
+                       pgrp = task_pgrp(current);
+               do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
++                      if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++                              continue;
+                       niceval = nice_to_rlimit(task_nice(p));
+                       if (niceval > retval)
+                               retval = niceval;
+@@ -278,6 +286,8 @@ SYSCALL_DEFINE2(getpriority, int, which,
+                               goto out_unlock;        /* No processes for this user */
+               }
+               do_each_thread(g, p) {
++                      if (!vx_check(p->xid, VS_ADMIN_P | VS_IDENT))
++                              continue;
+                       if (uid_eq(task_uid(p), uid)) {
+                               niceval = nice_to_rlimit(task_nice(p));
                                if (niceval > retval)
                                if (niceval > retval)
-                                       retval = niceval;
-@@ -1198,7 +1206,8 @@ SYSCALL_DEFINE2(sethostname, char __user
+@@ -1202,7 +1212,8 @@ SYSCALL_DEFINE2(sethostname, char __user
        int errno;
        char tmp[__NEW_UTS_LEN];
  
        int errno;
        char tmp[__NEW_UTS_LEN];
  
@@ -14215,7 +14154,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel
                return -EPERM;
  
        if (len < 0 || len > __NEW_UTS_LEN)
                return -EPERM;
  
        if (len < 0 || len > __NEW_UTS_LEN)
-@@ -1249,7 +1258,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
+@@ -1253,7 +1264,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
        int errno;
        char tmp[__NEW_UTS_LEN];
  
        int errno;
        char tmp[__NEW_UTS_LEN];
  
@@ -14225,7 +14164,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel
                return -EPERM;
        if (len < 0 || len > __NEW_UTS_LEN)
                return -EINVAL;
                return -EPERM;
        if (len < 0 || len > __NEW_UTS_LEN)
                return -EINVAL;
-@@ -1368,7 +1378,7 @@ int do_prlimit(struct task_struct *tsk,
+@@ -1371,7 +1383,7 @@ int do_prlimit(struct task_struct *tsk,
                /* Keep the capable check against init_user_ns until
                   cgroups can contain all limits */
                if (new_rlim->rlim_max > rlim->rlim_max &&
                /* Keep the capable check against init_user_ns until
                   cgroups can contain all limits */
                if (new_rlim->rlim_max > rlim->rlim_max &&
@@ -14234,7 +14173,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel
                        retval = -EPERM;
                if (!retval)
                        retval = security_task_setrlimit(tsk->group_leader,
                        retval = -EPERM;
                if (!retval)
                        retval = security_task_setrlimit(tsk->group_leader,
-@@ -1421,7 +1431,8 @@ static int check_prlimit_permission(stru
+@@ -1424,7 +1436,8 @@ static int check_prlimit_permission(stru
            gid_eq(cred->gid, tcred->sgid) &&
            gid_eq(cred->gid, tcred->gid))
                return 0;
            gid_eq(cred->gid, tcred->sgid) &&
            gid_eq(cred->gid, tcred->gid))
                return 0;
@@ -14244,10 +14183,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/sys.c linux-3.13.10-vs2.3.6.11/kernel
                return 0;
  
        return -EPERM;
                return 0;
  
        return -EPERM;
-diff -NurpP --minimal linux-3.13.10/kernel/sysctl.c linux-3.13.10-vs2.3.6.11/kernel/sysctl.c
---- linux-3.13.10/kernel/sysctl.c      2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sysctl.c   2014-02-25 11:26:10.000000000 +0000
-@@ -83,6 +83,7 @@
+diff -NurpP --minimal linux-3.18.5/kernel/sysctl.c linux-3.18.5-vs2.3.7.3/kernel/sysctl.c
+--- linux-3.18.5/kernel/sysctl.c       2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sysctl.c     2015-02-02 01:19:02.000000000 +0000
+@@ -84,6 +84,7 @@
  #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT)
  #include <linux/lockdep.h>
  #endif
  #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT)
  #include <linux/lockdep.h>
  #endif
@@ -14255,23 +14194,31 @@ diff -NurpP --minimal linux-3.13.10/kernel/sysctl.c linux-3.13.10-vs2.3.6.11/ker
  #ifdef CONFIG_CHR_DEV_SG
  #include <scsi/sg.h>
  #endif
  #ifdef CONFIG_CHR_DEV_SG
  #include <scsi/sg.h>
  #endif
-@@ -650,6 +651,13 @@ static struct ctl_table kern_table[] = {
-               .mode           = 0644,
-               .proc_handler   = proc_dostring,
-       },
-+      {
+@@ -278,6 +279,13 @@ static int max_extfrag_threshold = 1000;
+ static struct ctl_table kern_table[] = {
+       {
 +              .procname       = "vshelper",
 +              .data           = &vshelper_path,
 +              .maxlen         = 256,
 +              .mode           = 0644,
 +              .procname       = "vshelper",
 +              .data           = &vshelper_path,
 +              .maxlen         = 256,
 +              .mode           = 0644,
-+              .proc_handler   = &proc_dostring,
++              .proc_handler   = proc_dostring,
 +      },
 +      },
- #ifdef CONFIG_CHR_DEV_SG
++      {
+               .procname       = "sched_child_runs_first",
+               .data           = &sysctl_sched_child_runs_first,
+               .maxlen         = sizeof(unsigned int),
+@@ -1300,7 +1308,6 @@ static struct ctl_table vm_table[] = {
+               .extra1         = &min_extfrag_threshold,
+               .extra2         = &max_extfrag_threshold,
+       },
+-
+ #endif /* CONFIG_COMPACTION */
        {
        {
-diff -NurpP --minimal linux-3.13.10/kernel/sysctl_binary.c linux-3.13.10-vs2.3.6.11/kernel/sysctl_binary.c
---- linux-3.13.10/kernel/sysctl_binary.c       2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/sysctl_binary.c    2014-01-31 20:38:03.000000000 +0000
+               .procname       = "min_free_kbytes",
+diff -NurpP --minimal linux-3.18.5/kernel/sysctl_binary.c linux-3.18.5-vs2.3.7.3/kernel/sysctl_binary.c
+--- linux-3.18.5/kernel/sysctl_binary.c        2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/sysctl_binary.c      2015-01-19 10:58:14.000000000 +0000
 @@ -73,6 +73,7 @@ static const struct bin_table bin_kern_t
  
        { CTL_INT,      KERN_PANIC,                     "panic" },
 @@ -73,6 +73,7 @@ static const struct bin_table bin_kern_t
  
        { CTL_INT,      KERN_PANIC,                     "panic" },
@@ -14280,28 +14227,47 @@ diff -NurpP --minimal linux-3.13.10/kernel/sysctl_binary.c linux-3.13.10-vs2.3.6
  
        { CTL_STR,      KERN_SPARC_REBOOT,              "reboot-cmd" },
        { CTL_INT,      KERN_CTLALTDEL,                 "ctrl-alt-del" },
  
        { CTL_STR,      KERN_SPARC_REBOOT,              "reboot-cmd" },
        { CTL_INT,      KERN_CTLALTDEL,                 "ctrl-alt-del" },
-diff -NurpP --minimal linux-3.13.10/kernel/time/timekeeping.c linux-3.13.10-vs2.3.6.11/kernel/time/timekeeping.c
---- linux-3.13.10/kernel/time/timekeeping.c    2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/time/timekeeping.c 2014-02-25 11:26:10.000000000 +0000
-@@ -22,6 +22,7 @@
- #include <linux/stop_machine.h>
- #include <linux/pvclock_gtod.h>
- #include <linux/compiler.h>
-+#include <linux/vs_time.h>
+diff -NurpP --minimal linux-3.18.5/kernel/time/posix-timers.c linux-3.18.5-vs2.3.7.3/kernel/time/posix-timers.c
+--- linux-3.18.5/kernel/time/posix-timers.c    2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/time/posix-timers.c  2015-01-19 13:01:37.000000000 +0000
+@@ -48,6 +48,7 @@
+ #include <linux/workqueue.h>
+ #include <linux/export.h>
+ #include <linux/hashtable.h>
++#include <linux/vs_context.h>
  
  
- #include "tick-internal.h"
- #include "ntp_internal.h"
-@@ -709,6 +710,7 @@ void getrawmonotonic(struct timespec *ts
-       } while (read_seqcount_retry(&timekeeper_seq, seq));
+ #include "timekeeping.h"
  
  
-       timespec_add_ns(ts, nsecs);
-+      vx_adjust_timespec(ts);
+@@ -400,6 +401,7 @@ int posix_timer_event(struct k_itimer *t
+ {
+       struct task_struct *task;
+       int shared, ret = -1;
++
+       /*
+        * FIXME: if ->sigq is queued we can race with
+        * dequeue_signal()->do_schedule_next_timer().
+@@ -416,10 +418,18 @@ int posix_timer_event(struct k_itimer *t
+       rcu_read_lock();
+       task = pid_task(timr->it_pid, PIDTYPE_PID);
+       if (task) {
++              struct vx_info_save vxis;
++              struct vx_info *vxi;
++
++              vxi = get_vx_info(task->vx_info);
++              enter_vx_info(vxi, &vxis);
+               shared = !(timr->it_sigev_notify & SIGEV_THREAD_ID);
+               ret = send_sigqueue(timr->sigq, task, shared);
++              leave_vx_info(&vxis);
++              put_vx_info(vxi);
+       }
+       rcu_read_unlock();
++
+       /* If we failed to send the signal the timer stops. */
+       return ret > 0;
  }
  }
- EXPORT_SYMBOL(getrawmonotonic);
-diff -NurpP --minimal linux-3.13.10/kernel/time.c linux-3.13.10-vs2.3.6.11/kernel/time.c
---- linux-3.13.10/kernel/time.c        2013-11-25 15:45:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/time.c     2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/time/time.c linux-3.18.5-vs2.3.7.3/kernel/time/time.c
+--- linux-3.18.5/kernel/time/time.c    2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/time/time.c  2015-02-05 18:08:00.000000000 +0000
 @@ -37,6 +37,7 @@
  #include <linux/fs.h>
  #include <linux/math64.h>
 @@ -37,6 +37,7 @@
  #include <linux/fs.h>
  #include <linux/math64.h>
@@ -14310,7 +14276,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/time.c linux-3.13.10-vs2.3.6.11/kerne
  
  #include <asm/uaccess.h>
  #include <asm/unistd.h>
  
  #include <asm/uaccess.h>
  #include <asm/unistd.h>
-@@ -92,7 +93,7 @@ SYSCALL_DEFINE1(stime, time_t __user *,
+@@ -93,7 +94,7 @@ SYSCALL_DEFINE1(stime, time_t __user *,
        if (err)
                return err;
  
        if (err)
                return err;
  
@@ -14319,7 +14285,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/time.c linux-3.13.10-vs2.3.6.11/kerne
        return 0;
  }
  
        return 0;
  }
  
-@@ -181,7 +182,7 @@ int do_sys_settimeofday(const struct tim
+@@ -182,7 +183,7 @@ int do_sys_settimeofday(const struct tim
                }
        }
        if (tv)
                }
        }
        if (tv)
@@ -14328,9 +14294,30 @@ diff -NurpP --minimal linux-3.13.10/kernel/time.c linux-3.13.10-vs2.3.6.11/kerne
        return 0;
  }
  
        return 0;
  }
  
-diff -NurpP --minimal linux-3.13.10/kernel/timer.c linux-3.13.10-vs2.3.6.11/kernel/timer.c
---- linux-3.13.10/kernel/timer.c       2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/timer.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/time/timekeeping.c linux-3.18.5-vs2.3.7.3/kernel/time/timekeeping.c
+--- linux-3.18.5/kernel/time/timekeeping.c     2015-01-16 22:19:28.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/time/timekeeping.c   2015-01-19 11:18:21.000000000 +0000
+@@ -23,6 +23,7 @@
+ #include <linux/stop_machine.h>
+ #include <linux/pvclock_gtod.h>
+ #include <linux/compiler.h>
++#include <linux/vs_time.h>
+ #include "tick-internal.h"
+ #include "ntp_internal.h"
+@@ -680,7 +681,9 @@ void getnstime_raw_and_real(struct times
+       } while (read_seqcount_retry(&tk_core.seq, seq));
+       timespec_add_ns(ts_raw, nsecs_raw);
++      vx_adjust_timespec(ts_raw);
+       timespec_add_ns(ts_real, nsecs_real);
++      vx_adjust_timespec(ts_real);
+ }
+ EXPORT_SYMBOL(getnstime_raw_and_real);
+diff -NurpP --minimal linux-3.18.5/kernel/time/timer.c linux-3.18.5-vs2.3.7.3/kernel/time/timer.c
+--- linux-3.18.5/kernel/time/timer.c   2015-01-17 02:40:23.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/time/timer.c 2015-01-19 13:02:42.000000000 +0000
 @@ -42,6 +42,10 @@
  #include <linux/sched/sysctl.h>
  #include <linux/slab.h>
 @@ -42,6 +42,10 @@
  #include <linux/sched/sysctl.h>
  #include <linux/slab.h>
@@ -14342,9 +14329,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/timer.c linux-3.13.10-vs2.3.6.11/kern
  
  #include <asm/uaccess.h>
  #include <asm/unistd.h>
  
  #include <asm/uaccess.h>
  #include <asm/unistd.h>
-diff -NurpP --minimal linux-3.13.10/kernel/user_namespace.c linux-3.13.10-vs2.3.6.11/kernel/user_namespace.c
---- linux-3.13.10/kernel/user_namespace.c      2014-01-22 20:39:13.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/user_namespace.c   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/user_namespace.c linux-3.18.5-vs2.3.7.3/kernel/user_namespace.c
+--- linux-3.18.5/kernel/user_namespace.c       2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/user_namespace.c     2015-01-25 18:29:17.000000000 +0000
 @@ -22,6 +22,7 @@
  #include <linux/ctype.h>
  #include <linux/projid.h>
 @@ -22,6 +22,7 @@
  #include <linux/ctype.h>
  #include <linux/projid.h>
@@ -14352,8 +14339,8 @@ diff -NurpP --minimal linux-3.13.10/kernel/user_namespace.c linux-3.13.10-vs2.3.
 +#include <linux/vserver/global.h>
  
  static struct kmem_cache *user_ns_cachep __read_mostly;
 +#include <linux/vserver/global.h>
  
  static struct kmem_cache *user_ns_cachep __read_mostly;
-@@ -94,6 +95,7 @@ int create_user_ns(struct cred *new)
+ static DEFINE_MUTEX(userns_state_mutex);
+@@ -95,6 +96,7 @@ int create_user_ns(struct cred *new)
  
        atomic_set(&ns->count, 1);
        /* Leave the new->user_ns reference with the new user namespace. */
  
        atomic_set(&ns->count, 1);
        /* Leave the new->user_ns reference with the new user namespace. */
@@ -14361,7 +14348,26 @@ diff -NurpP --minimal linux-3.13.10/kernel/user_namespace.c linux-3.13.10-vs2.3.
        ns->parent = parent_ns;
        ns->level = parent_ns->level + 1;
        ns->owner = owner;
        ns->parent = parent_ns;
        ns->level = parent_ns->level + 1;
        ns->owner = owner;
-@@ -848,6 +850,8 @@ static void *userns_get(struct task_stru
+@@ -356,6 +358,18 @@ gid_t from_kgid_munged(struct user_names
+ }
+ EXPORT_SYMBOL(from_kgid_munged);
++ktag_t make_ktag(struct user_namespace *from, vtag_t tag)
++{
++      return KTAGT_INIT(tag);
++}
++EXPORT_SYMBOL(make_ktag);
++
++vtag_t from_ktag(struct user_namespace *to, ktag_t tag)
++{
++      return __ktag_val(tag);
++}
++EXPORT_SYMBOL(from_ktag);
++
+ /**
+  *    make_kprojid - Map a user-namespace projid pair into a kprojid.
+  *    @ns:  User namespace that the projid is in
+@@ -956,6 +970,8 @@ static void *userns_get(struct task_stru
  
  static void userns_put(void *ns)
  {
  
  static void userns_put(void *ns)
  {
@@ -14370,9 +14376,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/user_namespace.c linux-3.13.10-vs2.3.
        put_user_ns(ns);
  }
  
        put_user_ns(ns);
  }
  
-diff -NurpP --minimal linux-3.13.10/kernel/utsname.c linux-3.13.10-vs2.3.6.11/kernel/utsname.c
---- linux-3.13.10/kernel/utsname.c     2013-11-25 15:47:03.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/utsname.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/utsname.c linux-3.18.5-vs2.3.7.3/kernel/utsname.c
+--- linux-3.18.5/kernel/utsname.c      2015-01-16 22:19:28.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/utsname.c    2015-01-19 10:58:31.000000000 +0000
 @@ -16,14 +16,17 @@
  #include <linux/slab.h>
  #include <linux/user_namespace.h>
 @@ -16,14 +16,17 @@
  #include <linux/slab.h>
  #include <linux/user_namespace.h>
@@ -14400,9 +14406,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/utsname.c linux-3.13.10-vs2.3.6.11/ke
        kfree(ns);
  }
  
        kfree(ns);
  }
  
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/Kconfig linux-3.13.10-vs2.3.6.11/kernel/vserver/Kconfig
---- linux-3.13.10/kernel/vserver/Kconfig       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/Kconfig    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/Kconfig linux-3.18.5-vs2.3.7.3/kernel/vserver/Kconfig
+--- linux-3.18.5/kernel/vserver/Kconfig        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/Kconfig      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,230 @@
 +#
 +# Linux VServer configuration
 @@ -0,0 +1,230 @@
 +#
 +# Linux VServer configuration
@@ -14634,9 +14640,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/Kconfig linux-3.13.10-vs2.3.6
 +      bool
 +      default n
 +
 +      bool
 +      default n
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/Makefile linux-3.13.10-vs2.3.6.11/kernel/vserver/Makefile
---- linux-3.13.10/kernel/vserver/Makefile      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/Makefile   2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/Makefile linux-3.18.5-vs2.3.7.3/kernel/vserver/Makefile
+--- linux-3.18.5/kernel/vserver/Makefile       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/Makefile     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,18 @@
 +#
 +# Makefile for the Linux vserver routines.
 @@ -0,0 +1,18 @@
 +#
 +# Makefile for the Linux vserver routines.
@@ -14656,9 +14662,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/Makefile linux-3.13.10-vs2.3.
 +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
 +vserver-$(CONFIG_VSERVER_DEVICE) += device.o
 +
 +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
 +vserver-$(CONFIG_VSERVER_DEVICE) += device.o
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct.c linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct.c
---- linux-3.13.10/kernel/vserver/cacct.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct.c    2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cacct.c linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct.c
+--- linux-3.18.5/kernel/vserver/cacct.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,42 @@
 +/*
 + *  linux/kernel/vserver/cacct.c
 @@ -0,0 +1,42 @@
 +/*
 + *  linux/kernel/vserver/cacct.c
@@ -14702,9 +14708,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct.c linux-3.13.10-vs2.3.6
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct_init.h linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct_init.h
---- linux-3.13.10/kernel/vserver/cacct_init.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct_init.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cacct_init.h linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct_init.h
+--- linux-3.18.5/kernel/vserver/cacct_init.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct_init.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,25 @@
 +
 +
 @@ -0,0 +1,25 @@
 +
 +
@@ -14731,9 +14737,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct_init.h linux-3.13.10-vs
 +      return;
 +}
 +
 +      return;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct_proc.h linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct_proc.h
---- linux-3.13.10/kernel/vserver/cacct_proc.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cacct_proc.h       2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cacct_proc.h linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct_proc.h
+--- linux-3.18.5/kernel/vserver/cacct_proc.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cacct_proc.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CACCT_PROC_H
 +#define _VX_CACCT_PROC_H
 @@ -0,0 +1,53 @@
 +#ifndef _VX_CACCT_PROC_H
 +#define _VX_CACCT_PROC_H
@@ -14788,9 +14794,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cacct_proc.h linux-3.13.10-vs
 +}
 +
 +#endif        /* _VX_CACCT_PROC_H */
 +}
 +
 +#endif        /* _VX_CACCT_PROC_H */
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/context.c linux-3.13.10-vs2.3.6.11/kernel/vserver/context.c
---- linux-3.13.10/kernel/vserver/context.c     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/context.c  2014-01-31 20:38:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/context.c linux-3.18.5-vs2.3.7.3/kernel/vserver/context.c
+--- linux-3.18.5/kernel/vserver/context.c      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/context.c    2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,1119 @@
 +/*
 + *  linux/kernel/vserver/context.c
 @@ -0,0 +1,1119 @@
 +/*
 + *  linux/kernel/vserver/context.c
@@ -15911,9 +15917,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/context.c linux-3.13.10-vs2.3
 +
 +EXPORT_SYMBOL_GPL(free_vx_info);
 +
 +
 +EXPORT_SYMBOL_GPL(free_vx_info);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt.c linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt.c
---- linux-3.13.10/kernel/vserver/cvirt.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt.c    2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cvirt.c linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt.c
+--- linux-3.18.5/kernel/vserver/cvirt.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,313 @@
 +/*
 + *  linux/kernel/vserver/cvirt.c
 @@ -0,0 +1,313 @@
 +/*
 + *  linux/kernel/vserver/cvirt.c
@@ -16228,9 +16234,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt.c linux-3.13.10-vs2.3.6
 +
 +#endif
 +
 +
 +#endif
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt_init.h linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt_init.h
---- linux-3.13.10/kernel/vserver/cvirt_init.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt_init.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cvirt_init.h linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt_init.h
+--- linux-3.18.5/kernel/vserver/cvirt_init.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt_init.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,70 @@
 +
 +
 @@ -0,0 +1,70 @@
 +
 +
@@ -16302,9 +16308,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt_init.h linux-3.13.10-vs
 +      return;
 +}
 +
 +      return;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt_proc.h linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt_proc.h
---- linux-3.13.10/kernel/vserver/cvirt_proc.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/cvirt_proc.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/cvirt_proc.h linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt_proc.h
+--- linux-3.18.5/kernel/vserver/cvirt_proc.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/cvirt_proc.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,123 @@
 +#ifndef _VX_CVIRT_PROC_H
 +#define _VX_CVIRT_PROC_H
 @@ -0,0 +1,123 @@
 +#ifndef _VX_CVIRT_PROC_H
 +#define _VX_CVIRT_PROC_H
@@ -16429,9 +16435,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/cvirt_proc.h linux-3.13.10-vs
 +}
 +
 +#endif        /* _VX_CVIRT_PROC_H */
 +}
 +
 +#endif        /* _VX_CVIRT_PROC_H */
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/debug.c linux-3.13.10-vs2.3.6.11/kernel/vserver/debug.c
---- linux-3.13.10/kernel/vserver/debug.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/debug.c    2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/debug.c linux-3.18.5-vs2.3.7.3/kernel/vserver/debug.c
+--- linux-3.18.5/kernel/vserver/debug.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/debug.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,32 @@
 +/*
 + *  kernel/vserver/debug.c
 @@ -0,0 +1,32 @@
 +/*
 + *  kernel/vserver/debug.c
@@ -16465,9 +16471,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/debug.c linux-3.13.10-vs2.3.6
 +
 +EXPORT_SYMBOL_GPL(dump_vx_info);
 +
 +
 +EXPORT_SYMBOL_GPL(dump_vx_info);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/device.c linux-3.13.10-vs2.3.6.11/kernel/vserver/device.c
---- linux-3.13.10/kernel/vserver/device.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/device.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/device.c linux-3.18.5-vs2.3.7.3/kernel/vserver/device.c
+--- linux-3.18.5/kernel/vserver/device.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/device.c     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,443 @@
 +/*
 + *  linux/kernel/vserver/device.c
 @@ -0,0 +1,443 @@
 +/*
 + *  linux/kernel/vserver/device.c
@@ -16912,9 +16918,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/device.c linux-3.13.10-vs2.3.
 +#endif        /* CONFIG_COMPAT */
 +
 +
 +#endif        /* CONFIG_COMPAT */
 +
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/dlimit.c linux-3.13.10-vs2.3.6.11/kernel/vserver/dlimit.c
---- linux-3.13.10/kernel/vserver/dlimit.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/dlimit.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/dlimit.c linux-3.18.5-vs2.3.7.3/kernel/vserver/dlimit.c
+--- linux-3.18.5/kernel/vserver/dlimit.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/dlimit.c     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,528 @@
 +/*
 + *  linux/kernel/vserver/dlimit.c
 @@ -0,0 +1,528 @@
 +/*
 + *  linux/kernel/vserver/dlimit.c
@@ -17444,9 +17450,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/dlimit.c linux-3.13.10-vs2.3.
 +EXPORT_SYMBOL_GPL(locate_dl_info);
 +EXPORT_SYMBOL_GPL(rcu_free_dl_info);
 +
 +EXPORT_SYMBOL_GPL(locate_dl_info);
 +EXPORT_SYMBOL_GPL(rcu_free_dl_info);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/helper.c linux-3.13.10-vs2.3.6.11/kernel/vserver/helper.c
---- linux-3.13.10/kernel/vserver/helper.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/helper.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/helper.c linux-3.18.5-vs2.3.7.3/kernel/vserver/helper.c
+--- linux-3.18.5/kernel/vserver/helper.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/helper.c     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,242 @@
 +/*
 + *  linux/kernel/vserver/helper.c
 @@ -0,0 +1,242 @@
 +/*
 + *  linux/kernel/vserver/helper.c
@@ -17690,9 +17696,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/helper.c linux-3.13.10-vs2.3.
 +      return do_vshelper(vshelper_path, argv, envp, 1);
 +}
 +
 +      return do_vshelper(vshelper_path, argv, envp, 1);
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/history.c linux-3.13.10-vs2.3.6.11/kernel/vserver/history.c
---- linux-3.13.10/kernel/vserver/history.c     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/history.c  2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/history.c linux-3.18.5-vs2.3.7.3/kernel/vserver/history.c
+--- linux-3.18.5/kernel/vserver/history.c      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/history.c    2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,258 @@
 +/*
 + *  kernel/vserver/history.c
 @@ -0,0 +1,258 @@
 +/*
 + *  kernel/vserver/history.c
@@ -17952,9 +17958,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/history.c linux-3.13.10-vs2.3
 +
 +#endif        /* CONFIG_COMPAT */
 +
 +
 +#endif        /* CONFIG_COMPAT */
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/inet.c linux-3.13.10-vs2.3.6.11/kernel/vserver/inet.c
---- linux-3.13.10/kernel/vserver/inet.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/inet.c     2014-02-01 00:26:40.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/inet.c linux-3.18.5-vs2.3.7.3/kernel/vserver/inet.c
+--- linux-3.18.5/kernel/vserver/inet.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/inet.c       2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,236 @@
 +
 +#include <linux/in.h>
 @@ -0,0 +1,236 @@
 +
 +#include <linux/in.h>
@@ -18192,9 +18198,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/inet.c linux-3.13.10-vs2.3.6.
 +
 +EXPORT_SYMBOL_GPL(ip_v4_find_src);
 +
 +
 +EXPORT_SYMBOL_GPL(ip_v4_find_src);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/init.c linux-3.13.10-vs2.3.6.11/kernel/vserver/init.c
---- linux-3.13.10/kernel/vserver/init.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/init.c     2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/init.c linux-3.18.5-vs2.3.7.3/kernel/vserver/init.c
+--- linux-3.18.5/kernel/vserver/init.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/init.c       2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,45 @@
 +/*
 + *  linux/kernel/init.c
 @@ -0,0 +1,45 @@
 +/*
 + *  linux/kernel/init.c
@@ -18241,9 +18247,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/init.c linux-3.13.10-vs2.3.6.
 +module_init(init_vserver);
 +module_exit(exit_vserver);
 +
 +module_init(init_vserver);
 +module_exit(exit_vserver);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/inode.c linux-3.13.10-vs2.3.6.11/kernel/vserver/inode.c
---- linux-3.13.10/kernel/vserver/inode.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/inode.c    2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/inode.c linux-3.18.5-vs2.3.7.3/kernel/vserver/inode.c
+--- linux-3.18.5/kernel/vserver/inode.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/inode.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,440 @@
 +/*
 + *  linux/kernel/vserver/inode.c
 @@ -0,0 +1,440 @@
 +/*
 + *  linux/kernel/vserver/inode.c
@@ -18685,9 +18691,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/inode.c linux-3.13.10-vs2.3.6
 +
 +#endif        /* CONFIG_PROPAGATE */
 +
 +
 +#endif        /* CONFIG_PROPAGATE */
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit.c linux-3.13.10-vs2.3.6.11/kernel/vserver/limit.c
---- linux-3.13.10/kernel/vserver/limit.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/limit.c    2014-02-01 00:22:08.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/limit.c linux-3.18.5-vs2.3.7.3/kernel/vserver/limit.c
+--- linux-3.18.5/kernel/vserver/limit.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/limit.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,345 @@
 +/*
 + *  linux/kernel/vserver/limit.c
 @@ -0,0 +1,345 @@
 +/*
 + *  linux/kernel/vserver/limit.c
@@ -19034,9 +19040,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit.c linux-3.13.10-vs2.3.6
 +      return cache;
 +}
 +
 +      return cache;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit_init.h linux-3.13.10-vs2.3.6.11/kernel/vserver/limit_init.h
---- linux-3.13.10/kernel/vserver/limit_init.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/limit_init.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/limit_init.h linux-3.18.5-vs2.3.7.3/kernel/vserver/limit_init.h
+--- linux-3.18.5/kernel/vserver/limit_init.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/limit_init.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,31 @@
 +
 +
 @@ -0,0 +1,31 @@
 +
 +
@@ -19069,9 +19075,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit_init.h linux-3.13.10-vs
 +      }
 +}
 +
 +      }
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit_proc.h linux-3.13.10-vs2.3.6.11/kernel/vserver/limit_proc.h
---- linux-3.13.10/kernel/vserver/limit_proc.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/limit_proc.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/limit_proc.h linux-3.18.5-vs2.3.7.3/kernel/vserver/limit_proc.h
+--- linux-3.18.5/kernel/vserver/limit_proc.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/limit_proc.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,57 @@
 +#ifndef _VX_LIMIT_PROC_H
 +#define _VX_LIMIT_PROC_H
 @@ -0,0 +1,57 @@
 +#ifndef _VX_LIMIT_PROC_H
 +#define _VX_LIMIT_PROC_H
@@ -19130,9 +19136,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/limit_proc.h linux-3.13.10-vs
 +#endif        /* _VX_LIMIT_PROC_H */
 +
 +
 +#endif        /* _VX_LIMIT_PROC_H */
 +
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/network.c linux-3.13.10-vs2.3.6.11/kernel/vserver/network.c
---- linux-3.13.10/kernel/vserver/network.c     1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/network.c  2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/network.c linux-3.18.5-vs2.3.7.3/kernel/vserver/network.c
+--- linux-3.18.5/kernel/vserver/network.c      1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/network.c    2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,1053 @@
 +/*
 + *  linux/kernel/vserver/network.c
 @@ -0,0 +1,1053 @@
 +/*
 + *  linux/kernel/vserver/network.c
@@ -20187,10 +20193,10 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/network.c linux-3.13.10-vs2.3
 +EXPORT_SYMBOL_GPL(free_nx_info);
 +EXPORT_SYMBOL_GPL(unhash_nx_info);
 +
 +EXPORT_SYMBOL_GPL(free_nx_info);
 +EXPORT_SYMBOL_GPL(unhash_nx_info);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/proc.c linux-3.13.10-vs2.3.6.11/kernel/vserver/proc.c
---- linux-3.13.10/kernel/vserver/proc.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/proc.c     2014-02-01 01:21:49.000000000 +0000
-@@ -0,0 +1,1097 @@
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/proc.c linux-3.18.5-vs2.3.7.3/kernel/vserver/proc.c
+--- linux-3.18.5/kernel/vserver/proc.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/proc.c       2015-01-21 08:57:26.000000000 +0000
+@@ -0,0 +1,1100 @@
 +/*
 + *  linux/kernel/vserver/proc.c
 + *
 +/*
 + *  linux/kernel/vserver/proc.c
 + *
@@ -21215,82 +21221,85 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/proc.c linux-3.13.10-vs2.3.6.
 +
 +/* per pid info */
 +
 +
 +/* per pid info */
 +
++void render_cap_t(struct seq_file *, const char *,
++      struct vx_info *, kernel_cap_t *);
++
 +
 +
-+int proc_pid_vx_info(struct task_struct *p, char *buffer)
++int proc_pid_vx_info(
++      struct seq_file *m,
++      struct pid_namespace *ns,
++      struct pid *pid,
++      struct task_struct *p)
 +{
 +      struct vx_info *vxi;
 +{
 +      struct vx_info *vxi;
-+      char *orig = buffer;
 +
 +
-+      buffer += sprintf(buffer, "XID:\t%d\n", vx_task_xid(p));
++      seq_printf(m, "XID:\t%d\n", vx_task_xid(p));
 +
 +      vxi = task_get_vx_info(p);
 +      if (!vxi)
 +
 +      vxi = task_get_vx_info(p);
 +      if (!vxi)
-+              goto out;
++              return 0;
 +
 +
-+      buffer += sprintf(buffer, "BCaps:\t");
-+      buffer = print_cap_t(buffer, &vxi->vx_bcaps);
-+      buffer += sprintf(buffer, "\n");
-+      buffer += sprintf(buffer, "CCaps:\t%016llx\n",
++      render_cap_t(m, "BCaps:\t", vxi, &vxi->vx_bcaps);
++      seq_printf(m, "CCaps:\t%016llx\n",
 +              (unsigned long long)vxi->vx_ccaps);
 +              (unsigned long long)vxi->vx_ccaps);
-+      buffer += sprintf(buffer, "CFlags:\t%016llx\n",
++      seq_printf(m, "CFlags:\t%016llx\n",
 +              (unsigned long long)vxi->vx_flags);
 +              (unsigned long long)vxi->vx_flags);
-+      buffer += sprintf(buffer, "CIPid:\t%d\n", vxi->vx_initpid);
++      seq_printf(m, "CIPid:\t%d\n", vxi->vx_initpid);
 +
 +      put_vx_info(vxi);
 +
 +      put_vx_info(vxi);
-+out:
-+      return buffer - orig;
++      return 0;
 +}
 +
 +
 +}
 +
 +
-+int proc_pid_nx_info(struct task_struct *p, char *buffer)
++int proc_pid_nx_info(
++      struct seq_file *m,
++      struct pid_namespace *ns,
++      struct pid *pid,
++      struct task_struct *p)
 +{
 +      struct nx_info *nxi;
 +      struct nx_addr_v4 *v4a;
 +#ifdef        CONFIG_IPV6
 +      struct nx_addr_v6 *v6a;
 +#endif
 +{
 +      struct nx_info *nxi;
 +      struct nx_addr_v4 *v4a;
 +#ifdef        CONFIG_IPV6
 +      struct nx_addr_v6 *v6a;
 +#endif
-+      char *orig = buffer;
 +      int i;
 +
 +      int i;
 +
-+      buffer += sprintf(buffer, "NID:\t%d\n", nx_task_nid(p));
++      seq_printf(m, "NID:\t%d\n", nx_task_nid(p));
 +
 +      nxi = task_get_nx_info(p);
 +      if (!nxi)
 +
 +      nxi = task_get_nx_info(p);
 +      if (!nxi)
-+              goto out;
++              return 0;
 +
 +
-+      buffer += sprintf(buffer, "NCaps:\t%016llx\n",
++      seq_printf(m, "NCaps:\t%016llx\n",
 +              (unsigned long long)nxi->nx_ncaps);
 +              (unsigned long long)nxi->nx_ncaps);
-+      buffer += sprintf(buffer, "NFlags:\t%016llx\n",
++      seq_printf(m, "NFlags:\t%016llx\n",
 +              (unsigned long long)nxi->nx_flags);
 +
 +              (unsigned long long)nxi->nx_flags);
 +
-+      buffer += sprintf(buffer,
-+              "V4Root[bcast]:\t" NIPQUAD_FMT "\n",
++      seq_printf(m, "V4Root[bcast]:\t" NIPQUAD_FMT "\n",
 +              NIPQUAD(nxi->v4_bcast.s_addr));
 +              NIPQUAD(nxi->v4_bcast.s_addr));
-+      buffer += sprintf (buffer,
-+              "V4Root[lback]:\t" NIPQUAD_FMT "\n",
++      seq_printf(m, "V4Root[lback]:\t" NIPQUAD_FMT "\n",
 +              NIPQUAD(nxi->v4_lback.s_addr));
 +      if (!NX_IPV4(nxi))
 +              goto skip_v4;
 +      for (i = 0, v4a = &nxi->v4; v4a; i++, v4a = v4a->next)
 +              NIPQUAD(nxi->v4_lback.s_addr));
 +      if (!NX_IPV4(nxi))
 +              goto skip_v4;
 +      for (i = 0, v4a = &nxi->v4; v4a; i++, v4a = v4a->next)
-+              buffer += sprintf(buffer, "V4Root[%d]:\t" NXAV4_FMT "\n",
++              seq_printf(m, "V4Root[%d]:\t" NXAV4_FMT "\n",
 +                      i, NXAV4(v4a));
 +skip_v4:
 +#ifdef        CONFIG_IPV6
 +      if (!NX_IPV6(nxi))
 +              goto skip_v6;
 +      for (i = 0, v6a = &nxi->v6; v6a; i++, v6a = v6a->next)
 +                      i, NXAV4(v4a));
 +skip_v4:
 +#ifdef        CONFIG_IPV6
 +      if (!NX_IPV6(nxi))
 +              goto skip_v6;
 +      for (i = 0, v6a = &nxi->v6; v6a; i++, v6a = v6a->next)
-+              buffer += sprintf(buffer, "V6Root[%d]:\t" NXAV6_FMT "\n",
++              seq_printf(m, "V6Root[%d]:\t" NXAV6_FMT "\n",
 +                      i, NXAV6(v6a));
 +skip_v6:
 +#endif
 +      put_nx_info(nxi);
 +                      i, NXAV6(v6a));
 +skip_v6:
 +#endif
 +      put_nx_info(nxi);
-+out:
-+      return buffer - orig;
++      return 0;
 +}
 +
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched.c linux-3.13.10-vs2.3.6.11/kernel/vserver/sched.c
---- linux-3.13.10/kernel/vserver/sched.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/sched.c    2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/sched.c linux-3.18.5-vs2.3.7.3/kernel/vserver/sched.c
+--- linux-3.18.5/kernel/vserver/sched.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/sched.c      2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,83 @@
 +/*
 + *  linux/kernel/vserver/sched.c
 @@ -0,0 +1,83 @@
 +/*
 + *  linux/kernel/vserver/sched.c
@@ -21375,9 +21384,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched.c linux-3.13.10-vs2.3.6
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched_init.h linux-3.13.10-vs2.3.6.11/kernel/vserver/sched_init.h
---- linux-3.13.10/kernel/vserver/sched_init.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/sched_init.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/sched_init.h linux-3.18.5-vs2.3.7.3/kernel/vserver/sched_init.h
+--- linux-3.18.5/kernel/vserver/sched_init.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/sched_init.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,27 @@
 +
 +static inline void vx_info_init_sched(struct _vx_sched *sched)
 @@ -0,0 +1,27 @@
 +
 +static inline void vx_info_init_sched(struct _vx_sched *sched)
@@ -21406,9 +21415,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched_init.h linux-3.13.10-vs
 +{
 +      return;
 +}
 +{
 +      return;
 +}
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched_proc.h linux-3.13.10-vs2.3.6.11/kernel/vserver/sched_proc.h
---- linux-3.13.10/kernel/vserver/sched_proc.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/sched_proc.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/sched_proc.h linux-3.18.5-vs2.3.7.3/kernel/vserver/sched_proc.h
+--- linux-3.18.5/kernel/vserver/sched_proc.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/sched_proc.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,32 @@
 +#ifndef _VX_SCHED_PROC_H
 +#define _VX_SCHED_PROC_H
 @@ -0,0 +1,32 @@
 +#ifndef _VX_SCHED_PROC_H
 +#define _VX_SCHED_PROC_H
@@ -21442,9 +21451,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sched_proc.h linux-3.13.10-vs
 +}
 +
 +#endif        /* _VX_SCHED_PROC_H */
 +}
 +
 +#endif        /* _VX_SCHED_PROC_H */
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/signal.c linux-3.13.10-vs2.3.6.11/kernel/vserver/signal.c
---- linux-3.13.10/kernel/vserver/signal.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/signal.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/signal.c linux-3.18.5-vs2.3.7.3/kernel/vserver/signal.c
+--- linux-3.18.5/kernel/vserver/signal.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/signal.c     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,134 @@
 +/*
 + *  linux/kernel/vserver/signal.c
 @@ -0,0 +1,134 @@
 +/*
 + *  linux/kernel/vserver/signal.c
@@ -21580,9 +21589,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/signal.c linux-3.13.10-vs2.3.
 +      return ret;
 +}
 +
 +      return ret;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/space.c linux-3.13.10-vs2.3.6.11/kernel/vserver/space.c
---- linux-3.13.10/kernel/vserver/space.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/space.c    2014-02-01 12:21:24.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/space.c linux-3.18.5-vs2.3.7.3/kernel/vserver/space.c
+--- linux-3.18.5/kernel/vserver/space.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/space.c      2015-01-25 18:27:56.000000000 +0000
 @@ -0,0 +1,436 @@
 +/*
 + *  linux/kernel/vserver/space.c
 @@ -0,0 +1,436 @@
 +/*
 + *  linux/kernel/vserver/space.c
@@ -21674,7 +21683,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/space.c linux-3.13.10-vs2.3.6
 +              CLONE_NEWIPC |
 +#endif
 +#ifdef        CONFIG_USER_NS
 +              CLONE_NEWIPC |
 +#endif
 +#ifdef        CONFIG_USER_NS
-+              CLONE_NEWUSER |
++//            CLONE_NEWUSER |
 +#endif
 +#ifdef        CONFIG_PID_NS
 +//            CLONE_NEWPID |
 +#endif
 +#ifdef        CONFIG_PID_NS
 +//            CLONE_NEWPID |
@@ -22020,9 +22029,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/space.c linux-3.13.10-vs2.3.6
 +      return 0;
 +}
 +
 +      return 0;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/switch.c linux-3.13.10-vs2.3.6.11/kernel/vserver/switch.c
---- linux-3.13.10/kernel/vserver/switch.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/switch.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/switch.c linux-3.18.5-vs2.3.7.3/kernel/vserver/switch.c
+--- linux-3.18.5/kernel/vserver/switch.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/switch.c     2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,556 @@
 +/*
 + *  linux/kernel/vserver/switch.c
 @@ -0,0 +1,556 @@
 +/*
 + *  linux/kernel/vserver/switch.c
@@ -22580,9 +22589,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/switch.c linux-3.13.10-vs2.3.
 +}
 +
 +#endif        /* CONFIG_COMPAT */
 +}
 +
 +#endif        /* CONFIG_COMPAT */
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.6.11/kernel/vserver/sysctl.c
---- linux-3.13.10/kernel/vserver/sysctl.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/sysctl.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/sysctl.c linux-3.18.5-vs2.3.7.3/kernel/vserver/sysctl.c
+--- linux-3.18.5/kernel/vserver/sysctl.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/sysctl.c     2015-01-19 18:06:52.000000000 +0000
 @@ -0,0 +1,247 @@
 +/*
 + *  kernel/vserver/sysctl.c
 @@ -0,0 +1,247 @@
 +/*
 + *  kernel/vserver/sysctl.c
@@ -22635,7 +22644,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.
 +
 +
 +static struct ctl_table_header *vserver_table_header;
 +
 +
 +static struct ctl_table_header *vserver_table_header;
-+static ctl_table vserver_root_table[];
++static struct ctl_table vserver_root_table[];
 +
 +
 +void vserver_register_sysctl(void)
 +
 +
 +void vserver_register_sysctl(void)
@@ -22655,7 +22664,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.
 +}
 +
 +
 +}
 +
 +
-+static int proc_dodebug(ctl_table *table, int write,
++static int proc_dodebug(struct ctl_table *table, int write,
 +      void __user *buffer, size_t *lenp, loff_t *ppos)
 +{
 +      char            tmpbuf[20], *p, c;
 +      void __user *buffer, size_t *lenp, loff_t *ppos)
 +{
 +      char            tmpbuf[20], *p, c;
@@ -22725,7 +22734,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.
 +              .extra2         = &zero,                \
 +      }
 +
 +              .extra2         = &zero,                \
 +      }
 +
-+static ctl_table vserver_debug_table[] = {
++static struct ctl_table vserver_debug_table[] = {
 +      CTL_ENTRY(CTL_DEBUG_SWITCH,     debug_switch),
 +      CTL_ENTRY(CTL_DEBUG_XID,        debug_xid),
 +      CTL_ENTRY(CTL_DEBUG_NID,        debug_nid),
 +      CTL_ENTRY(CTL_DEBUG_SWITCH,     debug_switch),
 +      CTL_ENTRY(CTL_DEBUG_XID,        debug_xid),
 +      CTL_ENTRY(CTL_DEBUG_NID,        debug_nid),
@@ -22742,7 +22751,7 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.
 +      { 0 }
 +};
 +
 +      { 0 }
 +};
 +
-+static ctl_table vserver_root_table[] = {
++static struct ctl_table vserver_root_table[] = {
 +      {
 +              .procname       = "vserver",
 +              .mode           = 0555,
 +      {
 +              .procname       = "vserver",
 +              .mode           = 0555,
@@ -22831,9 +22840,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/sysctl.c linux-3.13.10-vs2.3.
 +EXPORT_SYMBOL_GPL(vs_debug_perm);
 +EXPORT_SYMBOL_GPL(vs_debug_misc);
 +
 +EXPORT_SYMBOL_GPL(vs_debug_perm);
 +EXPORT_SYMBOL_GPL(vs_debug_misc);
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/tag.c linux-3.13.10-vs2.3.6.11/kernel/vserver/tag.c
---- linux-3.13.10/kernel/vserver/tag.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/tag.c      2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/tag.c linux-3.18.5-vs2.3.7.3/kernel/vserver/tag.c
+--- linux-3.18.5/kernel/vserver/tag.c  1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/tag.c        2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,63 @@
 +/*
 + *  linux/kernel/vserver/tag.c
 @@ -0,0 +1,63 @@
 +/*
 + *  linux/kernel/vserver/tag.c
@@ -22898,9 +22907,9 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/tag.c linux-3.13.10-vs2.3.6.1
 +}
 +
 +
 +}
 +
 +
-diff -NurpP --minimal linux-3.13.10/kernel/vserver/vci_config.h linux-3.13.10-vs2.3.6.11/kernel/vserver/vci_config.h
---- linux-3.13.10/kernel/vserver/vci_config.h  1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/kernel/vserver/vci_config.h       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/kernel/vserver/vci_config.h linux-3.18.5-vs2.3.7.3/kernel/vserver/vci_config.h
+--- linux-3.18.5/kernel/vserver/vci_config.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/kernel/vserver/vci_config.h 2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,80 @@
 +
 +/*  interface version */
 @@ -0,0 +1,80 @@
 +
 +/*  interface version */
@@ -22982,11 +22991,11 @@ diff -NurpP --minimal linux-3.13.10/kernel/vserver/vci_config.h linux-3.13.10-vs
 +      0;
 +}
 +
 +      0;
 +}
 +
-diff -NurpP --minimal linux-3.13.10/mm/memcontrol.c linux-3.13.10-vs2.3.6.11/mm/memcontrol.c
---- linux-3.13.10/mm/memcontrol.c      2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/memcontrol.c   2014-04-17 01:17:11.000000000 +0000
-@@ -1056,6 +1056,31 @@ struct mem_cgroup *mem_cgroup_from_task(
-       return mem_cgroup_from_css(task_css(p, memory_cgrp_id));
+diff -NurpP --minimal linux-3.18.5/mm/memcontrol.c linux-3.18.5-vs2.3.7.3/mm/memcontrol.c
+--- linux-3.18.5/mm/memcontrol.c       2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/memcontrol.c     2015-01-19 11:03:45.000000000 +0000
+@@ -2653,6 +2653,31 @@ static struct mem_cgroup *mem_cgroup_loo
+       return mem_cgroup_from_id(id);
  }
  
 +u64 mem_cgroup_res_read_u64(struct mem_cgroup *mem, int member)
  }
  
 +u64 mem_cgroup_res_read_u64(struct mem_cgroup *mem, int member)
@@ -23014,12 +23023,12 @@ diff -NurpP --minimal linux-3.13.10/mm/memcontrol.c linux-3.13.10-vs2.3.6.11/mm/
 +      return mem_cgroup_read_stat(mem, MEM_CGROUP_STAT_FILE_MAPPED);
 +}
 +
 +      return mem_cgroup_read_stat(mem, MEM_CGROUP_STAT_FILE_MAPPED);
 +}
 +
- static struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
- {
-       struct mem_cgroup *memcg = NULL;
-diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oom_kill.c
---- linux-3.13.10/mm/oom_kill.c        2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/oom_kill.c     2014-02-25 11:26:10.000000000 +0000
+ /*
+  * try_get_mem_cgroup_from_page - look up page's memcg association
+  * @page: the page
+diff -NurpP --minimal linux-3.18.5/mm/oom_kill.c linux-3.18.5-vs2.3.7.3/mm/oom_kill.c
+--- linux-3.18.5/mm/oom_kill.c 2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/oom_kill.c       2015-01-19 10:58:31.000000000 +0000
 @@ -35,6 +35,8 @@
  #include <linux/freezer.h>
  #include <linux/ftrace.h>
 @@ -35,6 +35,8 @@
  #include <linux/freezer.h>
  #include <linux/ftrace.h>
@@ -23029,7 +23038,7 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/oom.h>
  
  #define CREATE_TRACE_POINTS
  #include <trace/events/oom.h>
-@@ -113,11 +115,18 @@ struct task_struct *find_lock_task_mm(st
+@@ -121,11 +123,18 @@ found:
  static bool oom_unkillable_task(struct task_struct *p,
                const struct mem_cgroup *memcg, const nodemask_t *nodemask)
  {
  static bool oom_unkillable_task(struct task_struct *p,
                const struct mem_cgroup *memcg, const nodemask_t *nodemask)
  {
@@ -23049,7 +23058,7 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
        /* When mem_cgroup_out_of_memory() and p is not member of the group */
        if (memcg && !task_in_mem_cgroup(p, memcg))
                return true;
        /* When mem_cgroup_out_of_memory() and p is not member of the group */
        if (memcg && !task_in_mem_cgroup(p, memcg))
                return true;
-@@ -426,8 +435,8 @@ void oom_kill_process(struct task_struct
+@@ -453,8 +462,8 @@ void oom_kill_process(struct task_struct
                dump_header(p, gfp_mask, order, memcg, nodemask);
  
        task_lock(p);
                dump_header(p, gfp_mask, order, memcg, nodemask);
  
        task_lock(p);
@@ -23060,7 +23069,7 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
        task_unlock(p);
  
        /*
        task_unlock(p);
  
        /*
-@@ -472,8 +481,8 @@ void oom_kill_process(struct task_struct
+@@ -497,8 +506,8 @@ void oom_kill_process(struct task_struct
  
        /* mm cannot safely be dereferenced after task_unlock(victim) */
        mm = victim->mm;
  
        /* mm cannot safely be dereferenced after task_unlock(victim) */
        mm = victim->mm;
@@ -23071,7 +23080,7 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
                K(get_mm_counter(victim->mm, MM_ANONPAGES)),
                K(get_mm_counter(victim->mm, MM_FILEPAGES)));
        task_unlock(victim);
                K(get_mm_counter(victim->mm, MM_ANONPAGES)),
                K(get_mm_counter(victim->mm, MM_FILEPAGES)));
        task_unlock(victim);
-@@ -543,6 +552,8 @@ int unregister_oom_notifier(struct notif
+@@ -569,6 +578,8 @@ int unregister_oom_notifier(struct notif
  }
  EXPORT_SYMBOL_GPL(unregister_oom_notifier);
  
  }
  EXPORT_SYMBOL_GPL(unregister_oom_notifier);
  
@@ -23080,7 +23089,7 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
  /*
   * 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
  /*
   * 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
-@@ -655,7 +666,12 @@ void out_of_memory(struct zonelist *zone
+@@ -677,7 +688,12 @@ void out_of_memory(struct zonelist *zone
        /* Found nothing?!?! Either we hang forever, or we panic. */
        if (!p) {
                dump_header(NULL, gfp_mask, order, NULL, mpol_mask);
        /* Found nothing?!?! Either we hang forever, or we panic. */
        if (!p) {
                dump_header(NULL, gfp_mask, order, NULL, mpol_mask);
@@ -23094,10 +23103,10 @@ diff -NurpP --minimal linux-3.13.10/mm/oom_kill.c linux-3.13.10-vs2.3.6.11/mm/oo
        }
        if (p != (void *)-1UL) {
                oom_kill_process(p, gfp_mask, order, points, totalpages, NULL,
        }
        if (p != (void *)-1UL) {
                oom_kill_process(p, gfp_mask, order, points, totalpages, NULL,
-diff -NurpP --minimal linux-3.13.10/mm/page_alloc.c linux-3.13.10-vs2.3.6.11/mm/page_alloc.c
---- linux-3.13.10/mm/page_alloc.c      2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/page_alloc.c   2014-04-17 01:17:11.000000000 +0000
-@@ -61,6 +61,8 @@
+diff -NurpP --minimal linux-3.18.5/mm/page_alloc.c linux-3.18.5-vs2.3.7.3/mm/page_alloc.c
+--- linux-3.18.5/mm/page_alloc.c       2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/page_alloc.c     2015-01-19 10:58:31.000000000 +0000
+@@ -59,6 +59,8 @@
  #include <linux/page-debug-flags.h>
  #include <linux/hugetlb.h>
  #include <linux/sched/rt.h>
  #include <linux/page-debug-flags.h>
  #include <linux/hugetlb.h>
  #include <linux/sched/rt.h>
@@ -23106,7 +23115,7 @@ diff -NurpP --minimal linux-3.13.10/mm/page_alloc.c linux-3.13.10-vs2.3.6.11/mm/
  
  #include <asm/sections.h>
  #include <asm/tlbflush.h>
  
  #include <asm/sections.h>
  #include <asm/tlbflush.h>
-@@ -2983,6 +2985,9 @@ void si_meminfo(struct sysinfo *val)
+@@ -3096,6 +3098,9 @@ void si_meminfo(struct sysinfo *val)
        val->totalhigh = totalhigh_pages;
        val->freehigh = nr_free_highpages();
        val->mem_unit = PAGE_SIZE;
        val->totalhigh = totalhigh_pages;
        val->freehigh = nr_free_highpages();
        val->mem_unit = PAGE_SIZE;
@@ -23116,7 +23125,7 @@ diff -NurpP --minimal linux-3.13.10/mm/page_alloc.c linux-3.13.10-vs2.3.6.11/mm/
  }
  
  EXPORT_SYMBOL(si_meminfo);
  }
  
  EXPORT_SYMBOL(si_meminfo);
-@@ -3007,6 +3012,9 @@ void si_meminfo_node(struct sysinfo *val
+@@ -3121,6 +3126,9 @@ void si_meminfo_node(struct sysinfo *val
        val->freehigh = 0;
  #endif
        val->mem_unit = PAGE_SIZE;
        val->freehigh = 0;
  #endif
        val->mem_unit = PAGE_SIZE;
@@ -23126,9 +23135,9 @@ diff -NurpP --minimal linux-3.13.10/mm/page_alloc.c linux-3.13.10-vs2.3.6.11/mm/
  }
  #endif
  
  }
  #endif
  
-diff -NurpP --minimal linux-3.13.10/mm/pgtable-generic.c linux-3.13.10-vs2.3.6.11/mm/pgtable-generic.c
---- linux-3.13.10/mm/pgtable-generic.c 2014-01-22 20:39:14.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/pgtable-generic.c      2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/mm/pgtable-generic.c linux-3.18.5-vs2.3.7.3/mm/pgtable-generic.c
+--- linux-3.18.5/mm/pgtable-generic.c  2015-01-16 22:19:29.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/pgtable-generic.c        2015-01-19 10:58:31.000000000 +0000
 @@ -6,6 +6,8 @@
   *  Copyright (C) 2010  Linus Torvalds
   */
 @@ -6,6 +6,8 @@
   *  Copyright (C) 2010  Linus Torvalds
   */
@@ -23138,10 +23147,10 @@ diff -NurpP --minimal linux-3.13.10/mm/pgtable-generic.c linux-3.13.10-vs2.3.6.1
  #include <linux/pagemap.h>
  #include <asm/tlb.h>
  #include <asm-generic/pgtable.h>
  #include <linux/pagemap.h>
  #include <asm/tlb.h>
  #include <asm-generic/pgtable.h>
-diff -NurpP --minimal linux-3.13.10/mm/shmem.c linux-3.13.10-vs2.3.6.11/mm/shmem.c
---- linux-3.13.10/mm/shmem.c   2014-01-22 20:39:14.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/shmem.c        2014-01-31 20:38:04.000000000 +0000
-@@ -1909,7 +1909,7 @@ static int shmem_statfs(struct dentry *d
+diff -NurpP --minimal linux-3.18.5/mm/shmem.c linux-3.18.5-vs2.3.7.3/mm/shmem.c
+--- linux-3.18.5/mm/shmem.c    2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/shmem.c  2015-01-19 10:58:31.000000000 +0000
+@@ -2183,7 +2183,7 @@ static int shmem_statfs(struct dentry *d
  {
        struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);
  
  {
        struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);
  
@@ -23150,7 +23159,7 @@ diff -NurpP --minimal linux-3.13.10/mm/shmem.c linux-3.13.10-vs2.3.6.11/mm/shmem
        buf->f_bsize = PAGE_CACHE_SIZE;
        buf->f_namelen = NAME_MAX;
        if (sbinfo->max_blocks) {
        buf->f_bsize = PAGE_CACHE_SIZE;
        buf->f_namelen = NAME_MAX;
        if (sbinfo->max_blocks) {
-@@ -2639,7 +2639,7 @@ int shmem_fill_super(struct super_block
+@@ -3036,7 +3036,7 @@ int shmem_fill_super(struct super_block
        sb->s_maxbytes = MAX_LFS_FILESIZE;
        sb->s_blocksize = PAGE_CACHE_SIZE;
        sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
        sb->s_maxbytes = MAX_LFS_FILESIZE;
        sb->s_blocksize = PAGE_CACHE_SIZE;
        sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
@@ -23159,10 +23168,10 @@ diff -NurpP --minimal linux-3.13.10/mm/shmem.c linux-3.13.10-vs2.3.6.11/mm/shmem
        sb->s_op = &shmem_ops;
        sb->s_time_gran = 1;
  #ifdef CONFIG_TMPFS_XATTR
        sb->s_op = &shmem_ops;
        sb->s_time_gran = 1;
  #ifdef CONFIG_TMPFS_XATTR
-diff -NurpP --minimal linux-3.13.10/mm/slab.c linux-3.13.10-vs2.3.6.11/mm/slab.c
---- linux-3.13.10/mm/slab.c    2014-01-22 20:39:14.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/slab.c 2014-01-31 20:38:04.000000000 +0000
-@@ -322,6 +322,8 @@ static void kmem_cache_node_init(struct
+diff -NurpP --minimal linux-3.18.5/mm/slab.c linux-3.18.5-vs2.3.7.3/mm/slab.c
+--- linux-3.18.5/mm/slab.c     2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/slab.c   2015-01-19 10:58:31.000000000 +0000
+@@ -336,6 +336,8 @@ static void kmem_cache_node_init(struct
  #define STATS_INC_FREEMISS(x) do { } while (0)
  #endif
  
  #define STATS_INC_FREEMISS(x) do { } while (0)
  #endif
  
@@ -23171,7 +23180,7 @@ diff -NurpP --minimal linux-3.13.10/mm/slab.c linux-3.13.10-vs2.3.6.11/mm/slab.c
  #if DEBUG
  
  /*
  #if DEBUG
  
  /*
-@@ -3240,6 +3242,7 @@ slab_alloc_node(struct kmem_cache *cache
+@@ -3168,6 +3170,7 @@ slab_alloc_node(struct kmem_cache *cache
        /* ___cache_alloc_node can fall back to other nodes */
        ptr = ____cache_alloc_node(cachep, flags, nodeid);
    out:
        /* ___cache_alloc_node can fall back to other nodes */
        ptr = ____cache_alloc_node(cachep, flags, nodeid);
    out:
@@ -23179,7 +23188,7 @@ diff -NurpP --minimal linux-3.13.10/mm/slab.c linux-3.13.10-vs2.3.6.11/mm/slab.c
        local_irq_restore(save_flags);
        ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller);
        kmemleak_alloc_recursive(ptr, cachep->object_size, 1, cachep->flags,
        local_irq_restore(save_flags);
        ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller);
        kmemleak_alloc_recursive(ptr, cachep->object_size, 1, cachep->flags,
-@@ -3430,6 +3433,7 @@ static inline void __cache_free(struct k
+@@ -3354,6 +3357,7 @@ static inline void __cache_free(struct k
        check_irq_off();
        kmemleak_free_recursive(objp, cachep->flags);
        objp = cache_free_debugcheck(cachep, objp, caller);
        check_irq_off();
        kmemleak_free_recursive(objp, cachep->flags);
        objp = cache_free_debugcheck(cachep, objp, caller);
@@ -23187,9 +23196,9 @@ diff -NurpP --minimal linux-3.13.10/mm/slab.c linux-3.13.10-vs2.3.6.11/mm/slab.c
  
        kmemcheck_slab_free(cachep, objp, cachep->object_size);
  
  
        kmemcheck_slab_free(cachep, objp, cachep->object_size);
  
-diff -NurpP --minimal linux-3.13.10/mm/slab_vs.h linux-3.13.10-vs2.3.6.11/mm/slab_vs.h
---- linux-3.13.10/mm/slab_vs.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/slab_vs.h      2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/mm/slab_vs.h linux-3.18.5-vs2.3.7.3/mm/slab_vs.h
+--- linux-3.18.5/mm/slab_vs.h  1970-01-01 00:00:00.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/slab_vs.h        2015-01-19 10:58:31.000000000 +0000
 @@ -0,0 +1,29 @@
 +
 +#include <linux/vserver/context.h>
 @@ -0,0 +1,29 @@
 +
 +#include <linux/vserver/context.h>
@@ -23220,9 +23229,9 @@ diff -NurpP --minimal linux-3.13.10/mm/slab_vs.h linux-3.13.10-vs2.3.6.11/mm/sla
 +      atomic_sub(cachep->size, &vxi->cacct.slab[what]);
 +}
 +
 +      atomic_sub(cachep->size, &vxi->cacct.slab[what]);
 +}
 +
-diff -NurpP --minimal linux-3.13.10/mm/swapfile.c linux-3.13.10-vs2.3.6.11/mm/swapfile.c
---- linux-3.13.10/mm/swapfile.c        2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/mm/swapfile.c     2014-02-25 11:26:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/mm/swapfile.c linux-3.18.5-vs2.3.7.3/mm/swapfile.c
+--- linux-3.18.5/mm/swapfile.c 2015-01-16 22:19:29.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/mm/swapfile.c       2015-01-19 10:58:31.000000000 +0000
 @@ -39,6 +39,7 @@
  #include <asm/tlbflush.h>
  #include <linux/swapops.h>
 @@ -39,6 +39,7 @@
  #include <asm/tlbflush.h>
  #include <linux/swapops.h>
@@ -23231,7 +23240,7 @@ diff -NurpP --minimal linux-3.13.10/mm/swapfile.c linux-3.13.10-vs2.3.6.11/mm/sw
  
  static bool swap_count_continued(struct swap_info_struct *, pgoff_t,
                                 unsigned char);
  
  static bool swap_count_continued(struct swap_info_struct *, pgoff_t,
                                 unsigned char);
-@@ -2042,6 +2043,16 @@ static int swap_show(struct seq_file *sw
+@@ -2028,6 +2029,16 @@ static int swap_show(struct seq_file *sw
  
        if (si == SEQ_START_TOKEN) {
                seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
  
        if (si == SEQ_START_TOKEN) {
                seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
@@ -23248,7 +23257,7 @@ diff -NurpP --minimal linux-3.13.10/mm/swapfile.c linux-3.13.10-vs2.3.6.11/mm/sw
                return 0;
        }
  
                return 0;
        }
  
-@@ -2589,6 +2600,8 @@ void si_swapinfo(struct sysinfo *val)
+@@ -2576,6 +2587,8 @@ void si_swapinfo(struct sysinfo *val)
        val->freeswap = atomic_long_read(&nr_swap_pages) + nr_to_be_unused;
        val->totalswap = total_swap_pages + nr_to_be_unused;
        spin_unlock(&swap_lock);
        val->freeswap = atomic_long_read(&nr_swap_pages) + nr_to_be_unused;
        val->totalswap = total_swap_pages + nr_to_be_unused;
        spin_unlock(&swap_lock);
@@ -23257,10 +23266,10 @@ diff -NurpP --minimal linux-3.13.10/mm/swapfile.c linux-3.13.10-vs2.3.6.11/mm/sw
  }
  
  /*
  }
  
  /*
-diff -NurpP --minimal linux-3.13.10/net/bridge/br_multicast.c linux-3.13.10-vs2.3.6.11/net/bridge/br_multicast.c
---- linux-3.13.10/net/bridge/br_multicast.c    2014-04-17 01:12:40.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/bridge/br_multicast.c 2014-04-17 01:17:11.000000000 +0000
-@@ -447,7 +447,7 @@ static struct sk_buff *br_ip6_multicast_
+diff -NurpP --minimal linux-3.18.5/net/bridge/br_multicast.c linux-3.18.5-vs2.3.7.3/net/bridge/br_multicast.c
+--- linux-3.18.5/net/bridge/br_multicast.c     2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/bridge/br_multicast.c   2015-01-19 10:58:31.000000000 +0000
+@@ -448,7 +448,7 @@ static struct sk_buff *br_ip6_multicast_
        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,
        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,
@@ -23269,9 +23278,9 @@ diff -NurpP --minimal linux-3.13.10/net/bridge/br_multicast.c linux-3.13.10-vs2.
                kfree_skb(skb);
                return NULL;
        }
                kfree_skb(skb);
                return NULL;
        }
-diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/core/dev.c
---- linux-3.13.10/net/core/dev.c       2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/core/dev.c    2014-03-12 15:51:08.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/core/dev.c linux-3.18.5-vs2.3.7.3/net/core/dev.c
+--- linux-3.18.5/net/core/dev.c        2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/core/dev.c      2015-01-28 11:48:02.000000000 +0000
 @@ -122,6 +122,7 @@
  #include <linux/in.h>
  #include <linux/jhash.h>
 @@ -122,6 +122,7 @@
  #include <linux/in.h>
  #include <linux/jhash.h>
@@ -23280,7 +23289,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
  #include <trace/events/napi.h>
  #include <trace/events/net.h>
  #include <trace/events/skb.h>
  #include <trace/events/napi.h>
  #include <trace/events/net.h>
  #include <trace/events/skb.h>
-@@ -669,7 +670,8 @@ struct net_device *__dev_get_by_name(str
+@@ -674,7 +675,8 @@ struct net_device *__dev_get_by_name(str
        struct hlist_head *head = dev_name_hash(net, name);
  
        hlist_for_each_entry(dev, head, name_hlist)
        struct hlist_head *head = dev_name_hash(net, name);
  
        hlist_for_each_entry(dev, head, name_hlist)
@@ -23290,7 +23299,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
                        return dev;
  
        return NULL;
                        return dev;
  
        return NULL;
-@@ -694,7 +696,8 @@ struct net_device *dev_get_by_name_rcu(s
+@@ -699,7 +701,8 @@ struct net_device *dev_get_by_name_rcu(s
        struct hlist_head *head = dev_name_hash(net, name);
  
        hlist_for_each_entry_rcu(dev, head, name_hlist)
        struct hlist_head *head = dev_name_hash(net, name);
  
        hlist_for_each_entry_rcu(dev, head, name_hlist)
@@ -23300,7 +23309,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
                        return dev;
  
        return NULL;
                        return dev;
  
        return NULL;
-@@ -744,7 +747,8 @@ struct net_device *__dev_get_by_index(st
+@@ -749,7 +752,8 @@ struct net_device *__dev_get_by_index(st
        struct hlist_head *head = dev_index_hash(net, ifindex);
  
        hlist_for_each_entry(dev, head, index_hlist)
        struct hlist_head *head = dev_index_hash(net, ifindex);
  
        hlist_for_each_entry(dev, head, index_hlist)
@@ -23310,7 +23319,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
                        return dev;
  
        return NULL;
                        return dev;
  
        return NULL;
-@@ -762,7 +766,7 @@ EXPORT_SYMBOL(__dev_get_by_index);
+@@ -767,7 +771,7 @@ EXPORT_SYMBOL(__dev_get_by_index);
   *    about locking. The caller must hold RCU lock.
   */
  
   *    about locking. The caller must hold RCU lock.
   */
  
@@ -23319,7 +23328,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
  {
        struct net_device *dev;
        struct hlist_head *head = dev_index_hash(net, ifindex);
  {
        struct net_device *dev;
        struct hlist_head *head = dev_index_hash(net, ifindex);
-@@ -773,6 +777,16 @@ struct net_device *dev_get_by_index_rcu(
+@@ -778,6 +782,16 @@ struct net_device *dev_get_by_index_rcu(
  
        return NULL;
  }
  
        return NULL;
  }
@@ -23336,7 +23345,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
  EXPORT_SYMBOL(dev_get_by_index_rcu);
  
  
  EXPORT_SYMBOL(dev_get_by_index_rcu);
  
  
-@@ -855,7 +869,8 @@ struct net_device *dev_getbyhwaddr_rcu(s
+@@ -860,7 +874,8 @@ struct net_device *dev_getbyhwaddr_rcu(s
  
        for_each_netdev_rcu(net, dev)
                if (dev->type == type &&
  
        for_each_netdev_rcu(net, dev)
                if (dev->type == type &&
@@ -23346,7 +23355,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
                        return dev;
  
        return NULL;
                        return dev;
  
        return NULL;
-@@ -867,9 +882,11 @@ struct net_device *__dev_getfirstbyhwtyp
+@@ -872,9 +887,11 @@ struct net_device *__dev_getfirstbyhwtyp
        struct net_device *dev;
  
        ASSERT_RTNL();
        struct net_device *dev;
  
        ASSERT_RTNL();
@@ -23360,7 +23369,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
  
        return NULL;
  }
  
        return NULL;
  }
-@@ -881,7 +898,8 @@ struct net_device *dev_getfirstbyhwtype(
+@@ -886,7 +903,8 @@ struct net_device *dev_getfirstbyhwtype(
  
        rcu_read_lock();
        for_each_netdev_rcu(net, dev)
  
        rcu_read_lock();
        for_each_netdev_rcu(net, dev)
@@ -23370,17 +23379,17 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
                        dev_hold(dev);
                        ret = dev;
                        break;
                        dev_hold(dev);
                        ret = dev;
                        break;
-@@ -909,7 +927,8 @@ struct net_device *dev_get_by_flags_rcu(
+@@ -916,7 +934,8 @@ struct net_device *__dev_get_by_flags(st
  
        ret = NULL;
  
        ret = NULL;
-       for_each_netdev_rcu(net, dev) {
+       for_each_netdev(net, dev) {
 -              if (((dev->flags ^ if_flags) & mask) == 0) {
 +              if ((((dev->flags ^ if_flags) & mask) == 0) &&
 +                      nx_dev_visible(current_nx_info(), dev)) {
                        ret = dev;
                        break;
                }
 -              if (((dev->flags ^ if_flags) & mask) == 0) {
 +              if ((((dev->flags ^ if_flags) & mask) == 0) &&
 +                      nx_dev_visible(current_nx_info(), dev)) {
                        ret = dev;
                        break;
                }
-@@ -987,6 +1006,8 @@ static int __dev_alloc_name(struct net *
+@@ -994,6 +1013,8 @@ static int __dev_alloc_name(struct net *
                                continue;
                        if (i < 0 || i >= max_netdevices)
                                continue;
                                continue;
                        if (i < 0 || i >= max_netdevices)
                                continue;
@@ -23389,9 +23398,9 @@ diff -NurpP --minimal linux-3.13.10/net/core/dev.c linux-3.13.10-vs2.3.6.11/net/
  
                        /*  avoid cases where sscanf is not exact inverse of printf */
                        snprintf(buf, IFNAMSIZ, name, i);
  
                        /*  avoid cases where sscanf is not exact inverse of printf */
                        snprintf(buf, IFNAMSIZ, name, i);
-diff -NurpP --minimal linux-3.13.10/net/core/net-procfs.c linux-3.13.10-vs2.3.6.11/net/core/net-procfs.c
---- linux-3.13.10/net/core/net-procfs.c        2013-11-25 15:45:09.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/core/net-procfs.c     2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/core/net-procfs.c linux-3.18.5-vs2.3.7.3/net/core/net-procfs.c
+--- linux-3.18.5/net/core/net-procfs.c 2013-11-25 15:45:09.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/core/net-procfs.c       2015-01-19 10:58:31.000000000 +0000
 @@ -1,6 +1,7 @@
  #include <linux/netdevice.h>
  #include <linux/proc_fs.h>
 @@ -1,6 +1,7 @@
  #include <linux/netdevice.h>
  #include <linux/proc_fs.h>
@@ -23415,10 +23424,10 @@ diff -NurpP --minimal linux-3.13.10/net/core/net-procfs.c linux-3.13.10-vs2.3.6.
        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,
        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.13.10/net/core/rtnetlink.c linux-3.13.10-vs2.3.6.11/net/core/rtnetlink.c
---- linux-3.13.10/net/core/rtnetlink.c 2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/core/rtnetlink.c      2014-04-17 01:17:11.000000000 +0000
-@@ -1090,6 +1090,8 @@ static int rtnl_dump_ifinfo(struct sk_bu
+diff -NurpP --minimal linux-3.18.5/net/core/rtnetlink.c linux-3.18.5-vs2.3.7.3/net/core/rtnetlink.c
+--- linux-3.18.5/net/core/rtnetlink.c  2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/core/rtnetlink.c        2015-01-19 10:58:31.000000000 +0000
+@@ -1280,6 +1280,8 @@ static int rtnl_dump_ifinfo(struct sk_bu
                hlist_for_each_entry_rcu(dev, head, index_hlist) {
                        if (idx < s_idx)
                                goto cont;
                hlist_for_each_entry_rcu(dev, head, index_hlist) {
                        if (idx < s_idx)
                                goto cont;
@@ -23427,7 +23436,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/rtnetlink.c linux-3.13.10-vs2.3.6.1
                        err = rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
                                               NETLINK_CB(cb->skb).portid,
                                               cb->nlh->nlmsg_seq, 0,
                        err = rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
                                               NETLINK_CB(cb->skb).portid,
                                               cb->nlh->nlmsg_seq, 0,
-@@ -1992,6 +1994,9 @@ void rtmsg_ifinfo(int type, struct net_d
+@@ -2229,6 +2231,9 @@ void rtmsg_ifinfo(int type, struct net_d
        int err = -ENOBUFS;
        size_t if_info_size;
  
        int err = -ENOBUFS;
        size_t if_info_size;
  
@@ -23437,9 +23446,9 @@ diff -NurpP --minimal linux-3.13.10/net/core/rtnetlink.c linux-3.13.10-vs2.3.6.1
        skb = nlmsg_new((if_info_size = if_nlmsg_size(dev, 0)), flags);
        if (skb == NULL)
                goto errout;
        skb = nlmsg_new((if_info_size = if_nlmsg_size(dev, 0)), flags);
        if (skb == NULL)
                goto errout;
-diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net/core/sock.c
---- linux-3.13.10/net/core/sock.c      2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/core/sock.c   2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/core/sock.c linux-3.18.5-vs2.3.7.3/net/core/sock.c
+--- linux-3.18.5/net/core/sock.c       2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/core/sock.c     2015-01-19 10:58:31.000000000 +0000
 @@ -133,6 +133,10 @@
  #include <net/netprio_cgroup.h>
  
 @@ -133,6 +133,10 @@
  #include <net/netprio_cgroup.h>
  
@@ -23451,7 +23460,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
  
  #include <trace/events/sock.h>
  
  
  #include <trace/events/sock.h>
  
-@@ -1279,6 +1283,8 @@ static struct sock *sk_prot_alloc(struct
+@@ -1310,6 +1314,8 @@ static struct sock *sk_prot_alloc(struct
                        goto out_free_sec;
                sk_tx_queue_clear(sk);
        }
                        goto out_free_sec;
                sk_tx_queue_clear(sk);
        }
@@ -23460,7 +23469,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
  
        return sk;
  
  
        return sk;
  
-@@ -1387,6 +1393,11 @@ static void __sk_free(struct sock *sk)
+@@ -1406,6 +1412,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));
                put_cred(sk->sk_peer_cred);
        put_pid(sk->sk_peer_pid);
        put_net(sock_net(sk));
@@ -23472,7 +23481,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
        sk_prot_free(sk->sk_prot_creator, sk);
  }
  
        sk_prot_free(sk->sk_prot_creator, sk);
  }
  
-@@ -1447,6 +1458,8 @@ struct sock *sk_clone_lock(const struct
+@@ -1467,6 +1478,8 @@ struct sock *sk_clone_lock(const struct
  
                /* SANITY */
                get_net(sock_net(newsk));
  
                /* SANITY */
                get_net(sock_net(newsk));
@@ -23481,7 +23490,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
                sk_node_init(&newsk->sk_node);
                sock_lock_init(newsk);
                bh_lock_sock(newsk);
                sk_node_init(&newsk->sk_node);
                sock_lock_init(newsk);
                bh_lock_sock(newsk);
-@@ -1503,6 +1516,12 @@ struct sock *sk_clone_lock(const struct
+@@ -1524,6 +1537,12 @@ struct sock *sk_clone_lock(const struct
                smp_wmb();
                atomic_set(&newsk->sk_refcnt, 2);
  
                smp_wmb();
                atomic_set(&newsk->sk_refcnt, 2);
  
@@ -23494,7 +23503,7 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
                /*
                 * Increment the counter in the same struct proto as the master
                 * sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that
                /*
                 * Increment the counter in the same struct proto as the master
                 * sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that
-@@ -2340,6 +2359,12 @@ void sock_init_data(struct socket *sock,
+@@ -2302,6 +2321,12 @@ void sock_init_data(struct socket *sock,
  
        sk->sk_stamp = ktime_set(-1L, 0);
  
  
        sk->sk_stamp = ktime_set(-1L, 0);
  
@@ -23507,9 +23516,9 @@ diff -NurpP --minimal linux-3.13.10/net/core/sock.c linux-3.13.10-vs2.3.6.11/net
  #ifdef CONFIG_NET_RX_BUSY_POLL
        sk->sk_napi_id          =       0;
        sk->sk_ll_usec          =       sysctl_net_busy_read;
  #ifdef CONFIG_NET_RX_BUSY_POLL
        sk->sk_napi_id          =       0;
        sk->sk_ll_usec          =       sysctl_net_busy_read;
-diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/net/ipv4/af_inet.c
---- linux-3.13.10/net/ipv4/af_inet.c   2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/af_inet.c        2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/af_inet.c linux-3.18.5-vs2.3.7.3/net/ipv4/af_inet.c
+--- linux-3.18.5/net/ipv4/af_inet.c    2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/af_inet.c  2015-01-19 10:58:31.000000000 +0000
 @@ -118,6 +118,7 @@
  #ifdef CONFIG_IP_MROUTE
  #include <linux/mroute.h>
 @@ -118,6 +118,7 @@
  #ifdef CONFIG_IP_MROUTE
  #include <linux/mroute.h>
@@ -23518,7 +23527,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
  
  
  /* The inetsw table contains everything that inet_create needs to
  
  
  /* The inetsw table contains everything that inet_create needs to
-@@ -309,10 +310,13 @@ lookup_protocol:
+@@ -305,10 +306,13 @@ lookup_protocol:
        }
  
        err = -EPERM;
        }
  
        err = -EPERM;
@@ -23532,8 +23541,8 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
 +override:
        sock->ops = answer->ops;
        answer_prot = answer->prot;
 +override:
        sock->ops = answer->ops;
        answer_prot = answer->prot;
-       answer_no_check = answer->no_check;
-@@ -433,6 +437,7 @@ int inet_bind(struct socket *sock, struc
+       answer_flags = answer->flags;
+@@ -423,6 +427,7 @@ int inet_bind(struct socket *sock, struc
        struct sockaddr_in *addr = (struct sockaddr_in *)uaddr;
        struct sock *sk = sock->sk;
        struct inet_sock *inet = inet_sk(sk);
        struct sockaddr_in *addr = (struct sockaddr_in *)uaddr;
        struct sock *sk = sock->sk;
        struct inet_sock *inet = inet_sk(sk);
@@ -23541,7 +23550,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
        struct net *net = sock_net(sk);
        unsigned short snum;
        int chk_addr_ret;
        struct net *net = sock_net(sk);
        unsigned short snum;
        int chk_addr_ret;
-@@ -457,7 +462,11 @@ int inet_bind(struct socket *sock, struc
+@@ -447,7 +452,11 @@ int inet_bind(struct socket *sock, struc
                        goto out;
        }
  
                        goto out;
        }
  
@@ -23554,16 +23563,16 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
  
        /* Not specified by any standard per-se, however it breaks too
         * many applications when removed.  It is unfortunate since
  
        /* Not specified by any standard per-se, however it breaks too
         * many applications when removed.  It is unfortunate since
-@@ -469,7 +478,7 @@ int inet_bind(struct socket *sock, struc
+@@ -459,7 +468,7 @@ int inet_bind(struct socket *sock, struc
        err = -EADDRNOTAVAIL;
        err = -EADDRNOTAVAIL;
-       if (!sysctl_ip_nonlocal_bind &&
+       if (!net->ipv4.sysctl_ip_nonlocal_bind &&
            !(inet->freebind || inet->transparent) &&
 -          addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
 +          nsa.saddr != htonl(INADDR_ANY) &&
            chk_addr_ret != RTN_LOCAL &&
            chk_addr_ret != RTN_MULTICAST &&
            chk_addr_ret != RTN_BROADCAST)
            !(inet->freebind || inet->transparent) &&
 -          addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
 +          nsa.saddr != htonl(INADDR_ANY) &&
            chk_addr_ret != RTN_LOCAL &&
            chk_addr_ret != RTN_MULTICAST &&
            chk_addr_ret != RTN_BROADCAST)
-@@ -495,7 +504,7 @@ int inet_bind(struct socket *sock, struc
+@@ -485,7 +494,7 @@ int inet_bind(struct socket *sock, struc
        if (sk->sk_state != TCP_CLOSE || inet->inet_num)
                goto out_release_sock;
  
        if (sk->sk_state != TCP_CLOSE || inet->inet_num)
                goto out_release_sock;
  
@@ -23572,7 +23581,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
        if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
                inet->inet_saddr = 0;  /* Use device */
  
        if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
                inet->inet_saddr = 0;  /* Use device */
  
-@@ -714,11 +723,13 @@ int inet_getname(struct socket *sock, st
+@@ -704,11 +713,13 @@ int inet_getname(struct socket *sock, st
                     peer == 1))
                        return -ENOTCONN;
                sin->sin_port = inet->inet_dport;
                     peer == 1))
                        return -ENOTCONN;
                sin->sin_port = inet->inet_dport;
@@ -23587,10 +23596,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/af_inet.c linux-3.13.10-vs2.3.6.11/
                sin->sin_port = inet->inet_sport;
                sin->sin_addr.s_addr = addr;
        }
                sin->sin_port = inet->inet_sport;
                sin->sin_addr.s_addr = addr;
        }
-diff -NurpP --minimal linux-3.13.10/net/ipv4/arp.c linux-3.13.10-vs2.3.6.11/net/ipv4/arp.c
---- linux-3.13.10/net/ipv4/arp.c       2013-11-25 15:47:06.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/arp.c    2014-01-31 20:38:04.000000000 +0000
-@@ -1336,6 +1336,7 @@ static void arp_format_neigh_entry(struc
+diff -NurpP --minimal linux-3.18.5/net/ipv4/arp.c linux-3.18.5-vs2.3.7.3/net/ipv4/arp.c
+--- linux-3.18.5/net/ipv4/arp.c        2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/arp.c      2015-01-19 10:58:31.000000000 +0000
+@@ -1349,6 +1349,7 @@ static void arp_format_neigh_entry(struc
        struct net_device *dev = n->dev;
        int hatype = dev->type;
  
        struct net_device *dev = n->dev;
        int hatype = dev->type;
  
@@ -23598,7 +23607,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/arp.c linux-3.13.10-vs2.3.6.11/net/
        read_lock(&n->lock);
        /* Convert hardware address to XX:XX:XX:XX ... form. */
  #if IS_ENABLED(CONFIG_AX25)
        read_lock(&n->lock);
        /* Convert hardware address to XX:XX:XX:XX ... form. */
  #if IS_ENABLED(CONFIG_AX25)
-@@ -1367,6 +1368,7 @@ static void arp_format_pneigh_entry(stru
+@@ -1380,6 +1381,7 @@ static void arp_format_pneigh_entry(stru
        int hatype = dev ? dev->type : 0;
        char tbuf[16];
  
        int hatype = dev ? dev->type : 0;
        char tbuf[16];
  
@@ -23606,10 +23615,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/arp.c linux-3.13.10-vs2.3.6.11/net/
        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",
        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.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/net/ipv4/devinet.c
---- linux-3.13.10/net/ipv4/devinet.c   2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/devinet.c        2014-03-12 15:51:08.000000000 +0000
-@@ -527,6 +527,7 @@ struct in_device *inetdev_by_index(struc
+diff -NurpP --minimal linux-3.18.5/net/ipv4/devinet.c linux-3.18.5-vs2.3.7.3/net/ipv4/devinet.c
+--- linux-3.18.5/net/ipv4/devinet.c    2015-01-16 22:19:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/devinet.c  2015-01-19 10:58:31.000000000 +0000
+@@ -534,6 +534,7 @@ struct in_device *inetdev_by_index(struc
  }
  EXPORT_SYMBOL(inetdev_by_index);
  
  }
  EXPORT_SYMBOL(inetdev_by_index);
  
@@ -23617,7 +23626,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
  /* Called only from RTNL semaphored context. No locks. */
  
  struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix,
  /* Called only from RTNL semaphored context. No locks. */
  
  struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix,
-@@ -947,6 +948,8 @@ int devinet_ioctl(struct net *net, unsig
+@@ -958,6 +959,8 @@ int devinet_ioctl(struct net *net, unsig
  
        in_dev = __in_dev_get_rtnl(dev);
        if (in_dev) {
  
        in_dev = __in_dev_get_rtnl(dev);
        if (in_dev) {
@@ -23626,7 +23635,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
                if (tryaddrmatch) {
                        /* Matthias Andree */
                        /* compare label and address (4.4BSD style) */
                if (tryaddrmatch) {
                        /* Matthias Andree */
                        /* compare label and address (4.4BSD style) */
-@@ -955,6 +958,8 @@ int devinet_ioctl(struct net *net, unsig
+@@ -966,6 +969,8 @@ int devinet_ioctl(struct net *net, unsig
                           This is checked above. */
                        for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
                             ifap = &ifa->ifa_next) {
                           This is checked above. */
                        for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
                             ifap = &ifa->ifa_next) {
@@ -23635,7 +23644,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
                                if (!strcmp(ifr.ifr_name, ifa->ifa_label) &&
                                    sin_orig.sin_addr.s_addr ==
                                                        ifa->ifa_local) {
                                if (!strcmp(ifr.ifr_name, ifa->ifa_label) &&
                                    sin_orig.sin_addr.s_addr ==
                                                        ifa->ifa_local) {
-@@ -967,9 +972,12 @@ int devinet_ioctl(struct net *net, unsig
+@@ -978,9 +983,12 @@ int devinet_ioctl(struct net *net, unsig
                   comparing just the label */
                if (!ifa) {
                        for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
                   comparing just the label */
                if (!ifa) {
                        for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
@@ -23649,7 +23658,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
                }
        }
  
                }
        }
  
-@@ -1123,6 +1131,8 @@ static int inet_gifconf(struct net_devic
+@@ -1134,6 +1142,8 @@ static int inet_gifconf(struct net_devic
                goto out;
  
        for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
                goto out;
  
        for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
@@ -23658,7 +23667,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
                if (!buf) {
                        done += sizeof(ifr);
                        continue;
                if (!buf) {
                        done += sizeof(ifr);
                        continue;
-@@ -1524,6 +1534,7 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1538,6 +1548,7 @@ static int inet_dump_ifaddr(struct sk_bu
        struct net_device *dev;
        struct in_device *in_dev;
        struct in_ifaddr *ifa;
        struct net_device *dev;
        struct in_device *in_dev;
        struct in_ifaddr *ifa;
@@ -23666,7 +23675,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
        struct hlist_head *head;
  
        s_h = cb->args[0];
        struct hlist_head *head;
  
        s_h = cb->args[0];
-@@ -1547,6 +1558,8 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1561,6 +1572,8 @@ static int inet_dump_ifaddr(struct sk_bu
  
                        for (ifa = in_dev->ifa_list, ip_idx = 0; ifa;
                             ifa = ifa->ifa_next, ip_idx++) {
  
                        for (ifa = in_dev->ifa_list, ip_idx = 0; ifa;
                             ifa = ifa->ifa_next, ip_idx++) {
@@ -23675,9 +23684,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/devinet.c linux-3.13.10-vs2.3.6.11/
                                if (ip_idx < s_ip_idx)
                                        continue;
                                if (inet_fill_ifaddr(skb, ifa,
                                if (ip_idx < s_ip_idx)
                                        continue;
                                if (inet_fill_ifaddr(skb, ifa,
-diff -NurpP --minimal linux-3.13.10/net/ipv4/fib_trie.c linux-3.13.10-vs2.3.6.11/net/ipv4/fib_trie.c
---- linux-3.13.10/net/ipv4/fib_trie.c  2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/fib_trie.c       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/fib_trie.c linux-3.18.5-vs2.3.7.3/net/ipv4/fib_trie.c
+--- linux-3.18.5/net/ipv4/fib_trie.c   2015-01-16 22:19:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/fib_trie.c 2015-01-19 10:58:31.000000000 +0000
 @@ -2530,6 +2530,7 @@ static int fib_route_seq_show(struct seq
  
                        seq_setwidth(seq, 127);
 @@ -2530,6 +2530,7 @@ static int fib_route_seq_show(struct seq
  
                        seq_setwidth(seq, 127);
@@ -23686,10 +23695,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/fib_trie.c linux-3.13.10-vs2.3.6.11
                        if (fi)
                                seq_printf(seq,
                                         "%s\t%08X\t%08X\t%04X\t%d\t%u\t"
                        if (fi)
                                seq_printf(seq,
                                         "%s\t%08X\t%08X\t%04X\t%d\t%u\t"
-diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_connection_sock.c linux-3.13.10-vs2.3.6.11/net/ipv4/inet_connection_sock.c
---- linux-3.13.10/net/ipv4/inet_connection_sock.c      2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/inet_connection_sock.c   2014-02-01 00:33:11.000000000 +0000
-@@ -45,6 +45,37 @@ void inet_get_local_port_range(struct ne
+diff -NurpP --minimal linux-3.18.5/net/ipv4/inet_connection_sock.c linux-3.18.5-vs2.3.7.3/net/ipv4/inet_connection_sock.c
+--- linux-3.18.5/net/ipv4/inet_connection_sock.c       2014-09-03 13:19:48.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/inet_connection_sock.c     2015-01-19 10:58:31.000000000 +0000
+@@ -42,6 +42,37 @@ void inet_get_local_port_range(struct ne
  }
  EXPORT_SYMBOL(inet_get_local_port_range);
  
  }
  EXPORT_SYMBOL(inet_get_local_port_range);
  
@@ -23727,7 +23736,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_connection_sock.c linux-3.13.1
  int inet_csk_bind_conflict(const struct sock *sk,
                           const struct inet_bind_bucket *tb, bool relax)
  {
  int inet_csk_bind_conflict(const struct sock *sk,
                           const struct inet_bind_bucket *tb, bool relax)
  {
-@@ -72,15 +103,13 @@ int inet_csk_bind_conflict(const struct
+@@ -69,15 +100,13 @@ int inet_csk_bind_conflict(const struct
                            (sk2->sk_state != TCP_TIME_WAIT &&
                             !uid_eq(uid, sock_i_uid(sk2))))) {
  
                            (sk2->sk_state != TCP_TIME_WAIT &&
                             !uid_eq(uid, sock_i_uid(sk2))))) {
  
@@ -23745,9 +23754,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_connection_sock.c linux-3.13.1
                                        break;
                        }
                }
                                        break;
                        }
                }
-diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_diag.c linux-3.13.10-vs2.3.6.11/net/ipv4/inet_diag.c
---- linux-3.13.10/net/ipv4/inet_diag.c 2014-02-01 02:17:51.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/inet_diag.c      2014-02-01 02:32:22.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/inet_diag.c linux-3.18.5-vs2.3.7.3/net/ipv4/inet_diag.c
+--- linux-3.18.5/net/ipv4/inet_diag.c  2014-02-01 02:17:51.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/inet_diag.c        2015-01-19 10:58:31.000000000 +0000
 @@ -31,6 +31,8 @@
  
  #include <linux/inet.h>
 @@ -31,6 +31,8 @@
  
  #include <linux/inet.h>
@@ -23849,9 +23858,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_diag.c linux-3.13.10-vs2.3.6.1
                        if (num < s_num)
                                goto next_normal;
                        state = (sk->sk_state == TCP_TIME_WAIT) ?
                        if (num < s_num)
                                goto next_normal;
                        state = (sk->sk_state == TCP_TIME_WAIT) ?
-diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_hashtables.c linux-3.13.10-vs2.3.6.11/net/ipv4/inet_hashtables.c
---- linux-3.13.10/net/ipv4/inet_hashtables.c   2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/inet_hashtables.c        2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/inet_hashtables.c linux-3.18.5-vs2.3.7.3/net/ipv4/inet_hashtables.c
+--- linux-3.18.5/net/ipv4/inet_hashtables.c    2015-01-17 02:40:24.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/inet_hashtables.c  2015-01-19 10:58:31.000000000 +0000
 @@ -22,6 +22,7 @@
  #include <net/inet_connection_sock.h>
  #include <net/inet_hashtables.h>
 @@ -22,6 +22,7 @@
  #include <net/inet_connection_sock.h>
  #include <net/inet_hashtables.h>
@@ -23888,9 +23897,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/inet_hashtables.c linux-3.13.10-vs2
        /*
         * if the nulls value we got at the end of this lookup is
         * not the expected one, we must restart lookup.
        /*
         * 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.13.10/net/ipv4/netfilter.c linux-3.13.10-vs2.3.6.11/net/ipv4/netfilter.c
---- linux-3.13.10/net/ipv4/netfilter.c 2013-07-14 17:01:37.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/netfilter.c      2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/netfilter.c linux-3.18.5-vs2.3.7.3/net/ipv4/netfilter.c
+--- linux-3.18.5/net/ipv4/netfilter.c  2014-06-12 13:02:57.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/netfilter.c        2015-01-19 10:58:31.000000000 +0000
 @@ -11,7 +11,7 @@
  #include <linux/skbuff.h>
  #include <linux/gfp.h>
 @@ -11,7 +11,7 @@
  #include <linux/skbuff.h>
  #include <linux/gfp.h>
@@ -23900,10 +23909,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/netfilter.c linux-3.13.10-vs2.3.6.1
  #include <net/xfrm.h>
  #include <net/ip.h>
  #include <net/netfilter/nf_queue.h>
  #include <net/xfrm.h>
  #include <net/ip.h>
  #include <net/netfilter/nf_queue.h>
-diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/ipv4/raw.c
---- linux-3.13.10/net/ipv4/raw.c       2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/raw.c    2014-01-31 20:38:04.000000000 +0000
-@@ -116,7 +116,7 @@ static struct sock *__raw_v4_lookup(stru
+diff -NurpP --minimal linux-3.18.5/net/ipv4/raw.c linux-3.18.5-vs2.3.7.3/net/ipv4/raw.c
+--- linux-3.18.5/net/ipv4/raw.c        2015-01-16 22:19:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/raw.c      2015-01-19 10:58:31.000000000 +0000
+@@ -117,7 +117,7 @@ static struct sock *__raw_v4_lookup(stru
  
                if (net_eq(sock_net(sk), net) && inet->inet_num == num  &&
                    !(inet->inet_daddr && inet->inet_daddr != raddr)    &&
  
                if (net_eq(sock_net(sk), net) && inet->inet_num == num  &&
                    !(inet->inet_daddr && inet->inet_daddr != raddr)    &&
@@ -23912,7 +23921,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
                    !(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
                        goto found; /* gotcha */
        }
                    !(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
                        goto found; /* gotcha */
        }
-@@ -397,6 +397,12 @@ static int raw_send_hdrinc(struct sock *
+@@ -402,6 +402,12 @@ static int raw_send_hdrinc(struct sock *
                icmp_out_count(net, ((struct icmphdr *)
                        skb_transport_header(skb))->type);
  
                icmp_out_count(net, ((struct icmphdr *)
                        skb_transport_header(skb))->type);
  
@@ -23925,7 +23934,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
        err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL,
                      rt->dst.dev, dst_output);
        if (err > 0)
        err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL,
                      rt->dst.dev, dst_output);
        if (err > 0)
-@@ -585,6 +591,16 @@ static int raw_sendmsg(struct kiocb *ioc
+@@ -590,6 +596,16 @@ static int raw_sendmsg(struct kiocb *ioc
                        goto done;
        }
  
                        goto done;
        }
  
@@ -23942,7 +23951,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
        security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
        rt = ip_route_output_flow(sock_net(sk), &fl4, sk);
        if (IS_ERR(rt)) {
        security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
        rt = ip_route_output_flow(sock_net(sk), &fl4, sk);
        if (IS_ERR(rt)) {
-@@ -661,17 +677,19 @@ static int raw_bind(struct sock *sk, str
+@@ -668,17 +684,19 @@ static int raw_bind(struct sock *sk, str
  {
        struct inet_sock *inet = inet_sk(sk);
        struct sockaddr_in *addr = (struct sockaddr_in *) uaddr;
  {
        struct inet_sock *inet = inet_sk(sk);
        struct sockaddr_in *addr = (struct sockaddr_in *) uaddr;
@@ -23965,7 +23974,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
        if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
                inet->inet_saddr = 0;  /* Use device */
        sk_dst_reset(sk);
        if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
                inet->inet_saddr = 0;  /* Use device */
        sk_dst_reset(sk);
-@@ -720,7 +738,8 @@ static int raw_recvmsg(struct kiocb *ioc
+@@ -727,7 +745,8 @@ static int raw_recvmsg(struct kiocb *ioc
        /* Copy the address. */
        if (sin) {
                sin->sin_family = AF_INET;
        /* Copy the address. */
        if (sin) {
                sin->sin_family = AF_INET;
@@ -23975,7 +23984,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
                sin->sin_port = 0;
                memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
                *addr_len = sizeof(*sin);
                sin->sin_port = 0;
                memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
                *addr_len = sizeof(*sin);
-@@ -916,7 +935,8 @@ static struct sock *raw_get_first(struct
+@@ -923,7 +942,8 @@ static struct sock *raw_get_first(struct
        for (state->bucket = 0; state->bucket < RAW_HTABLE_SIZE;
                        ++state->bucket) {
                sk_for_each(sk, &state->h->ht[state->bucket])
        for (state->bucket = 0; state->bucket < RAW_HTABLE_SIZE;
                        ++state->bucket) {
                sk_for_each(sk, &state->h->ht[state->bucket])
@@ -23985,7 +23994,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
                                goto found;
        }
        sk = NULL;
                                goto found;
        }
        sk = NULL;
-@@ -932,7 +952,8 @@ static struct sock *raw_get_next(struct
+@@ -939,7 +959,8 @@ static struct sock *raw_get_next(struct
                sk = sk_next(sk);
  try_again:
                ;
                sk = sk_next(sk);
  try_again:
                ;
@@ -23995,10 +24004,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/raw.c linux-3.13.10-vs2.3.6.11/net/
  
        if (!sk && ++state->bucket < RAW_HTABLE_SIZE) {
                sk = sk_head(&state->h->ht[state->bucket]);
  
        if (!sk && ++state->bucket < RAW_HTABLE_SIZE) {
                sk = sk_head(&state->h->ht[state->bucket]);
-diff -NurpP --minimal linux-3.13.10/net/ipv4/route.c linux-3.13.10-vs2.3.6.11/net/ipv4/route.c
---- linux-3.13.10/net/ipv4/route.c     2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/route.c  2014-03-12 15:51:08.000000000 +0000
-@@ -2063,7 +2063,7 @@ struct rtable *__ip_route_output_key(str
+diff -NurpP --minimal linux-3.18.5/net/ipv4/route.c linux-3.18.5-vs2.3.7.3/net/ipv4/route.c
+--- linux-3.18.5/net/ipv4/route.c      2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/route.c    2015-01-19 10:58:31.000000000 +0000
+@@ -2071,7 +2071,7 @@ struct rtable *__ip_route_output_key(str
  
  
        if (fl4->flowi4_oif) {
  
  
        if (fl4->flowi4_oif) {
@@ -24007,9 +24016,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/route.c linux-3.13.10-vs2.3.6.11/ne
                rth = ERR_PTR(-ENODEV);
                if (dev_out == NULL)
                        goto out;
                rth = ERR_PTR(-ENODEV);
                if (dev_out == NULL)
                        goto out;
-diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp.c linux-3.13.10-vs2.3.6.11/net/ipv4/tcp.c
---- linux-3.13.10/net/ipv4/tcp.c       2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/tcp.c    2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/tcp.c linux-3.18.5-vs2.3.7.3/net/ipv4/tcp.c
+--- linux-3.18.5/net/ipv4/tcp.c        2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/tcp.c      2015-01-19 10:58:31.000000000 +0000
 @@ -268,6 +268,7 @@
  #include <linux/crypto.h>
  #include <linux/time.h>
 @@ -268,6 +268,7 @@
  #include <linux/crypto.h>
  #include <linux/time.h>
@@ -24018,10 +24027,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp.c linux-3.13.10-vs2.3.6.11/net/
  
  #include <net/icmp.h>
  #include <net/inet_common.h>
  
  #include <net/icmp.h>
  #include <net/inet_common.h>
-diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11/net/ipv4/tcp_ipv4.c
---- linux-3.13.10/net/ipv4/tcp_ipv4.c  2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/tcp_ipv4.c       2014-04-17 01:17:11.000000000 +0000
-@@ -2227,6 +2227,12 @@ static void *listening_get_next(struct s
+diff -NurpP --minimal linux-3.18.5/net/ipv4/tcp_ipv4.c linux-3.18.5-vs2.3.7.3/net/ipv4/tcp_ipv4.c
+--- linux-3.18.5/net/ipv4/tcp_ipv4.c   2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/tcp_ipv4.c 2015-01-19 10:58:31.000000000 +0000
+@@ -1885,6 +1885,12 @@ static void *listening_get_next(struct s
                req = req->dl_next;
                while (1) {
                        while (req) {
                req = req->dl_next;
                while (1) {
                        while (req) {
@@ -24034,7 +24043,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
                                if (req->rsk_ops->family == st->family) {
                                        cur = req;
                                        goto out;
                                if (req->rsk_ops->family == st->family) {
                                        cur = req;
                                        goto out;
-@@ -2251,6 +2257,10 @@ get_req:
+@@ -1909,6 +1915,10 @@ get_req:
        }
  get_sk:
        sk_nulls_for_each_from(sk, node) {
        }
  get_sk:
        sk_nulls_for_each_from(sk, node) {
@@ -24045,7 +24054,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
                if (!net_eq(sock_net(sk), net))
                        continue;
                if (sk->sk_family == st->family) {
                if (!net_eq(sock_net(sk), net))
                        continue;
                if (sk->sk_family == st->family) {
-@@ -2325,6 +2335,11 @@ static void *established_get_first(struc
+@@ -1983,6 +1993,11 @@ static void *established_get_first(struc
  
                spin_lock_bh(lock);
                sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) {
  
                spin_lock_bh(lock);
                sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) {
@@ -24057,7 +24066,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
                        if (sk->sk_family != st->family ||
                            !net_eq(sock_net(sk), net)) {
                                continue;
                        if (sk->sk_family != st->family ||
                            !net_eq(sock_net(sk), net)) {
                                continue;
-@@ -2351,6 +2366,11 @@ static void *established_get_next(struct
+@@ -2009,6 +2024,11 @@ static void *established_get_next(struct
        sk = sk_nulls_next(sk);
  
        sk_nulls_for_each_from(sk, node) {
        sk = sk_nulls_next(sk);
  
        sk_nulls_for_each_from(sk, node) {
@@ -24069,7 +24078,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
                if (sk->sk_family == st->family && net_eq(sock_net(sk), net))
                        return sk;
        }
                if (sk->sk_family == st->family && net_eq(sock_net(sk), net))
                        return sk;
        }
-@@ -2549,9 +2569,9 @@ static void get_openreq4(const struct so
+@@ -2207,9 +2227,9 @@ static void get_openreq4(const struct so
        seq_printf(f, "%4d: %08X:%04X %08X:%04X"
                " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
                i,
        seq_printf(f, "%4d: %08X:%04X %08X:%04X"
                " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
                i,
@@ -24081,7 +24090,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
                ntohs(ireq->ir_rmt_port),
                TCP_SYN_RECV,
                0, 0, /* could print option size, but that is af dependent. */
                ntohs(ireq->ir_rmt_port),
                TCP_SYN_RECV,
                0, 0, /* could print option size, but that is af dependent. */
-@@ -2573,8 +2593,8 @@ static void get_tcp4_sock(struct sock *s
+@@ -2231,8 +2251,8 @@ static void get_tcp4_sock(struct sock *s
        const struct inet_connection_sock *icsk = inet_csk(sk);
        const struct inet_sock *inet = inet_sk(sk);
        struct fastopen_queue *fastopenq = icsk->icsk_accept_queue.fastopenq;
        const struct inet_connection_sock *icsk = inet_csk(sk);
        const struct inet_sock *inet = inet_sk(sk);
        struct fastopen_queue *fastopenq = icsk->icsk_accept_queue.fastopenq;
@@ -24092,7 +24101,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
        __u16 destp = ntohs(inet->inet_dport);
        __u16 srcp = ntohs(inet->inet_sport);
        int rx_queue;
        __u16 destp = ntohs(inet->inet_dport);
        __u16 srcp = ntohs(inet->inet_sport);
        int rx_queue;
-@@ -2631,8 +2651,8 @@ static void get_timewait4_sock(const str
+@@ -2289,8 +2309,8 @@ static void get_timewait4_sock(const str
        __u16 destp, srcp;
        s32 delta = tw->tw_ttd - inet_tw_time_stamp();
  
        __u16 destp, srcp;
        s32 delta = tw->tw_ttd - inet_tw_time_stamp();
  
@@ -24103,9 +24112,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_ipv4.c linux-3.13.10-vs2.3.6.11
        destp = ntohs(tw->tw_dport);
        srcp  = ntohs(tw->tw_sport);
  
        destp = ntohs(tw->tw_dport);
        srcp  = ntohs(tw->tw_sport);
  
-diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_minisocks.c linux-3.13.10-vs2.3.6.11/net/ipv4/tcp_minisocks.c
---- linux-3.13.10/net/ipv4/tcp_minisocks.c     2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/tcp_minisocks.c  2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv4/tcp_minisocks.c linux-3.18.5-vs2.3.7.3/net/ipv4/tcp_minisocks.c
+--- linux-3.18.5/net/ipv4/tcp_minisocks.c      2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/tcp_minisocks.c    2015-01-19 10:58:31.000000000 +0000
 @@ -23,6 +23,9 @@
  #include <linux/slab.h>
  #include <linux/sysctl.h>
 @@ -23,6 +23,9 @@
  #include <linux/slab.h>
  #include <linux/sysctl.h>
@@ -24128,10 +24137,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/tcp_minisocks.c linux-3.13.10-vs2.3
  #if IS_ENABLED(CONFIG_IPV6)
                if (tw->tw_family == PF_INET6) {
                        struct ipv6_pinfo *np = inet6_sk(sk);
  #if IS_ENABLED(CONFIG_IPV6)
                if (tw->tw_family == PF_INET6) {
                        struct ipv6_pinfo *np = inet6_sk(sk);
-diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/ipv4/udp.c
---- linux-3.13.10/net/ipv4/udp.c       2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv4/udp.c    2014-01-31 22:20:27.000000000 +0000
-@@ -308,14 +308,7 @@ fail:
+diff -NurpP --minimal linux-3.18.5/net/ipv4/udp.c linux-3.18.5-vs2.3.7.3/net/ipv4/udp.c
+--- linux-3.18.5/net/ipv4/udp.c        2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv4/udp.c      2015-01-19 10:58:31.000000000 +0000
+@@ -309,14 +309,7 @@ fail:
  }
  EXPORT_SYMBOL(udp_lib_get_port);
  
  }
  EXPORT_SYMBOL(udp_lib_get_port);
  
@@ -24147,7 +24156,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
  
  static unsigned int udp4_portaddr_hash(struct net *net, __be32 saddr,
                                       unsigned int port)
  
  static unsigned int udp4_portaddr_hash(struct net *net, __be32 saddr,
                                       unsigned int port)
-@@ -350,6 +343,11 @@ static inline int compute_score(struct s
+@@ -351,6 +344,11 @@ static inline int compute_score(struct s
                        if (inet->inet_rcv_saddr != daddr)
                                return -1;
                        score += 4;
                        if (inet->inet_rcv_saddr != daddr)
                                return -1;
                        score += 4;
@@ -24159,7 +24168,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
                }
                if (inet->inet_daddr) {
                        if (inet->inet_daddr != saddr)
                }
                if (inet->inet_daddr) {
                        if (inet->inet_daddr != saddr)
-@@ -472,6 +470,7 @@ begin:
+@@ -473,6 +471,7 @@ begin:
        return result;
  }
  
        return result;
  }
  
@@ -24167,7 +24176,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
  /* UDP is nearly always wildcards out the wazoo, it makes no sense to try
   * harder than this. -DaveM
   */
  /* UDP is nearly always wildcards out the wazoo, it makes no sense to try
   * harder than this. -DaveM
   */
-@@ -518,6 +517,11 @@ begin:
+@@ -519,6 +518,11 @@ begin:
        sk_nulls_for_each_rcu(sk, node, &hslot->head) {
                score = compute_score(sk, net, saddr, hnum, sport,
                                      daddr, dport, dif);
        sk_nulls_for_each_rcu(sk, node, &hslot->head) {
                score = compute_score(sk, net, saddr, hnum, sport,
                                      daddr, dport, dif);
@@ -24179,7 +24188,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
                if (score > badness) {
                        result = sk;
                        badness = score;
                if (score > badness) {
                        result = sk;
                        badness = score;
-@@ -542,6 +546,7 @@ begin:
+@@ -543,6 +547,7 @@ begin:
        if (get_nulls_value(node) != slot)
                goto begin;
  
        if (get_nulls_value(node) != slot)
                goto begin;
  
@@ -24187,7 +24196,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
        if (result) {
                if (unlikely(!atomic_inc_not_zero_hint(&result->sk_refcnt, 2)))
                        result = NULL;
        if (result) {
                if (unlikely(!atomic_inc_not_zero_hint(&result->sk_refcnt, 2)))
                        result = NULL;
-@@ -551,6 +556,7 @@ begin:
+@@ -552,6 +557,7 @@ begin:
                        goto begin;
                }
        }
                        goto begin;
                }
        }
@@ -24195,7 +24204,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
        rcu_read_unlock();
        return result;
  }
        rcu_read_unlock();
        return result;
  }
-@@ -585,7 +591,7 @@ static inline bool __udp_is_mcast_sock(s
+@@ -586,7 +592,7 @@ static inline bool __udp_is_mcast_sock(s
            udp_sk(sk)->udp_port_hash != hnum ||
            (inet->inet_daddr && inet->inet_daddr != rmt_addr) ||
            (inet->inet_dport != rmt_port && inet->inet_dport) ||
            udp_sk(sk)->udp_port_hash != hnum ||
            (inet->inet_daddr && inet->inet_daddr != rmt_addr) ||
            (inet->inet_dport != rmt_port && inet->inet_dport) ||
@@ -24204,8 +24213,8 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
            ipv6_only_sock(sk) ||
            (sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
                return false;
            ipv6_only_sock(sk) ||
            (sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif))
                return false;
-@@ -989,6 +995,16 @@ int udp_sendmsg(struct kiocb *iocb, stru
-                                  inet_sk_flowi_flags(sk)|FLOWI_FLAG_CAN_SLEEP,
+@@ -1008,6 +1014,16 @@ int udp_sendmsg(struct kiocb *iocb, stru
+                                  inet_sk_flowi_flags(sk),
                                   faddr, saddr, dport, inet->inet_sport);
  
 +              if (sk->sk_nx_info) {
                                   faddr, saddr, dport, inet->inet_sport);
  
 +              if (sk->sk_nx_info) {
@@ -24221,7 +24230,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
                security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
                rt = ip_route_output_flow(net, fl4, sk);
                if (IS_ERR(rt)) {
                security_sk_classify_flow(sk, flowi4_to_flowi(fl4));
                rt = ip_route_output_flow(net, fl4, sk);
                if (IS_ERR(rt)) {
-@@ -1293,7 +1309,8 @@ try_again:
+@@ -1312,7 +1328,8 @@ try_again:
        if (sin) {
                sin->sin_family = AF_INET;
                sin->sin_port = udp_hdr(skb)->source;
        if (sin) {
                sin->sin_family = AF_INET;
                sin->sin_port = udp_hdr(skb)->source;
@@ -24231,7 +24240,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
                memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
                *addr_len = sizeof(*sin);
        }
                memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
                *addr_len = sizeof(*sin);
        }
-@@ -2223,6 +2240,8 @@ static struct sock *udp_get_first(struct
+@@ -2271,6 +2288,8 @@ static struct sock *udp_get_first(struct
                sk_nulls_for_each(sk, node, &hslot->head) {
                        if (!net_eq(sock_net(sk), net))
                                continue;
                sk_nulls_for_each(sk, node, &hslot->head) {
                        if (!net_eq(sock_net(sk), net))
                                continue;
@@ -24240,7 +24249,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
                        if (sk->sk_family == state->family)
                                goto found;
                }
                        if (sk->sk_family == state->family)
                                goto found;
                }
-@@ -2240,7 +2259,9 @@ static struct sock *udp_get_next(struct
+@@ -2288,7 +2307,9 @@ static struct sock *udp_get_next(struct
  
        do {
                sk = sk_nulls_next(sk);
  
        do {
                sk = sk_nulls_next(sk);
@@ -24251,7 +24260,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
  
        if (!sk) {
                if (state->bucket <= state->udp_table->mask)
  
        if (!sk) {
                if (state->bucket <= state->udp_table->mask)
-@@ -2336,8 +2357,8 @@ static void udp4_format_sock(struct sock
+@@ -2384,8 +2405,8 @@ static void udp4_format_sock(struct sock
                int bucket)
  {
        struct inet_sock *inet = inet_sk(sp);
                int bucket)
  {
        struct inet_sock *inet = inet_sk(sp);
@@ -24262,9 +24271,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv4/udp.c linux-3.13.10-vs2.3.6.11/net/
        __u16 destp       = ntohs(inet->inet_dport);
        __u16 srcp        = ntohs(inet->inet_sport);
  
        __u16 destp       = ntohs(inet->inet_dport);
        __u16 srcp        = ntohs(inet->inet_sport);
  
-diff -NurpP --minimal linux-3.13.10/net/ipv6/Kconfig linux-3.13.10-vs2.3.6.11/net/ipv6/Kconfig
---- linux-3.13.10/net/ipv6/Kconfig     2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/Kconfig  2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/Kconfig linux-3.18.5-vs2.3.7.3/net/ipv6/Kconfig
+--- linux-3.18.5/net/ipv6/Kconfig      2014-06-12 11:35:11.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/Kconfig    2015-01-19 10:58:31.000000000 +0000
 @@ -4,8 +4,8 @@
  
  #   IPv6 as module will cause a CRASH if you try to unload it
 @@ -4,8 +4,8 @@
  
  #   IPv6 as module will cause a CRASH if you try to unload it
@@ -24276,9 +24285,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/Kconfig linux-3.13.10-vs2.3.6.11/ne
        ---help---
          This is complemental support for the IP version 6.
          You will still be able to do traditional IPv4 networking as well.
        ---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.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11/net/ipv6/addrconf.c
---- linux-3.13.10/net/ipv6/addrconf.c  2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/addrconf.c       2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/addrconf.c linux-3.18.5-vs2.3.7.3/net/ipv6/addrconf.c
+--- linux-3.18.5/net/ipv6/addrconf.c   2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/addrconf.c 2015-01-19 10:58:31.000000000 +0000
 @@ -90,6 +90,8 @@
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
 @@ -90,6 +90,8 @@
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
@@ -24288,7 +24297,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
  
  /* Set to 3 to get tracing... */
  #define ACONF_DEBUG 2
  
  /* Set to 3 to get tracing... */
  #define ACONF_DEBUG 2
-@@ -1284,7 +1286,7 @@ out:
+@@ -1319,7 +1321,7 @@ out:
  
  int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev,
                       const struct in6_addr *daddr, unsigned int prefs,
  
  int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev,
                       const struct in6_addr *daddr, unsigned int prefs,
@@ -24297,7 +24306,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
  {
        struct ipv6_saddr_score scores[2],
                                *score = &scores[0], *hiscore = &scores[1];
  {
        struct ipv6_saddr_score scores[2],
                                *score = &scores[0], *hiscore = &scores[1];
-@@ -1356,6 +1358,8 @@ int ipv6_dev_get_saddr(struct net *net,
+@@ -1391,6 +1393,8 @@ int ipv6_dev_get_saddr(struct net *net,
                                               dev->name);
                                continue;
                        }
                                               dev->name);
                                continue;
                        }
@@ -24306,7 +24315,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
  
                        score->rule = -1;
                        bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX);
  
                        score->rule = -1;
                        bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX);
-@@ -3371,7 +3375,10 @@ static void if6_seq_stop(struct seq_file
+@@ -3503,7 +3507,10 @@ static void if6_seq_stop(struct seq_file
  static int if6_seq_show(struct seq_file *seq, void *v)
  {
        struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v;
  static int if6_seq_show(struct seq_file *seq, void *v)
  {
        struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v;
@@ -24318,7 +24327,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
                   &ifp->addr,
                   ifp->idev->dev->ifindex,
                   ifp->prefix_len,
                   &ifp->addr,
                   ifp->idev->dev->ifindex,
                   ifp->prefix_len,
-@@ -3892,6 +3899,11 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4084,6 +4091,11 @@ static int in6_dump_addrs(struct inet6_d
        struct ifacaddr6 *ifaca;
        int err = 1;
        int ip_idx = *p_ip_idx;
        struct ifacaddr6 *ifaca;
        int err = 1;
        int ip_idx = *p_ip_idx;
@@ -24330,7 +24339,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
  
        read_lock_bh(&idev->lock);
        switch (type) {
  
        read_lock_bh(&idev->lock);
        switch (type) {
-@@ -3902,6 +3914,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4094,6 +4106,8 @@ static int in6_dump_addrs(struct inet6_d
                list_for_each_entry(ifa, &idev->addr_list, if_list) {
                        if (++ip_idx < s_ip_idx)
                                continue;
                list_for_each_entry(ifa, &idev->addr_list, if_list) {
                        if (++ip_idx < s_ip_idx)
                                continue;
@@ -24339,7 +24348,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
                        err = inet6_fill_ifaddr(skb, ifa,
                                                NETLINK_CB(cb->skb).portid,
                                                cb->nlh->nlmsg_seq,
                        err = inet6_fill_ifaddr(skb, ifa,
                                                NETLINK_CB(cb->skb).portid,
                                                cb->nlh->nlmsg_seq,
-@@ -3919,6 +3933,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4111,6 +4125,8 @@ static int in6_dump_addrs(struct inet6_d
                     ifmca = ifmca->next, ip_idx++) {
                        if (ip_idx < s_ip_idx)
                                continue;
                     ifmca = ifmca->next, ip_idx++) {
                        if (ip_idx < s_ip_idx)
                                continue;
@@ -24348,7 +24357,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
                        err = inet6_fill_ifmcaddr(skb, ifmca,
                                                  NETLINK_CB(cb->skb).portid,
                                                  cb->nlh->nlmsg_seq,
                        err = inet6_fill_ifmcaddr(skb, ifmca,
                                                  NETLINK_CB(cb->skb).portid,
                                                  cb->nlh->nlmsg_seq,
-@@ -3934,6 +3950,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4126,6 +4142,8 @@ static int in6_dump_addrs(struct inet6_d
                     ifaca = ifaca->aca_next, ip_idx++) {
                        if (ip_idx < s_ip_idx)
                                continue;
                     ifaca = ifaca->aca_next, ip_idx++) {
                        if (ip_idx < s_ip_idx)
                                continue;
@@ -24357,7 +24366,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
                        err = inet6_fill_ifacaddr(skb, ifaca,
                                                  NETLINK_CB(cb->skb).portid,
                                                  cb->nlh->nlmsg_seq,
                        err = inet6_fill_ifacaddr(skb, ifaca,
                                                  NETLINK_CB(cb->skb).portid,
                                                  cb->nlh->nlmsg_seq,
-@@ -3962,6 +3980,10 @@ static int inet6_dump_addr(struct sk_buf
+@@ -4154,6 +4172,10 @@ static int inet6_dump_addr(struct sk_buf
        struct inet6_dev *idev;
        struct hlist_head *head;
  
        struct inet6_dev *idev;
        struct hlist_head *head;
  
@@ -24368,7 +24377,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
        s_h = cb->args[0];
        s_idx = idx = cb->args[1];
        s_ip_idx = ip_idx = cb->args[2];
        s_h = cb->args[0];
        s_idx = idx = cb->args[1];
        s_ip_idx = ip_idx = cb->args[2];
-@@ -4404,6 +4426,7 @@ static int inet6_dump_ifinfo(struct sk_b
+@@ -4617,6 +4639,7 @@ static int inet6_dump_ifinfo(struct sk_b
        struct net_device *dev;
        struct inet6_dev *idev;
        struct hlist_head *head;
        struct net_device *dev;
        struct inet6_dev *idev;
        struct hlist_head *head;
@@ -24376,7 +24385,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
  
        s_h = cb->args[0];
        s_idx = cb->args[1];
  
        s_h = cb->args[0];
        s_idx = cb->args[1];
-@@ -4415,6 +4438,8 @@ static int inet6_dump_ifinfo(struct sk_b
+@@ -4628,6 +4651,8 @@ static int inet6_dump_ifinfo(struct sk_b
                hlist_for_each_entry_rcu(dev, head, index_hlist) {
                        if (idx < s_idx)
                                goto cont;
                hlist_for_each_entry_rcu(dev, head, index_hlist) {
                        if (idx < s_idx)
                                goto cont;
@@ -24385,9 +24394,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/addrconf.c linux-3.13.10-vs2.3.6.11
                        idev = __in6_dev_get(dev);
                        if (!idev)
                                goto cont;
                        idev = __in6_dev_get(dev);
                        if (!idev)
                                goto cont;
-diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11/net/ipv6/af_inet6.c
---- linux-3.13.10/net/ipv6/af_inet6.c  2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/af_inet6.c       2014-01-31 21:39:03.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/af_inet6.c linux-3.18.5-vs2.3.7.3/net/ipv6/af_inet6.c
+--- linux-3.18.5/net/ipv6/af_inet6.c   2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/af_inet6.c 2015-01-19 10:58:31.000000000 +0000
 @@ -43,6 +43,8 @@
  #include <linux/netdevice.h>
  #include <linux/icmpv6.h>
 @@ -43,6 +43,8 @@
  #include <linux/netdevice.h>
  #include <linux/icmpv6.h>
@@ -24397,7 +24406,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
  
  #include <net/ip.h>
  #include <net/ipv6.h>
  
  #include <net/ip.h>
  #include <net/ipv6.h>
-@@ -156,10 +158,13 @@ lookup_protocol:
+@@ -155,10 +157,13 @@ lookup_protocol:
        }
  
        err = -EPERM;
        }
  
        err = -EPERM;
@@ -24411,8 +24420,8 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
 +override:
        sock->ops = answer->ops;
        answer_prot = answer->prot;
 +override:
        sock->ops = answer->ops;
        answer_prot = answer->prot;
-       answer_no_check = answer->no_check;
-@@ -259,6 +264,7 @@ int inet6_bind(struct socket *sock, stru
+       answer_flags = answer->flags;
+@@ -256,6 +261,7 @@ int inet6_bind(struct socket *sock, stru
        struct inet_sock *inet = inet_sk(sk);
        struct ipv6_pinfo *np = inet6_sk(sk);
        struct net *net = sock_net(sk);
        struct inet_sock *inet = inet_sk(sk);
        struct ipv6_pinfo *np = inet6_sk(sk);
        struct net *net = sock_net(sk);
@@ -24420,7 +24429,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
        __be32 v4addr = 0;
        unsigned short snum;
        int addr_type = 0;
        __be32 v4addr = 0;
        unsigned short snum;
        int addr_type = 0;
-@@ -274,6 +280,10 @@ int inet6_bind(struct socket *sock, stru
+@@ -271,6 +277,10 @@ int inet6_bind(struct socket *sock, stru
        if (addr->sin6_family != AF_INET6)
                return -EAFNOSUPPORT;
  
        if (addr->sin6_family != AF_INET6)
                return -EAFNOSUPPORT;
  
@@ -24431,15 +24440,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
        addr_type = ipv6_addr_type(&addr->sin6_addr);
        if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM)
                return -EINVAL;
        addr_type = ipv6_addr_type(&addr->sin6_addr);
        if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM)
                return -EINVAL;
-@@ -305,6 +315,7 @@ int inet6_bind(struct socket *sock, stru
-               /* Reproduce AF_INET checks to make the bindings consistent */
-               v4addr = addr->sin6_addr.s6_addr32[3];
-               chk_addr_ret = inet_addr_type(net, v4addr);
-+
-               if (!sysctl_ip_nonlocal_bind &&
-                   !(inet->freebind || inet->transparent) &&
-                   v4addr != htonl(INADDR_ANY) &&
-@@ -314,6 +325,10 @@ int inet6_bind(struct socket *sock, stru
+@@ -311,6 +321,10 @@ int inet6_bind(struct socket *sock, stru
                        err = -EADDRNOTAVAIL;
                        goto out;
                }
                        err = -EADDRNOTAVAIL;
                        goto out;
                }
@@ -24450,7 +24451,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
        } else {
                if (addr_type != IPV6_ADDR_ANY) {
                        struct net_device *dev = NULL;
        } else {
                if (addr_type != IPV6_ADDR_ANY) {
                        struct net_device *dev = NULL;
-@@ -340,6 +355,11 @@ int inet6_bind(struct socket *sock, stru
+@@ -337,6 +351,11 @@ int inet6_bind(struct socket *sock, stru
                                }
                        }
  
                                }
                        }
  
@@ -24462,7 +24463,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
                        /* ipv4 addr of the socket is invalid.  Only the
                         * unspecified and mapped address have a v4 equivalent.
                         */
                        /* ipv4 addr of the socket is invalid.  Only the
                         * unspecified and mapped address have a v4 equivalent.
                         */
-@@ -356,6 +376,9 @@ int inet6_bind(struct socket *sock, stru
+@@ -353,6 +372,9 @@ int inet6_bind(struct socket *sock, stru
                }
        }
  
                }
        }
  
@@ -24472,7 +24473,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
        inet->inet_rcv_saddr = v4addr;
        inet->inet_saddr = v4addr;
  
        inet->inet_rcv_saddr = v4addr;
        inet->inet_saddr = v4addr;
  
-@@ -457,9 +480,11 @@ int inet6_getname(struct socket *sock, s
+@@ -454,9 +476,11 @@ int inet6_getname(struct socket *sock, s
                        return -ENOTCONN;
                sin->sin6_port = inet->inet_dport;
                sin->sin6_addr = sk->sk_v6_daddr;
                        return -ENOTCONN;
                sin->sin6_port = inet->inet_dport;
                sin->sin6_addr = sk->sk_v6_daddr;
@@ -24484,10 +24485,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/af_inet6.c linux-3.13.10-vs2.3.6.11
                if (ipv6_addr_any(&sk->sk_v6_rcv_saddr))
                        sin->sin6_addr = np->saddr;
                else
                if (ipv6_addr_any(&sk->sk_v6_rcv_saddr))
                        sin->sin6_addr = np->saddr;
                else
-diff -NurpP --minimal linux-3.13.10/net/ipv6/datagram.c linux-3.13.10-vs2.3.6.11/net/ipv6/datagram.c
---- linux-3.13.10/net/ipv6/datagram.c  2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/datagram.c       2014-01-31 20:38:04.000000000 +0000
-@@ -655,7 +655,7 @@ int ip6_datagram_send_ctl(struct net *ne
+diff -NurpP --minimal linux-3.18.5/net/ipv6/datagram.c linux-3.18.5-vs2.3.7.3/net/ipv6/datagram.c
+--- linux-3.18.5/net/ipv6/datagram.c   2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/datagram.c 2015-01-19 10:58:31.000000000 +0000
+@@ -675,7 +675,7 @@ int ip6_datagram_send_ctl(struct net *ne
  
                        rcu_read_lock();
                        if (fl6->flowi6_oif) {
  
                        rcu_read_lock();
                        if (fl6->flowi6_oif) {
@@ -24496,9 +24497,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/datagram.c linux-3.13.10-vs2.3.6.11
                                if (!dev) {
                                        rcu_read_unlock();
                                        return -ENODEV;
                                if (!dev) {
                                        rcu_read_unlock();
                                        return -ENODEV;
-diff -NurpP --minimal linux-3.13.10/net/ipv6/fib6_rules.c linux-3.13.10-vs2.3.6.11/net/ipv6/fib6_rules.c
---- linux-3.13.10/net/ipv6/fib6_rules.c        2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/fib6_rules.c     2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/fib6_rules.c linux-3.18.5-vs2.3.7.3/net/ipv6/fib6_rules.c
+--- linux-3.18.5/net/ipv6/fib6_rules.c 2014-06-12 11:35:11.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/fib6_rules.c       2015-01-19 10:58:31.000000000 +0000
 @@ -97,7 +97,7 @@ static int fib6_rule_action(struct fib_r
                                               ip6_dst_idev(&rt->dst)->dev,
                                               &flp6->daddr,
 @@ -97,7 +97,7 @@ static int fib6_rule_action(struct fib_r
                                               ip6_dst_idev(&rt->dst)->dev,
                                               &flp6->daddr,
@@ -24508,9 +24509,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/fib6_rules.c linux-3.13.10-vs2.3.6.
                                goto again;
                        if (!ipv6_prefix_equal(&saddr, &r->src.addr,
                                               r->src.plen))
                                goto again;
                        if (!ipv6_prefix_equal(&saddr, &r->src.addr,
                                               r->src.plen))
-diff -NurpP --minimal linux-3.13.10/net/ipv6/inet6_hashtables.c linux-3.13.10-vs2.3.6.11/net/ipv6/inet6_hashtables.c
---- linux-3.13.10/net/ipv6/inet6_hashtables.c  2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/inet6_hashtables.c       2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/inet6_hashtables.c linux-3.18.5-vs2.3.7.3/net/ipv6/inet6_hashtables.c
+--- linux-3.18.5/net/ipv6/inet6_hashtables.c   2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/inet6_hashtables.c 2015-01-19 10:58:31.000000000 +0000
 @@ -16,6 +16,7 @@
  
  #include <linux/module.h>
 @@ -16,6 +16,7 @@
  
  #include <linux/module.h>
@@ -24537,10 +24538,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/inet6_hashtables.c linux-3.13.10-vs
                }
                if (sk->sk_bound_dev_if) {
                        if (sk->sk_bound_dev_if != dif)
                }
                if (sk->sk_bound_dev_if) {
                        if (sk->sk_bound_dev_if != dif)
-diff -NurpP --minimal linux-3.13.10/net/ipv6/ip6_fib.c linux-3.13.10-vs2.3.6.11/net/ipv6/ip6_fib.c
---- linux-3.13.10/net/ipv6/ip6_fib.c   2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/ip6_fib.c        2014-01-31 21:48:35.000000000 +0000
-@@ -1779,6 +1779,7 @@ static int ipv6_route_seq_show(struct se
+diff -NurpP --minimal linux-3.18.5/net/ipv6/ip6_fib.c linux-3.18.5-vs2.3.7.3/net/ipv6/ip6_fib.c
+--- linux-3.18.5/net/ipv6/ip6_fib.c    2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/ip6_fib.c  2015-01-19 10:58:31.000000000 +0000
+@@ -1845,6 +1845,7 @@ static int ipv6_route_seq_show(struct se
        struct rt6_info *rt = v;
        struct ipv6_route_iter *iter = seq->private;
  
        struct rt6_info *rt = v;
        struct ipv6_route_iter *iter = seq->private;
  
@@ -24548,10 +24549,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/ip6_fib.c linux-3.13.10-vs2.3.6.11/
        seq_printf(seq, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen);
  
  #ifdef CONFIG_IPV6_SUBTREES
        seq_printf(seq, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen);
  
  #ifdef CONFIG_IPV6_SUBTREES
-diff -NurpP --minimal linux-3.13.10/net/ipv6/ip6_output.c linux-3.13.10-vs2.3.6.11/net/ipv6/ip6_output.c
---- linux-3.13.10/net/ipv6/ip6_output.c        2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/ip6_output.c     2014-04-17 01:17:11.000000000 +0000
-@@ -872,7 +872,8 @@ static int ip6_dst_lookup_tail(struct so
+diff -NurpP --minimal linux-3.18.5/net/ipv6/ip6_output.c linux-3.18.5-vs2.3.7.3/net/ipv6/ip6_output.c
+--- linux-3.18.5/net/ipv6/ip6_output.c 2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/ip6_output.c       2015-01-19 10:58:31.000000000 +0000
+@@ -907,7 +907,8 @@ static int ip6_dst_lookup_tail(struct so
                struct rt6_info *rt = (struct rt6_info *) *dst;
                err = ip6_route_get_saddr(net, rt, &fl6->daddr,
                                          sk ? inet6_sk(sk)->srcprefs : 0,
                struct rt6_info *rt = (struct rt6_info *) *dst;
                err = ip6_route_get_saddr(net, rt, &fl6->daddr,
                                          sk ? inet6_sk(sk)->srcprefs : 0,
@@ -24561,10 +24562,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/ip6_output.c linux-3.13.10-vs2.3.6.
                if (err)
                        goto out_err_release;
        }
                if (err)
                        goto out_err_release;
        }
-diff -NurpP --minimal linux-3.13.10/net/ipv6/ndisc.c linux-3.13.10-vs2.3.6.11/net/ipv6/ndisc.c
---- linux-3.13.10/net/ipv6/ndisc.c     2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/ndisc.c  2014-01-31 20:38:04.000000000 +0000
-@@ -486,7 +486,7 @@ void ndisc_send_na(struct net_device *de
+diff -NurpP --minimal linux-3.18.5/net/ipv6/ndisc.c linux-3.18.5-vs2.3.7.3/net/ipv6/ndisc.c
+--- linux-3.18.5/net/ipv6/ndisc.c      2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/ndisc.c    2015-01-19 10:58:31.000000000 +0000
+@@ -487,7 +487,7 @@ void ndisc_send_na(struct net_device *de
        } else {
                if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
                                       inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs,
        } else {
                if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
                                       inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs,
@@ -24573,21 +24574,21 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/ndisc.c linux-3.13.10-vs2.3.6.11/ne
                        return;
                src_addr = &tmpaddr;
        }
                        return;
                src_addr = &tmpaddr;
        }
-diff -NurpP --minimal linux-3.13.10/net/ipv6/netfilter/ip6t_MASQUERADE.c linux-3.13.10-vs2.3.6.11/net/ipv6/netfilter/ip6t_MASQUERADE.c
---- linux-3.13.10/net/ipv6/netfilter/ip6t_MASQUERADE.c 2013-11-25 15:47:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/netfilter/ip6t_MASQUERADE.c      2014-01-31 20:38:04.000000000 +0000
-@@ -34,7 +34,7 @@ masquerade_tg6(struct sk_buff *skb, cons
+diff -NurpP --minimal linux-3.18.5/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c linux-3.18.5-vs2.3.7.3/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c
+--- linux-3.18.5/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c   2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c 2015-01-19 23:51:41.000000000 +0000
+@@ -35,7 +35,7 @@ nf_nat_masquerade_ipv6(struct sk_buff *s
                            ctinfo == IP_CT_RELATED_REPLY));
  
                            ctinfo == IP_CT_RELATED_REPLY));
  
-       if (ipv6_dev_get_saddr(dev_net(par->out), par->out,
+       if (ipv6_dev_get_saddr(dev_net(out), out,
 -                             &ipv6_hdr(skb)->daddr, 0, &src) < 0)
 +                             &ipv6_hdr(skb)->daddr, 0, &src, NULL) < 0)
                return NF_DROP;
  
 -                             &ipv6_hdr(skb)->daddr, 0, &src) < 0)
 +                             &ipv6_hdr(skb)->daddr, 0, &src, NULL) < 0)
                return NF_DROP;
  
-       nfct_nat(ct)->masq_index = par->out->ifindex;
-diff -NurpP --minimal linux-3.13.10/net/ipv6/raw.c linux-3.13.10-vs2.3.6.11/net/ipv6/raw.c
---- linux-3.13.10/net/ipv6/raw.c       2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/raw.c    2014-01-31 20:38:04.000000000 +0000
+       nfct_nat(ct)->masq_index = out->ifindex;
+diff -NurpP --minimal linux-3.18.5/net/ipv6/raw.c linux-3.18.5-vs2.3.7.3/net/ipv6/raw.c
+--- linux-3.18.5/net/ipv6/raw.c        2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/raw.c      2015-01-19 10:58:31.000000000 +0000
 @@ -30,6 +30,7 @@
  #include <linux/icmpv6.h>
  #include <linux/netfilter.h>
 @@ -30,6 +30,7 @@
  #include <linux/icmpv6.h>
  #include <linux/netfilter.h>
@@ -24596,7 +24597,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/raw.c linux-3.13.10-vs2.3.6.11/net/
  #include <linux/skbuff.h>
  #include <linux/compat.h>
  #include <asm/uaccess.h>
  #include <linux/skbuff.h>
  #include <linux/compat.h>
  #include <asm/uaccess.h>
-@@ -287,6 +288,13 @@ static int rawv6_bind(struct sock *sk, s
+@@ -291,6 +292,13 @@ static int rawv6_bind(struct sock *sk, s
                                goto out_unlock;
                }
  
                                goto out_unlock;
                }
  
@@ -24610,9 +24611,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/raw.c linux-3.13.10-vs2.3.6.11/net/
                /* ipv4 addr of the socket is invalid.  Only the
                 * unspecified and mapped address have a v4 equivalent.
                 */
                /* ipv4 addr of the socket is invalid.  Only the
                 * unspecified and mapped address have a v4 equivalent.
                 */
-diff -NurpP --minimal linux-3.13.10/net/ipv6/route.c linux-3.13.10-vs2.3.6.11/net/ipv6/route.c
---- linux-3.13.10/net/ipv6/route.c     2014-04-17 01:12:41.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/route.c  2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/route.c linux-3.18.5-vs2.3.7.3/net/ipv6/route.c
+--- linux-3.18.5/net/ipv6/route.c      2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/route.c    2015-01-19 11:21:40.000000000 +0000
 @@ -58,6 +58,7 @@
  #include <net/netevent.h>
  #include <net/netlink.h>
 @@ -58,6 +58,7 @@
  #include <net/netevent.h>
  #include <net/netlink.h>
@@ -24621,7 +24622,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/route.c linux-3.13.10-vs2.3.6.11/ne
  
  #include <asm/uaccess.h>
  
  
  #include <asm/uaccess.h>
  
-@@ -2196,15 +2197,17 @@ int ip6_route_get_saddr(struct net *net,
+@@ -2183,15 +2184,17 @@ int ip6_route_get_saddr(struct net *net,
                        struct rt6_info *rt,
                        const struct in6_addr *daddr,
                        unsigned int prefs,
                        struct rt6_info *rt,
                        const struct in6_addr *daddr,
                        unsigned int prefs,
@@ -24629,7 +24630,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/route.c linux-3.13.10-vs2.3.6.11/ne
 +                      struct in6_addr *saddr,
 +                      struct nx_info *nxi)
  {
 +                      struct in6_addr *saddr,
 +                      struct nx_info *nxi)
  {
-       struct inet6_dev *idev = ip6_dst_idev((struct dst_entry*)rt);
+       struct inet6_dev *idev = ip6_dst_idev((struct dst_entry *)rt);
        int err = 0;
 -      if (rt->rt6i_prefsrc.plen)
 +      if (rt->rt6i_prefsrc.plen && (!nxi ||
        int err = 0;
 -      if (rt->rt6i_prefsrc.plen)
 +      if (rt->rt6i_prefsrc.plen && (!nxi ||
@@ -24642,7 +24643,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/route.c linux-3.13.10-vs2.3.6.11/ne
        return err;
  }
  
        return err;
  }
  
-@@ -2624,7 +2627,8 @@ static int rt6_fill_node(struct net *net
+@@ -2632,7 +2635,8 @@ static int rt6_fill_node(struct net *net
                                goto nla_put_failure;
        } else if (dst) {
                struct in6_addr saddr_buf;
                                goto nla_put_failure;
        } else if (dst) {
                struct in6_addr saddr_buf;
@@ -24652,10 +24653,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/route.c linux-3.13.10-vs2.3.6.11/ne
                    nla_put(skb, RTA_PREFSRC, 16, &saddr_buf))
                        goto nla_put_failure;
        }
                    nla_put(skb, RTA_PREFSRC, 16, &saddr_buf))
                        goto nla_put_failure;
        }
-diff -NurpP --minimal linux-3.13.10/net/ipv6/tcp_ipv6.c linux-3.13.10-vs2.3.6.11/net/ipv6/tcp_ipv6.c
---- linux-3.13.10/net/ipv6/tcp_ipv6.c  2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/tcp_ipv6.c       2014-01-31 20:38:04.000000000 +0000
-@@ -72,6 +72,7 @@
+diff -NurpP --minimal linux-3.18.5/net/ipv6/tcp_ipv6.c linux-3.18.5-vs2.3.7.3/net/ipv6/tcp_ipv6.c
+--- linux-3.18.5/net/ipv6/tcp_ipv6.c   2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/tcp_ipv6.c 2015-01-28 11:48:02.000000000 +0000
+@@ -69,6 +69,7 @@
  
  #include <linux/crypto.h>
  #include <linux/scatterlist.h>
  
  #include <linux/crypto.h>
  #include <linux/scatterlist.h>
@@ -24669,7 +24670,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/tcp_ipv6.c linux-3.13.10-vs2.3.6.11
  
 -      if (ipv6_addr_any(&usin->sin6_addr))
 -              usin->sin6_addr.s6_addr[15] = 0x1;
  
 -      if (ipv6_addr_any(&usin->sin6_addr))
 -              usin->sin6_addr.s6_addr[15] = 0x1;
-+      if (ipv6_addr_any(&usin->sin6_addr)) {
++      if(ipv6_addr_any(&usin->sin6_addr)) {
 +              struct nx_info *nxi =  sk->sk_nx_info;
 +
 +              if (nxi && nx_info_has_v6(nxi))
 +              struct nx_info *nxi =  sk->sk_nx_info;
 +
 +              if (nxi && nx_info_has_v6(nxi))
@@ -24681,9 +24682,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/tcp_ipv6.c linux-3.13.10-vs2.3.6.11
  
        addr_type = ipv6_addr_type(&usin->sin6_addr);
  
  
        addr_type = ipv6_addr_type(&usin->sin6_addr);
  
-diff -NurpP --minimal linux-3.13.10/net/ipv6/udp.c linux-3.13.10-vs2.3.6.11/net/ipv6/udp.c
---- linux-3.13.10/net/ipv6/udp.c       2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/udp.c    2014-02-01 02:33:38.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/udp.c linux-3.18.5-vs2.3.7.3/net/ipv6/udp.c
+--- linux-3.18.5/net/ipv6/udp.c        2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/udp.c      2015-01-19 10:58:32.000000000 +0000
 @@ -47,6 +47,7 @@
  #include <net/xfrm.h>
  #include <net/inet6_hashtables.h>
 @@ -47,6 +47,7 @@
  #include <net/xfrm.h>
  #include <net/inet6_hashtables.h>
@@ -24692,83 +24693,7 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/udp.c linux-3.13.10-vs2.3.6.11/net/
  
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
  
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
-@@ -76,33 +77,61 @@ static unsigned int udp6_ehashfn(struct
-                              udp_ipv6_hash_secret + net_hash_mix(net));
- }
--int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2)
-+int ipv6_rcv_saddr_equal(const struct sock *sk1, const struct sock *sk2)
- {
-+      const struct in6_addr *sk1_rcv_saddr6 = inet6_rcv_saddr(sk1);
-       const struct in6_addr *sk2_rcv_saddr6 = inet6_rcv_saddr(sk2);
--      int sk_ipv6only = ipv6_only_sock(sk);
-+      __be32 sk1_rcv_saddr = sk1->sk_rcv_saddr;
-+      __be32 sk2_rcv_saddr = sk2->sk_rcv_saddr;
-+      int sk1_ipv6only = ipv6_only_sock(sk1);
-       int sk2_ipv6only = inet_v6_ipv6only(sk2);
--      int addr_type = ipv6_addr_type(&sk->sk_v6_rcv_saddr);
-+      int addr_type1 = ipv6_addr_type(sk1_rcv_saddr6);
-       int addr_type2 = sk2_rcv_saddr6 ? ipv6_addr_type(sk2_rcv_saddr6) : IPV6_ADDR_MAPPED;
-       /* if both are mapped, treat as IPv4 */
--      if (addr_type == IPV6_ADDR_MAPPED && addr_type2 == IPV6_ADDR_MAPPED)
--              return (!sk2_ipv6only &&
--                      (!sk->sk_rcv_saddr || !sk2->sk_rcv_saddr ||
--                        sk->sk_rcv_saddr == sk2->sk_rcv_saddr));
-+      if (addr_type1 == IPV6_ADDR_MAPPED && addr_type2 == IPV6_ADDR_MAPPED) {
-+              if (!sk2_ipv6only &&
-+                      (!sk1->sk_rcv_saddr || !sk2->sk_rcv_saddr ||
-+                        sk1->sk_rcv_saddr == sk2->sk_rcv_saddr))
-+                      goto vs_v4;
-+              else
-+                      return 0;
-+      }
-       if (addr_type2 == IPV6_ADDR_ANY &&
--          !(sk2_ipv6only && addr_type == IPV6_ADDR_MAPPED))
--              return 1;
-+          !(sk2_ipv6only && addr_type1 == IPV6_ADDR_MAPPED))
-+              goto vs;
--      if (addr_type == IPV6_ADDR_ANY &&
--          !(sk_ipv6only && addr_type2 == IPV6_ADDR_MAPPED))
--              return 1;
-+      if (addr_type1 == IPV6_ADDR_ANY &&
-+          !(sk1_ipv6only && addr_type2 == IPV6_ADDR_MAPPED))
-+              goto vs;
-       if (sk2_rcv_saddr6 &&
--          ipv6_addr_equal(&sk->sk_v6_rcv_saddr, sk2_rcv_saddr6))
--              return 1;
-+          ipv6_addr_equal(&sk1->sk_v6_rcv_saddr, sk2_rcv_saddr6))
-+              goto vs;
-       return 0;
-+
-+vs_v4:
-+      if (!sk1_rcv_saddr && !sk2_rcv_saddr)
-+              return nx_v4_addr_conflict(sk1->sk_nx_info, sk2->sk_nx_info);
-+      if (!sk2_rcv_saddr)
-+              return v4_addr_in_nx_info(sk1->sk_nx_info, sk2_rcv_saddr, -1);
-+      if (!sk1_rcv_saddr)
-+              return v4_addr_in_nx_info(sk2->sk_nx_info, sk1_rcv_saddr, -1);
-+      return 1;
-+vs:
-+      if (addr_type2 == IPV6_ADDR_ANY && addr_type1 == IPV6_ADDR_ANY)
-+              return nx_v6_addr_conflict(sk1->sk_nx_info, sk2->sk_nx_info);
-+      else if (addr_type2 == IPV6_ADDR_ANY)
-+              return v6_addr_in_nx_info(sk2->sk_nx_info, sk1_rcv_saddr6, -1);
-+      else if (addr_type1 == IPV6_ADDR_ANY) {
-+              if (addr_type2 == IPV6_ADDR_MAPPED)
-+                      return nx_v4_addr_conflict(sk1->sk_nx_info, sk2->sk_nx_info);
-+              else
-+                      return v6_addr_in_nx_info(sk1->sk_nx_info, sk2_rcv_saddr6, -1);
-+      }
-+      return 1;
- }
- static unsigned int udp6_portaddr_hash(struct net *net,
-@@ -160,6 +189,10 @@ static inline int compute_score(struct s
+@@ -159,6 +160,10 @@ static inline int compute_score(struct s
                        if (inet->inet_dport != sport)
                                return -1;
                        score++;
                        if (inet->inet_dport != sport)
                                return -1;
                        score++;
@@ -24779,9 +24704,9 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/udp.c linux-3.13.10-vs2.3.6.11/net/
                }
                if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) {
                        if (!ipv6_addr_equal(&sk->sk_v6_rcv_saddr, daddr))
                }
                if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) {
                        if (!ipv6_addr_equal(&sk->sk_v6_rcv_saddr, daddr))
-diff -NurpP --minimal linux-3.13.10/net/ipv6/xfrm6_policy.c linux-3.13.10-vs2.3.6.11/net/ipv6/xfrm6_policy.c
---- linux-3.13.10/net/ipv6/xfrm6_policy.c      2014-01-22 20:39:15.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/ipv6/xfrm6_policy.c   2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/ipv6/xfrm6_policy.c linux-3.18.5-vs2.3.7.3/net/ipv6/xfrm6_policy.c
+--- linux-3.18.5/net/ipv6/xfrm6_policy.c       2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/ipv6/xfrm6_policy.c     2015-01-19 10:58:32.000000000 +0000
 @@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n
        dev = ip6_dst_idev(dst)->dev;
        ipv6_dev_get_saddr(dev_net(dev), dev,
 @@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n
        dev = ip6_dst_idev(dst)->dev;
        ipv6_dev_get_saddr(dev_net(dev), dev,
@@ -24791,10 +24716,10 @@ diff -NurpP --minimal linux-3.13.10/net/ipv6/xfrm6_policy.c linux-3.13.10-vs2.3.
        dst_release(dst);
        return 0;
  }
        dst_release(dst);
        return 0;
  }
-diff -NurpP --minimal linux-3.13.10/net/netfilter/ipvs/ip_vs_xmit.c linux-3.13.10-vs2.3.6.11/net/netfilter/ipvs/ip_vs_xmit.c
---- linux-3.13.10/net/netfilter/ipvs/ip_vs_xmit.c      2013-11-25 15:47:07.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/netfilter/ipvs/ip_vs_xmit.c   2014-01-31 20:38:04.000000000 +0000
-@@ -316,7 +316,7 @@ __ip_vs_route_output_v6(struct net *net,
+diff -NurpP --minimal linux-3.18.5/net/netfilter/ipvs/ip_vs_xmit.c linux-3.18.5-vs2.3.7.3/net/netfilter/ipvs/ip_vs_xmit.c
+--- linux-3.18.5/net/netfilter/ipvs/ip_vs_xmit.c       2015-01-17 02:40:25.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/netfilter/ipvs/ip_vs_xmit.c     2015-01-19 10:58:32.000000000 +0000
+@@ -379,7 +379,7 @@ __ip_vs_route_output_v6(struct net *net,
                return dst;
        if (ipv6_addr_any(&fl6.saddr) &&
            ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev,
                return dst;
        if (ipv6_addr_any(&fl6.saddr) &&
            ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev,
@@ -24803,21 +24728,21 @@ diff -NurpP --minimal linux-3.13.10/net/netfilter/ipvs/ip_vs_xmit.c linux-3.13.1
                goto out_err;
        if (do_xfrm) {
                dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0);
                goto out_err;
        if (do_xfrm) {
                dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0);
-diff -NurpP --minimal linux-3.13.10/net/netlink/af_netlink.c linux-3.13.10-vs2.3.6.11/net/netlink/af_netlink.c
---- linux-3.13.10/net/netlink/af_netlink.c     2014-01-22 20:39:16.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/netlink/af_netlink.c  2014-02-25 11:47:07.000000000 +0000
-@@ -58,6 +58,9 @@
- #include <linux/mutex.h>
- #include <linux/vmalloc.h>
- #include <linux/if_arp.h>
+diff -NurpP --minimal linux-3.18.5/net/netlink/af_netlink.c linux-3.18.5-vs2.3.7.3/net/netlink/af_netlink.c
+--- linux-3.18.5/net/netlink/af_netlink.c      2015-02-05 18:02:46.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/netlink/af_netlink.c    2015-01-28 11:48:02.000000000 +0000
+@@ -61,6 +61,9 @@
+ #include <linux/rhashtable.h>
+ #include <asm/cacheflush.h>
+ #include <linux/hash.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_network.h>
 +#include <linux/vs_limit.h>
 +#include <linux/vs_context.h>
 +#include <linux/vs_network.h>
 +#include <linux/vs_limit.h>
- #include <asm/cacheflush.h>
  
  #include <net/net_namespace.h>
  
  #include <net/net_namespace.h>
-@@ -2850,6 +2853,8 @@ static struct sock *netlink_seq_socket_i
-                       sk_for_each(s, &hash->table[j]) {
+ #include <net/sock.h>
+@@ -2899,6 +2902,8 @@ static struct sock *netlink_seq_socket_i
                                if (sock_net(s) != seq_file_net(seq))
                                        continue;
 +                              if (!nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT))
                                if (sock_net(s) != seq_file_net(seq))
                                        continue;
 +                              if (!nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT))
@@ -24825,30 +24750,10 @@ diff -NurpP --minimal linux-3.13.10/net/netlink/af_netlink.c linux-3.13.10-vs2.3
                                if (off == pos) {
                                        iter->link = i;
                                        iter->hash_idx = j;
                                if (off == pos) {
                                        iter->link = i;
                                        iter->hash_idx = j;
-@@ -2886,7 +2891,8 @@ static void *netlink_seq_next(struct seq
-       s = v;
-       do {
-               s = sk_next(s);
--      } while (s && !nl_table[s->sk_protocol].compare(net, s));
-+      } while (s && (!nl_table[s->sk_protocol].compare(net, s) ||
-+              !nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT)));
-       if (s)
-               return s;
-@@ -2899,7 +2905,8 @@ static void *netlink_seq_next(struct seq
-               for (; j <= hash->mask; j++) {
-                       s = sk_head(&hash->table[j]);
--                      while (s && !nl_table[s->sk_protocol].compare(net, s))
-+                      while (s && (!nl_table[s->sk_protocol].compare(net, s) ||
-+                              !nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT)))
-                               s = sk_next(s);
-                       if (s) {
-                               iter->link = i;
-diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/socket.c
---- linux-3.13.10/net/socket.c 2014-04-17 01:12:42.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/socket.c      2014-04-17 01:17:11.000000000 +0000
-@@ -98,6 +98,9 @@
+diff -NurpP --minimal linux-3.18.5/net/socket.c linux-3.18.5-vs2.3.7.3/net/socket.c
+--- linux-3.18.5/net/socket.c  2015-01-17 02:40:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/socket.c        2015-01-19 10:58:32.000000000 +0000
+@@ -99,6 +99,9 @@
  
  #include <net/sock.h>
  #include <linux/netfilter.h>
  
  #include <net/sock.h>
  #include <linux/netfilter.h>
@@ -24858,7 +24763,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
  
  #include <linux/if_tun.h>
  #include <linux/ipv6_route.h>
  
  #include <linux/if_tun.h>
  #include <linux/ipv6_route.h>
-@@ -623,13 +626,29 @@ static inline int __sock_sendmsg_nosec(s
+@@ -634,13 +637,29 @@ static inline int __sock_sendmsg_nosec(s
                                       struct msghdr *msg, size_t size)
  {
        struct sock_iocb *si = kiocb_to_siocb(iocb);
                                       struct msghdr *msg, size_t size)
  {
        struct sock_iocb *si = kiocb_to_siocb(iocb);
@@ -24889,7 +24794,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
  }
  
  static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock,
  }
  
  static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock,
-@@ -773,6 +792,7 @@ static inline int __sock_recvmsg_nosec(s
+@@ -780,6 +799,7 @@ static inline int __sock_recvmsg_nosec(s
                                       struct msghdr *msg, size_t size, int flags)
  {
        struct sock_iocb *si = kiocb_to_siocb(iocb);
                                       struct msghdr *msg, size_t size, int flags)
  {
        struct sock_iocb *si = kiocb_to_siocb(iocb);
@@ -24897,7 +24802,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
  
        si->sock = sock;
        si->scm = NULL;
  
        si->sock = sock;
        si->scm = NULL;
-@@ -780,7 +800,18 @@ static inline int __sock_recvmsg_nosec(s
+@@ -787,7 +807,18 @@ static inline int __sock_recvmsg_nosec(s
        si->size = size;
        si->flags = flags;
  
        si->size = size;
        si->flags = flags;
  
@@ -24917,7 +24822,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
  }
  
  static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock,
  }
  
  static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock,
-@@ -1256,6 +1287,13 @@ int __sock_create(struct net *net, int f
+@@ -1264,6 +1295,13 @@ int __sock_create(struct net *net, int f
        if (type < 0 || type >= SOCK_MAX)
                return -EINVAL;
  
        if (type < 0 || type >= SOCK_MAX)
                return -EINVAL;
  
@@ -24931,7 +24836,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
        /* Compatibility.
  
           This uglymoron is moved from INET layer to here to avoid
        /* Compatibility.
  
           This uglymoron is moved from INET layer to here to avoid
-@@ -1390,6 +1428,7 @@ SYSCALL_DEFINE3(socket, int, family, int
+@@ -1398,6 +1436,7 @@ SYSCALL_DEFINE3(socket, int, family, int
        if (retval < 0)
                goto out;
  
        if (retval < 0)
                goto out;
  
@@ -24939,7 +24844,7 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
        retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK));
        if (retval < 0)
                goto out_release;
        retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK));
        if (retval < 0)
                goto out_release;
-@@ -1431,10 +1470,12 @@ SYSCALL_DEFINE4(socketpair, int, family,
+@@ -1439,10 +1478,12 @@ SYSCALL_DEFINE4(socketpair, int, family,
        err = sock_create(family, type, protocol, &sock1);
        if (err < 0)
                goto out;
        err = sock_create(family, type, protocol, &sock1);
        if (err < 0)
                goto out;
@@ -24952,9 +24857,9 @@ diff -NurpP --minimal linux-3.13.10/net/socket.c linux-3.13.10-vs2.3.6.11/net/so
  
        err = sock1->ops->socketpair(sock1, sock2);
        if (err < 0)
  
        err = sock1->ops->socketpair(sock1, sock2);
        if (err < 0)
-diff -NurpP --minimal linux-3.13.10/net/sunrpc/auth.c linux-3.13.10-vs2.3.6.11/net/sunrpc/auth.c
---- linux-3.13.10/net/sunrpc/auth.c    2013-11-25 15:47:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/sunrpc/auth.c 2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/sunrpc/auth.c linux-3.18.5-vs2.3.7.3/net/sunrpc/auth.c
+--- linux-3.18.5/net/sunrpc/auth.c     2015-01-16 22:19:32.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/sunrpc/auth.c   2015-01-19 11:18:55.000000000 +0000
 @@ -15,6 +15,7 @@
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/gss_api.h>
 @@ -15,6 +15,7 @@
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/gss_api.h>
@@ -24963,15 +24868,15 @@ diff -NurpP --minimal linux-3.13.10/net/sunrpc/auth.c linux-3.13.10-vs2.3.6.11/n
  
  #ifdef RPC_DEBUG
  # define RPCDBG_FACILITY      RPCDBG_AUTH
  
  #ifdef RPC_DEBUG
  # define RPCDBG_FACILITY      RPCDBG_AUTH
-@@ -586,6 +587,7 @@ rpcauth_lookupcred(struct rpc_auth *auth
+@@ -630,6 +631,7 @@ rpcauth_lookupcred(struct rpc_auth *auth
        memset(&acred, 0, sizeof(acred));
        acred.uid = cred->fsuid;
        acred.gid = cred->fsgid;
 +      acred.tag = make_ktag(&init_user_ns, dx_current_tag());
        memset(&acred, 0, sizeof(acred));
        acred.uid = cred->fsuid;
        acred.gid = cred->fsgid;
 +      acred.tag = make_ktag(&init_user_ns, dx_current_tag());
-       acred.group_info = get_group_info(((struct cred *)cred)->group_info);
+       acred.group_info = cred->group_info;
        ret = auth->au_ops->lookup_cred(auth, &acred, flags);
        ret = auth->au_ops->lookup_cred(auth, &acred, flags);
-@@ -626,6 +628,7 @@ rpcauth_bind_root_cred(struct rpc_task *
+       return ret;
+@@ -669,6 +671,7 @@ rpcauth_bind_root_cred(struct rpc_task *
        struct auth_cred acred = {
                .uid = GLOBAL_ROOT_UID,
                .gid = GLOBAL_ROOT_GID,
        struct auth_cred acred = {
                .uid = GLOBAL_ROOT_UID,
                .gid = GLOBAL_ROOT_GID,
@@ -24979,9 +24884,9 @@ diff -NurpP --minimal linux-3.13.10/net/sunrpc/auth.c linux-3.13.10-vs2.3.6.11/n
        };
  
        dprintk("RPC: %5u looking up %s cred\n",
        };
  
        dprintk("RPC: %5u looking up %s cred\n",
-diff -NurpP --minimal linux-3.13.10/net/sunrpc/auth_unix.c linux-3.13.10-vs2.3.6.11/net/sunrpc/auth_unix.c
---- linux-3.13.10/net/sunrpc/auth_unix.c       2013-11-25 15:47:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/sunrpc/auth_unix.c    2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/sunrpc/auth_unix.c linux-3.18.5-vs2.3.7.3/net/sunrpc/auth_unix.c
+--- linux-3.18.5/net/sunrpc/auth_unix.c        2013-11-25 15:47:08.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/sunrpc/auth_unix.c      2015-01-19 10:58:32.000000000 +0000
 @@ -13,11 +13,13 @@
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/auth.h>
 @@ -13,11 +13,13 @@
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/auth.h>
@@ -25038,9 +24943,9 @@ diff -NurpP --minimal linux-3.13.10/net/sunrpc/auth_unix.c linux-3.13.10-vs2.3.6
        hold = p++;
        for (i = 0; i < 16 && gid_valid(cred->uc_gids[i]); i++)
                *p++ = htonl((u32) from_kgid(&init_user_ns, cred->uc_gids[i]));
        hold = p++;
        for (i = 0; i < 16 && gid_valid(cred->uc_gids[i]); i++)
                *p++ = htonl((u32) from_kgid(&init_user_ns, cred->uc_gids[i]));
-diff -NurpP --minimal linux-3.13.10/net/sunrpc/clnt.c linux-3.13.10-vs2.3.6.11/net/sunrpc/clnt.c
---- linux-3.13.10/net/sunrpc/clnt.c    2014-04-17 01:12:42.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/sunrpc/clnt.c 2014-02-25 11:26:10.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/net/sunrpc/clnt.c linux-3.18.5-vs2.3.7.3/net/sunrpc/clnt.c
+--- linux-3.18.5/net/sunrpc/clnt.c     2015-01-17 02:40:30.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/sunrpc/clnt.c   2015-01-19 10:58:32.000000000 +0000
 @@ -31,6 +31,7 @@
  #include <linux/in.h>
  #include <linux/in6.h>
 @@ -31,6 +31,7 @@
  #include <linux/in.h>
  #include <linux/in6.h>
@@ -25049,7 +24954,7 @@ diff -NurpP --minimal linux-3.13.10/net/sunrpc/clnt.c linux-3.13.10-vs2.3.6.11/n
  
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/addr.h>
  
  #include <linux/sunrpc/clnt.h>
  #include <linux/sunrpc/addr.h>
-@@ -538,6 +539,9 @@ struct rpc_clnt *rpc_create(struct rpc_c
+@@ -468,6 +469,9 @@ struct rpc_clnt *rpc_create_xprt(struct
        if (!(args->flags & RPC_CLNT_CREATE_QUIET))
                clnt->cl_chatty = 1;
  
        if (!(args->flags & RPC_CLNT_CREATE_QUIET))
                clnt->cl_chatty = 1;
  
@@ -25058,11 +24963,11 @@ diff -NurpP --minimal linux-3.13.10/net/sunrpc/clnt.c linux-3.13.10-vs2.3.6.11/n
 +              clnt->cl_tag = 1; */
        return clnt;
  }
 +              clnt->cl_tag = 1; */
        return clnt;
  }
- EXPORT_SYMBOL_GPL(rpc_create);
-diff -NurpP --minimal linux-3.13.10/net/unix/af_unix.c linux-3.13.10-vs2.3.6.11/net/unix/af_unix.c
---- linux-3.13.10/net/unix/af_unix.c   2014-04-17 01:12:42.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/net/unix/af_unix.c        2014-04-17 01:17:11.000000000 +0000
-@@ -115,6 +115,8 @@
+ EXPORT_SYMBOL_GPL(rpc_create_xprt);
+diff -NurpP --minimal linux-3.18.5/net/unix/af_unix.c linux-3.18.5-vs2.3.7.3/net/unix/af_unix.c
+--- linux-3.18.5/net/unix/af_unix.c    2014-09-03 13:19:49.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/net/unix/af_unix.c  2015-01-19 10:58:32.000000000 +0000
+@@ -117,6 +117,8 @@
  #include <net/checksum.h>
  #include <linux/security.h>
  #include <linux/freezer.h>
  #include <net/checksum.h>
  #include <linux/security.h>
  #include <linux/freezer.h>
@@ -25071,7 +24976,7 @@ diff -NurpP --minimal linux-3.13.10/net/unix/af_unix.c linux-3.13.10-vs2.3.6.11/
  
  struct hlist_head unix_socket_table[2 * UNIX_HASH_SIZE];
  EXPORT_SYMBOL_GPL(unix_socket_table);
  
  struct hlist_head unix_socket_table[2 * UNIX_HASH_SIZE];
  EXPORT_SYMBOL_GPL(unix_socket_table);
-@@ -270,6 +272,8 @@ static struct sock *__unix_find_socket_b
+@@ -272,6 +274,8 @@ static struct sock *__unix_find_socket_b
                if (!net_eq(sock_net(s), net))
                        continue;
  
                if (!net_eq(sock_net(s), net))
                        continue;
  
@@ -25080,7 +24985,7 @@ diff -NurpP --minimal linux-3.13.10/net/unix/af_unix.c linux-3.13.10-vs2.3.6.11/
                if (u->addr->len == len &&
                    !memcmp(u->addr->name, sunname, len))
                        goto found;
                if (u->addr->len == len &&
                    !memcmp(u->addr->name, sunname, len))
                        goto found;
-@@ -2275,6 +2279,8 @@ static struct sock *unix_from_bucket(str
+@@ -2283,6 +2287,8 @@ static struct sock *unix_from_bucket(str
        for (sk = sk_head(&unix_socket_table[bucket]); sk; sk = sk_next(sk)) {
                if (sock_net(sk) != seq_file_net(seq))
                        continue;
        for (sk = sk_head(&unix_socket_table[bucket]); sk; sk = sk_next(sk)) {
                if (sock_net(sk) != seq_file_net(seq))
                        continue;
@@ -25089,7 +24994,7 @@ diff -NurpP --minimal linux-3.13.10/net/unix/af_unix.c linux-3.13.10-vs2.3.6.11/
                if (++count == offset)
                        break;
        }
                if (++count == offset)
                        break;
        }
-@@ -2292,6 +2298,8 @@ static struct sock *unix_next_socket(str
+@@ -2300,6 +2306,8 @@ static struct sock *unix_next_socket(str
                sk = sk_next(sk);
                if (!sk)
                        goto next_bucket;
                sk = sk_next(sk);
                if (!sk)
                        goto next_bucket;
@@ -25098,10 +25003,10 @@ diff -NurpP --minimal linux-3.13.10/net/unix/af_unix.c linux-3.13.10-vs2.3.6.11/
                if (sock_net(sk) == seq_file_net(seq))
                        return sk;
        }
                if (sock_net(sk) == seq_file_net(seq))
                        return sk;
        }
-diff -NurpP --minimal linux-3.13.10/scripts/checksyscalls.sh linux-3.13.10-vs2.3.6.11/scripts/checksyscalls.sh
---- linux-3.13.10/scripts/checksyscalls.sh     2012-12-11 03:30:57.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/scripts/checksyscalls.sh  2014-01-31 20:38:04.000000000 +0000
-@@ -193,7 +193,6 @@ cat << EOF
+diff -NurpP --minimal linux-3.18.5/scripts/checksyscalls.sh linux-3.18.5-vs2.3.7.3/scripts/checksyscalls.sh
+--- linux-3.18.5/scripts/checksyscalls.sh      2014-06-12 13:03:01.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/scripts/checksyscalls.sh    2015-01-19 10:58:32.000000000 +0000
+@@ -196,7 +196,6 @@ cat << EOF
  #define __IGNORE_afs_syscall
  #define __IGNORE_getpmsg
  #define __IGNORE_putpmsg
  #define __IGNORE_afs_syscall
  #define __IGNORE_getpmsg
  #define __IGNORE_putpmsg
@@ -25109,9 +25014,9 @@ diff -NurpP --minimal linux-3.13.10/scripts/checksyscalls.sh linux-3.13.10-vs2.3
  EOF
  }
  
  EOF
  }
  
-diff -NurpP --minimal linux-3.13.10/security/commoncap.c linux-3.13.10-vs2.3.6.11/security/commoncap.c
---- linux-3.13.10/security/commoncap.c 2013-11-25 15:47:08.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/security/commoncap.c      2014-01-31 20:38:04.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/security/commoncap.c linux-3.18.5-vs2.3.7.3/security/commoncap.c
+--- linux-3.18.5/security/commoncap.c  2015-01-16 22:19:32.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/security/commoncap.c        2015-01-19 10:58:32.000000000 +0000
 @@ -76,6 +76,7 @@ int cap_netlink_send(struct sock *sk, st
  int cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
                int cap, int audit)
 @@ -76,6 +76,7 @@ int cap_netlink_send(struct sock *sk, st
  int cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
                int cap, int audit)
@@ -25135,7 +25040,7 @@ diff -NurpP --minimal linux-3.13.10/security/commoncap.c linux-3.13.10-vs2.3.6.1
  
                /* Have we tried all of the parent namespaces? */
                if (ns == &init_user_ns)
  
                /* Have we tried all of the parent namespaces? */
                if (ns == &init_user_ns)
-@@ -628,7 +633,7 @@ int cap_inode_setxattr(struct dentry *de
+@@ -631,7 +636,7 @@ int cap_inode_setxattr(struct dentry *de
  
        if (!strncmp(name, XATTR_SECURITY_PREFIX,
                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
  
        if (!strncmp(name, XATTR_SECURITY_PREFIX,
                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
@@ -25144,7 +25049,7 @@ diff -NurpP --minimal linux-3.13.10/security/commoncap.c linux-3.13.10-vs2.3.6.1
                return -EPERM;
        return 0;
  }
                return -EPERM;
        return 0;
  }
-@@ -654,7 +659,7 @@ int cap_inode_removexattr(struct dentry
+@@ -657,7 +662,7 @@ int cap_inode_removexattr(struct dentry
  
        if (!strncmp(name, XATTR_SECURITY_PREFIX,
                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
  
        if (!strncmp(name, XATTR_SECURITY_PREFIX,
                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
@@ -25153,9 +25058,9 @@ diff -NurpP --minimal linux-3.13.10/security/commoncap.c linux-3.13.10-vs2.3.6.1
                return -EPERM;
        return 0;
  }
                return -EPERM;
        return 0;
  }
-diff -NurpP --minimal linux-3.13.10/security/selinux/hooks.c linux-3.13.10-vs2.3.6.11/security/selinux/hooks.c
---- linux-3.13.10/security/selinux/hooks.c     2014-04-17 01:12:42.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/security/selinux/hooks.c  2014-04-17 01:17:11.000000000 +0000
+diff -NurpP --minimal linux-3.18.5/security/selinux/hooks.c linux-3.18.5-vs2.3.7.3/security/selinux/hooks.c
+--- linux-3.18.5/security/selinux/hooks.c      2015-01-17 02:40:31.000000000 +0000
++++ linux-3.18.5-vs2.3.7.3/security/selinux/hooks.c    2015-01-19 10:58:32.000000000 +0000
 @@ -68,7 +68,6 @@
  #include <linux/dccp.h>
  #include <linux/quota.h>
 @@ -68,7 +68,6 @@
  #include <linux/dccp.h>
  #include <linux/quota.h>
index 61a0931f24da6ca7ae5367ddc4a52515d18f1eeb..b46a5614512d0d5e0ea1bafe7071f439edbecf85 100644 (file)
@@ -9,15 +9,3 @@
        if (pid->hide_pid < hide_pid_min)
                return true;
        if (in_group_p(pid->pid_gid))
        if (pid->hide_pid < hide_pid_min)
                return true;
        if (in_group_p(pid->pid_gid))
---- linux-3.13.10/fs/namei.c   2014-04-17 01:12:32.000000000 +0000
-+++ linux-3.13.10-vs2.3.6.11/fs/namei.c        2014-04-17 01:17:10.000000000 +0000
-@@ -1238,8 +1335,7 @@ static void follow_dotdot(struct nameida
-               if (nd->path.dentry == nd->root.dentry &&
-                   nd->path.mnt == nd->root.mnt) {
--                      /* for sane '/' avoid follow_mount() */
--                      return;
-+                      break;
-               }
-               if (nd->path.dentry != nd->path.mnt->mnt_root) {
-                       /* rare case of legitimate dget_parent()... */
index 8bdff060e785c821ddf32b90185edae61000811d..b467321fdafb2ce86f7ec14b3f4182c203c693cf 100644 (file)
@@ -71,7 +71,7 @@
 
 %define                rel             1
 %define                basever         3.18
 
 %define                rel             1
 %define                basever         3.18
-%define                postver         .6
+%define                postver         .7
 
 # define this to '-%{basever}' for longterm branch
 %define                versuffix       %{nil}
 
 # define this to '-%{basever}' for longterm branch
 %define                versuffix       %{nil}
@@ -120,7 +120,7 @@ Source0:    http://www.kernel.org/pub/linux/kernel/v3.x/linux-%{basever}.tar.xz
 # Source0-md5: 9e854df51ca3fef8bfe566dbd7b89241
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.xz
 # Source0-md5: 9e854df51ca3fef8bfe566dbd7b89241
 %if "%{postver}" != ".0"
 Patch0:                http://www.kernel.org/pub/linux/kernel/v3.x/patch-%{version}.xz
-# Patch0-md5:  30aa769974e64fd17a01724d1577a913
+# Patch0-md5:  9db3178b87ddf7c05e6191bf57645610
 %endif
 Source1:       kernel.sysconfig
 
 %endif
 Source1:       kernel.sysconfig
 
@@ -187,8 +187,8 @@ Patch59:    kernel-rndis_host-wm5.patch
 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
 Patch85:       kernel-hostap.patch
 
 # http://patches.aircrack-ng.org/hostap-kernel-2.6.18.patch
 Patch85:       kernel-hostap.patch
 
-%define        vserver_patch 3.10.9-vs2.3.6.6
-# http://vserver.13thfloor.at/Experimental/patch-3.13.6-vs2.3.6.11.diff
+%define        vserver_patch 3.18.5-vs2.3.7.3
+# http://vserver.13thfloor.at/Experimental/patch-3.18.5-vs2.3.7.3.diff
 # note there are additional patches from above url:
 # - *fix* are real fixes (we want these)
 # - *feat* are new features/tests (we don't want these)
 # note there are additional patches from above url:
 # - *fix* are real fixes (we want these)
 # - *feat* are new features/tests (we don't want these)
This page took 1.149347 seconds and 4 git commands to generate.