-diff -NurpP --minimal linux-4.4.161/Documentation/vserver/debug.txt linux-4.4.161-vs2.3.9.8/Documentation/vserver/debug.txt
---- linux-4.4.161/Documentation/vserver/debug.txt 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/Documentation/vserver/debug.txt 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/Documentation/vserver/debug.txt linux-4.4/Documentation/vserver/debug.txt
+--- linux-4.4/Documentation/vserver/debug.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/Documentation/vserver/debug.txt 2021-02-24 16:56:24.542821396 +0100
@@ -0,0 +1,154 @@
+
+debug_cvirt:
+ 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-4.4.161/arch/alpha/Kconfig linux-4.4.161-vs2.3.9.8/arch/alpha/Kconfig
---- linux-4.4.161/arch/alpha/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/alpha/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/alpha/Kconfig linux-4.4/arch/alpha/Kconfig
+--- linux-4.4/arch/alpha/Kconfig 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/alpha/Kconfig 2021-02-24 16:56:24.532821082 +0100
@@ -745,6 +745,8 @@ config DUMMY_CONSOLE
depends on VGA_HOSE
default y
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/alpha/kernel/systbls.S linux-4.4.161-vs2.3.9.8/arch/alpha/kernel/systbls.S
---- linux-4.4.161/arch/alpha/kernel/systbls.S 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/alpha/kernel/systbls.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/alpha/kernel/systbls.S linux-4.4/arch/alpha/kernel/systbls.S
+--- linux-4.4/arch/alpha/kernel/systbls.S 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/alpha/kernel/systbls.S 2021-02-24 16:56:24.532821082 +0100
@@ -446,7 +446,7 @@ sys_call_table:
.quad sys_stat64 /* 425 */
.quad sys_lstat64
.quad sys_ni_syscall /* sys_mbind */
.quad sys_ni_syscall /* sys_get_mempolicy */
.quad sys_ni_syscall /* sys_set_mempolicy */
-diff -NurpP --minimal linux-4.4.161/arch/alpha/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/alpha/kernel/traps.c
---- linux-4.4.161/arch/alpha/kernel/traps.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/alpha/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/alpha/kernel/traps.c linux-4.4/arch/alpha/kernel/traps.c
+--- linux-4.4/arch/alpha/kernel/traps.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/alpha/kernel/traps.c 2021-02-24 16:56:24.532821082 +0100
@@ -174,7 +174,8 @@ die_if_kernel(char * str, struct pt_regs
#ifdef CONFIG_SMP
printk("CPU %d ", hard_smp_processor_id());
dik_show_regs(regs, r9_15);
add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
dik_show_trace((unsigned long *)(regs+1));
-diff -NurpP --minimal linux-4.4.161/arch/arm/Kconfig linux-4.4.161-vs2.3.9.8/arch/arm/Kconfig
---- linux-4.4.161/arch/arm/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/arm/Kconfig 2018-10-20 04:57:21.000000000 +0000
-@@ -2159,6 +2159,8 @@ source "fs/Kconfig"
+diff -urNp -x '*.orig' linux-4.4/arch/arm/Kconfig linux-4.4/arch/arm/Kconfig
+--- linux-4.4/arch/arm/Kconfig 2021-02-24 16:56:10.302372928 +0100
++++ linux-4.4/arch/arm/Kconfig 2021-02-24 16:56:24.532821082 +0100
+@@ -2163,6 +2163,8 @@ source "fs/Kconfig"
source "arch/arm/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/arm/kernel/calls.S linux-4.4.161-vs2.3.9.8/arch/arm/kernel/calls.S
---- linux-4.4.161/arch/arm/kernel/calls.S 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/arm/kernel/calls.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/arm/kernel/calls.S linux-4.4/arch/arm/kernel/calls.S
+--- linux-4.4/arch/arm/kernel/calls.S 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/arm/kernel/calls.S 2021-02-24 16:56:24.532821082 +0100
@@ -322,7 +322,7 @@
/* 310 */ CALL(sys_request_key)
CALL(sys_keyctl)
CALL(sys_ioprio_set)
/* 315 */ CALL(sys_ioprio_get)
CALL(sys_inotify_init)
-diff -NurpP --minimal linux-4.4.161/arch/arm/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/arm/kernel/traps.c
---- linux-4.4.161/arch/arm/kernel/traps.c 2018-10-20 02:34:24.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/arm/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/arm/kernel/traps.c linux-4.4/arch/arm/kernel/traps.c
+--- linux-4.4/arch/arm/kernel/traps.c 2021-02-24 16:56:10.335707312 +0100
++++ linux-4.4/arch/arm/kernel/traps.c 2021-02-24 16:56:24.536154520 +0100
@@ -259,8 +259,8 @@ static int __die(const char *str, int er
print_modules();
if (!user_mode(regs) || in_interrupt()) {
dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp,
-diff -NurpP --minimal linux-4.4.161/arch/cris/Kconfig linux-4.4.161-vs2.3.9.8/arch/cris/Kconfig
---- linux-4.4.161/arch/cris/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/cris/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/cris/Kconfig linux-4.4/arch/cris/Kconfig
+--- linux-4.4/arch/cris/Kconfig 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/cris/Kconfig 2021-02-24 16:56:24.536154520 +0100
@@ -581,6 +581,8 @@ source "fs/Kconfig"
source "arch/cris/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/ia64/Kconfig linux-4.4.161-vs2.3.9.8/arch/ia64/Kconfig
---- linux-4.4.161/arch/ia64/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/ia64/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/ia64/Kconfig linux-4.4/arch/ia64/Kconfig
+--- linux-4.4/arch/ia64/Kconfig 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/ia64/Kconfig 2021-02-24 16:56:24.536154520 +0100
@@ -606,6 +606,8 @@ source "fs/Kconfig"
source "arch/ia64/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/ia64/kernel/entry.S linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/entry.S
---- linux-4.4.161/arch/ia64/kernel/entry.S 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/entry.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/ia64/kernel/entry.S linux-4.4/arch/ia64/kernel/entry.S
+--- linux-4.4/arch/ia64/kernel/entry.S 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/ia64/kernel/entry.S 2021-02-24 16:56:24.536154520 +0100
@@ -1694,7 +1694,7 @@ sys_call_table:
data8 sys_mq_notify
data8 sys_mq_getsetattr
data8 sys_waitid // 1270
data8 sys_add_key
data8 sys_request_key
-diff -NurpP --minimal linux-4.4.161/arch/ia64/kernel/ptrace.c linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/ptrace.c
---- linux-4.4.161/arch/ia64/kernel/ptrace.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/ptrace.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/ia64/kernel/ptrace.c linux-4.4/arch/ia64/kernel/ptrace.c
+--- linux-4.4/arch/ia64/kernel/ptrace.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/ia64/kernel/ptrace.c 2021-02-24 16:56:24.536154520 +0100
@@ -21,6 +21,7 @@
#include <linux/regset.h>
#include <linux/elf.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
-diff -NurpP --minimal linux-4.4.161/arch/ia64/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/traps.c
---- linux-4.4.161/arch/ia64/kernel/traps.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/ia64/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/ia64/kernel/traps.c linux-4.4/arch/ia64/kernel/traps.c
+--- linux-4.4/arch/ia64/kernel/traps.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/ia64/kernel/traps.c 2021-02-24 16:56:24.536154520 +0100
@@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re
put_cpu();
}
}
}
-diff -NurpP --minimal linux-4.4.161/arch/m32r/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/m32r/kernel/traps.c
---- linux-4.4.161/arch/m32r/kernel/traps.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/m32r/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/m32r/kernel/traps.c linux-4.4/arch/m32r/kernel/traps.c
+--- linux-4.4/arch/m32r/kernel/traps.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/m32r/kernel/traps.c 2021-02-24 16:56:24.536154520 +0100
@@ -184,8 +184,9 @@ static void show_registers(struct pt_reg
} else {
printk("SPI: %08lx\n", sp);
/*
* When in-kernel, we also print out the stack and code at the
-diff -NurpP --minimal linux-4.4.161/arch/m68k/Kconfig linux-4.4.161-vs2.3.9.8/arch/m68k/Kconfig
---- linux-4.4.161/arch/m68k/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/m68k/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/m68k/Kconfig linux-4.4/arch/m68k/Kconfig
+--- linux-4.4/arch/m68k/Kconfig 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/m68k/Kconfig 2021-02-24 16:56:24.536154520 +0100
@@ -164,6 +164,8 @@ source "fs/Kconfig"
source "arch/m68k/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/mips/Kconfig linux-4.4.161-vs2.3.9.8/arch/mips/Kconfig
---- linux-4.4.161/arch/mips/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/Kconfig 2018-10-20 04:57:21.000000000 +0000
-@@ -3026,6 +3026,8 @@ source "fs/Kconfig"
+diff -urNp -x '*.orig' linux-4.4/arch/mips/Kconfig linux-4.4/arch/mips/Kconfig
+--- linux-4.4/arch/mips/Kconfig 2021-02-24 16:56:10.382375448 +0100
++++ linux-4.4/arch/mips/Kconfig 2021-02-24 16:56:24.536154520 +0100
+@@ -3031,6 +3031,8 @@ source "fs/Kconfig"
source "arch/mips/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/mips/kernel/ptrace.c linux-4.4.161-vs2.3.9.8/arch/mips/kernel/ptrace.c
---- linux-4.4.161/arch/mips/kernel/ptrace.c 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/ptrace.c 2018-10-20 05:50:17.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/ptrace.c linux-4.4/arch/mips/kernel/ptrace.c
+--- linux-4.4/arch/mips/kernel/ptrace.c 2021-02-24 16:56:10.399042639 +0100
++++ linux-4.4/arch/mips/kernel/ptrace.c 2021-02-24 16:56:24.536154520 +0100
@@ -30,6 +30,7 @@
#include <linux/audit.h>
#include <linux/seccomp.h>
#include <asm/byteorder.h>
#include <asm/cpu.h>
-@@ -801,6 +802,9 @@ long arch_ptrace(struct task_struct *chi
+@@ -797,6 +798,9 @@ long arch_ptrace(struct task_struct *chi
void __user *datavp = (void __user *) data;
unsigned long __user *datalp = (void __user *) data;
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-4.4.161/arch/mips/kernel/scall32-o32.S linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall32-o32.S
---- linux-4.4.161/arch/mips/kernel/scall32-o32.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall32-o32.S 2018-10-20 04:57:21.000000000 +0000
-@@ -512,7 +512,7 @@ EXPORT(sys_call_table)
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/scall32-o32.S linux-4.4/arch/mips/kernel/scall32-o32.S
+--- linux-4.4/arch/mips/kernel/scall32-o32.S 2021-02-24 16:56:10.402376078 +0100
++++ linux-4.4/arch/mips/kernel/scall32-o32.S 2021-02-24 16:56:24.536154520 +0100
+@@ -511,7 +511,7 @@ EXPORT(sys_call_table)
PTR sys_mq_timedreceive
PTR sys_mq_notify /* 4275 */
PTR sys_mq_getsetattr
PTR sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key /* 4280 */
-diff -NurpP --minimal linux-4.4.161/arch/mips/kernel/scall64-64.S linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-64.S
---- linux-4.4.161/arch/mips/kernel/scall64-64.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-64.S 2018-10-20 04:57:21.000000000 +0000
-@@ -349,7 +349,7 @@ EXPORT(sys_call_table)
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/scall64-64.S linux-4.4/arch/mips/kernel/scall64-64.S
+--- linux-4.4/arch/mips/kernel/scall64-64.S 2021-02-24 16:56:10.402376078 +0100
++++ linux-4.4/arch/mips/kernel/scall64-64.S 2021-02-24 16:56:24.536154520 +0100
+@@ -348,7 +348,7 @@ EXPORT(sys_call_table)
PTR sys_mq_timedreceive
PTR sys_mq_notify
PTR sys_mq_getsetattr /* 5235 */
PTR sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
-diff -NurpP --minimal linux-4.4.161/arch/mips/kernel/scall64-n32.S linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-n32.S
---- linux-4.4.161/arch/mips/kernel/scall64-n32.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-n32.S 2018-10-20 04:57:21.000000000 +0000
-@@ -339,7 +339,7 @@ EXPORT(sysn32_call_table)
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/scall64-n32.S linux-4.4/arch/mips/kernel/scall64-n32.S
+--- linux-4.4/arch/mips/kernel/scall64-n32.S 2021-02-24 16:56:10.402376078 +0100
++++ linux-4.4/arch/mips/kernel/scall64-n32.S 2021-02-24 16:56:24.536154520 +0100
+@@ -343,7 +343,7 @@ EXPORT(sysn32_call_table)
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify
PTR compat_sys_mq_getsetattr
PTR compat_sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key
-diff -NurpP --minimal linux-4.4.161/arch/mips/kernel/scall64-o32.S linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-o32.S
---- linux-4.4.161/arch/mips/kernel/scall64-o32.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/scall64-o32.S 2018-10-20 04:57:21.000000000 +0000
-@@ -495,7 +495,7 @@ EXPORT(sys32_call_table)
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/scall64-o32.S linux-4.4/arch/mips/kernel/scall64-o32.S
+--- linux-4.4/arch/mips/kernel/scall64-o32.S 2021-02-24 16:56:10.402376078 +0100
++++ linux-4.4/arch/mips/kernel/scall64-o32.S 2021-02-24 16:56:24.539487958 +0100
+@@ -499,7 +499,7 @@ EXPORT(sys32_call_table)
PTR compat_sys_mq_timedreceive
PTR compat_sys_mq_notify /* 4275 */
PTR compat_sys_mq_getsetattr
PTR compat_sys_waitid
PTR sys_ni_syscall /* available, was setaltroot */
PTR sys_add_key /* 4280 */
-diff -NurpP --minimal linux-4.4.161/arch/mips/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/mips/kernel/traps.c
---- linux-4.4.161/arch/mips/kernel/traps.c 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/mips/kernel/traps.c 2018-10-20 05:50:17.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/mips/kernel/traps.c linux-4.4/arch/mips/kernel/traps.c
+--- linux-4.4/arch/mips/kernel/traps.c 2021-02-24 16:56:10.402376078 +0100
++++ linux-4.4/arch/mips/kernel/traps.c 2021-02-24 16:56:24.539487958 +0100
@@ -354,9 +354,10 @@ void show_registers(struct pt_regs *regs
__show_regs(regs);
if (cpu_has_userlocal) {
unsigned long tls;
-diff -NurpP --minimal linux-4.4.161/arch/parisc/Kconfig linux-4.4.161-vs2.3.9.8/arch/parisc/Kconfig
---- linux-4.4.161/arch/parisc/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/parisc/Kconfig 2018-10-20 05:50:17.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/parisc/Kconfig linux-4.4/arch/parisc/Kconfig
+--- linux-4.4/arch/parisc/Kconfig 2021-02-24 16:56:10.415709831 +0100
++++ linux-4.4/arch/parisc/Kconfig 2021-02-24 16:56:24.539487958 +0100
@@ -341,6 +341,8 @@ config SECCOMP
If unsure, say Y. Only embedded should say N here.
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/parisc/kernel/syscall_table.S linux-4.4.161-vs2.3.9.8/arch/parisc/kernel/syscall_table.S
---- linux-4.4.161/arch/parisc/kernel/syscall_table.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/parisc/kernel/syscall_table.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/parisc/kernel/syscall_table.S linux-4.4/arch/parisc/kernel/syscall_table.S
+--- linux-4.4/arch/parisc/kernel/syscall_table.S 2021-02-24 16:56:10.422376707 +0100
++++ linux-4.4/arch/parisc/kernel/syscall_table.S 2021-02-24 16:56:24.539487958 +0100
@@ -358,7 +358,7 @@
ENTRY_COMP(mbind) /* 260 */
ENTRY_COMP(get_mempolicy)
ENTRY_SAME(add_key)
ENTRY_SAME(request_key) /* 265 */
ENTRY_COMP(keyctl)
-diff -NurpP --minimal linux-4.4.161/arch/parisc/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/parisc/kernel/traps.c
---- linux-4.4.161/arch/parisc/kernel/traps.c 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/parisc/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/parisc/kernel/traps.c linux-4.4/arch/parisc/kernel/traps.c
+--- linux-4.4/arch/parisc/kernel/traps.c 2021-02-24 16:56:10.422376707 +0100
++++ linux-4.4/arch/parisc/kernel/traps.c 2021-02-24 16:56:24.539487958 +0100
@@ -235,8 +235,9 @@ void die_if_kernel(char *str, struct pt_
return; /* STFU */
/* Wot's wrong wif bein' racy? */
if (current->thread.flags & PARISC_KERNEL_DEATH) {
-diff -NurpP --minimal linux-4.4.161/arch/powerpc/Kconfig linux-4.4.161-vs2.3.9.8/arch/powerpc/Kconfig
---- linux-4.4.161/arch/powerpc/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/powerpc/Kconfig 2018-10-20 04:57:21.000000000 +0000
-@@ -1081,6 +1081,8 @@ source "lib/Kconfig"
+diff -urNp -x '*.orig' linux-4.4/arch/powerpc/Kconfig linux-4.4/arch/powerpc/Kconfig
+--- linux-4.4/arch/powerpc/Kconfig 2021-02-24 16:56:10.422376707 +0100
++++ linux-4.4/arch/powerpc/Kconfig 2021-02-24 16:56:24.539487958 +0100
+@@ -1087,6 +1087,8 @@ source "lib/Kconfig"
source "arch/powerpc/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/powerpc/include/uapi/asm/unistd.h linux-4.4.161-vs2.3.9.8/arch/powerpc/include/uapi/asm/unistd.h
---- linux-4.4.161/arch/powerpc/include/uapi/asm/unistd.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/powerpc/include/uapi/asm/unistd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/powerpc/include/uapi/asm/unistd.h linux-4.4/arch/powerpc/include/uapi/asm/unistd.h
+--- linux-4.4/arch/powerpc/include/uapi/asm/unistd.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/powerpc/include/uapi/asm/unistd.h 2021-02-24 16:56:24.539487958 +0100
@@ -275,7 +275,7 @@
#endif
#define __NR_rtas 255
#define __NR_migrate_pages 258
#define __NR_mbind 259
#define __NR_get_mempolicy 260
-diff -NurpP --minimal linux-4.4.161/arch/powerpc/kernel/traps.c linux-4.4.161-vs2.3.9.8/arch/powerpc/kernel/traps.c
---- linux-4.4.161/arch/powerpc/kernel/traps.c 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/powerpc/kernel/traps.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/powerpc/kernel/traps.c linux-4.4/arch/powerpc/kernel/traps.c
+--- linux-4.4/arch/powerpc/kernel/traps.c 2021-02-24 16:56:10.445710775 +0100
++++ linux-4.4/arch/powerpc/kernel/traps.c 2021-02-24 16:56:24.539487958 +0100
@@ -1315,8 +1315,9 @@ void nonrecoverable_exception(struct pt_
void trace_syscall(struct pt_regs *regs)
regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
}
-diff -NurpP --minimal linux-4.4.161/arch/s390/Kconfig linux-4.4.161-vs2.3.9.8/arch/s390/Kconfig
---- linux-4.4.161/arch/s390/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/s390/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/s390/Kconfig linux-4.4/arch/s390/Kconfig
+--- linux-4.4/arch/s390/Kconfig 2021-02-24 16:56:10.465711405 +0100
++++ linux-4.4/arch/s390/Kconfig 2021-02-24 16:56:24.539487958 +0100
@@ -776,6 +776,8 @@ source "fs/Kconfig"
source "arch/s390/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/s390/include/asm/tlb.h linux-4.4.161-vs2.3.9.8/arch/s390/include/asm/tlb.h
---- linux-4.4.161/arch/s390/include/asm/tlb.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/s390/include/asm/tlb.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/s390/include/asm/tlb.h linux-4.4/arch/s390/include/asm/tlb.h
+--- linux-4.4/arch/s390/include/asm/tlb.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/s390/include/asm/tlb.h 2021-02-24 16:56:24.539487958 +0100
@@ -24,6 +24,7 @@
#include <linux/mm.h>
#include <linux/pagemap.h>
#include <asm/processor.h>
#include <asm/pgalloc.h>
#include <asm/tlbflush.h>
-diff -NurpP --minimal linux-4.4.161/arch/s390/include/uapi/asm/unistd.h linux-4.4.161-vs2.3.9.8/arch/s390/include/uapi/asm/unistd.h
---- linux-4.4.161/arch/s390/include/uapi/asm/unistd.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/s390/include/uapi/asm/unistd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/s390/include/uapi/asm/unistd.h linux-4.4/arch/s390/include/uapi/asm/unistd.h
+--- linux-4.4/arch/s390/include/uapi/asm/unistd.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/s390/include/uapi/asm/unistd.h 2021-02-24 16:56:24.539487958 +0100
@@ -200,7 +200,7 @@
#define __NR_clock_gettime 260
#define __NR_clock_getres 261
#define __NR_statfs64 265
#define __NR_fstatfs64 266
#define __NR_remap_file_pages 267
-diff -NurpP --minimal linux-4.4.161/arch/s390/kernel/ptrace.c linux-4.4.161-vs2.3.9.8/arch/s390/kernel/ptrace.c
---- linux-4.4.161/arch/s390/kernel/ptrace.c 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/s390/kernel/ptrace.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/s390/kernel/ptrace.c linux-4.4/arch/s390/kernel/ptrace.c
+--- linux-4.4/arch/s390/kernel/ptrace.c 2021-02-24 16:56:10.475711720 +0100
++++ linux-4.4/arch/s390/kernel/ptrace.c 2021-02-24 16:56:24.539487958 +0100
@@ -21,6 +21,7 @@
#include <linux/tracehook.h>
#include <linux/seccomp.h>
#include <trace/syscall.h>
#include <asm/segment.h>
#include <asm/page.h>
-diff -NurpP --minimal linux-4.4.161/arch/s390/kernel/syscalls.S linux-4.4.161-vs2.3.9.8/arch/s390/kernel/syscalls.S
---- linux-4.4.161/arch/s390/kernel/syscalls.S 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/s390/kernel/syscalls.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/s390/kernel/syscalls.S linux-4.4/arch/s390/kernel/syscalls.S
+--- linux-4.4/arch/s390/kernel/syscalls.S 2021-02-24 16:56:10.475711720 +0100
++++ linux-4.4/arch/s390/kernel/syscalls.S 2021-02-24 16:56:24.539487958 +0100
@@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,compat_sys_clo
SYSCALL(sys_clock_gettime,compat_sys_clock_gettime) /* 260 */
SYSCALL(sys_clock_getres,compat_sys_clock_getres)
SYSCALL(sys_ni_syscall,compat_sys_s390_fadvise64_64)
SYSCALL(sys_statfs64,compat_sys_statfs64)
SYSCALL(sys_fstatfs64,compat_sys_fstatfs64)
-diff -NurpP --minimal linux-4.4.161/arch/sh/Kconfig linux-4.4.161-vs2.3.9.8/arch/sh/Kconfig
---- linux-4.4.161/arch/sh/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sh/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sh/Kconfig linux-4.4/arch/sh/Kconfig
+--- linux-4.4/arch/sh/Kconfig 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/sh/Kconfig 2021-02-24 16:56:24.542821396 +0100
@@ -883,6 +883,8 @@ source "fs/Kconfig"
source "arch/sh/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/sh/kernel/irq.c linux-4.4.161-vs2.3.9.8/arch/sh/kernel/irq.c
---- linux-4.4.161/arch/sh/kernel/irq.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sh/kernel/irq.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sh/kernel/irq.c linux-4.4/arch/sh/kernel/irq.c
+--- linux-4.4/arch/sh/kernel/irq.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/sh/kernel/irq.c 2021-02-24 16:56:24.542821396 +0100
@@ -14,6 +14,7 @@
#include <linux/ftrace.h>
#include <linux/delay.h>
#include <asm/processor.h>
#include <asm/machvec.h>
#include <asm/uaccess.h>
-diff -NurpP --minimal linux-4.4.161/arch/sparc/Kconfig linux-4.4.161-vs2.3.9.8/arch/sparc/Kconfig
---- linux-4.4.161/arch/sparc/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sparc/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sparc/Kconfig linux-4.4/arch/sparc/Kconfig
+--- linux-4.4/arch/sparc/Kconfig 2021-02-24 16:56:10.485712035 +0100
++++ linux-4.4/arch/sparc/Kconfig 2021-02-24 16:56:24.542821396 +0100
@@ -561,6 +561,8 @@ source "fs/Kconfig"
source "arch/sparc/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/sparc/include/uapi/asm/unistd.h linux-4.4.161-vs2.3.9.8/arch/sparc/include/uapi/asm/unistd.h
---- linux-4.4.161/arch/sparc/include/uapi/asm/unistd.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sparc/include/uapi/asm/unistd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sparc/include/uapi/asm/unistd.h linux-4.4/arch/sparc/include/uapi/asm/unistd.h
+--- linux-4.4/arch/sparc/include/uapi/asm/unistd.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/sparc/include/uapi/asm/unistd.h 2021-02-24 16:56:24.542821396 +0100
@@ -332,7 +332,7 @@
#define __NR_timer_getoverrun 264
#define __NR_timer_delete 265
#define __NR_io_setup 268
#define __NR_io_destroy 269
#define __NR_io_submit 270
-diff -NurpP --minimal linux-4.4.161/arch/sparc/kernel/systbls_32.S linux-4.4.161-vs2.3.9.8/arch/sparc/kernel/systbls_32.S
---- linux-4.4.161/arch/sparc/kernel/systbls_32.S 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sparc/kernel/systbls_32.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sparc/kernel/systbls_32.S linux-4.4/arch/sparc/kernel/systbls_32.S
+--- linux-4.4/arch/sparc/kernel/systbls_32.S 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/sparc/kernel/systbls_32.S 2021-02-24 16:56:24.542821396 +0100
@@ -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
/*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-4.4.161/arch/sparc/kernel/systbls_64.S linux-4.4.161-vs2.3.9.8/arch/sparc/kernel/systbls_64.S
---- linux-4.4.161/arch/sparc/kernel/systbls_64.S 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/sparc/kernel/systbls_64.S 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/sparc/kernel/systbls_64.S linux-4.4/arch/sparc/kernel/systbls_64.S
+--- linux-4.4/arch/sparc/kernel/systbls_64.S 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/sparc/kernel/systbls_64.S 2021-02-24 16:56:24.542821396 +0100
@@ -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
/*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-4.4.161/arch/um/Kconfig.rest linux-4.4.161-vs2.3.9.8/arch/um/Kconfig.rest
---- linux-4.4.161/arch/um/Kconfig.rest 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/um/Kconfig.rest 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/um/Kconfig.rest linux-4.4/arch/um/Kconfig.rest
+--- linux-4.4/arch/um/Kconfig.rest 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/um/Kconfig.rest 2021-02-24 16:56:24.542821396 +0100
@@ -12,6 +12,8 @@ source "arch/um/Kconfig.net"
source "fs/Kconfig"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/x86/Kconfig linux-4.4.161-vs2.3.9.8/arch/x86/Kconfig
---- linux-4.4.161/arch/x86/Kconfig 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/x86/Kconfig 2018-10-20 04:57:21.000000000 +0000
-@@ -2693,6 +2693,8 @@ source "fs/Kconfig"
+diff -urNp -x '*.orig' linux-4.4/arch/x86/Kconfig linux-4.4/arch/x86/Kconfig
+--- linux-4.4/arch/x86/Kconfig 2021-02-24 16:56:10.502379227 +0100
++++ linux-4.4/arch/x86/Kconfig 2021-02-24 16:56:24.542821396 +0100
+@@ -2724,6 +2724,8 @@ source "fs/Kconfig"
source "arch/x86/Kconfig.debug"
source "security/Kconfig"
source "crypto/Kconfig"
-diff -NurpP --minimal linux-4.4.161/arch/x86/entry/syscalls/syscall_32.tbl linux-4.4.161-vs2.3.9.8/arch/x86/entry/syscalls/syscall_32.tbl
---- linux-4.4.161/arch/x86/entry/syscalls/syscall_32.tbl 2018-10-20 02:34:25.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/x86/entry/syscalls/syscall_32.tbl 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/x86/entry/syscalls/syscall_32.tbl linux-4.4/arch/x86/entry/syscalls/syscall_32.tbl
+--- linux-4.4/arch/x86/entry/syscalls/syscall_32.tbl 2021-02-24 16:56:10.509046103 +0100
++++ linux-4.4/arch/x86/entry/syscalls/syscall_32.tbl 2021-02-24 16:56:24.542821396 +0100
@@ -279,7 +279,7 @@
270 i386 tgkill sys_tgkill
271 i386 utimes sys_utimes compat_sys_utimes
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-4.4.161/arch/x86/entry/syscalls/syscall_64.tbl linux-4.4.161-vs2.3.9.8/arch/x86/entry/syscalls/syscall_64.tbl
---- linux-4.4.161/arch/x86/entry/syscalls/syscall_64.tbl 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/arch/x86/entry/syscalls/syscall_64.tbl 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/arch/x86/entry/syscalls/syscall_64.tbl linux-4.4/arch/x86/entry/syscalls/syscall_64.tbl
+--- linux-4.4/arch/x86/entry/syscalls/syscall_64.tbl 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/arch/x86/entry/syscalls/syscall_64.tbl 2021-02-24 16:56:24.542821396 +0100
@@ -242,7 +242,7 @@
233 common epoll_ctl sys_epoll_ctl
234 common tgkill sys_tgkill
237 common mbind sys_mbind
238 common set_mempolicy sys_set_mempolicy
239 common get_mempolicy sys_get_mempolicy
-diff -NurpP --minimal linux-4.4.161/block/ioprio.c linux-4.4.161-vs2.3.9.8/block/ioprio.c
---- linux-4.4.161/block/ioprio.c 2018-10-20 02:34:26.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/block/ioprio.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/block/ioprio.c linux-4.4/block/ioprio.c
+--- linux-4.4/block/ioprio.c 2021-02-24 16:56:10.582381746 +0100
++++ linux-4.4/block/ioprio.c 2021-02-24 16:56:24.542821396 +0100
@@ -28,6 +28,7 @@
#include <linux/syscalls.h>
#include <linux/security.h>
if (ret)
break;
@@ -203,6 +206,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which,
- else
pgrp = find_vpid(who);
+ read_lock(&tasklist_lock);
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-4.4.161/drivers/block/Kconfig linux-4.4.161-vs2.3.9.8/drivers/block/Kconfig
---- linux-4.4.161/drivers/block/Kconfig 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/block/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/block/Kconfig linux-4.4/drivers/block/Kconfig
+--- linux-4.4/drivers/block/Kconfig 2021-02-24 16:56:10.629049882 +0100
++++ linux-4.4/drivers/block/Kconfig 2021-02-24 16:56:24.542821396 +0100
@@ -283,6 +283,13 @@ config BLK_DEV_CRYPTOLOOP
source "drivers/block/drbd/Kconfig"
config BLK_DEV_NBD
tristate "Network block device support"
depends on NET
-diff -NurpP --minimal linux-4.4.161/drivers/block/Makefile linux-4.4.161-vs2.3.9.8/drivers/block/Makefile
---- linux-4.4.161/drivers/block/Makefile 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/block/Makefile 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/block/Makefile linux-4.4/drivers/block/Makefile
+--- linux-4.4/drivers/block/Makefile 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/drivers/block/Makefile 2021-02-24 16:56:24.542821396 +0100
@@ -32,6 +32,7 @@ obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o
obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/
-diff -NurpP --minimal linux-4.4.161/drivers/block/loop.c linux-4.4.161-vs2.3.9.8/drivers/block/loop.c
---- linux-4.4.161/drivers/block/loop.c 2018-10-20 02:34:26.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/block/loop.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/block/loop.c linux-4.4/drivers/block/loop.c
+--- linux-4.4/drivers/block/loop.c 2021-02-24 16:56:10.632383321 +0100
++++ linux-4.4/drivers/block/loop.c 2021-02-24 16:56:24.542821396 +0100
@@ -76,6 +76,7 @@
#include <linux/miscdevice.h>
#include <linux/falloc.h>
info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
memcpy(info->lo_encrypt_key, lo->lo_encrypt_key,
lo->lo_encrypt_key_size);
-@@ -1579,6 +1583,11 @@ static int lo_open(struct block_device *
+@@ -1580,6 +1584,11 @@ static int lo_open(struct block_device *
goto out;
}
atomic_inc(&lo->lo_refcnt);
out:
mutex_unlock(&loop_index_mutex);
-diff -NurpP --minimal linux-4.4.161/drivers/block/loop.h linux-4.4.161-vs2.3.9.8/drivers/block/loop.h
---- linux-4.4.161/drivers/block/loop.h 2018-10-20 02:34:26.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/block/loop.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/block/loop.h linux-4.4/drivers/block/loop.h
+--- linux-4.4/drivers/block/loop.h 2021-02-24 16:56:10.632383321 +0100
++++ linux-4.4/drivers/block/loop.h 2021-02-24 16:56:24.542821396 +0100
@@ -43,6 +43,7 @@ struct loop_device {
struct loop_func_table *lo_encryption;
__u32 lo_init[2];
int (*ioctl)(struct loop_device *, int cmd,
unsigned long arg);
-diff -NurpP --minimal linux-4.4.161/drivers/block/vroot.c linux-4.4.161-vs2.3.9.8/drivers/block/vroot.c
---- linux-4.4.161/drivers/block/vroot.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/block/vroot.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/block/vroot.c linux-4.4/drivers/block/vroot.c
+--- linux-4.4/drivers/block/vroot.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/drivers/block/vroot.c 2021-02-24 16:56:24.542821396 +0100
@@ -0,0 +1,291 @@
+/*
+ * linux/drivers/block/vroot.c
+
+#endif
+
-diff -NurpP --minimal linux-4.4.161/drivers/infiniband/core/addr.c linux-4.4.161-vs2.3.9.8/drivers/infiniband/core/addr.c
---- linux-4.4.161/drivers/infiniband/core/addr.c 2018-10-20 02:34:27.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/infiniband/core/addr.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/infiniband/core/addr.c linux-4.4/drivers/infiniband/core/addr.c
+--- linux-4.4/drivers/infiniband/core/addr.c 2021-02-24 16:56:10.869057440 +0100
++++ linux-4.4/drivers/infiniband/core/addr.c 2021-02-24 16:56:24.546154835 +0100
@@ -299,7 +299,7 @@ static int addr6_resolve(struct sockaddr
if (ipv6_addr_any(&fl6.saddr)) {
if (ret)
goto put;
-diff -NurpP --minimal linux-4.4.161/drivers/md/dm-ioctl.c linux-4.4.161-vs2.3.9.8/drivers/md/dm-ioctl.c
---- linux-4.4.161/drivers/md/dm-ioctl.c 2018-10-20 02:34:27.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/md/dm-ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/md/dm-ioctl.c linux-4.4/drivers/md/dm-ioctl.c
+--- linux-4.4/drivers/md/dm-ioctl.c 2021-02-24 16:56:10.939059645 +0100
++++ linux-4.4/drivers/md/dm-ioctl.c 2021-02-24 16:56:24.546154835 +0100
@@ -16,6 +16,7 @@
#include <linux/dm-ioctl.h>
#include <linux/hdreg.h>
if (old_nl)
old_nl->next = (uint32_t) ((void *) nl -
(void *) old_nl);
-@@ -1801,8 +1813,8 @@ static int ctl_ioctl(uint command, struc
+@@ -1796,8 +1808,8 @@ static int ctl_ioctl(uint command, struc
size_t input_param_size;
struct dm_ioctl param_kernel;
return -EACCES;
if (_IOC_TYPE(command) != DM_IOCTL)
-diff -NurpP --minimal linux-4.4.161/drivers/md/dm.c linux-4.4.161-vs2.3.9.8/drivers/md/dm.c
---- linux-4.4.161/drivers/md/dm.c 2018-10-20 02:34:27.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/md/dm.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/md/dm.c linux-4.4/drivers/md/dm.c
+--- linux-4.4/drivers/md/dm.c 2021-02-24 16:56:10.945726521 +0100
++++ linux-4.4/drivers/md/dm.c 2021-02-24 16:56:24.546154835 +0100
@@ -25,6 +25,7 @@
#include <linux/elevator.h> /* for rq_end_sector() */
#include <linux/blk-mq.h>
md->queue = blk_alloc_queue(GFP_KERNEL);
if (!md->queue)
goto bad;
-diff -NurpP --minimal linux-4.4.161/drivers/md/dm.h linux-4.4.161-vs2.3.9.8/drivers/md/dm.h
---- linux-4.4.161/drivers/md/dm.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/md/dm.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/md/dm.h linux-4.4/drivers/md/dm.h
+--- linux-4.4/drivers/md/dm.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/drivers/md/dm.h 2021-02-24 16:56:24.546154835 +0100
@@ -52,6 +52,8 @@ struct dm_dev_internal {
struct dm_table;
struct dm_md_mempools;
/*-----------------------------------------------------------------
* Internal table functions.
*---------------------------------------------------------------*/
-diff -NurpP --minimal linux-4.4.161/drivers/net/tun.c linux-4.4.161-vs2.3.9.8/drivers/net/tun.c
---- linux-4.4.161/drivers/net/tun.c 2018-10-20 02:34:28.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/net/tun.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/net/tun.c linux-4.4/drivers/net/tun.c
+--- linux-4.4/drivers/net/tun.c 2021-02-24 16:56:11.222401901 +0100
++++ linux-4.4/drivers/net/tun.c 2021-02-24 16:56:24.546154835 +0100
@@ -65,6 +65,7 @@
#include <linux/nsproxy.h>
#include <linux/virtio_net.h>
}
static void tun_set_real_num_queues(struct tun_struct *tun)
-@@ -1463,6 +1466,7 @@ static void tun_setup(struct net_device
+@@ -1465,6 +1468,7 @@ static void tun_setup(struct net_device
tun->owner = INVALID_UID;
tun->group = INVALID_GID;
dev->ethtool_ops = &tun_ethtool_ops;
dev->destructor = tun_free_netdev;
-@@ -1657,7 +1661,7 @@ static int tun_set_iff(struct net *net,
+@@ -1661,7 +1665,7 @@ static int tun_set_iff(struct net *net,
int queues = ifr->ifr_flags & IFF_MULTI_QUEUE ?
MAX_TAP_QUEUES : 1;
return -EPERM;
err = security_tun_dev_create();
if (err < 0)
-@@ -2010,6 +2014,16 @@ static long __tun_chr_ioctl(struct file
+@@ -2018,6 +2022,16 @@ static long __tun_chr_ioctl(struct file
from_kgid(&init_user_ns, tun->group));
break;
case TUNSETLINK:
/* Only allow setting the type when the interface is down */
if (tun->dev->flags & IFF_UP) {
-diff -NurpP --minimal linux-4.4.161/drivers/scsi/cxgbi/libcxgbi.c linux-4.4.161-vs2.3.9.8/drivers/scsi/cxgbi/libcxgbi.c
---- linux-4.4.161/drivers/scsi/cxgbi/libcxgbi.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/scsi/cxgbi/libcxgbi.c 2018-10-20 04:57:21.000000000 +0000
-@@ -768,7 +768,8 @@ static struct cxgbi_sock *cxgbi_check_ro
+diff -urNp -x '*.orig' linux-4.4/drivers/scsi/cxgbi/libcxgbi.c linux-4.4/drivers/scsi/cxgbi/libcxgbi.c
+--- linux-4.4/drivers/scsi/cxgbi/libcxgbi.c 2021-02-24 16:56:11.419074761 +0100
++++ linux-4.4/drivers/scsi/cxgbi/libcxgbi.c 2021-02-24 16:56:24.546154835 +0100
+@@ -773,7 +773,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,
if (err) {
pr_info("failed to get source address to reach %pI6\n",
&daddr6->sin6_addr);
-diff -NurpP --minimal linux-4.4.161/drivers/tty/sysrq.c linux-4.4.161-vs2.3.9.8/drivers/tty/sysrq.c
---- linux-4.4.161/drivers/tty/sysrq.c 2018-10-20 02:34:29.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/tty/sysrq.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/tty/sysrq.c linux-4.4/drivers/tty/sysrq.c
+--- linux-4.4/drivers/tty/sysrq.c 2021-02-24 16:56:11.559079170 +0100
++++ linux-4.4/drivers/tty/sysrq.c 2021-02-24 16:56:24.546154835 +0100
@@ -47,6 +47,7 @@
#include <linux/syscalls.h>
#include <linux/of.h>
else
retval = -1;
return retval;
-diff -NurpP --minimal linux-4.4.161/drivers/tty/tty_io.c linux-4.4.161-vs2.3.9.8/drivers/tty/tty_io.c
---- linux-4.4.161/drivers/tty/tty_io.c 2018-10-20 02:34:29.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/drivers/tty/tty_io.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/drivers/tty/tty_io.c linux-4.4/drivers/tty/tty_io.c
+--- linux-4.4/drivers/tty/tty_io.c 2021-02-24 16:56:11.559079170 +0100
++++ linux-4.4/drivers/tty/tty_io.c 2021-02-24 16:56:24.546154835 +0100
@@ -104,6 +104,7 @@
#include <linux/kmod.h>
#undef TTY_DEBUG_HANGUP
#ifdef TTY_DEBUG_HANGUP
-@@ -2291,7 +2292,8 @@ static int tiocsti(struct tty_struct *tt
+@@ -2296,7 +2297,8 @@ static int tiocsti(struct tty_struct *tt
char ch, mbz = 0;
struct tty_ldisc *ld;
return -EPERM;
if (get_user(ch, p))
return -EFAULT;
-@@ -2604,6 +2606,7 @@ static int tiocspgrp(struct tty_struct *
- return -ENOTTY;
+@@ -2607,6 +2609,7 @@ static int tiocspgrp(struct tty_struct *
+
if (get_user(pgrp_nr, p))
return -EFAULT;
+ pgrp_nr = vx_rmap_pid(pgrp_nr);
if (pgrp_nr < 0)
return -EINVAL;
- rcu_read_lock();
-diff -NurpP --minimal linux-4.4.161/fs/attr.c linux-4.4.161-vs2.3.9.8/fs/attr.c
---- linux-4.4.161/fs/attr.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/attr.c 2018-10-20 04:57:21.000000000 +0000
+
+diff -urNp -x '*.orig' linux-4.4/fs/attr.c linux-4.4/fs/attr.c
+--- linux-4.4/fs/attr.c 2021-02-24 16:56:11.675749511 +0100
++++ linux-4.4/fs/attr.c 2021-02-24 16:56:24.549488273 +0100
@@ -15,6 +15,9 @@
#include <linux/security.h>
#include <linux/evm.h>
if (IS_IMMUTABLE(inode) || IS_APPEND(inode))
return -EPERM;
}
-diff -NurpP --minimal linux-4.4.161/fs/block_dev.c linux-4.4.161-vs2.3.9.8/fs/block_dev.c
---- linux-4.4.161/fs/block_dev.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/block_dev.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/block_dev.c linux-4.4/fs/block_dev.c
+--- linux-4.4/fs/block_dev.c 2021-02-24 16:56:11.679082949 +0100
++++ linux-4.4/fs/block_dev.c 2021-02-24 16:56:24.549488273 +0100
@@ -29,6 +29,7 @@
#include <linux/log2.h>
#include <linux/cleancache.h>
if (bdev) {
spin_lock(&bdev_lock);
if (!inode->i_bdev) {
-diff -NurpP --minimal linux-4.4.161/fs/btrfs/ctree.h linux-4.4.161-vs2.3.9.8/fs/btrfs/ctree.h
---- linux-4.4.161/fs/btrfs/ctree.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/btrfs/ctree.h 2018-10-20 04:57:21.000000000 +0000
-@@ -731,11 +731,14 @@ struct btrfs_inode_item {
+diff -urNp -x '*.orig' linux-4.4/fs/btrfs/ctree.h linux-4.4/fs/btrfs/ctree.h
+--- linux-4.4/fs/btrfs/ctree.h 2021-02-24 16:56:11.682416387 +0100
++++ linux-4.4/fs/btrfs/ctree.h 2021-02-24 16:56:24.549488273 +0100
+@@ -732,11 +732,14 @@ struct btrfs_inode_item {
/* modification sequence number for NFS */
__le64 sequence;
#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)
-@@ -2528,6 +2533,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st
+@@ -2531,6 +2536,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_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);
-@@ -2575,6 +2581,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct
+@@ -2578,6 +2584,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct
BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32);
BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8);
-@@ -4022,6 +4032,7 @@ long btrfs_ioctl(struct file *file, unsi
+@@ -4041,6 +4051,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);
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-4.4.161/fs/btrfs/disk-io.c linux-4.4.161-vs2.3.9.8/fs/btrfs/disk-io.c
---- linux-4.4.161/fs/btrfs/disk-io.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/btrfs/disk-io.c 2018-10-20 05:50:20.000000000 +0000
-@@ -2737,6 +2737,9 @@ int open_ctree(struct super_block *sb,
+diff -urNp -x '*.orig' linux-4.4/fs/btrfs/disk-io.c linux-4.4/fs/btrfs/disk-io.c
+--- linux-4.4/fs/btrfs/disk-io.c 2021-02-24 16:56:11.685749826 +0100
++++ linux-4.4/fs/btrfs/disk-io.c 2021-02-24 16:56:24.549488273 +0100
+@@ -2666,6 +2666,9 @@ int open_ctree(struct super_block *sb,
goto fail_alloc;
}
features = btrfs_super_incompat_flags(disk_super) &
~BTRFS_FEATURE_INCOMPAT_SUPP;
if (features) {
-diff -NurpP --minimal linux-4.4.161/fs/btrfs/inode.c linux-4.4.161-vs2.3.9.8/fs/btrfs/inode.c
---- linux-4.4.161/fs/btrfs/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/btrfs/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/btrfs/inode.c linux-4.4/fs/btrfs/inode.c
+--- linux-4.4/fs/btrfs/inode.c 2021-02-24 16:56:11.692416702 +0100
++++ linux-4.4/fs/btrfs/inode.c 2021-02-24 16:56:24.552821711 +0100
@@ -43,6 +43,7 @@
#include <linux/blkdev.h>
#include <linux/posix_acl_xattr.h>
#include "ctree.h"
#include "disk-io.h"
#include "transaction.h"
-@@ -3649,6 +3650,9 @@ static void btrfs_read_locked_inode(stru
+@@ -3666,6 +3667,9 @@ static void btrfs_read_locked_inode(stru
unsigned long ptr;
int maybe_acls;
u32 rdev;
int ret;
bool filled = false;
int first_xattr_slot;
-@@ -3676,8 +3680,14 @@ static void btrfs_read_locked_inode(stru
+@@ -3693,8 +3697,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));
btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item));
inode->i_atime.tv_sec = btrfs_timespec_sec(leaf, &inode_item->atime);
-@@ -3833,11 +3843,18 @@ static void fill_inode_item(struct btrfs
+@@ -3850,11 +3860,18 @@ static void fill_inode_item(struct btrfs
struct inode *inode)
{
struct btrfs_map_token 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);
-@@ -10092,6 +10109,7 @@ static const struct inode_operations btr
+@@ -10133,6 +10150,7 @@ static const struct inode_operations btr
.listxattr = btrfs_listxattr,
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
.get_acl = btrfs_get_acl,
.set_acl = btrfs_set_acl,
.update_time = btrfs_update_time,
-@@ -10100,6 +10118,7 @@ static const struct inode_operations btr
+@@ -10141,6 +10159,7 @@ static const struct inode_operations btr
static const struct inode_operations btrfs_dir_ro_inode_operations = {
.lookup = btrfs_lookup,
.permission = btrfs_permission,
.get_acl = btrfs_get_acl,
.set_acl = btrfs_set_acl,
.update_time = btrfs_update_time,
-@@ -10170,6 +10189,7 @@ static const struct inode_operations btr
+@@ -10211,6 +10230,7 @@ static const struct inode_operations btr
.removexattr = btrfs_removexattr,
.permission = btrfs_permission,
.fiemap = btrfs_fiemap,
.get_acl = btrfs_get_acl,
.set_acl = btrfs_set_acl,
.update_time = btrfs_update_time,
-diff -NurpP --minimal linux-4.4.161/fs/btrfs/ioctl.c linux-4.4.161-vs2.3.9.8/fs/btrfs/ioctl.c
---- linux-4.4.161/fs/btrfs/ioctl.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/btrfs/ioctl.c 2018-10-20 04:57:21.000000000 +0000
-@@ -108,10 +108,13 @@ static unsigned int btrfs_flags_to_ioctl
+diff -urNp -x '*.orig' linux-4.4/fs/btrfs/ioctl.c linux-4.4/fs/btrfs/ioctl.c
+--- linux-4.4/fs/btrfs/ioctl.c 2021-02-24 16:56:11.692416702 +0100
++++ linux-4.4/fs/btrfs/ioctl.c 2021-02-24 16:56:24.552821711 +0100
+@@ -109,10 +109,13 @@ static unsigned int btrfs_flags_to_ioctl
{
unsigned int iflags = 0;
if (flags & BTRFS_INODE_APPEND)
iflags |= FS_APPEND_FL;
if (flags & BTRFS_INODE_NODUMP)
-@@ -128,34 +131,84 @@ static unsigned int btrfs_flags_to_ioctl
+@@ -129,34 +132,84 @@ static unsigned int btrfs_flags_to_ioctl
else if (flags & BTRFS_INODE_NOCOMPRESS)
iflags |= FS_NOCOMP_FL;
* Inherit flags from the parent inode.
*
* Currently only the compression flags and the cow flags are inherited.
-@@ -168,6 +221,7 @@ void btrfs_inherit_iflags(struct inode *
+@@ -169,6 +222,7 @@ void btrfs_inherit_iflags(struct inode *
return;
flags = BTRFS_I(dir)->flags;
if (flags & BTRFS_INODE_NOCOMPRESS) {
BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS;
-@@ -186,6 +240,30 @@ void btrfs_inherit_iflags(struct inode *
+@@ -187,6 +241,30 @@ void btrfs_inherit_iflags(struct inode *
btrfs_update_iflags(inode);
}
static int btrfs_ioctl_getflags(struct file *file, void __user *arg)
{
struct btrfs_inode *ip = BTRFS_I(file_inode(file));
-@@ -248,21 +326,27 @@ static int btrfs_ioctl_setflags(struct f
+@@ -249,21 +327,27 @@ static int btrfs_ioctl_setflags(struct f
flags = btrfs_mask_flags(inode->i_mode, flags);
oldflags = btrfs_flags_to_ioctl(ip->flags);
if (flags & FS_APPEND_FL)
ip->flags |= BTRFS_INODE_APPEND;
else
-diff -NurpP --minimal linux-4.4.161/fs/btrfs/super.c linux-4.4.161-vs2.3.9.8/fs/btrfs/super.c
---- linux-4.4.161/fs/btrfs/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/btrfs/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/btrfs/super.c linux-4.4/fs/btrfs/super.c
+--- linux-4.4/fs/btrfs/super.c 2021-02-24 16:56:11.699083579 +0100
++++ linux-4.4/fs/btrfs/super.c 2021-02-24 16:56:24.552821711 +0100
@@ -306,7 +306,7 @@ enum {
#ifdef CONFIG_BTRFS_DEBUG
Opt_fragment_data, Opt_fragment_metadata, Opt_fragment_all,
case Opt_err:
btrfs_info(root->fs_info, "unrecognized mount option '%s'", p);
ret = -EINVAL;
-@@ -1647,6 +1666,12 @@ static int btrfs_remount(struct super_bl
+@@ -1653,6 +1672,12 @@ static int btrfs_remount(struct super_bl
btrfs_resize_thread_pool(fs_info,
fs_info->thread_pool_size, old_thread_pool_size);
if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY))
goto out;
-diff -NurpP --minimal linux-4.4.161/fs/char_dev.c linux-4.4.161-vs2.3.9.8/fs/char_dev.c
---- linux-4.4.161/fs/char_dev.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/char_dev.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/char_dev.c linux-4.4/fs/char_dev.c
+--- linux-4.4/fs/char_dev.c 2021-02-24 16:56:11.709083894 +0100
++++ linux-4.4/fs/char_dev.c 2021-02-24 16:56:24.552821711 +0100
@@ -21,6 +21,8 @@
#include <linux/mutex.h>
#include <linux/backing-dev.h>
#include "internal.h"
-@@ -350,14 +352,21 @@ static int chrdev_open(struct inode *ino
+@@ -356,14 +358,21 @@ static int chrdev_open(struct inode *ino
struct cdev *p;
struct cdev *new = NULL;
int ret = 0;
if (!kobj)
return -ENXIO;
new = container_of(kobj, struct cdev, kobj);
-diff -NurpP --minimal linux-4.4.161/fs/dcache.c linux-4.4.161-vs2.3.9.8/fs/dcache.c
---- linux-4.4.161/fs/dcache.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/dcache.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/dcache.c linux-4.4/fs/dcache.c
+--- linux-4.4/fs/dcache.c 2021-02-24 16:56:11.722417647 +0100
++++ linux-4.4/fs/dcache.c 2021-02-24 16:56:24.552821711 +0100
@@ -39,6 +39,7 @@
#include <linux/ratelimit.h>
#include <linux/list_lru.h>
spin_unlock(&dentry->d_lock);
if (parent)
spin_unlock(&parent->d_lock);
-@@ -1587,6 +1595,9 @@ struct dentry *__d_alloc(struct super_bl
+@@ -1581,6 +1589,9 @@ struct dentry *__d_alloc(struct super_bl
struct dentry *dentry;
char *dname;
dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL);
if (!dentry)
return NULL;
-@@ -1625,6 +1636,7 @@ struct dentry *__d_alloc(struct super_bl
+@@ -1619,6 +1630,7 @@ struct dentry *__d_alloc(struct super_bl
dentry->d_lockref.count = 1;
dentry->d_flags = 0;
spin_lock_init(&dentry->d_lock);
seqcount_init(&dentry->d_seq);
dentry->d_inode = NULL;
-@@ -2385,6 +2397,7 @@ struct dentry *__d_lookup(const struct d
+@@ -2379,6 +2391,7 @@ struct dentry *__d_lookup(const struct d
}
dentry->d_lockref.count++;
found = dentry;
spin_unlock(&dentry->d_lock);
break;
-@@ -3401,6 +3414,7 @@ static enum d_walk_ret d_genocide_kill(v
+@@ -3395,6 +3408,7 @@ static enum d_walk_ret d_genocide_kill(v
if (!(dentry->d_flags & DCACHE_GENOCIDE)) {
dentry->d_flags |= DCACHE_GENOCIDE;
dentry->d_lockref.count--;
}
}
return D_WALK_CONTINUE;
-diff -NurpP --minimal linux-4.4.161/fs/devpts/inode.c linux-4.4.161-vs2.3.9.8/fs/devpts/inode.c
---- linux-4.4.161/fs/devpts/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/devpts/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/devpts/inode.c linux-4.4/fs/devpts/inode.c
+--- linux-4.4/fs/devpts/inode.c 2021-02-24 16:56:11.722417647 +0100
++++ linux-4.4/fs/devpts/inode.c 2021-02-24 16:56:24.552821711 +0100
@@ -27,6 +27,7 @@
#include <linux/parser.h>
#include <linux/fsnotify.h>
inode->i_private = priv;
sprintf(s, "%d", index);
-diff -NurpP --minimal linux-4.4.161/fs/ext2/balloc.c linux-4.4.161-vs2.3.9.8/fs/ext2/balloc.c
---- linux-4.4.161/fs/ext2/balloc.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/balloc.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/balloc.c linux-4.4/fs/ext2/balloc.c
+--- linux-4.4/fs/ext2/balloc.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ext2/balloc.c 2021-02-24 16:56:24.552821711 +0100
@@ -693,7 +693,6 @@ ext2_try_to_allocate(struct super_block
start = 0;
end = EXT2_BLOCKS_PER_GROUP(sb);
BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb));
repeat:
-diff -NurpP --minimal linux-4.4.161/fs/ext2/ext2.h linux-4.4.161-vs2.3.9.8/fs/ext2/ext2.h
---- linux-4.4.161/fs/ext2/ext2.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/ext2.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/ext2.h linux-4.4/fs/ext2/ext2.h
+--- linux-4.4/fs/ext2/ext2.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ext2/ext2.h 2021-02-24 16:56:24.552821711 +0100
@@ -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) */
/* ioctl.c */
extern long ext2_ioctl(struct file *, unsigned int, unsigned long);
-diff -NurpP --minimal linux-4.4.161/fs/ext2/file.c linux-4.4.161-vs2.3.9.8/fs/ext2/file.c
---- linux-4.4.161/fs/ext2/file.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/file.c linux-4.4/fs/ext2/file.c
+--- linux-4.4/fs/ext2/file.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ext2/file.c 2021-02-24 16:56:24.552821711 +0100
@@ -202,4 +202,5 @@ const struct inode_operations ext2_file_
.get_acl = ext2_get_acl,
.set_acl = ext2_set_acl,
.fiemap = ext2_fiemap,
+ .sync_flags = ext2_sync_flags,
};
-diff -NurpP --minimal linux-4.4.161/fs/ext2/ialloc.c linux-4.4.161-vs2.3.9.8/fs/ext2/ialloc.c
---- linux-4.4.161/fs/ext2/ialloc.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/ialloc.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/ialloc.c linux-4.4/fs/ext2/ialloc.c
+--- linux-4.4/fs/ext2/ialloc.c 2021-02-24 16:56:11.729084524 +0100
++++ linux-4.4/fs/ext2/ialloc.c 2021-02-24 16:56:24.556155150 +0100
@@ -17,6 +17,7 @@
#include <linux/backing-dev.h>
#include <linux/buffer_head.h>
#include "ext2.h"
#include "xattr.h"
#include "acl.h"
-@@ -546,6 +547,7 @@ got:
+@@ -547,6 +548,7 @@ got:
inode->i_mode = mode;
inode->i_uid = current_fsuid();
inode->i_gid = dir->i_gid;
} else
inode_init_owner(inode, dir, mode);
-diff -NurpP --minimal linux-4.4.161/fs/ext2/inode.c linux-4.4.161-vs2.3.9.8/fs/ext2/inode.c
---- linux-4.4.161/fs/ext2/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/inode.c linux-4.4/fs/ext2/inode.c
+--- linux-4.4/fs/ext2/inode.c 2021-02-24 16:56:11.729084524 +0100
++++ linux-4.4/fs/ext2/inode.c 2021-02-24 16:56:24.556155150 +0100
@@ -33,6 +33,7 @@
#include <linux/fiemap.h>
#include <linux/namei.h>
error = dquot_transfer(inode, iattr);
if (error)
return error;
-diff -NurpP --minimal linux-4.4.161/fs/ext2/ioctl.c linux-4.4.161-vs2.3.9.8/fs/ext2/ioctl.c
---- linux-4.4.161/fs/ext2/ioctl.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/ioctl.c linux-4.4/fs/ext2/ioctl.c
+--- linux-4.4/fs/ext2/ioctl.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ext2/ioctl.c 2021-02-24 16:56:24.556155150 +0100
@@ -17,6 +17,16 @@
#include <asm/uaccess.h>
flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE;
ei->i_flags = flags;
-diff -NurpP --minimal linux-4.4.161/fs/ext2/namei.c linux-4.4.161-vs2.3.9.8/fs/ext2/namei.c
---- linux-4.4.161/fs/ext2/namei.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/namei.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/namei.c linux-4.4/fs/ext2/namei.c
+--- linux-4.4/fs/ext2/namei.c 2021-02-24 16:56:11.729084524 +0100
++++ linux-4.4/fs/ext2/namei.c 2021-02-24 16:56:24.556155150 +0100
@@ -32,6 +32,7 @@
#include <linux/pagemap.h>
.get_acl = ext2_get_acl,
.set_acl = ext2_set_acl,
};
-diff -NurpP --minimal linux-4.4.161/fs/ext2/super.c linux-4.4.161-vs2.3.9.8/fs/ext2/super.c
---- linux-4.4.161/fs/ext2/super.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext2/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext2/super.c linux-4.4/fs/ext2/super.c
+--- linux-4.4/fs/ext2/super.c 2021-02-24 16:56:11.729084524 +0100
++++ linux-4.4/fs/ext2/super.c 2021-02-24 16:56:24.556155150 +0100
@@ -408,7 +408,8 @@ enum {
Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug,
Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr,
case Opt_nocheck:
clear_opt (sbi->s_mount_opt, CHECK);
break;
-@@ -884,6 +902,8 @@ static int ext2_fill_super(struct super_
+@@ -895,6 +913,8 @@ static int ext2_fill_super(struct super_
if (!parse_options((char *) data, sb))
goto failed_mount;
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ?
MS_POSIXACL : 0);
-@@ -1294,6 +1314,14 @@ static int ext2_remount (struct super_bl
+@@ -1305,6 +1325,14 @@ static int ext2_remount (struct super_bl
err = -EINVAL;
goto restore_opts;
}
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
-diff -NurpP --minimal linux-4.4.161/fs/ext4/ext4.h linux-4.4.161-vs2.3.9.8/fs/ext4/ext4.h
---- linux-4.4.161/fs/ext4/ext4.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/ext4.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/ext4.h linux-4.4/fs/ext4/ext4.h
+--- linux-4.4/fs/ext4/ext4.h 2021-02-24 16:56:11.732417962 +0100
++++ linux-4.4/fs/ext4/ext4.h 2021-02-24 16:56:24.556155150 +0100
@@ -375,8 +375,11 @@ struct flex_groups {
#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */
#define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */
#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 */
-@@ -2496,6 +2501,7 @@ extern int ext4_punch_hole(struct inode
+@@ -2528,6 +2533,7 @@ extern int ext4_punch_hole(struct inode
extern int ext4_truncate_restart_trans(handle_t *, struct inode *, int nblocks);
extern void ext4_set_inode_flags(struct inode *);
extern void ext4_get_inode_flags(struct ext4_inode_info *);
extern int ext4_alloc_da_blocks(struct inode *inode);
extern void ext4_set_aops(struct inode *inode);
extern int ext4_writepage_trans_blocks(struct inode *);
-diff -NurpP --minimal linux-4.4.161/fs/ext4/file.c linux-4.4.161-vs2.3.9.8/fs/ext4/file.c
---- linux-4.4.161/fs/ext4/file.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/file.c linux-4.4/fs/ext4/file.c
+--- linux-4.4/fs/ext4/file.c 2021-02-24 16:56:11.735751400 +0100
++++ linux-4.4/fs/ext4/file.c 2021-02-24 16:56:24.556155150 +0100
@@ -749,5 +749,6 @@ const struct inode_operations ext4_file_
.get_acl = ext4_get_acl,
.set_acl = ext4_set_acl,
+ .sync_flags = ext4_sync_flags,
};
-diff -NurpP --minimal linux-4.4.161/fs/ext4/ialloc.c linux-4.4.161-vs2.3.9.8/fs/ext4/ialloc.c
---- linux-4.4.161/fs/ext4/ialloc.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/ialloc.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/ialloc.c linux-4.4/fs/ext4/ialloc.c
+--- linux-4.4/fs/ext4/ialloc.c 2021-02-24 16:56:11.735751400 +0100
++++ linux-4.4/fs/ext4/ialloc.c 2021-02-24 16:56:24.556155150 +0100
@@ -21,6 +21,7 @@
#include <linux/random.h>
#include <linux/bitops.h>
#include <asm/byteorder.h>
#include "ext4.h"
-@@ -777,6 +778,7 @@ struct inode *__ext4_new_inode(handle_t
+@@ -780,6 +781,7 @@ struct inode *__ext4_new_inode(handle_t
inode->i_mode = mode;
inode->i_uid = current_fsuid();
inode->i_gid = dir->i_gid;
} else
inode_init_owner(inode, dir, mode);
err = dquot_initialize(inode);
-diff -NurpP --minimal linux-4.4.161/fs/ext4/inode.c linux-4.4.161-vs2.3.9.8/fs/ext4/inode.c
---- linux-4.4.161/fs/ext4/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/inode.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/inode.c linux-4.4/fs/ext4/inode.c
+--- linux-4.4/fs/ext4/inode.c 2021-02-24 16:56:11.739084838 +0100
++++ linux-4.4/fs/ext4/inode.c 2021-02-24 16:56:24.556155150 +0100
@@ -37,6 +37,7 @@
#include <linux/printk.h>
#include <linux/slab.h>
#include "ext4_jbd2.h"
#include "xattr.h"
-@@ -4129,12 +4130,15 @@ void ext4_set_inode_flags(struct inode *
+@@ -4149,12 +4150,15 @@ void ext4_set_inode_flags(struct inode *
unsigned int flags = EXT4_I(inode)->i_flags;
unsigned int new_fl = 0;
if (flags & EXT4_NOATIME_FL)
new_fl |= S_NOATIME;
if (flags & EXT4_DIRSYNC_FL)
-@@ -4142,31 +4146,52 @@ void ext4_set_inode_flags(struct inode *
+@@ -4162,31 +4166,52 @@ void ext4_set_inode_flags(struct inode *
if (test_opt(inode->i_sb, DAX))
new_fl |= S_DAX;
inode_set_flags(inode, new_fl,
} while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl);
}
-@@ -4276,8 +4301,10 @@ struct inode *ext4_iget(struct super_blo
+@@ -4318,8 +4343,10 @@ struct inode *__ext4_iget(struct super_b
i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16;
i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16;
}
set_nlink(inode, le16_to_cpu(raw_inode->i_links_count));
ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */
-@@ -4591,8 +4618,10 @@ static int ext4_do_update_inode(handle_t
+@@ -4641,8 +4668,10 @@ static int ext4_do_update_inode(handle_t
ext4_get_inode_flags(ei);
raw_inode->i_mode = cpu_to_le16(inode->i_mode);
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));
-@@ -4615,6 +4644,9 @@ static int ext4_do_update_inode(handle_t
+@@ -4665,6 +4694,9 @@ static int ext4_do_update_inode(handle_t
raw_inode->i_uid_high = 0;
raw_inode->i_gid_high = 0;
}
raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
-@@ -4860,7 +4892,8 @@ int ext4_setattr(struct dentry *dentry,
+@@ -4910,7 +4942,8 @@ int ext4_setattr(struct dentry *dentry,
return error;
}
if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) ||
handle_t *handle;
/* (user+group)*(old+new) structure, inode write (sb,
-@@ -4883,6 +4916,8 @@ int ext4_setattr(struct dentry *dentry,
+@@ -4933,6 +4966,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;
error = ext4_mark_inode_dirty(handle, inode);
ext4_journal_stop(handle);
}
-diff -NurpP --minimal linux-4.4.161/fs/ext4/ioctl.c linux-4.4.161-vs2.3.9.8/fs/ext4/ioctl.c
---- linux-4.4.161/fs/ext4/ioctl.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/ioctl.c linux-4.4/fs/ext4/ioctl.c
+--- linux-4.4/fs/ext4/ioctl.c 2021-02-24 16:56:11.739084838 +0100
++++ linux-4.4/fs/ext4/ioctl.c 2021-02-24 16:56:24.559488588 +0100
@@ -14,6 +14,7 @@
#include <linux/mount.h>
#include <linux/file.h>
if (!capable(CAP_LINUX_IMMUTABLE))
goto flags_out;
}
-diff -NurpP --minimal linux-4.4.161/fs/ext4/namei.c linux-4.4.161-vs2.3.9.8/fs/ext4/namei.c
---- linux-4.4.161/fs/ext4/namei.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/namei.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/namei.c linux-4.4/fs/ext4/namei.c
+--- linux-4.4/fs/ext4/namei.c 2021-02-24 16:56:11.739084838 +0100
++++ linux-4.4/fs/ext4/namei.c 2021-02-24 16:56:24.559488588 +0100
@@ -33,6 +33,7 @@
#include <linux/quotaops.h>
#include <linux/buffer_head.h>
#include "ext4.h"
#include "ext4_jbd2.h"
-@@ -1445,6 +1446,7 @@ restart:
+@@ -1429,6 +1430,7 @@ restart:
ll_rw_block(READ | REQ_META | REQ_PRIO,
1, &bh);
}
}
if ((bh = bh_use[ra_ptr++]) == NULL)
goto next;
-@@ -3881,6 +3883,7 @@ const struct inode_operations ext4_dir_i
+@@ -3872,6 +3874,7 @@ const struct inode_operations ext4_dir_i
.get_acl = ext4_get_acl,
.set_acl = ext4_set_acl,
.fiemap = ext4_fiemap,
};
const struct inode_operations ext4_special_inode_operations = {
-diff -NurpP --minimal linux-4.4.161/fs/ext4/super.c linux-4.4.161-vs2.3.9.8/fs/ext4/super.c
---- linux-4.4.161/fs/ext4/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ext4/super.c 2018-10-20 05:50:20.000000000 +0000
-@@ -1166,6 +1166,7 @@ enum {
+diff -urNp -x '*.orig' linux-4.4/fs/ext4/super.c linux-4.4/fs/ext4/super.c
+--- linux-4.4/fs/ext4/super.c 2021-02-24 16:56:11.742418277 +0100
++++ linux-4.4/fs/ext4/super.c 2021-02-24 16:56:24.559488588 +0100
+@@ -1179,6 +1179,7 @@ enum {
Opt_dioread_nolock, Opt_dioread_lock,
Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable,
Opt_max_dir_size_kb, Opt_nojournal_checksum,
};
static const match_table_t tokens = {
-@@ -1251,6 +1252,9 @@ static const match_table_t tokens = {
+@@ -1264,6 +1265,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_err, NULL},
};
-@@ -1493,6 +1497,20 @@ static int handle_mount_opt(struct super
+@@ -1506,6 +1510,20 @@ static int handle_mount_opt(struct super
case Opt_nolazytime:
sb->s_flags &= ~MS_LAZYTIME;
return 1;
}
for (m = ext4_mount_opts; m->token != Opt_err; m++)
-@@ -3414,6 +3432,9 @@ static int ext4_fill_super(struct super_
+@@ -3477,6 +3495,9 @@ static int ext4_fill_super(struct super_
sb->s_iflags |= SB_I_CGROUPWB;
}
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
(test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
-@@ -4792,6 +4813,14 @@ static int ext4_remount(struct super_blo
+@@ -4852,6 +4873,14 @@ static int ext4_remount(struct super_blo
if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED)
ext4_abort(sb, "Abort forced by user");
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
(test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0);
-diff -NurpP --minimal linux-4.4.161/fs/fcntl.c linux-4.4.161-vs2.3.9.8/fs/fcntl.c
---- linux-4.4.161/fs/fcntl.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/fcntl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/fcntl.c linux-4.4/fs/fcntl.c
+--- linux-4.4/fs/fcntl.c 2021-02-24 16:56:11.752418592 +0100
++++ linux-4.4/fs/fcntl.c 2021-02-24 16:56:24.559488588 +0100
@@ -22,6 +22,7 @@
#include <linux/pid_namespace.h>
#include <linux/user_namespace.h>
if (unlikely(f.file->f_mode & FMODE_PATH)) {
if (!check_fcntl_cmd(cmd))
-diff -NurpP --minimal linux-4.4.161/fs/file.c linux-4.4.161-vs2.3.9.8/fs/file.c
---- linux-4.4.161/fs/file.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/file.c linux-4.4/fs/file.c
+--- linux-4.4/fs/file.c 2021-02-24 16:56:11.752418592 +0100
++++ linux-4.4/fs/file.c 2021-02-24 16:56:24.559488588 +0100
@@ -22,6 +22,7 @@
#include <linux/spinlock.h>
#include <linux/rcupdate.h>
}
}
-@@ -538,6 +543,7 @@ repeat:
+@@ -539,6 +544,7 @@ repeat:
else
__clear_close_on_exec(fd, fdt);
error = fd;
#if 1
/* Sanity check */
if (rcu_access_pointer(fdt->fd[fd]) != NULL) {
-@@ -568,6 +574,7 @@ static void __put_unused_fd(struct files
+@@ -569,6 +575,7 @@ static void __put_unused_fd(struct files
__clear_open_fd(fd, fdt);
if (fd < files->next_fd)
files->next_fd = fd;
}
void put_unused_fd(unsigned int fd)
-@@ -850,6 +857,8 @@ __releases(&files->file_lock)
+@@ -851,6 +858,8 @@ __releases(&files->file_lock)
if (tofree)
filp_close(tofree, files);
return fd;
-diff -NurpP --minimal linux-4.4.161/fs/file_table.c linux-4.4.161-vs2.3.9.8/fs/file_table.c
---- linux-4.4.161/fs/file_table.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/file_table.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/file_table.c linux-4.4/fs/file_table.c
+--- linux-4.4/fs/file_table.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/file_table.c 2021-02-24 16:56:24.559488588 +0100
@@ -26,6 +26,8 @@
#include <linux/task_work.h>
#include <linux/ima.h>
file_free(file);
}
}
-diff -NurpP --minimal linux-4.4.161/fs/fs_struct.c linux-4.4.161-vs2.3.9.8/fs/fs_struct.c
---- linux-4.4.161/fs/fs_struct.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/fs_struct.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/fs_struct.c linux-4.4/fs/fs_struct.c
+--- linux-4.4/fs/fs_struct.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/fs_struct.c 2021-02-24 16:56:24.559488588 +0100
@@ -4,6 +4,7 @@
#include <linux/path.h>
#include <linux/slab.h>
}
return fs;
}
-diff -NurpP --minimal linux-4.4.161/fs/gfs2/file.c linux-4.4.161-vs2.3.9.8/fs/gfs2/file.c
---- linux-4.4.161/fs/gfs2/file.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/gfs2/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/gfs2/file.c linux-4.4/fs/gfs2/file.c
+--- linux-4.4/fs/gfs2/file.c 2021-02-24 16:56:11.755752030 +0100
++++ linux-4.4/fs/gfs2/file.c 2021-02-24 16:56:24.559488588 +0100
@@ -137,6 +137,9 @@ static const u32 fsflags_to_gfs2[32] = {
[12] = GFS2_DIF_EXHASH,
[14] = GFS2_DIF_INHERIT_JDATA,
static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
switch(cmd) {
-diff -NurpP --minimal linux-4.4.161/fs/gfs2/inode.h linux-4.4.161-vs2.3.9.8/fs/gfs2/inode.h
---- linux-4.4.161/fs/gfs2/inode.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/gfs2/inode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/gfs2/inode.h linux-4.4/fs/gfs2/inode.h
+--- linux-4.4/fs/gfs2/inode.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/gfs2/inode.h 2021-02-24 16:56:24.559488588 +0100
@@ -118,6 +118,7 @@ extern const struct file_operations gfs2
extern const struct file_operations gfs2_dir_fops_nolock;
#ifdef CONFIG_GFS2_FS_LOCKING_DLM
extern const struct file_operations gfs2_file_fops;
-diff -NurpP --minimal linux-4.4.161/fs/hostfs/hostfs.h linux-4.4.161-vs2.3.9.8/fs/hostfs/hostfs.h
---- linux-4.4.161/fs/hostfs/hostfs.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/hostfs/hostfs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/hostfs/hostfs.h linux-4.4/fs/hostfs/hostfs.h
+--- linux-4.4/fs/hostfs/hostfs.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/hostfs/hostfs.h 2021-02-24 16:56:24.559488588 +0100
@@ -42,6 +42,7 @@ struct hostfs_iattr {
unsigned short ia_mode;
uid_t ia_uid;
loff_t ia_size;
struct timespec ia_atime;
struct timespec ia_mtime;
-diff -NurpP --minimal linux-4.4.161/fs/inode.c linux-4.4.161-vs2.3.9.8/fs/inode.c
---- linux-4.4.161/fs/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/inode.c linux-4.4/fs/inode.c
+--- linux-4.4/fs/inode.c 2021-02-24 16:56:11.762418907 +0100
++++ linux-4.4/fs/inode.c 2021-02-24 16:56:24.559488588 +0100
@@ -18,6 +18,7 @@
#include <linux/buffer_head.h> /* for inode_has_buffers */
#include <linux/ratelimit.h>
+ /* essential because of inode slab reuse */
inode->i_blkbits = sb->s_blocksize_bits;
inode->i_flags = 0;
- atomic_set(&inode->i_count, 1);
-@@ -142,6 +145,7 @@ int inode_init_always(struct super_block
+ atomic64_set(&inode->i_sequence, 0);
+@@ -143,6 +146,7 @@ int inode_init_always(struct super_block
inode->i_opflags = 0;
i_uid_write(inode, 0);
i_gid_write(inode, 0);
atomic_set(&inode->i_writecount, 0);
inode->i_size = 0;
inode->i_blocks = 0;
-@@ -152,6 +156,7 @@ int inode_init_always(struct super_block
+@@ -153,6 +157,7 @@ int inode_init_always(struct super_block
inode->i_cdev = NULL;
inode->i_link = NULL;
inode->i_rdev = 0;
+ inode->i_mdev = 0;
inode->dirtied_when = 0;
- if (security_inode_alloc(inode))
-@@ -469,6 +474,8 @@ void __insert_inode_hash(struct inode *i
+ #ifdef CONFIG_CGROUP_WRITEBACK
+@@ -476,6 +481,8 @@ void __insert_inode_hash(struct inode *i
}
EXPORT_SYMBOL(__insert_inode_hash);
/**
* __remove_inode_hash - remove an inode from the hash
* @inode: inode to unhash
-@@ -1911,9 +1918,11 @@ void init_special_inode(struct inode *in
+@@ -1923,9 +1930,11 @@ void init_special_inode(struct inode *in
if (S_ISCHR(mode)) {
inode->i_fop = &def_chr_fops;
inode->i_rdev = rdev;
} else if (S_ISFIFO(mode))
inode->i_fop = &pipefifo_fops;
else if (S_ISSOCK(mode))
-@@ -1948,6 +1957,7 @@ void inode_init_owner(struct inode *inod
+@@ -1960,6 +1969,7 @@ void inode_init_owner(struct inode *inod
} else
inode->i_gid = current_fsgid();
inode->i_mode = mode;
}
EXPORT_SYMBOL(inode_init_owner);
-diff -NurpP --minimal linux-4.4.161/fs/ioctl.c linux-4.4.161-vs2.3.9.8/fs/ioctl.c
---- linux-4.4.161/fs/ioctl.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ioctl.c linux-4.4/fs/ioctl.c
+--- linux-4.4/fs/ioctl.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ioctl.c 2021-02-24 16:56:24.562822026 +0100
@@ -15,6 +15,9 @@
#include <linux/writeback.h>
#include <linux/buffer_head.h>
#include <asm/ioctls.h>
-diff -NurpP --minimal linux-4.4.161/fs/jfs/file.c linux-4.4.161-vs2.3.9.8/fs/jfs/file.c
---- linux-4.4.161/fs/jfs/file.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/file.c linux-4.4/fs/jfs/file.c
+--- linux-4.4/fs/jfs/file.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/file.c 2021-02-24 16:56:24.562822026 +0100
@@ -113,7 +113,8 @@ int jfs_setattr(struct dentry *dentry, s
return rc;
}
};
const struct file_operations jfs_file_operations = {
-diff -NurpP --minimal linux-4.4.161/fs/jfs/ioctl.c linux-4.4.161-vs2.3.9.8/fs/jfs/ioctl.c
---- linux-4.4.161/fs/jfs/ioctl.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/ioctl.c linux-4.4/fs/jfs/ioctl.c
+--- linux-4.4/fs/jfs/ioctl.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/ioctl.c 2021-02-24 16:56:24.562822026 +0100
@@ -12,6 +12,7 @@
#include <linux/time.h>
#include <linux/sched.h>
flags |= oldflags & ~JFS_FL_USER_MODIFIABLE;
jfs_inode->mode2 = flags;
-diff -NurpP --minimal linux-4.4.161/fs/jfs/jfs_dinode.h linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_dinode.h
---- linux-4.4.161/fs/jfs/jfs_dinode.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_dinode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/jfs_dinode.h linux-4.4/fs/jfs/jfs_dinode.h
+--- linux-4.4/fs/jfs/jfs_dinode.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/jfs_dinode.h 2021-02-24 16:56:24.562822026 +0100
@@ -161,9 +161,13 @@ struct dinode {
#define JFS_APPEND_FL 0x01000000 /* writes to file may only append */
#define JFS_FL_INHERIT 0x03C80000
/* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */
-diff -NurpP --minimal linux-4.4.161/fs/jfs/jfs_filsys.h linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_filsys.h
---- linux-4.4.161/fs/jfs/jfs_filsys.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_filsys.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/jfs_filsys.h linux-4.4/fs/jfs/jfs_filsys.h
+--- linux-4.4/fs/jfs/jfs_filsys.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/jfs_filsys.h 2021-02-24 16:56:24.562822026 +0100
@@ -266,6 +266,7 @@
#define JFS_NAME_MAX 255
#define JFS_PATH_MAX BPSIZE
/*
* file system state (superblock state)
-diff -NurpP --minimal linux-4.4.161/fs/jfs/jfs_imap.c linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_imap.c
---- linux-4.4.161/fs/jfs/jfs_imap.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_imap.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/jfs_imap.c linux-4.4/fs/jfs/jfs_imap.c
+--- linux-4.4/fs/jfs/jfs_imap.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/jfs_imap.c 2021-02-24 16:56:24.562822026 +0100
@@ -46,6 +46,7 @@
#include <linux/pagemap.h>
#include <linux/quotaops.h>
jfs_get_inode_flags(jfs_ip);
/*
* mode2 is only needed for storing the higher order bits.
-diff -NurpP --minimal linux-4.4.161/fs/jfs/jfs_inode.c linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_inode.c
---- linux-4.4.161/fs/jfs/jfs_inode.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/jfs_inode.c linux-4.4/fs/jfs/jfs_inode.c
+--- linux-4.4/fs/jfs/jfs_inode.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/jfs_inode.c 2021-02-24 16:56:24.562822026 +0100
@@ -18,6 +18,7 @@
#include <linux/fs.h>
}
/*
-diff -NurpP --minimal linux-4.4.161/fs/jfs/jfs_inode.h linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_inode.h
---- linux-4.4.161/fs/jfs/jfs_inode.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/jfs_inode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/jfs_inode.h linux-4.4/fs/jfs/jfs_inode.h
+--- linux-4.4/fs/jfs/jfs_inode.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/jfs/jfs_inode.h 2021-02-24 16:56:24.562822026 +0100
@@ -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);
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-4.4.161/fs/jfs/namei.c linux-4.4.161-vs2.3.9.8/fs/jfs/namei.c
---- linux-4.4.161/fs/jfs/namei.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/namei.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/namei.c linux-4.4/fs/jfs/namei.c
+--- linux-4.4/fs/jfs/namei.c 2021-02-24 16:56:11.769085783 +0100
++++ linux-4.4/fs/jfs/namei.c 2021-02-24 16:56:24.562822026 +0100
@@ -22,6 +22,7 @@
#include <linux/ctype.h>
#include <linux/quotaops.h>
};
const struct file_operations jfs_dir_operations = {
-diff -NurpP --minimal linux-4.4.161/fs/jfs/super.c linux-4.4.161-vs2.3.9.8/fs/jfs/super.c
---- linux-4.4.161/fs/jfs/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/jfs/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/jfs/super.c linux-4.4/fs/jfs/super.c
+--- linux-4.4/fs/jfs/super.c 2021-02-24 16:56:11.769085783 +0100
++++ linux-4.4/fs/jfs/super.c 2021-02-24 16:56:24.562822026 +0100
@@ -206,7 +206,8 @@ enum {
Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,
Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota,
if (newLVSize) {
pr_err("resize option for remount only\n");
-diff -NurpP --minimal linux-4.4.161/fs/libfs.c linux-4.4.161-vs2.3.9.8/fs/libfs.c
---- linux-4.4.161/fs/libfs.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/libfs.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/libfs.c linux-4.4/fs/libfs.c
+--- linux-4.4/fs/libfs.c 2021-02-24 16:56:11.769085783 +0100
++++ linux-4.4/fs/libfs.c 2021-02-24 16:56:24.562822026 +0100
@@ -141,13 +141,14 @@ static inline unsigned char dt_type(stru
* both impossible due to the lock on directory.
*/
ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos)
{
return -EISDIR;
-diff -NurpP --minimal linux-4.4.161/fs/locks.c linux-4.4.161-vs2.3.9.8/fs/locks.c
---- linux-4.4.161/fs/locks.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/locks.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/locks.c linux-4.4/fs/locks.c
+--- linux-4.4/fs/locks.c 2021-02-24 16:56:11.769085783 +0100
++++ linux-4.4/fs/locks.c 2021-02-24 16:56:24.562822026 +0100
@@ -129,6 +129,8 @@
#include <linux/hashtable.h>
#include <linux/percpu.h>
return 0;
}
-diff -NurpP --minimal linux-4.4.161/fs/mount.h linux-4.4.161-vs2.3.9.8/fs/mount.h
---- linux-4.4.161/fs/mount.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/mount.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/mount.h linux-4.4/fs/mount.h
+--- linux-4.4/fs/mount.h 2021-02-24 16:56:11.772419221 +0100
++++ linux-4.4/fs/mount.h 2021-02-24 16:56:24.562822026 +0100
@@ -68,6 +68,7 @@ struct mount {
struct hlist_head mnt_pins;
struct fs_pin mnt_umount;
};
#define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */
-diff -NurpP --minimal linux-4.4.161/fs/namei.c linux-4.4.161-vs2.3.9.8/fs/namei.c
---- linux-4.4.161/fs/namei.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/namei.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/namei.c linux-4.4/fs/namei.c
+--- linux-4.4/fs/namei.c 2021-02-24 16:56:11.772419221 +0100
++++ linux-4.4/fs/namei.c 2021-02-24 16:56:24.566155465 +0100
@@ -34,10 +34,20 @@
#include <linux/device_cgroup.h>
#include <linux/fs_struct.h>
retval = do_inode_permission(inode, mask);
if (retval)
return retval;
-@@ -1585,6 +1686,9 @@ static int lookup_fast(struct nameidata
+@@ -1627,6 +1728,9 @@ static int lookup_fast(struct nameidata
*/
if (negative)
return -ENOENT;
path->mnt = mnt;
path->dentry = dentry;
if (likely(__follow_mount_rcu(nd, path, inode, seqp)))
-@@ -1615,6 +1719,8 @@ unlazy:
+@@ -1657,6 +1761,8 @@ unlazy:
dput(dentry);
return -ENOENT;
}
path->mnt = mnt;
path->dentry = dentry;
err = follow_managed(path, nd);
-@@ -2576,7 +2682,7 @@ static int may_delete(struct inode *dir,
+@@ -2618,7 +2724,7 @@ static int may_delete(struct inode *dir,
return -EPERM;
if (check_sticky(dir, inode) || IS_APPEND(inode) ||
return -EPERM;
if (isdir) {
if (!d_is_dir(victim))
-@@ -2658,19 +2764,25 @@ int vfs_create(struct inode *dir, struct
+@@ -2700,19 +2806,25 @@ int vfs_create(struct inode *dir, struct
bool want_excl)
{
int error = may_create(dir, dentry);
return error;
}
EXPORT_SYMBOL(vfs_create);
-@@ -2706,6 +2818,15 @@ static int may_open(struct path *path, i
+@@ -2748,6 +2860,15 @@ static int may_open(struct path *path, i
break;
}
error = inode_permission(inode, acc_mode);
if (error)
return error;
-@@ -3183,6 +3304,16 @@ finish_open:
+@@ -3233,6 +3354,16 @@ finish_open:
}
finish_open_created:
error = may_open(&nd->path, acc_mode, open_flag);
if (error)
goto out;
-@@ -3307,6 +3438,9 @@ static struct file *path_openat(struct n
+@@ -3357,6 +3488,9 @@ static struct file *path_openat(struct n
int opened = 0;
int error;
file = get_empty_filp();
if (IS_ERR(file))
return file;
-@@ -3333,6 +3467,12 @@ static struct file *path_openat(struct n
+@@ -3383,6 +3517,12 @@ static struct file *path_openat(struct n
}
}
terminate_walk(nd);
out2:
if (!(opened & FILE_OPENED)) {
BUG_ON(!error);
-@@ -3453,6 +3593,11 @@ static struct dentry *filename_create(in
+@@ -3503,6 +3643,11 @@ static struct dentry *filename_create(in
goto fail;
}
putname(name);
return dentry;
fail:
dput(dentry);
-@@ -3569,6 +3714,7 @@ retry:
+@@ -3619,6 +3764,7 @@ retry:
error = vfs_mknod(path.dentry->d_inode,dentry,mode,0);
break;
}
out:
done_path_create(&path, dentry);
if (retry_estale(error, lookup_flags)) {
-@@ -4015,7 +4161,7 @@ int vfs_link(struct dentry *old_dentry,
+@@ -4065,7 +4211,7 @@ int vfs_link(struct dentry *old_dentry,
/*
* A link to an append-only or immutable file cannot be created.
*/
return -EPERM;
if (!dir->i_op->link)
return -EPERM;
-@@ -4524,6 +4670,330 @@ int generic_readlink(struct dentry *dent
+@@ -4574,6 +4720,330 @@ int generic_readlink(struct dentry *dent
}
EXPORT_SYMBOL(generic_readlink);
/* get the link contents into pagecache */
static char *page_getlink(struct dentry * dentry, struct page **ppage)
{
-diff -NurpP --minimal linux-4.4.161/fs/namespace.c linux-4.4.161-vs2.3.9.8/fs/namespace.c
---- linux-4.4.161/fs/namespace.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/namespace.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/namespace.c linux-4.4/fs/namespace.c
+--- linux-4.4/fs/namespace.c 2021-02-24 16:56:11.772419221 +0100
++++ linux-4.4/fs/namespace.c 2021-02-24 16:56:24.566155465 +0100
@@ -24,6 +24,11 @@
#include <linux/magic.h>
#include <linux/bootmem.h>
lock_mount_hash();
list_add_tail(&mnt->mnt_instance, &sb->s_mounts);
unlock_mount_hash();
-@@ -1645,7 +1655,8 @@ out_unlock:
+@@ -1651,7 +1661,8 @@ out_unlock:
*/
static inline bool may_mount(void)
{
}
/*
-@@ -2146,6 +2157,7 @@ static int do_change_type(struct path *p
+@@ -2158,6 +2169,7 @@ static int do_change_type(struct path *p
if (err)
goto out_unlock;
}
lock_mount_hash();
for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL))
-@@ -2174,12 +2186,14 @@ static bool has_locked_children(struct m
+@@ -2186,12 +2198,14 @@ static bool has_locked_children(struct m
* do loopback mount.
*/
static int do_loopback(struct path *path, const char *old_name,
if (!old_name || !*old_name)
return -EINVAL;
err = kern_path(old_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path);
-@@ -2259,7 +2273,7 @@ static int change_mount_flags(struct vfs
+@@ -2271,7 +2285,7 @@ static int change_mount_flags(struct vfs
* on it - tough luck.
*/
static int do_remount(struct path *path, int flags, int mnt_flags,
{
int err;
struct super_block *sb = path->mnt->mnt_sb;
-@@ -2767,6 +2781,7 @@ long do_mount(const char *dev_name, cons
+@@ -2779,6 +2793,7 @@ long do_mount(const char *dev_name, cons
struct path path;
int retval = 0;
int mnt_flags = 0;
/* Discard magic */
if ((flags & MS_MGC_MSK) == MS_MGC_VAL)
-@@ -2792,6 +2807,12 @@ long do_mount(const char *dev_name, cons
+@@ -2804,6 +2819,12 @@ long do_mount(const char *dev_name, cons
if (!(flags & MS_NOATIME))
mnt_flags |= MNT_RELATIME;
/* Separate the per-mountpoint flags */
if (flags & MS_NOSUID)
mnt_flags |= MNT_NOSUID;
-@@ -2816,15 +2837,17 @@ long do_mount(const char *dev_name, cons
+@@ -2828,15 +2849,17 @@ long do_mount(const char *dev_name, cons
mnt_flags |= path.mnt->mnt_flags & MNT_ATIME_MASK;
}
else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
retval = do_change_type(&path, flags);
else if (flags & MS_MOVE)
-@@ -2944,6 +2967,7 @@ struct mnt_namespace *copy_mnt_ns(unsign
+@@ -2956,6 +2979,7 @@ struct mnt_namespace *copy_mnt_ns(unsign
p = next_mnt(p, old);
}
namespace_unlock();
if (rootmnt)
mntput(rootmnt);
-@@ -3119,9 +3143,10 @@ SYSCALL_DEFINE2(pivot_root, const char _
+@@ -3131,9 +3155,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);
goto out4;
if (!check_mnt(root_mnt) || !check_mnt(new_mnt))
goto out4;
-@@ -3259,6 +3284,7 @@ void put_mnt_ns(struct mnt_namespace *ns
+@@ -3271,6 +3296,7 @@ void put_mnt_ns(struct mnt_namespace *ns
if (!atomic_dec_and_test(&ns->count))
return;
drop_collected_mounts(&ns->root->mnt);
free_mnt_ns(ns);
}
-diff -NurpP --minimal linux-4.4.161/fs/nfs/client.c linux-4.4.161-vs2.3.9.8/fs/nfs/client.c
---- linux-4.4.161/fs/nfs/client.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfs/client.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfs/client.c linux-4.4/fs/nfs/client.c
+--- linux-4.4/fs/nfs/client.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/nfs/client.c 2021-02-24 16:56:24.566155465 +0100
@@ -583,6 +583,9 @@ int nfs_init_server_rpcclient(struct nfs
if (server->flags & NFS_MOUNT_SOFT)
server->client->cl_softrtry = 1;
server->maxfilesize = fsinfo->maxfilesize;
server->time_delta = fsinfo->time_delta;
-diff -NurpP --minimal linux-4.4.161/fs/nfs/dir.c linux-4.4.161-vs2.3.9.8/fs/nfs/dir.c
---- linux-4.4.161/fs/nfs/dir.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfs/dir.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfs/dir.c linux-4.4/fs/nfs/dir.c
+--- linux-4.4/fs/nfs/dir.c 2021-02-24 16:56:11.775752660 +0100
++++ linux-4.4/fs/nfs/dir.c 2021-02-24 16:56:24.566155465 +0100
@@ -37,6 +37,7 @@
#include <linux/sched.h>
#include <linux/kmemleak.h>
#include "delegation.h"
#include "iostat.h"
-@@ -1396,6 +1397,7 @@ struct dentry *nfs_lookup(struct inode *
+@@ -1420,6 +1421,7 @@ struct dentry *nfs_lookup(struct inode *
/* Success: notify readdir to use READDIRPLUS */
nfs_advise_use_readdirplus(dir);
no_entry:
res = d_splice_alias(inode, dentry);
if (res != NULL) {
-diff -NurpP --minimal linux-4.4.161/fs/nfs/inode.c linux-4.4.161-vs2.3.9.8/fs/nfs/inode.c
---- linux-4.4.161/fs/nfs/inode.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfs/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfs/inode.c linux-4.4/fs/nfs/inode.c
+--- linux-4.4/fs/nfs/inode.c 2021-02-24 16:56:11.779086098 +0100
++++ linux-4.4/fs/nfs/inode.c 2021-02-24 16:56:24.566155465 +0100
@@ -38,6 +38,7 @@
#include <linux/slab.h>
#include <linux/compat.h>
nfs_set_cache_invalid(inode, NFS_INO_INVALID_ACCESS
| NFS_INO_INVALID_ACL);
}
-@@ -1235,7 +1244,9 @@ static int nfs_check_inode_attributes(st
+@@ -1236,7 +1245,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;
if (nfs_have_delegated_attributes(inode))
return 0;
-@@ -1262,13 +1273,18 @@ static int nfs_check_inode_attributes(st
+@@ -1263,13 +1274,18 @@ static int nfs_check_inode_attributes(st
if (nfsi->nrequests != 0)
invalid &= ~NFS_INO_REVAL_PAGECACHE;
/* Has the link count changed? */
if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink)
-@@ -1642,6 +1658,9 @@ static int nfs_update_inode(struct inode
+@@ -1643,6 +1659,9 @@ static int nfs_update_inode(struct inode
unsigned long now = jiffies;
unsigned long save_cache_validity;
bool cache_revalidated = true;
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,
-@@ -1752,6 +1771,9 @@ static int nfs_update_inode(struct inode
+@@ -1753,6 +1772,9 @@ static int nfs_update_inode(struct inode
cache_revalidated = false;
}
if (fattr->valid & NFS_ATTR_FATTR_ATIME)
memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime));
-@@ -1806,6 +1828,10 @@ static int nfs_update_inode(struct inode
+@@ -1807,6 +1829,10 @@ static int nfs_update_inode(struct inode
cache_revalidated = false;
}
if (fattr->valid & NFS_ATTR_FATTR_NLINK) {
if (inode->i_nlink != fattr->nlink) {
invalid |= NFS_INO_INVALID_ATTR;
-diff -NurpP --minimal linux-4.4.161/fs/nfs/nfs3xdr.c linux-4.4.161-vs2.3.9.8/fs/nfs/nfs3xdr.c
---- linux-4.4.161/fs/nfs/nfs3xdr.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfs/nfs3xdr.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfs/nfs3xdr.c linux-4.4/fs/nfs/nfs3xdr.c
+--- linux-4.4/fs/nfs/nfs3xdr.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/nfs/nfs3xdr.c 2021-02-24 16:56:24.566155465 +0100
@@ -20,6 +20,7 @@
#include <linux/nfs3.h>
#include <linux/nfs_fs.h>
}
/*
-diff -NurpP --minimal linux-4.4.161/fs/nfs/super.c linux-4.4.161-vs2.3.9.8/fs/nfs/super.c
---- linux-4.4.161/fs/nfs/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfs/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfs/super.c linux-4.4/fs/nfs/super.c
+--- linux-4.4/fs/nfs/super.c 2021-02-24 16:56:11.785752975 +0100
++++ linux-4.4/fs/nfs/super.c 2021-02-24 16:56:24.569488903 +0100
@@ -54,6 +54,7 @@
#include <linux/parser.h>
#include <linux/nsproxy.h>
/*
* options that take text values
-diff -NurpP --minimal linux-4.4.161/fs/nfsd/auth.c linux-4.4.161-vs2.3.9.8/fs/nfsd/auth.c
---- linux-4.4.161/fs/nfsd/auth.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfsd/auth.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfsd/auth.c linux-4.4/fs/nfsd/auth.c
+--- linux-4.4/fs/nfsd/auth.c 2021-02-24 16:56:11.785752975 +0100
++++ linux-4.4/fs/nfsd/auth.c 2021-02-24 16:56:24.569488903 +0100
@@ -1,6 +1,7 @@
/* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> */
rqgi = rqstp->rq_cred.cr_group_info;
-diff -NurpP --minimal linux-4.4.161/fs/nfsd/nfs3xdr.c linux-4.4.161-vs2.3.9.8/fs/nfsd/nfs3xdr.c
---- linux-4.4.161/fs/nfsd/nfs3xdr.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfsd/nfs3xdr.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfsd/nfs3xdr.c linux-4.4/fs/nfsd/nfs3xdr.c
+--- linux-4.4/fs/nfsd/nfs3xdr.c 2021-02-24 16:56:11.785752975 +0100
++++ linux-4.4/fs/nfsd/nfs3xdr.c 2021-02-24 16:56:24.569488903 +0100
@@ -8,6 +8,7 @@
#include <linux/namei.h>
if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) {
p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN);
} else {
-diff -NurpP --minimal linux-4.4.161/fs/nfsd/nfs4xdr.c linux-4.4.161-vs2.3.9.8/fs/nfsd/nfs4xdr.c
---- linux-4.4.161/fs/nfsd/nfs4xdr.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfsd/nfs4xdr.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfsd/nfs4xdr.c linux-4.4/fs/nfsd/nfs4xdr.c
+--- linux-4.4/fs/nfsd/nfs4xdr.c 2021-02-24 16:56:11.789086413 +0100
++++ linux-4.4/fs/nfsd/nfs4xdr.c 2021-02-24 16:56:24.569488903 +0100
@@ -40,6 +40,7 @@
#include <linux/utsname.h>
#include <linux/pagemap.h>
if (status)
goto out;
}
-diff -NurpP --minimal linux-4.4.161/fs/nfsd/nfsxdr.c linux-4.4.161-vs2.3.9.8/fs/nfsd/nfsxdr.c
---- linux-4.4.161/fs/nfsd/nfsxdr.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/nfsd/nfsxdr.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/nfsd/nfsxdr.c linux-4.4/fs/nfsd/nfsxdr.c
+--- linux-4.4/fs/nfsd/nfsxdr.c 2021-02-24 16:56:11.789086413 +0100
++++ linux-4.4/fs/nfsd/nfsxdr.c 2021-02-24 16:56:24.569488903 +0100
@@ -7,6 +7,7 @@
#include "vfs.h"
#include "xdr.h"
if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) {
*p++ = htonl(NFS_MAXPATHLEN);
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/dlmglue.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/dlmglue.c
---- linux-4.4.161/fs/ocfs2/dlmglue.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/dlmglue.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/dlmglue.c linux-4.4/fs/ocfs2/dlmglue.c
+--- linux-4.4/fs/ocfs2/dlmglue.c 2021-02-24 16:56:11.799086728 +0100
++++ linux-4.4/fs/ocfs2/dlmglue.c 2021-02-24 16:56:24.569488903 +0100
@@ -2128,6 +2128,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));
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-4.4.161/fs/ocfs2/dlmglue.h linux-4.4.161-vs2.3.9.8/fs/ocfs2/dlmglue.h
---- linux-4.4.161/fs/ocfs2/dlmglue.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/dlmglue.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/dlmglue.h linux-4.4/fs/ocfs2/dlmglue.h
+--- linux-4.4/fs/ocfs2/dlmglue.h 2021-02-24 16:56:11.799086728 +0100
++++ linux-4.4/fs/ocfs2/dlmglue.h 2021-02-24 16:56:24.569488903 +0100
@@ -46,7 +46,8 @@ struct ocfs2_meta_lvb {
__be16 lvb_inlink;
__be32 lvb_iattr;
};
#define OCFS2_QINFO_LVB_VERSION 1
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/file.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/file.c
---- linux-4.4.161/fs/ocfs2/file.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/file.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/file.c linux-4.4/fs/ocfs2/file.c
+--- linux-4.4/fs/ocfs2/file.c 2021-02-24 16:56:11.802420166 +0100
++++ linux-4.4/fs/ocfs2/file.c 2021-02-24 16:56:24.569488903 +0100
@@ -1151,7 +1151,7 @@ int ocfs2_setattr(struct dentry *dentry,
attr->ia_valid &= ~ATTR_SIZE;
if (!(attr->ia_valid & OCFS2_VALID_ATTRS))
return 0;
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/inode.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/inode.c
---- linux-4.4.161/fs/ocfs2/inode.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/inode.c linux-4.4/fs/ocfs2/inode.c
+--- linux-4.4/fs/ocfs2/inode.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ocfs2/inode.c 2021-02-24 16:56:24.569488903 +0100
@@ -28,6 +28,7 @@
#include <linux/highmem.h>
#include <linux/pagemap.h>
/* Fast symlinks will have i_size but no allocated clusters. */
if (S_ISLNK(inode->i_mode) && !fe->i_clusters) {
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/inode.h linux-4.4.161-vs2.3.9.8/fs/ocfs2/inode.h
---- linux-4.4.161/fs/ocfs2/inode.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/inode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/inode.h linux-4.4/fs/ocfs2/inode.h
+--- linux-4.4/fs/ocfs2/inode.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/ocfs2/inode.h 2021-02-24 16:56:24.569488903 +0100
@@ -161,6 +161,7 @@ struct buffer_head *ocfs2_bread(struct i
void ocfs2_set_inode_flags(struct inode *inode);
static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode)
{
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/ioctl.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/ioctl.c
---- linux-4.4.161/fs/ocfs2/ioctl.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/ioctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/ioctl.c linux-4.4/fs/ocfs2/ioctl.c
+--- linux-4.4/fs/ocfs2/ioctl.c 2021-02-24 16:56:11.802420166 +0100
++++ linux-4.4/fs/ocfs2/ioctl.c 2021-02-24 16:56:24.572822341 +0100
@@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i
return status;
}
long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct inode *inode = file_inode(filp);
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/namei.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/namei.c
---- linux-4.4.161/fs/ocfs2/namei.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/namei.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/namei.c linux-4.4/fs/ocfs2/namei.c
+--- linux-4.4/fs/ocfs2/namei.c 2021-02-24 16:56:11.802420166 +0100
++++ linux-4.4/fs/ocfs2/namei.c 2021-02-24 16:56:24.572822341 +0100
@@ -41,6 +41,7 @@
#include <linux/slab.h>
#include <linux/highmem.h>
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-4.4.161/fs/ocfs2/ocfs2.h linux-4.4.161-vs2.3.9.8/fs/ocfs2/ocfs2.h
---- linux-4.4.161/fs/ocfs2/ocfs2.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/ocfs2.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/ocfs2.h linux-4.4/fs/ocfs2/ocfs2.h
+--- linux-4.4/fs/ocfs2/ocfs2.h 2021-02-24 16:56:11.802420166 +0100
++++ linux-4.4/fs/ocfs2/ocfs2.h 2021-02-24 16:56:24.572822341 +0100
@@ -289,6 +289,7 @@ enum ocfs2_mount_options
OCFS2_MOUNT_JOURNAL_ASYNC_COMMIT = 1 << 15, /* Journal Async Commit */
OCFS2_MOUNT_ERRORS_CONT = 1 << 16, /* Return EIO to the calling process on error */
};
#define OCFS2_OSB_SOFT_RO 0x0001
-diff -NurpP --minimal linux-4.4.161/fs/ocfs2/ocfs2_fs.h linux-4.4.161-vs2.3.9.8/fs/ocfs2/ocfs2_fs.h
---- linux-4.4.161/fs/ocfs2/ocfs2_fs.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/ocfs2_fs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/ocfs2_fs.h linux-4.4/fs/ocfs2/ocfs2_fs.h
+--- linux-4.4/fs/ocfs2/ocfs2_fs.h 2021-02-24 16:56:11.802420166 +0100
++++ linux-4.4/fs/ocfs2/ocfs2_fs.h 2021-02-24 16:56:24.572822341 +0100
@@ -275,6 +275,11 @@
#define OCFS2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/
#define OCFS2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */
#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-4.4.161/fs/ocfs2/super.c linux-4.4.161-vs2.3.9.8/fs/ocfs2/super.c
---- linux-4.4.161/fs/ocfs2/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/ocfs2/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/ocfs2/super.c linux-4.4/fs/ocfs2/super.c
+--- linux-4.4/fs/ocfs2/super.c 2021-02-24 16:56:11.805753604 +0100
++++ linux-4.4/fs/ocfs2/super.c 2021-02-24 16:56:24.572822341 +0100
@@ -193,6 +193,7 @@ enum {
Opt_dir_resv_level,
Opt_journal_async_commit,
default:
mlog(ML_ERROR,
"Unrecognized mount option \"%s\" "
-diff -NurpP --minimal linux-4.4.161/fs/open.c linux-4.4.161-vs2.3.9.8/fs/open.c
---- linux-4.4.161/fs/open.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/open.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/open.c linux-4.4/fs/open.c
+--- linux-4.4/fs/open.c 2021-02-24 16:56:11.805753604 +0100
++++ linux-4.4/fs/open.c 2021-02-24 16:56:24.572822341 +0100
@@ -31,6 +31,11 @@
#include <linux/ima.h>
#include <linux/dnotify.h>
inode = path->dentry->d_inode;
/* For directories it's -EISDIR, for other non-regulars - -EINVAL */
-@@ -548,6 +558,13 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons
+@@ -567,6 +577,13 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons
unsigned int lookup_flags = LOOKUP_FOLLOW;
retry:
error = user_path_at(dfd, filename, lookup_flags, &path);
if (!error) {
error = chmod_common(&path, mode);
path_put(&path);
-@@ -582,13 +599,15 @@ retry_deleg:
+@@ -601,13 +618,15 @@ retry_deleg:
if (!uid_valid(uid))
return -EINVAL;
newattrs.ia_valid |= ATTR_UID;
}
if (!S_ISDIR(inode->i_mode))
newattrs.ia_valid |=
-@@ -626,6 +645,10 @@ retry:
+@@ -645,6 +664,10 @@ retry:
error = mnt_want_write(path.mnt);
if (error)
goto out_release;
error = chown_common(&path, user, group);
mnt_drop_write(path.mnt);
out_release:
-diff -NurpP --minimal linux-4.4.161/fs/proc/array.c linux-4.4.161-vs2.3.9.8/fs/proc/array.c
---- linux-4.4.161/fs/proc/array.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/array.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/array.c linux-4.4/fs/proc/array.c
+--- linux-4.4/fs/proc/array.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/array.c 2021-02-24 16:56:24.572822341 +0100
@@ -84,6 +84,8 @@
#include <linux/tracehook.h>
#include <linux/string_helpers.h>
task_context_switch_counts(m, task);
return 0;
}
-@@ -497,6 +541,17 @@ static int do_task_stat(struct seq_file
+@@ -509,6 +553,17 @@ static int do_task_stat(struct seq_file
/* convert nsec -> ticks */
start_time = nsec_to_clock_t(task->real_start_time);
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-4.4.161/fs/proc/base.c linux-4.4.161-vs2.3.9.8/fs/proc/base.c
---- linux-4.4.161/fs/proc/base.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/base.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/base.c linux-4.4/fs/proc/base.c
+--- linux-4.4/fs/proc/base.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/base.c 2021-02-24 16:56:24.572822341 +0100
@@ -87,6 +87,8 @@
#include <linux/slab.h>
#include <linux/flex_array.h>
#ifdef CONFIG_HARDWALL
#include <asm/hardwall.h>
#endif
-@@ -1120,11 +1122,15 @@ static ssize_t oom_adj_write(struct file
+@@ -1125,11 +1127,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 &&
/*
* /proc/pid/oom_adj is provided for legacy purposes, ask users to use
* /proc/pid/oom_score_adj instead.
-@@ -1689,6 +1695,8 @@ struct inode *proc_pid_make_inode(struct
+@@ -1694,6 +1700,8 @@ struct inode *proc_pid_make_inode(struct
inode->i_gid = cred->egid;
rcu_read_unlock();
}
security_task_to_inode(task, inode);
out:
-@@ -1734,6 +1742,8 @@ int pid_getattr(struct vfsmount *mnt, st
+@@ -1739,6 +1747,8 @@ int pid_getattr(struct vfsmount *mnt, st
/* dentry stuff */
/*
* Exceptional case: normally we are not allowed to unhash a busy
* directory. In this case, however, we can do it - no aliasing problems
-@@ -1762,6 +1772,19 @@ int pid_revalidate(struct dentry *dentry
+@@ -1767,6 +1777,19 @@ int pid_revalidate(struct dentry *dentry
task = get_proc_task(inode);
if (task) {
if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) ||
task_dumpable(task)) {
rcu_read_lock();
-@@ -2331,6 +2354,13 @@ static struct dentry *proc_pident_lookup
+@@ -2336,6 +2359,13 @@ static struct dentry *proc_pident_lookup
if (!task)
goto out_no_task;
/*
* Yes, it does not scale. And it should not. Don't add
* new entries into /proc/<tgid>/ without very good reasons.
-@@ -2773,6 +2803,11 @@ static int proc_pid_personality(struct s
+@@ -2778,6 +2808,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 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),
-@@ -2837,6 +2872,8 @@ static const struct pid_entry tgid_base_
+@@ -2842,6 +2877,8 @@ static const struct pid_entry tgid_base_
#ifdef CONFIG_CGROUPS
ONE("cgroup", S_IRUGO, proc_cgroup_show),
#endif
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),
-@@ -3051,7 +3088,7 @@ retry:
+@@ -3056,7 +3093,7 @@ retry:
iter.task = NULL;
pid = find_ge_pid(iter.tgid, ns);
if (pid) {
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
-@@ -3111,8 +3148,10 @@ int proc_pid_readdir(struct file *file,
+@@ -3116,8 +3153,10 @@ int proc_pid_readdir(struct file *file,
if (!has_pid_permissions(ns, iter.task, 2))
continue;
if (!proc_fill_cache(file, ctx, name, len,
proc_pid_instantiate, iter.task, NULL)) {
put_task_struct(iter.task);
-@@ -3249,6 +3288,7 @@ static const struct pid_entry tid_base_s
+@@ -3254,6 +3293,7 @@ static const struct pid_entry tid_base_s
REG("projid_map", S_IRUGO|S_IWUSR, proc_projid_map_operations),
REG("setgroups", S_IRUGO|S_IWUSR, proc_setgroups_operations),
#endif
};
static int proc_tid_base_readdir(struct file *file, struct dir_context *ctx)
-@@ -3315,6 +3355,8 @@ static struct dentry *proc_task_lookup(s
+@@ -3320,6 +3360,8 @@ static struct dentry *proc_task_lookup(s
tid = name_to_int(&dentry->d_name);
if (tid == ~0U)
goto out;
ns = dentry->d_sb->s_fs_info;
rcu_read_lock();
-diff -NurpP --minimal linux-4.4.161/fs/proc/generic.c linux-4.4.161-vs2.3.9.8/fs/proc/generic.c
---- linux-4.4.161/fs/proc/generic.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/generic.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/generic.c linux-4.4/fs/proc/generic.c
+--- linux-4.4/fs/proc/generic.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/generic.c 2021-02-24 16:56:24.572822341 +0100
@@ -22,6 +22,7 @@
#include <linux/bitops.h>
#include <linux/spinlock.h>
} else {
kfree(ent);
ent = NULL;
-diff -NurpP --minimal linux-4.4.161/fs/proc/inode.c linux-4.4.161-vs2.3.9.8/fs/proc/inode.c
---- linux-4.4.161/fs/proc/inode.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/inode.c linux-4.4/fs/proc/inode.c
+--- linux-4.4/fs/proc/inode.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/inode.c 2021-02-24 16:56:24.576155779 +0100
@@ -431,6 +431,8 @@ struct inode *proc_get_inode(struct supe
inode->i_uid = de->uid;
inode->i_gid = de->gid;
if (de->size)
inode->i_size = de->size;
if (de->nlink)
-diff -NurpP --minimal linux-4.4.161/fs/proc/internal.h linux-4.4.161-vs2.3.9.8/fs/proc/internal.h
---- linux-4.4.161/fs/proc/internal.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/internal.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/internal.h linux-4.4/fs/proc/internal.h
+--- linux-4.4/fs/proc/internal.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/proc/internal.h 2021-02-24 16:56:24.576155779 +0100
@@ -14,6 +14,7 @@
#include <linux/spinlock.h>
#include <linux/atomic.h>
/*
* base.c
-diff -NurpP --minimal linux-4.4.161/fs/proc/loadavg.c linux-4.4.161-vs2.3.9.8/fs/proc/loadavg.c
---- linux-4.4.161/fs/proc/loadavg.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/loadavg.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/loadavg.c linux-4.4/fs/proc/loadavg.c
+--- linux-4.4/fs/proc/loadavg.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/proc/loadavg.c 2021-02-24 16:56:24.576155779 +0100
@@ -12,15 +12,27 @@
static int loadavg_proc_show(struct seq_file *m, void *v)
task_active_pid_ns(current)->last_pid);
return 0;
}
-diff -NurpP --minimal linux-4.4.161/fs/proc/meminfo.c linux-4.4.161-vs2.3.9.8/fs/proc/meminfo.c
---- linux-4.4.161/fs/proc/meminfo.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/meminfo.c 2018-10-20 04:57:21.000000000 +0000
-@@ -43,7 +43,8 @@ static int meminfo_proc_show(struct seq_
+diff -urNp -x '*.orig' linux-4.4/fs/proc/meminfo.c linux-4.4/fs/proc/meminfo.c
+--- linux-4.4/fs/proc/meminfo.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/meminfo.c 2021-02-24 16:56:24.576155779 +0100
+@@ -40,7 +40,8 @@ static int meminfo_proc_show(struct seq_
si_swapinfo(&i);
committed = percpu_counter_read_positive(&vm_committed_as);
total_swapcache_pages() - i.bufferram;
if (cached < 0)
cached = 0;
-@@ -67,13 +68,16 @@ static int meminfo_proc_show(struct seq_
- */
- pagecache = pages[LRU_ACTIVE_FILE] + pages[LRU_INACTIVE_FILE];
- pagecache -= min(pagecache / 2, wmark_low);
-- available += pagecache;
-+
-+ if (!vx_flags(VXF_VIRT_MEM, 0))
-+ available += pagecache;
-
- /*
- * Part of the reclaimable slab consists of items that are in use,
- * and cannot be freed. Cap this estimate at the low watermark.
- */
-- available += global_page_state(NR_SLAB_RECLAIMABLE) -
-+ if (!vx_flags(VXF_VIRT_MEM, 0))
-+ available += global_page_state(NR_SLAB_RECLAIMABLE) -
- min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, wmark_low);
-
- if (available < 0)
-diff -NurpP --minimal linux-4.4.161/fs/proc/root.c linux-4.4.161-vs2.3.9.8/fs/proc/root.c
---- linux-4.4.161/fs/proc/root.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/root.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/root.c linux-4.4/fs/proc/root.c
+--- linux-4.4/fs/proc/root.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/root.c 2021-02-24 16:56:24.576155779 +0100
@@ -20,9 +20,14 @@
#include <linux/mount.h>
#include <linux/pid_namespace.h>
.subdir = RB_ROOT,
.name = "/proc",
};
-diff -NurpP --minimal linux-4.4.161/fs/proc/self.c linux-4.4.161-vs2.3.9.8/fs/proc/self.c
---- linux-4.4.161/fs/proc/self.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/self.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/self.c linux-4.4/fs/proc/self.c
+--- linux-4.4/fs/proc/self.c 2021-02-24 16:56:11.809087043 +0100
++++ linux-4.4/fs/proc/self.c 2021-02-24 16:56:24.576155779 +0100
@@ -1,6 +1,7 @@
#include <linux/sched.h>
#include <linux/slab.h>
#include "internal.h"
/*
-@@ -52,6 +53,8 @@ int proc_setup_self(struct super_block *
+@@ -59,6 +60,8 @@ int proc_setup_self(struct super_block *
self = d_alloc_name(s->s_root, "self");
if (self) {
- struct inode *inode = new_inode_pseudo(s);
+ struct inode *inode = new_inode(s);
+
+ // self->vx_flags = IATTR_PROC_SYMLINK;
if (inode) {
inode->i_ino = self_inum;
inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
-diff -NurpP --minimal linux-4.4.161/fs/proc/stat.c linux-4.4.161-vs2.3.9.8/fs/proc/stat.c
---- linux-4.4.161/fs/proc/stat.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/stat.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/stat.c linux-4.4/fs/proc/stat.c
+--- linux-4.4/fs/proc/stat.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/proc/stat.c 2021-02-24 16:56:24.576155779 +0100
@@ -9,8 +9,10 @@
#include <linux/slab.h>
#include <linux/time.h>
/* 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-4.4.161/fs/proc/uptime.c linux-4.4.161-vs2.3.9.8/fs/proc/uptime.c
---- linux-4.4.161/fs/proc/uptime.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc/uptime.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc/uptime.c linux-4.4/fs/proc/uptime.c
+--- linux-4.4/fs/proc/uptime.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/proc/uptime.c 2021-02-24 16:56:24.576155779 +0100
@@ -5,6 +5,7 @@
#include <linux/seq_file.h>
#include <linux/time.h>
seq_printf(m, "%lu.%02lu %lu.%02lu\n",
(unsigned long) uptime.tv_sec,
(uptime.tv_nsec / (NSEC_PER_SEC / 100)),
-diff -NurpP --minimal linux-4.4.161/fs/proc_namespace.c linux-4.4.161-vs2.3.9.8/fs/proc_namespace.c
---- linux-4.4.161/fs/proc_namespace.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/proc_namespace.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/proc_namespace.c linux-4.4/fs/proc_namespace.c
+--- linux-4.4/fs/proc_namespace.c 2021-02-24 16:56:11.812420481 +0100
++++ linux-4.4/fs/proc_namespace.c 2021-02-24 16:56:24.576155779 +0100
@@ -46,6 +46,8 @@ static int show_sb_opts(struct seq_file
{ MS_DIRSYNC, ",dirsync" },
{ MS_MANDLOCK, ",mand" },
/* file system type */
seq_puts(m, "with fstype ");
show_type(m, sb);
-diff -NurpP --minimal linux-4.4.161/fs/quota/dquot.c linux-4.4.161-vs2.3.9.8/fs/quota/dquot.c
---- linux-4.4.161/fs/quota/dquot.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/quota/dquot.c 2018-10-20 04:57:21.000000000 +0000
-@@ -1643,6 +1643,9 @@ int __dquot_alloc_space(struct inode *in
+diff -urNp -x '*.orig' linux-4.4/fs/quota/dquot.c linux-4.4/fs/quota/dquot.c
+--- linux-4.4/fs/quota/dquot.c 2021-02-24 16:56:11.812420481 +0100
++++ linux-4.4/fs/quota/dquot.c 2021-02-24 16:56:24.576155779 +0100
+@@ -1644,6 +1644,9 @@ int __dquot_alloc_space(struct inode *in
int reserve = flags & DQUOT_SPACE_RESERVE;
struct dquot **dquots;
if (!dquot_active(inode)) {
inode_incr_space(inode, number, reserve);
goto out;
-@@ -1695,6 +1698,9 @@ int dquot_alloc_inode(struct inode *inod
+@@ -1696,6 +1699,9 @@ int dquot_alloc_inode(struct inode *inod
struct dquot_warn warn[MAXQUOTAS];
struct dquot * const *dquots;
if (!dquot_active(inode))
return 0;
for (cnt = 0; cnt < MAXQUOTAS; cnt++)
-@@ -1797,6 +1803,8 @@ void __dquot_free_space(struct inode *in
+@@ -1798,6 +1804,8 @@ void __dquot_free_space(struct inode *in
struct dquot **dquots;
int reserve = flags & DQUOT_SPACE_RESERVE, index;
if (!dquot_active(inode)) {
inode_decr_space(inode, number, reserve);
return;
-@@ -1841,6 +1849,8 @@ void dquot_free_inode(struct inode *inod
+@@ -1842,6 +1850,8 @@ void dquot_free_inode(struct inode *inod
struct dquot * const *dquots;
int index;
if (!dquot_active(inode))
return;
-diff -NurpP --minimal linux-4.4.161/fs/quota/quota.c linux-4.4.161-vs2.3.9.8/fs/quota/quota.c
---- linux-4.4.161/fs/quota/quota.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/quota/quota.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/quota/quota.c linux-4.4/fs/quota/quota.c
+--- linux-4.4/fs/quota/quota.c 2021-02-24 16:56:11.812420481 +0100
++++ linux-4.4/fs/quota/quota.c 2021-02-24 16:56:24.576155779 +0100
@@ -8,6 +8,7 @@
#include <linux/fs.h>
#include <linux/namei.h>
if (quotactl_cmd_write(cmd))
sb = get_super_thawed(bdev);
else
-diff -NurpP --minimal linux-4.4.161/fs/stat.c linux-4.4.161-vs2.3.9.8/fs/stat.c
---- linux-4.4.161/fs/stat.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/stat.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/stat.c linux-4.4/fs/stat.c
+--- linux-4.4/fs/stat.c 2021-02-24 16:56:11.822420796 +0100
++++ linux-4.4/fs/stat.c 2021-02-24 16:56:24.576155779 +0100
@@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod
stat->nlink = inode->i_nlink;
stat->uid = inode->i_uid;
stat->rdev = inode->i_rdev;
stat->size = i_size_read(inode);
stat->atime = inode->i_atime;
-diff -NurpP --minimal linux-4.4.161/fs/statfs.c linux-4.4.161-vs2.3.9.8/fs/statfs.c
---- linux-4.4.161/fs/statfs.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/statfs.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/statfs.c linux-4.4/fs/statfs.c
+--- linux-4.4/fs/statfs.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/fs/statfs.c 2021-02-24 16:56:24.576155779 +0100
@@ -7,6 +7,8 @@
#include <linux/statfs.h>
#include <linux/security.h>
return retval;
}
-diff -NurpP --minimal linux-4.4.161/fs/super.c linux-4.4.161-vs2.3.9.8/fs/super.c
---- linux-4.4.161/fs/super.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/super.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/super.c linux-4.4/fs/super.c
+--- linux-4.4/fs/super.c 2021-02-24 16:56:11.822420796 +0100
++++ linux-4.4/fs/super.c 2021-02-24 16:56:24.576155779 +0100
@@ -33,6 +33,8 @@
#include <linux/cleancache.h>
#include <linux/fsnotify.h>
#include "internal.h"
-@@ -1135,6 +1137,13 @@ mount_fs(struct file_system_type *type,
- WARN_ON(!sb->s_bdi);
+@@ -1153,6 +1155,13 @@ mount_fs(struct file_system_type *type,
+ smp_wmb();
sb->s_flags |= MS_BORN;
+ error = -EPERM;
error = security_sb_kern_mount(sb, flags, secdata);
if (error)
goto out_sb;
-diff -NurpP --minimal linux-4.4.161/fs/utimes.c linux-4.4.161-vs2.3.9.8/fs/utimes.c
---- linux-4.4.161/fs/utimes.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/utimes.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/utimes.c linux-4.4/fs/utimes.c
+--- linux-4.4/fs/utimes.c 2021-02-24 16:56:11.829087673 +0100
++++ linux-4.4/fs/utimes.c 2021-02-24 16:56:24.576155779 +0100
@@ -8,6 +8,8 @@
#include <linux/stat.h>
#include <linux/utime.h>
if (times && times[0].tv_nsec == UTIME_NOW &&
times[1].tv_nsec == UTIME_NOW)
times = NULL;
-diff -NurpP --minimal linux-4.4.161/fs/xattr.c linux-4.4.161-vs2.3.9.8/fs/xattr.c
---- linux-4.4.161/fs/xattr.c 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/fs/xattr.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/fs/xattr.c linux-4.4/fs/xattr.c
+--- linux-4.4/fs/xattr.c 2021-02-24 16:56:11.829087673 +0100
++++ linux-4.4/fs/xattr.c 2021-02-24 16:56:24.579489218 +0100
@@ -21,6 +21,7 @@
#include <linux/audit.h>
#include <linux/vmalloc.h>
return (mask & MAY_WRITE) ? -EPERM : -ENODATA;
return 0;
}
-diff -NurpP --minimal linux-4.4.161/include/linux/capability.h linux-4.4.161-vs2.3.9.8/include/linux/capability.h
---- linux-4.4.161/include/linux/capability.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/capability.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/capability.h linux-4.4/include/linux/capability.h
+--- linux-4.4/include/linux/capability.h 2021-02-24 16:56:11.855755179 +0100
++++ linux-4.4/include/linux/capability.h 2021-02-24 16:56:24.579489218 +0100
@@ -77,7 +77,8 @@ extern const kernel_cap_t __cap_init_eff
#else /* HAND-CODED capability initializers */
# 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-4.4.161/include/linux/cred.h linux-4.4.161-vs2.3.9.8/include/linux/cred.h
---- linux-4.4.161/include/linux/cred.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/cred.h 2018-10-20 04:57:21.000000000 +0000
-@@ -161,6 +161,7 @@ extern void exit_creds(struct task_struc
+diff -urNp -x '*.orig' linux-4.4/include/linux/cred.h linux-4.4/include/linux/cred.h
+--- linux-4.4/include/linux/cred.h 2021-02-24 16:56:11.859088617 +0100
++++ linux-4.4/include/linux/cred.h 2021-02-24 16:56:24.579489218 +0100
+@@ -165,6 +165,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 struct cred *prepare_creds(void);
extern struct cred *prepare_exec_creds(void);
extern int commit_creds(struct cred *);
-@@ -221,6 +222,31 @@ static inline bool cap_ambient_invariant
+@@ -225,6 +226,31 @@ static inline bool cap_ambient_invariant
cred->cap_inheritable));
}
/**
* get_new_cred - Get a reference on a new set of credentials
* @cred: The new credentials to reference
-diff -NurpP --minimal linux-4.4.161/include/linux/dcache.h linux-4.4.161-vs2.3.9.8/include/linux/dcache.h
---- linux-4.4.161/include/linux/dcache.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/dcache.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/dcache.h linux-4.4/include/linux/dcache.h
+--- linux-4.4/include/linux/dcache.h 2021-02-24 16:56:11.859088617 +0100
++++ linux-4.4/include/linux/dcache.h 2021-02-24 16:56:24.579489218 +0100
@@ -10,6 +10,7 @@
#include <linux/cache.h>
#include <linux/rcupdate.h>
return dentry;
}
-diff -NurpP --minimal linux-4.4.161/include/linux/devpts_fs.h linux-4.4.161-vs2.3.9.8/include/linux/devpts_fs.h
---- linux-4.4.161/include/linux/devpts_fs.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/devpts_fs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/devpts_fs.h linux-4.4/include/linux/devpts_fs.h
+--- linux-4.4/include/linux/devpts_fs.h 2021-02-24 16:56:11.859088617 +0100
++++ linux-4.4/include/linux/devpts_fs.h 2021-02-24 16:56:24.579489218 +0100
@@ -35,5 +35,4 @@ void devpts_pty_kill(struct inode *inode
#endif
-
#endif /* _LINUX_DEVPTS_FS_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/fs.h linux-4.4.161-vs2.3.9.8/include/linux/fs.h
---- linux-4.4.161/include/linux/fs.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/fs.h 2018-10-20 04:57:21.000000000 +0000
-@@ -227,6 +227,7 @@ typedef void (dax_iodone_t)(struct buffe
+diff -urNp -x '*.orig' linux-4.4/include/linux/fs.h linux-4.4/include/linux/fs.h
+--- linux-4.4/include/linux/fs.h 2021-02-24 16:56:11.862422056 +0100
++++ linux-4.4/include/linux/fs.h 2021-02-24 16:56:24.579489218 +0100
+@@ -232,6 +232,7 @@ typedef void (dax_iodone_t)(struct buffe
#define ATTR_OPEN (1 << 15) /* Truncating from open(O_TRUNC) */
#define ATTR_TIMES_SET (1 << 16)
#define ATTR_TOUCH (1 << 17)
/*
* Whiteout is represented by a char device. The following constants define the
-@@ -249,6 +250,7 @@ struct iattr {
+@@ -254,6 +255,7 @@ struct iattr {
umode_t ia_mode;
kuid_t ia_uid;
kgid_t ia_gid;
loff_t ia_size;
struct timespec ia_atime;
struct timespec ia_mtime;
-@@ -587,7 +589,9 @@ struct inode {
+@@ -592,7 +594,9 @@ struct inode {
unsigned short i_opflags;
kuid_t i_uid;
kgid_t i_gid;
#ifdef CONFIG_FS_POSIX_ACL
struct posix_acl *i_acl;
-@@ -616,6 +620,7 @@ struct inode {
+@@ -621,6 +625,7 @@ struct inode {
unsigned int __i_nlink;
};
dev_t i_rdev;
loff_t i_size;
struct timespec i_atime;
struct timespec i_mtime;
-@@ -814,6 +819,11 @@ static inline gid_t i_gid_read(const str
+@@ -820,6 +825,11 @@ static inline gid_t i_gid_read(const str
return from_kgid(&init_user_ns, inode->i_gid);
}
static inline void i_uid_write(struct inode *inode, uid_t uid)
{
inode->i_uid = make_kuid(&init_user_ns, uid);
-@@ -824,14 +834,19 @@ static inline void i_gid_write(struct in
+@@ -830,14 +840,19 @@ static inline void i_gid_write(struct in
inode->i_gid = make_kgid(&init_user_ns, gid);
}
}
extern struct block_device *I_BDEV(struct inode *inode);
-@@ -888,6 +903,7 @@ struct file {
+@@ -894,6 +909,7 @@ struct file {
loff_t f_pos;
struct fown_struct f_owner;
const struct cred *f_cred;
struct file_ra_state f_ra;
u64 f_version;
-@@ -1022,6 +1038,7 @@ struct file_lock {
+@@ -1028,6 +1044,7 @@ struct file_lock {
struct file *fl_file;
loff_t fl_start;
loff_t fl_end;
struct fasync_struct * fl_fasync; /* for lease break notifications */
/* for lease breaks: */
-@@ -1699,6 +1716,7 @@ struct inode_operations {
+@@ -1705,6 +1722,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 *);
int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start,
u64 len);
int (*update_time)(struct inode *, struct timespec *, int);
-@@ -1713,6 +1731,7 @@ ssize_t rw_copy_check_uvector(int type,
+@@ -1719,6 +1737,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);
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 *);
-@@ -1778,6 +1797,14 @@ struct super_operations {
+@@ -1784,6 +1803,14 @@ struct super_operations {
#else
#define S_DAX 0 /* Make all the DAX code disappear */
#endif
/*
* Note that nosuid etc flags are inode-specific: setting some file-system
-@@ -1802,10 +1829,13 @@ struct super_operations {
+@@ -1808,10 +1835,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_POSIXACL(inode) __IS_FLG(inode, MS_POSIXACL)
#define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD)
-@@ -1820,6 +1850,16 @@ struct super_operations {
+@@ -1826,6 +1856,16 @@ struct super_operations {
#define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \
(inode)->i_rdev == WHITEOUT_DEV)
/*
* Inode state bits. Protected by inode->i_lock
*
-@@ -2076,6 +2116,9 @@ extern struct kobject *fs_kobj;
+@@ -2086,6 +2126,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);
/*
* Candidates for mandatory locking have the setgid bit set
* but no group execute bit - an otherwise meaningless combination.
-@@ -2831,6 +2874,7 @@ extern int dcache_dir_open(struct inode
+@@ -2842,6 +2885,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 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-4.4.161/include/linux/init_task.h linux-4.4.161-vs2.3.9.8/include/linux/init_task.h
---- linux-4.4.161/include/linux/init_task.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/init_task.h 2018-10-20 04:57:21.000000000 +0000
-@@ -260,6 +260,10 @@ extern struct task_group root_task_group
+diff -urNp -x '*.orig' linux-4.4/include/linux/init_task.h linux-4.4/include/linux/init_task.h
+--- linux-4.4/include/linux/init_task.h 2021-02-24 16:56:11.865755494 +0100
++++ linux-4.4/include/linux/init_task.h 2021-02-24 16:56:24.579489218 +0100
+@@ -269,6 +269,10 @@ extern struct task_group root_task_group
INIT_VTIME(tsk) \
INIT_NUMA_BALANCING(tsk) \
INIT_KASAN(tsk) \
}
-diff -NurpP --minimal linux-4.4.161/include/linux/ipc.h linux-4.4.161-vs2.3.9.8/include/linux/ipc.h
---- linux-4.4.161/include/linux/ipc.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/ipc.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/ipc.h linux-4.4/include/linux/ipc.h
+--- linux-4.4/include/linux/ipc.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/ipc.h 2021-02-24 16:56:24.579489218 +0100
@@ -16,6 +16,7 @@ struct kern_ipc_perm
key_t key;
kuid_t uid;
kuid_t cuid;
kgid_t cgid;
umode_t mode;
-diff -NurpP --minimal linux-4.4.161/include/linux/memcontrol.h linux-4.4.161-vs2.3.9.8/include/linux/memcontrol.h
---- linux-4.4.161/include/linux/memcontrol.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/memcontrol.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/memcontrol.h linux-4.4/include/linux/memcontrol.h
+--- linux-4.4/include/linux/memcontrol.h 2021-02-24 16:56:11.872422371 +0100
++++ linux-4.4/include/linux/memcontrol.h 2021-02-24 16:56:24.579489218 +0100
@@ -113,6 +113,7 @@ struct cg_proto {
struct mem_cgroup *memcg;
};
static inline bool mm_match_cgroup(struct mm_struct *mm,
struct mem_cgroup *memcg)
{
-diff -NurpP --minimal linux-4.4.161/include/linux/mount.h linux-4.4.161-vs2.3.9.8/include/linux/mount.h
---- linux-4.4.161/include/linux/mount.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/mount.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/mount.h linux-4.4/include/linux/mount.h
+--- linux-4.4/include/linux/mount.h 2021-02-24 16:56:11.875755809 +0100
++++ linux-4.4/include/linux/mount.h 2021-02-24 16:56:24.579489218 +0100
@@ -63,6 +63,9 @@ struct mnt_namespace;
#define MNT_MARKED 0x4000000
#define MNT_UMOUNT 0x8000000
struct vfsmount {
struct dentry *mnt_root; /* root of the mounted tree */
struct super_block *mnt_sb; /* pointer to superblock */
-diff -NurpP --minimal linux-4.4.161/include/linux/net.h linux-4.4.161-vs2.3.9.8/include/linux/net.h
---- linux-4.4.161/include/linux/net.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/net.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/net.h linux-4.4/include/linux/net.h
+--- linux-4.4/include/linux/net.h 2021-02-24 16:56:11.879089247 +0100
++++ linux-4.4/include/linux/net.h 2021-02-24 16:56:24.582822656 +0100
@@ -43,6 +43,7 @@ struct net;
#define SOCK_NOSPACE 2
#define SOCK_PASSCRED 3
#ifndef ARCH_HAS_SOCKET_TYPES
/**
-diff -NurpP --minimal linux-4.4.161/include/linux/netdevice.h linux-4.4.161-vs2.3.9.8/include/linux/netdevice.h
---- linux-4.4.161/include/linux/netdevice.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/netdevice.h 2018-10-20 04:57:21.000000000 +0000
-@@ -2296,6 +2296,7 @@ static inline int dev_recursion_level(vo
+diff -urNp -x '*.orig' linux-4.4/include/linux/netdevice.h linux-4.4/include/linux/netdevice.h
+--- linux-4.4/include/linux/netdevice.h 2021-02-24 16:56:12.542443470 +0100
++++ linux-4.4/include/linux/netdevice.h 2021-02-24 16:56:24.579489218 +0100
+@@ -2311,6 +2311,7 @@ static inline int dev_recursion_level(vo
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_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-4.4.161/include/linux/nsproxy.h linux-4.4.161-vs2.3.9.8/include/linux/nsproxy.h
---- linux-4.4.161/include/linux/nsproxy.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/nsproxy.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/nsproxy.h linux-4.4/include/linux/nsproxy.h
+--- linux-4.4/include/linux/nsproxy.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/nsproxy.h 2021-02-24 16:56:24.582822656 +0100
@@ -3,6 +3,7 @@
#include <linux/spinlock.h>
}
#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/pid.h linux-4.4.161-vs2.3.9.8/include/linux/pid.h
---- linux-4.4.161/include/linux/pid.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/pid.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/pid.h linux-4.4/include/linux/pid.h
+--- linux-4.4/include/linux/pid.h 2021-02-24 16:56:11.882422685 +0100
++++ linux-4.4/include/linux/pid.h 2021-02-24 16:56:24.582822656 +0100
@@ -10,7 +10,8 @@ enum pid_type
PIDTYPE_SID,
PIDTYPE_MAX,
pid_t pid_vnr(struct pid *pid);
#define do_each_pid_task(pid, type, task) \
-diff -NurpP --minimal linux-4.4.161/include/linux/quotaops.h linux-4.4.161-vs2.3.9.8/include/linux/quotaops.h
---- linux-4.4.161/include/linux/quotaops.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/quotaops.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/quotaops.h linux-4.4/include/linux/quotaops.h
+--- linux-4.4/include/linux/quotaops.h 2021-02-24 16:56:11.885756124 +0100
++++ linux-4.4/include/linux/quotaops.h 2021-02-24 16:56:24.582822656 +0100
@@ -8,6 +8,7 @@
#define _LINUX_QUOTAOPS_
#define DQUOT_SPACE_WARN 0x1
#define DQUOT_SPACE_RESERVE 0x2
-@@ -211,11 +212,12 @@ static inline void dquot_drop(struct ino
+@@ -221,11 +222,12 @@ static inline void dquot_drop(struct ino
static inline int dquot_alloc_inode(struct inode *inode)
{
}
static inline int dquot_transfer(struct inode *inode, struct iattr *iattr)
-@@ -226,6 +228,10 @@ static inline int dquot_transfer(struct
+@@ -236,6 +238,10 @@ static inline int dquot_transfer(struct
static inline int __dquot_alloc_space(struct inode *inode, qsize_t number,
int flags)
{
if (!(flags & DQUOT_SPACE_RESERVE))
inode_add_bytes(inode, number);
return 0;
-@@ -236,6 +242,7 @@ static inline void __dquot_free_space(st
+@@ -246,6 +252,7 @@ static inline void __dquot_free_space(st
{
if (!(flags & DQUOT_SPACE_RESERVE))
inode_sub_bytes(inode, number);
}
static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
-diff -NurpP --minimal linux-4.4.161/include/linux/sched.h linux-4.4.161-vs2.3.9.8/include/linux/sched.h
---- linux-4.4.161/include/linux/sched.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/sched.h 2018-10-20 05:50:20.000000000 +0000
-@@ -1601,6 +1601,14 @@ struct task_struct {
+diff -urNp -x '*.orig' linux-4.4/include/linux/sched.h linux-4.4/include/linux/sched.h
+--- linux-4.4/include/linux/sched.h 2021-02-24 16:56:11.889089562 +0100
++++ linux-4.4/include/linux/sched.h 2021-02-24 16:56:24.582822656 +0100
+@@ -1611,6 +1611,14 @@ struct task_struct {
#endif
struct seccomp seccomp;
+ vtag_t tag;
+
/* Thread group tracking */
- u32 parent_exec_id;
- u32 self_exec_id;
-@@ -1928,6 +1936,11 @@ struct pid_namespace;
+ u64 parent_exec_id;
+ u64 self_exec_id;
+@@ -1940,6 +1948,11 @@ struct pid_namespace;
pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type,
struct pid_namespace *ns);
static inline pid_t task_pid_nr(struct task_struct *tsk)
{
return tsk->pid;
-@@ -1941,7 +1954,8 @@ static inline pid_t task_pid_nr_ns(struc
+@@ -1953,7 +1966,8 @@ static inline pid_t task_pid_nr_ns(struc
static inline pid_t task_pid_vnr(struct task_struct *tsk)
{
}
-diff -NurpP --minimal linux-4.4.161/include/linux/shmem_fs.h linux-4.4.161-vs2.3.9.8/include/linux/shmem_fs.h
---- linux-4.4.161/include/linux/shmem_fs.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/shmem_fs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/shmem_fs.h linux-4.4/include/linux/shmem_fs.h
+--- linux-4.4/include/linux/shmem_fs.h 2021-02-24 16:56:11.889089562 +0100
++++ linux-4.4/include/linux/shmem_fs.h 2021-02-24 16:56:24.582822656 +0100
@@ -10,6 +10,9 @@
/* inode in-kernel data */
struct shmem_inode_info {
spinlock_t lock;
unsigned int seals; /* shmem seals */
-diff -NurpP --minimal linux-4.4.161/include/linux/stat.h linux-4.4.161-vs2.3.9.8/include/linux/stat.h
---- linux-4.4.161/include/linux/stat.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/stat.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/stat.h linux-4.4/include/linux/stat.h
+--- linux-4.4/include/linux/stat.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/stat.h 2021-02-24 16:56:24.582822656 +0100
@@ -25,6 +25,7 @@ struct kstat {
unsigned int nlink;
kuid_t uid;
dev_t rdev;
loff_t size;
struct timespec atime;
-diff -NurpP --minimal linux-4.4.161/include/linux/sunrpc/auth.h linux-4.4.161-vs2.3.9.8/include/linux/sunrpc/auth.h
---- linux-4.4.161/include/linux/sunrpc/auth.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/sunrpc/auth.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/sunrpc/auth.h linux-4.4/include/linux/sunrpc/auth.h
+--- linux-4.4/include/linux/sunrpc/auth.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/sunrpc/auth.h 2021-02-24 16:56:24.582822656 +0100
@@ -40,6 +40,7 @@ enum {
struct auth_cred {
kuid_t uid;
struct group_info *group_info;
const char *principal;
unsigned long ac_flags;
-diff -NurpP --minimal linux-4.4.161/include/linux/sunrpc/clnt.h linux-4.4.161-vs2.3.9.8/include/linux/sunrpc/clnt.h
---- linux-4.4.161/include/linux/sunrpc/clnt.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/sunrpc/clnt.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/sunrpc/clnt.h linux-4.4/include/linux/sunrpc/clnt.h
+--- linux-4.4/include/linux/sunrpc/clnt.h 2021-02-24 16:56:11.892423000 +0100
++++ linux-4.4/include/linux/sunrpc/clnt.h 2021-02-24 16:56:24.582822656 +0100
@@ -51,7 +51,8 @@ struct rpc_clnt {
cl_discrtry : 1,/* disconnect before retry */
cl_noretranstimeo: 1,/* No retransmit timeouts */
struct rpc_rtt * cl_rtt; /* RTO estimator data */
const struct rpc_timeout *cl_timeout; /* Timeout strategy */
-diff -NurpP --minimal linux-4.4.161/include/linux/types.h linux-4.4.161-vs2.3.9.8/include/linux/types.h
---- linux-4.4.161/include/linux/types.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/types.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/types.h linux-4.4/include/linux/types.h
+--- linux-4.4/include/linux/types.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/types.h 2021-02-24 16:56:24.582822656 +0100
@@ -32,6 +32,9 @@ typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
typedef unsigned long uintptr_t;
-diff -NurpP --minimal linux-4.4.161/include/linux/uidgid.h linux-4.4.161-vs2.3.9.8/include/linux/uidgid.h
---- linux-4.4.161/include/linux/uidgid.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/uidgid.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/uidgid.h linux-4.4/include/linux/uidgid.h
+--- linux-4.4/include/linux/uidgid.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/linux/uidgid.h 2021-02-24 16:56:24.582822656 +0100
@@ -21,13 +21,17 @@ typedef struct {
uid_t val;
} kuid_t;
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-4.4.161/include/linux/vroot.h linux-4.4.161-vs2.3.9.8/include/linux/vroot.h
---- linux-4.4.161/include/linux/vroot.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vroot.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vroot.h linux-4.4/include/linux/vroot.h
+--- linux-4.4/include/linux/vroot.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vroot.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,51 @@
+
+/*
+#define VROOT_CLR_DEV 0x5601
+
+#endif /* _LINUX_VROOT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_base.h linux-4.4.161-vs2.3.9.8/include/linux/vs_base.h
---- linux-4.4.161/include/linux/vs_base.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_base.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_base.h linux-4.4/include/linux/vs_base.h
+--- linux-4.4/include/linux/vs_base.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_base.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,10 @@
+#ifndef _VS_BASE_H
+#define _VS_BASE_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_context.h linux-4.4.161-vs2.3.9.8/include/linux/vs_context.h
---- linux-4.4.161/include/linux/vs_context.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_context.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_context.h linux-4.4/include/linux/vs_context.h
+--- linux-4.4/include/linux/vs_context.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_context.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,242 @@
+#ifndef _VS_CONTEXT_H
+#define _VS_CONTEXT_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_cowbl.h linux-4.4.161-vs2.3.9.8/include/linux/vs_cowbl.h
---- linux-4.4.161/include/linux/vs_cowbl.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_cowbl.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_cowbl.h linux-4.4/include/linux/vs_cowbl.h
+--- linux-4.4/include/linux/vs_cowbl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_cowbl.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,48 @@
+#ifndef _VS_COWBL_H
+#define _VS_COWBL_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_cvirt.h linux-4.4.161-vs2.3.9.8/include/linux/vs_cvirt.h
---- linux-4.4.161/include/linux/vs_cvirt.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_cvirt.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_cvirt.h linux-4.4/include/linux/vs_cvirt.h
+--- linux-4.4/include/linux/vs_cvirt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_cvirt.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,50 @@
+#ifndef _VS_CVIRT_H
+#define _VS_CVIRT_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_device.h linux-4.4.161-vs2.3.9.8/include/linux/vs_device.h
---- linux-4.4.161/include/linux/vs_device.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_device.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_device.h linux-4.4/include/linux/vs_device.h
+--- linux-4.4/include/linux/vs_device.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_device.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,45 @@
+#ifndef _VS_DEVICE_H
+#define _VS_DEVICE_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_dlimit.h linux-4.4.161-vs2.3.9.8/include/linux/vs_dlimit.h
---- linux-4.4.161/include/linux/vs_dlimit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_dlimit.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_dlimit.h linux-4.4/include/linux/vs_dlimit.h
+--- linux-4.4/include/linux/vs_dlimit.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_dlimit.h 2021-02-24 16:56:24.582822656 +0100
@@ -0,0 +1,215 @@
+#ifndef _VS_DLIMIT_H
+#define _VS_DLIMIT_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_inet.h linux-4.4.161-vs2.3.9.8/include/linux/vs_inet.h
---- linux-4.4.161/include/linux/vs_inet.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_inet.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_inet.h linux-4.4/include/linux/vs_inet.h
+--- linux-4.4/include/linux/vs_inet.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_inet.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,364 @@
+#ifndef _VS_INET_H
+#define _VS_INET_H
+#else
+// #warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_inet6.h linux-4.4.161-vs2.3.9.8/include/linux/vs_inet6.h
---- linux-4.4.161/include/linux/vs_inet6.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_inet6.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_inet6.h linux-4.4/include/linux/vs_inet6.h
+--- linux-4.4/include/linux/vs_inet6.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_inet6.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,257 @@
+#ifndef _VS_INET6_H
+#define _VS_INET6_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_limit.h linux-4.4.161-vs2.3.9.8/include/linux/vs_limit.h
---- linux-4.4.161/include/linux/vs_limit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_limit.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_limit.h linux-4.4/include/linux/vs_limit.h
+--- linux-4.4/include/linux/vs_limit.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_limit.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,140 @@
+#ifndef _VS_LIMIT_H
+#define _VS_LIMIT_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_network.h linux-4.4.161-vs2.3.9.8/include/linux/vs_network.h
---- linux-4.4.161/include/linux/vs_network.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_network.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_network.h linux-4.4/include/linux/vs_network.h
+--- linux-4.4/include/linux/vs_network.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_network.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,169 @@
+#ifndef _NX_VS_NETWORK_H
+#define _NX_VS_NETWORK_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_pid.h linux-4.4.161-vs2.3.9.8/include/linux/vs_pid.h
---- linux-4.4.161/include/linux/vs_pid.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_pid.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_pid.h linux-4.4/include/linux/vs_pid.h
+--- linux-4.4/include/linux/vs_pid.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_pid.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,50 @@
+#ifndef _VS_PID_H
+#define _VS_PID_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_sched.h linux-4.4.161-vs2.3.9.8/include/linux/vs_sched.h
---- linux-4.4.161/include/linux/vs_sched.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_sched.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_sched.h linux-4.4/include/linux/vs_sched.h
+--- linux-4.4/include/linux/vs_sched.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_sched.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,40 @@
+#ifndef _VS_SCHED_H
+#define _VS_SCHED_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_socket.h linux-4.4.161-vs2.3.9.8/include/linux/vs_socket.h
---- linux-4.4.161/include/linux/vs_socket.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_socket.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_socket.h linux-4.4/include/linux/vs_socket.h
+--- linux-4.4/include/linux/vs_socket.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_socket.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,67 @@
+#ifndef _VS_SOCKET_H
+#define _VS_SOCKET_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_tag.h linux-4.4.161-vs2.3.9.8/include/linux/vs_tag.h
---- linux-4.4.161/include/linux/vs_tag.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_tag.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_tag.h linux-4.4/include/linux/vs_tag.h
+--- linux-4.4/include/linux/vs_tag.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_tag.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,47 @@
+#ifndef _VS_TAG_H
+#define _VS_TAG_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vs_time.h linux-4.4.161-vs2.3.9.8/include/linux/vs_time.h
---- linux-4.4.161/include/linux/vs_time.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vs_time.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vs_time.h linux-4.4/include/linux/vs_time.h
+--- linux-4.4/include/linux/vs_time.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vs_time.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,19 @@
+#ifndef _VS_TIME_H
+#define _VS_TIME_H
+#else
+#warning duplicate inclusion
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/base.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/base.h
---- linux-4.4.161/include/linux/vserver/base.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/base.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/base.h linux-4.4/include/linux/vserver/base.h
+--- linux-4.4/include/linux/vserver/base.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/base.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,184 @@
+#ifndef _VSERVER_BASE_H
+#define _VSERVER_BASE_H
+#define nx_info_state(n, m) (__nx_state(n) & (m))
+
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cacct.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct.h
---- linux-4.4.161/include/linux/vserver/cacct.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cacct.h linux-4.4/include/linux/vserver/cacct.h
+--- linux-4.4/include/linux/vserver/cacct.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cacct.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,15 @@
+#ifndef _VSERVER_CACCT_H
+#define _VSERVER_CACCT_H
+};
+
+#endif /* _VSERVER_CACCT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cacct_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_cmd.h
---- linux-4.4.161/include/linux/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cacct_cmd.h linux-4.4/include/linux/vserver/cacct_cmd.h
+--- linux-4.4/include/linux/vserver/cacct_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cacct_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,10 @@
+#ifndef _VSERVER_CACCT_CMD_H
+#define _VSERVER_CACCT_CMD_H
+extern int vc_sock_stat(struct vx_info *, void __user *);
+
+#endif /* _VSERVER_CACCT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cacct_def.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_def.h
---- linux-4.4.161/include/linux/vserver/cacct_def.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_def.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cacct_def.h linux-4.4/include/linux/vserver/cacct_def.h
+--- linux-4.4/include/linux/vserver/cacct_def.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cacct_def.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,43 @@
+#ifndef _VSERVER_CACCT_DEF_H
+#define _VSERVER_CACCT_DEF_H
+#endif
+
+#endif /* _VSERVER_CACCT_DEF_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cacct_int.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_int.h
---- linux-4.4.161/include/linux/vserver/cacct_int.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cacct_int.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cacct_int.h linux-4.4/include/linux/vserver/cacct_int.h
+--- linux-4.4/include/linux/vserver/cacct_int.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cacct_int.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,17 @@
+#ifndef _VSERVER_CACCT_INT_H
+#define _VSERVER_CACCT_INT_H
+}
+
+#endif /* _VSERVER_CACCT_INT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/check.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/check.h
---- linux-4.4.161/include/linux/vserver/check.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/check.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/check.h linux-4.4/include/linux/vserver/check.h
+--- linux-4.4/include/linux/vserver/check.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/check.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,89 @@
+#ifndef _VSERVER_CHECK_H
+#define _VSERVER_CHECK_H
+#define nx_weak_check(c, m) ((m) ? nx_check(c, m) : 1)
+
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/context.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/context.h
---- linux-4.4.161/include/linux/vserver/context.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/context.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/context.h linux-4.4/include/linux/vserver/context.h
+--- linux-4.4/include/linux/vserver/context.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/context.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,110 @@
+#ifndef _VSERVER_CONTEXT_H
+#define _VSERVER_CONTEXT_H
+
+
+#endif /* _VSERVER_CONTEXT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/context_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/context_cmd.h
---- linux-4.4.161/include/linux/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/context_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/context_cmd.h linux-4.4/include/linux/vserver/context_cmd.h
+--- linux-4.4/include/linux/vserver/context_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/context_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,33 @@
+#ifndef _VSERVER_CONTEXT_CMD_H
+#define _VSERVER_CONTEXT_CMD_H
+extern int vc_set_badness(struct vx_info *, void __user *);
+
+#endif /* _VSERVER_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cvirt.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt.h
---- linux-4.4.161/include/linux/vserver/cvirt.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cvirt.h linux-4.4/include/linux/vserver/cvirt.h
+--- linux-4.4/include/linux/vserver/cvirt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cvirt.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,18 @@
+#ifndef _VSERVER_CVIRT_H
+#define _VSERVER_CVIRT_H
+int vx_do_syslog(int, char __user *, int);
+
+#endif /* _VSERVER_CVIRT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cvirt_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt_cmd.h
---- linux-4.4.161/include/linux/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cvirt_cmd.h linux-4.4/include/linux/vserver/cvirt_cmd.h
+--- linux-4.4/include/linux/vserver/cvirt_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cvirt_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,13 @@
+#ifndef _VSERVER_CVIRT_CMD_H
+#define _VSERVER_CVIRT_CMD_H
+extern int vc_virt_stat(struct vx_info *, void __user *);
+
+#endif /* _VSERVER_CVIRT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/cvirt_def.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt_def.h
---- linux-4.4.161/include/linux/vserver/cvirt_def.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/cvirt_def.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/cvirt_def.h linux-4.4/include/linux/vserver/cvirt_def.h
+--- linux-4.4/include/linux/vserver/cvirt_def.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/cvirt_def.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,80 @@
+#ifndef _VSERVER_CVIRT_DEF_H
+#define _VSERVER_CVIRT_DEF_H
+#endif
+
+#endif /* _VSERVER_CVIRT_DEF_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/debug.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/debug.h
---- linux-4.4.161/include/linux/vserver/debug.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/debug.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/debug.h linux-4.4/include/linux/vserver/debug.h
+--- linux-4.4/include/linux/vserver/debug.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/debug.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,146 @@
+#ifndef _VSERVER_DEBUG_H
+#define _VSERVER_DEBUG_H
+
+
+#endif /* _VSERVER_DEBUG_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/debug_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/debug_cmd.h
---- linux-4.4.161/include/linux/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/debug_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/debug_cmd.h linux-4.4/include/linux/vserver/debug_cmd.h
+--- linux-4.4/include/linux/vserver/debug_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/debug_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,37 @@
+#ifndef _VSERVER_DEBUG_CMD_H
+#define _VSERVER_DEBUG_CMD_H
+#endif /* CONFIG_COMPAT */
+
+#endif /* _VSERVER_DEBUG_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/device.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/device.h
---- linux-4.4.161/include/linux/vserver/device.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/device.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/device.h linux-4.4/include/linux/vserver/device.h
+--- linux-4.4/include/linux/vserver/device.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/device.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,9 @@
+#ifndef _VSERVER_DEVICE_H
+#define _VSERVER_DEVICE_H
+#else /* _VSERVER_DEVICE_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_DEVICE_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/device_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/device_cmd.h
---- linux-4.4.161/include/linux/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/device_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/device_cmd.h linux-4.4/include/linux/vserver/device_cmd.h
+--- linux-4.4/include/linux/vserver/device_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/device_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,31 @@
+#ifndef _VSERVER_DEVICE_CMD_H
+#define _VSERVER_DEVICE_CMD_H
+#endif /* CONFIG_COMPAT */
+
+#endif /* _VSERVER_DEVICE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/device_def.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/device_def.h
---- linux-4.4.161/include/linux/vserver/device_def.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/device_def.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/device_def.h linux-4.4/include/linux/vserver/device_def.h
+--- linux-4.4/include/linux/vserver/device_def.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/device_def.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,17 @@
+#ifndef _VSERVER_DEVICE_DEF_H
+#define _VSERVER_DEVICE_DEF_H
+};
+
+#endif /* _VSERVER_DEVICE_DEF_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/dlimit.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/dlimit.h
---- linux-4.4.161/include/linux/vserver/dlimit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/dlimit.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/dlimit.h linux-4.4/include/linux/vserver/dlimit.h
+--- linux-4.4/include/linux/vserver/dlimit.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/dlimit.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,54 @@
+#ifndef _VSERVER_DLIMIT_H
+#define _VSERVER_DLIMIT_H
+#else /* _VSERVER_DLIMIT_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_DLIMIT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/dlimit_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/dlimit_cmd.h
---- linux-4.4.161/include/linux/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/dlimit_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/dlimit_cmd.h linux-4.4/include/linux/vserver/dlimit_cmd.h
+--- linux-4.4/include/linux/vserver/dlimit_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/dlimit_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,46 @@
+#ifndef _VSERVER_DLIMIT_CMD_H
+#define _VSERVER_DLIMIT_CMD_H
+#endif /* CONFIG_COMPAT */
+
+#endif /* _VSERVER_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/global.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/global.h
---- linux-4.4.161/include/linux/vserver/global.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/global.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/global.h linux-4.4/include/linux/vserver/global.h
+--- linux-4.4/include/linux/vserver/global.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/global.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,19 @@
+#ifndef _VSERVER_GLOBAL_H
+#define _VSERVER_GLOBAL_H
+
+
+#endif /* _VSERVER_GLOBAL_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/history.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/history.h
---- linux-4.4.161/include/linux/vserver/history.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/history.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/history.h linux-4.4/include/linux/vserver/history.h
+--- linux-4.4/include/linux/vserver/history.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/history.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,197 @@
+#ifndef _VSERVER_HISTORY_H
+#define _VSERVER_HISTORY_H
+#endif /* CONFIG_VSERVER_HISTORY */
+
+#endif /* _VSERVER_HISTORY_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/inode.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/inode.h
---- linux-4.4.161/include/linux/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/inode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/inode.h linux-4.4/include/linux/vserver/inode.h
+--- linux-4.4/include/linux/vserver/inode.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/inode.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,19 @@
+#ifndef _VSERVER_INODE_H
+#define _VSERVER_INODE_H
+#else /* _VSERVER_INODE_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_INODE_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/inode_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/inode_cmd.h
---- linux-4.4.161/include/linux/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/inode_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/inode_cmd.h linux-4.4/include/linux/vserver/inode_cmd.h
+--- linux-4.4/include/linux/vserver/inode_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/inode_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,36 @@
+#ifndef _VSERVER_INODE_CMD_H
+#define _VSERVER_INODE_CMD_H
+#endif /* CONFIG_COMPAT */
+
+#endif /* _VSERVER_INODE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/limit.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit.h
---- linux-4.4.161/include/linux/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/limit.h linux-4.4/include/linux/vserver/limit.h
+--- linux-4.4/include/linux/vserver/limit.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/limit.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,67 @@
+#ifndef _VSERVER_LIMIT_H
+#define _VSERVER_LIMIT_H
+#define NUM_LIMITS 24
+
+#endif /* _VSERVER_LIMIT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/limit_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_cmd.h
---- linux-4.4.161/include/linux/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/limit_cmd.h linux-4.4/include/linux/vserver/limit_cmd.h
+--- linux-4.4/include/linux/vserver/limit_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/limit_cmd.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,35 @@
+#ifndef _VSERVER_LIMIT_CMD_H
+#define _VSERVER_LIMIT_CMD_H
+#endif /* CONFIG_IA32_EMULATION */
+
+#endif /* _VSERVER_LIMIT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/limit_def.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_def.h
---- linux-4.4.161/include/linux/vserver/limit_def.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_def.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/limit_def.h linux-4.4/include/linux/vserver/limit_def.h
+--- linux-4.4/include/linux/vserver/limit_def.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/limit_def.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,47 @@
+#ifndef _VSERVER_LIMIT_DEF_H
+#define _VSERVER_LIMIT_DEF_H
+#endif
+
+#endif /* _VSERVER_LIMIT_DEF_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/limit_int.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_int.h
---- linux-4.4.161/include/linux/vserver/limit_int.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/limit_int.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/limit_int.h linux-4.4/include/linux/vserver/limit_int.h
+--- linux-4.4/include/linux/vserver/limit_int.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/limit_int.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,193 @@
+#ifndef _VSERVER_LIMIT_INT_H
+#define _VSERVER_LIMIT_INT_H
+
+
+#endif /* _VSERVER_LIMIT_INT_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/monitor.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/monitor.h
---- linux-4.4.161/include/linux/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/monitor.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/monitor.h linux-4.4/include/linux/vserver/monitor.h
+--- linux-4.4/include/linux/vserver/monitor.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/monitor.h 2021-02-24 16:56:24.586156094 +0100
@@ -0,0 +1,6 @@
+#ifndef _VSERVER_MONITOR_H
+#define _VSERVER_MONITOR_H
+#include <uapi/vserver/monitor.h>
+
+#endif /* _VSERVER_MONITOR_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/network.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/network.h
---- linux-4.4.161/include/linux/vserver/network.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/network.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/network.h linux-4.4/include/linux/vserver/network.h
+--- linux-4.4/include/linux/vserver/network.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/network.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,76 @@
+#ifndef _VSERVER_NETWORK_H
+#define _VSERVER_NETWORK_H
+#endif
+
+#endif /* _VSERVER_NETWORK_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/network_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/network_cmd.h
---- linux-4.4.161/include/linux/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/network_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/network_cmd.h linux-4.4/include/linux/vserver/network_cmd.h
+--- linux-4.4/include/linux/vserver/network_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/network_cmd.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,37 @@
+#ifndef _VSERVER_NETWORK_CMD_H
+#define _VSERVER_NETWORK_CMD_H
+extern int vc_set_ncaps(struct nx_info *, void __user *);
+
+#endif /* _VSERVER_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/percpu.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/percpu.h
---- linux-4.4.161/include/linux/vserver/percpu.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/percpu.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/percpu.h linux-4.4/include/linux/vserver/percpu.h
+--- linux-4.4/include/linux/vserver/percpu.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/percpu.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,14 @@
+#ifndef _VSERVER_PERCPU_H
+#define _VSERVER_PERCPU_H
+#define PERCPU_PERCTX (sizeof(struct _vx_percpu))
+
+#endif /* _VSERVER_PERCPU_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/pid.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/pid.h
---- linux-4.4.161/include/linux/vserver/pid.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/pid.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/pid.h linux-4.4/include/linux/vserver/pid.h
+--- linux-4.4/include/linux/vserver/pid.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/pid.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,51 @@
+#ifndef _VSERVER_PID_H
+#define _VSERVER_PID_H
+}
+
+#endif
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/sched.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched.h
---- linux-4.4.161/include/linux/vserver/sched.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/sched.h linux-4.4/include/linux/vserver/sched.h
+--- linux-4.4/include/linux/vserver/sched.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/sched.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,23 @@
+#ifndef _VSERVER_SCHED_H
+#define _VSERVER_SCHED_H
+#else /* _VSERVER_SCHED_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_SCHED_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/sched_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched_cmd.h
---- linux-4.4.161/include/linux/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/sched_cmd.h linux-4.4/include/linux/vserver/sched_cmd.h
+--- linux-4.4/include/linux/vserver/sched_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/sched_cmd.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,11 @@
+#ifndef _VSERVER_SCHED_CMD_H
+#define _VSERVER_SCHED_CMD_H
+extern int vc_get_prio_bias(struct vx_info *, void __user *);
+
+#endif /* _VSERVER_SCHED_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/sched_def.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched_def.h
---- linux-4.4.161/include/linux/vserver/sched_def.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/sched_def.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/sched_def.h linux-4.4/include/linux/vserver/sched_def.h
+--- linux-4.4/include/linux/vserver/sched_def.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/sched_def.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,38 @@
+#ifndef _VSERVER_SCHED_DEF_H
+#define _VSERVER_SCHED_DEF_H
+#endif
+
+#endif /* _VSERVER_SCHED_DEF_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/signal.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/signal.h
---- linux-4.4.161/include/linux/vserver/signal.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/signal.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/signal.h linux-4.4/include/linux/vserver/signal.h
+--- linux-4.4/include/linux/vserver/signal.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/signal.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,14 @@
+#ifndef _VSERVER_SIGNAL_H
+#define _VSERVER_SIGNAL_H
+#else /* _VSERVER_SIGNAL_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_SIGNAL_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/signal_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/signal_cmd.h
---- linux-4.4.161/include/linux/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/signal_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/signal_cmd.h linux-4.4/include/linux/vserver/signal_cmd.h
+--- linux-4.4/include/linux/vserver/signal_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/signal_cmd.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,14 @@
+#ifndef _VSERVER_SIGNAL_CMD_H
+#define _VSERVER_SIGNAL_CMD_H
+extern int vc_set_pflags(uint32_t pid, void __user *);
+
+#endif /* _VSERVER_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/space.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/space.h
---- linux-4.4.161/include/linux/vserver/space.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/space.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/space.h linux-4.4/include/linux/vserver/space.h
+--- linux-4.4/include/linux/vserver/space.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/space.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,12 @@
+#ifndef _VSERVER_SPACE_H
+#define _VSERVER_SPACE_H
+#else /* _VSERVER_SPACE_H */
+#warning duplicate inclusion
+#endif /* _VSERVER_SPACE_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/space_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/space_cmd.h
---- linux-4.4.161/include/linux/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/space_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/space_cmd.h linux-4.4/include/linux/vserver/space_cmd.h
+--- linux-4.4/include/linux/vserver/space_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/space_cmd.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,13 @@
+#ifndef _VSERVER_SPACE_CMD_H
+#define _VSERVER_SPACE_CMD_H
+extern int vc_get_space_mask(void __user *, int);
+
+#endif /* _VSERVER_SPACE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/switch.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/switch.h
---- linux-4.4.161/include/linux/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/switch.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/switch.h linux-4.4/include/linux/vserver/switch.h
+--- linux-4.4/include/linux/vserver/switch.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/switch.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,8 @@
+#ifndef _VSERVER_SWITCH_H
+#define _VSERVER_SWITCH_H
+#include <uapi/vserver/switch.h>
+
+#endif /* _VSERVER_SWITCH_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/tag.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/tag.h
---- linux-4.4.161/include/linux/vserver/tag.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/tag.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/tag.h linux-4.4/include/linux/vserver/tag.h
+--- linux-4.4/include/linux/vserver/tag.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/tag.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,160 @@
+#ifndef _DX_TAG_H
+#define _DX_TAG_H
+#endif
+
+#endif /* _DX_TAG_H */
-diff -NurpP --minimal linux-4.4.161/include/linux/vserver/tag_cmd.h linux-4.4.161-vs2.3.9.8/include/linux/vserver/tag_cmd.h
---- linux-4.4.161/include/linux/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/linux/vserver/tag_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/linux/vserver/tag_cmd.h linux-4.4/include/linux/vserver/tag_cmd.h
+--- linux-4.4/include/linux/vserver/tag_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/linux/vserver/tag_cmd.h 2021-02-24 16:56:24.589489533 +0100
@@ -0,0 +1,10 @@
+#ifndef _VSERVER_TAG_CMD_H
+#define _VSERVER_TAG_CMD_H
+extern int vc_tag_migrate(uint32_t);
+
+#endif /* _VSERVER_TAG_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/net/addrconf.h linux-4.4.161-vs2.3.9.8/include/net/addrconf.h
---- linux-4.4.161/include/net/addrconf.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/addrconf.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/net/addrconf.h linux-4.4/include/net/addrconf.h
+--- linux-4.4/include/net/addrconf.h 2021-02-24 16:56:11.899089877 +0100
++++ linux-4.4/include/net/addrconf.h 2021-02-24 16:56:24.589489533 +0100
@@ -84,7 +84,7 @@ struct inet6_ifaddr *ipv6_get_ifaddr(str
int ipv6_dev_get_saddr(struct net *net, const struct net_device *dev,
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
u32 banned_flags);
int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
-diff -NurpP --minimal linux-4.4.161/include/net/af_unix.h linux-4.4.161-vs2.3.9.8/include/net/af_unix.h
---- linux-4.4.161/include/net/af_unix.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/af_unix.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/net/af_unix.h linux-4.4/include/net/af_unix.h
+--- linux-4.4/include/net/af_unix.h 2021-02-24 16:56:11.899089877 +0100
++++ linux-4.4/include/net/af_unix.h 2021-02-24 16:56:24.589489533 +0100
@@ -4,6 +4,7 @@
#include <linux/socket.h>
#include <linux/un.h>
#include <net/sock.h>
void unix_inflight(struct user_struct *user, struct file *fp);
-diff -NurpP --minimal linux-4.4.161/include/net/inet_timewait_sock.h linux-4.4.161-vs2.3.9.8/include/net/inet_timewait_sock.h
---- linux-4.4.161/include/net/inet_timewait_sock.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/inet_timewait_sock.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/net/inet_timewait_sock.h linux-4.4/include/net/inet_timewait_sock.h
+--- linux-4.4/include/net/inet_timewait_sock.h 2021-02-24 16:56:11.905756754 +0100
++++ linux-4.4/include/net/inet_timewait_sock.h 2021-02-24 16:56:24.589489533 +0100
@@ -72,6 +72,10 @@ struct inet_timewait_sock {
#define tw_num __tw_common.skc_num
#define tw_cookie __tw_common.skc_cookie
int tw_timeout;
volatile unsigned char tw_substate;
-diff -NurpP --minimal linux-4.4.161/include/net/ip6_route.h linux-4.4.161-vs2.3.9.8/include/net/ip6_route.h
---- linux-4.4.161/include/net/ip6_route.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/ip6_route.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/net/ip6_route.h linux-4.4/include/net/ip6_route.h
+--- linux-4.4/include/net/ip6_route.h 2021-02-24 16:56:11.905756754 +0100
++++ linux-4.4/include/net/ip6_route.h 2021-02-24 16:56:24.592822971 +0100
@@ -90,7 +90,7 @@ int ip6_del_rt(struct rt6_info *);
int ip6_route_get_saddr(struct net *net, struct rt6_info *rt,
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-4.4.161/include/net/route.h linux-4.4.161-vs2.3.9.8/include/net/route.h
---- linux-4.4.161/include/net/route.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/route.h 2018-10-20 04:57:21.000000000 +0000
-@@ -224,6 +224,9 @@ static inline void ip_rt_put(struct rtab
+diff -urNp -x '*.orig' linux-4.4/include/net/route.h linux-4.4/include/net/route.h
+--- linux-4.4/include/net/route.h 2021-02-24 16:56:11.909090192 +0100
++++ linux-4.4/include/net/route.h 2021-02-24 16:56:24.592822971 +0100
+@@ -227,6 +227,9 @@ static inline void ip_rt_put(struct rtab
dst_release(&rt->dst);
}
#define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3)
extern const __u8 ip_tos2prio[16];
-@@ -271,6 +274,9 @@ static inline void ip_route_connect_init
+@@ -274,6 +277,9 @@ static inline void ip_route_connect_init
protocol, flow_flags, dst, src, dport, sport);
}
static inline struct rtable *ip_route_connect(struct flowi4 *fl4,
__be32 dst, __be32 src, u32 tos,
int oif, u8 protocol,
-@@ -279,6 +285,7 @@ static inline struct rtable *ip_route_co
+@@ -282,6 +288,7 @@ static inline struct rtable *ip_route_co
{
struct net *net = sock_net(sk);
struct rtable *rt;
ip_route_connect_init(fl4, dst, src, tos, oif, protocol,
sport, dport, sk);
-@@ -292,7 +299,21 @@ static inline struct rtable *ip_route_co
+@@ -295,7 +302,21 @@ static inline struct rtable *ip_route_co
src = fl4->saddr;
}
rt = __ip_route_output_key(net, fl4);
if (IS_ERR(rt))
return rt;
-diff -NurpP --minimal linux-4.4.161/include/net/sock.h linux-4.4.161-vs2.3.9.8/include/net/sock.h
---- linux-4.4.161/include/net/sock.h 2018-10-20 02:34:30.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/net/sock.h 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/net/sock.h linux-4.4/include/net/sock.h
+--- linux-4.4/include/net/sock.h 2021-02-24 16:56:11.912423630 +0100
++++ linux-4.4/include/net/sock.h 2021-02-24 16:56:24.592822971 +0100
@@ -201,6 +201,10 @@ struct sock_common {
struct in6_addr skc_v6_daddr;
struct in6_addr skc_v6_rcv_saddr;
atomic64_t skc_cookie;
-@@ -349,8 +353,12 @@ struct sock {
+@@ -350,8 +354,12 @@ 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_incoming_cpu __sk_common.skc_incoming_cpu
#define sk_flags __sk_common.skc_flags
#define sk_rxhash __sk_common.skc_rxhash
-diff -NurpP --minimal linux-4.4.161/include/uapi/Kbuild linux-4.4.161-vs2.3.9.8/include/uapi/Kbuild
---- linux-4.4.161/include/uapi/Kbuild 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/Kbuild 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/Kbuild linux-4.4/include/uapi/Kbuild
+--- linux-4.4/include/uapi/Kbuild 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/Kbuild 2021-02-24 16:56:24.592822971 +0100
@@ -13,3 +13,4 @@ header-y += drm/
header-y += xen/
header-y += scsi/
header-y += misc/
+header-y += vserver/
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/capability.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/capability.h
---- linux-4.4.161/include/uapi/linux/capability.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/capability.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/capability.h linux-4.4/include/uapi/linux/capability.h
+--- linux-4.4/include/uapi/linux/capability.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/capability.h 2021-02-24 16:56:24.592822971 +0100
@@ -259,6 +259,7 @@ struct vfs_cap_data {
arbitrary SCSI commands */
/* Allow setting encryption key on loopback filesystem */
/*
* Bit location of each capability (used by user-space library and kernel)
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/fs.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/fs.h
---- linux-4.4.161/include/uapi/linux/fs.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/fs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/fs.h linux-4.4/include/uapi/linux/fs.h
+--- linux-4.4/include/uapi/linux/fs.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/fs.h 2021-02-24 16:56:24.592822971 +0100
@@ -91,6 +91,9 @@ struct inodes_stat_t {
#define MS_I_VERSION (1<<23) /* Update inode I_version field */
#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
#define SYNC_FILE_RANGE_WAIT_BEFORE 1
#define SYNC_FILE_RANGE_WRITE 2
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/gfs2_ondisk.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/gfs2_ondisk.h
---- linux-4.4.161/include/uapi/linux/gfs2_ondisk.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/gfs2_ondisk.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/gfs2_ondisk.h linux-4.4/include/uapi/linux/gfs2_ondisk.h
+--- linux-4.4/include/uapi/linux/gfs2_ondisk.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/gfs2_ondisk.h 2021-02-24 16:56:24.592822971 +0100
@@ -225,6 +225,9 @@ enum {
gfs2fl_Sync = 8,
gfs2fl_System = 9,
#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-4.4.161/include/uapi/linux/if_tun.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/if_tun.h
---- linux-4.4.161/include/uapi/linux/if_tun.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/if_tun.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/if_tun.h linux-4.4/include/uapi/linux/if_tun.h
+--- linux-4.4/include/uapi/linux/if_tun.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/if_tun.h 2021-02-24 16:56:24.592822971 +0100
@@ -56,6 +56,7 @@
*/
#define TUNSETVNETBE _IOW('T', 222, int)
/* TUNSETIFF ifr flags */
#define IFF_TUN 0x0001
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/major.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/major.h
---- linux-4.4.161/include/uapi/linux/major.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/major.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/major.h linux-4.4/include/uapi/linux/major.h
+--- linux-4.4/include/uapi/linux/major.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/major.h 2021-02-24 16:56:24.592822971 +0100
@@ -15,6 +15,7 @@
#define HD_MAJOR IDE0_MAJOR
#define PTY_SLAVE_MAJOR 3
#define TTYAUX_MAJOR 5
#define LP_MAJOR 6
#define VCS_MAJOR 7
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/nfs_mount.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/nfs_mount.h
---- linux-4.4.161/include/uapi/linux/nfs_mount.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/nfs_mount.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/nfs_mount.h linux-4.4/include/uapi/linux/nfs_mount.h
+--- linux-4.4/include/uapi/linux/nfs_mount.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/nfs_mount.h 2021-02-24 16:56:24.592822971 +0100
@@ -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 */
/* The following are for internal use only */
#define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/reboot.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/reboot.h
---- linux-4.4.161/include/uapi/linux/reboot.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/reboot.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/reboot.h linux-4.4/include/uapi/linux/reboot.h
+--- linux-4.4/include/uapi/linux/reboot.h 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/include/uapi/linux/reboot.h 2021-02-24 16:56:24.592822971 +0100
@@ -33,7 +33,7 @@
#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4
#define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2
#endif /* _UAPI_LINUX_REBOOT_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/linux/sysctl.h linux-4.4.161-vs2.3.9.8/include/uapi/linux/sysctl.h
---- linux-4.4.161/include/uapi/linux/sysctl.h 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/linux/sysctl.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/linux/sysctl.h linux-4.4/include/uapi/linux/sysctl.h
+--- linux-4.4/include/uapi/linux/sysctl.h 2021-02-24 16:56:11.925757384 +0100
++++ linux-4.4/include/uapi/linux/sysctl.h 2021-02-24 16:56:24.592822971 +0100
@@ -60,6 +60,7 @@ enum
CTL_ABI=9, /* Binary emulation */
CTL_CPU=10, /* CPU stuff (speed scaling, etc) */
KERN_SPARC_REBOOT=21, /* reboot command on Sparc */
KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/Kbuild linux-4.4.161-vs2.3.9.8/include/uapi/vserver/Kbuild
---- linux-4.4.161/include/uapi/vserver/Kbuild 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/Kbuild 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/Kbuild linux-4.4/include/uapi/vserver/Kbuild
+--- linux-4.4/include/uapi/vserver/Kbuild 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/Kbuild 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,9 @@
+
+header-y += context_cmd.h network_cmd.h space_cmd.h \
+header-y += switch.h context.h network.h monitor.h \
+ limit.h inode.h device.h
+
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/cacct_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/cacct_cmd.h
---- linux-4.4.161/include/uapi/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/cacct_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/cacct_cmd.h linux-4.4/include/uapi/vserver/cacct_cmd.h
+--- linux-4.4/include/uapi/vserver/cacct_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/cacct_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,15 @@
+#ifndef _UAPI_VS_CACCT_CMD_H
+#define _UAPI_VS_CACCT_CMD_H
+};
+
+#endif /* _UAPI_VS_CACCT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/context.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/context.h
---- linux-4.4.161/include/uapi/vserver/context.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/context.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/context.h linux-4.4/include/uapi/vserver/context.h
+--- linux-4.4/include/uapi/vserver/context.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/context.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,81 @@
+#ifndef _UAPI_VS_CONTEXT_H
+#define _UAPI_VS_CONTEXT_H
+#define VXC_NAMESPACE 0x02000000
+
+#endif /* _UAPI_VS_CONTEXT_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/context_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/context_cmd.h
---- linux-4.4.161/include/uapi/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/context_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/context_cmd.h linux-4.4/include/uapi/vserver/context_cmd.h
+--- linux-4.4/include/uapi/vserver/context_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/context_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,115 @@
+#ifndef _UAPI_VS_CONTEXT_CMD_H
+#define _UAPI_VS_CONTEXT_CMD_H
+};
+
+#endif /* _UAPI_VS_CONTEXT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/cvirt_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/cvirt_cmd.h
---- linux-4.4.161/include/uapi/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/cvirt_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/cvirt_cmd.h linux-4.4/include/uapi/vserver/cvirt_cmd.h
+--- linux-4.4/include/uapi/vserver/cvirt_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/cvirt_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,41 @@
+#ifndef _UAPI_VS_CVIRT_CMD_H
+#define _UAPI_VS_CVIRT_CMD_H
+};
+
+#endif /* _UAPI_VS_CVIRT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/debug_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/debug_cmd.h
---- linux-4.4.161/include/uapi/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/debug_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/debug_cmd.h linux-4.4/include/uapi/vserver/debug_cmd.h
+--- linux-4.4/include/uapi/vserver/debug_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/debug_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,24 @@
+#ifndef _UAPI_VS_DEBUG_CMD_H
+#define _UAPI_VS_DEBUG_CMD_H
+};
+
+#endif /* _UAPI_VS_DEBUG_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/device.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/device.h
---- linux-4.4.161/include/uapi/vserver/device.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/device.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/device.h linux-4.4/include/uapi/vserver/device.h
+--- linux-4.4/include/uapi/vserver/device.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/device.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,12 @@
+#ifndef _UAPI_VS_DEVICE_H
+#define _UAPI_VS_DEVICE_H
+#define DATTR_MASK 0x00000013
+
+#endif /* _UAPI_VS_DEVICE_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/device_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/device_cmd.h
---- linux-4.4.161/include/uapi/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/device_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/device_cmd.h linux-4.4/include/uapi/vserver/device_cmd.h
+--- linux-4.4/include/uapi/vserver/device_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/device_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,16 @@
+#ifndef _UAPI_VS_DEVICE_CMD_H
+#define _UAPI_VS_DEVICE_CMD_H
+};
+
+#endif /* _UAPI_VS_DEVICE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/dlimit_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/dlimit_cmd.h
---- linux-4.4.161/include/uapi/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/dlimit_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/dlimit_cmd.h linux-4.4/include/uapi/vserver/dlimit_cmd.h
+--- linux-4.4/include/uapi/vserver/dlimit_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/dlimit_cmd.h 2021-02-24 16:56:24.592822971 +0100
@@ -0,0 +1,67 @@
+#ifndef _UAPI_VS_DLIMIT_CMD_H
+#define _UAPI_VS_DLIMIT_CMD_H
+}
+
+#endif /* _UAPI_VS_DLIMIT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/inode.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/inode.h
---- linux-4.4.161/include/uapi/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/inode.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/inode.h linux-4.4/include/uapi/vserver/inode.h
+--- linux-4.4/include/uapi/vserver/inode.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/inode.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,23 @@
+#ifndef _UAPI_VS_INODE_H
+#define _UAPI_VS_INODE_H
+#define FIOC_SETXFLG _IOW('x', 6, long)
+
+#endif /* _UAPI_VS_INODE_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/inode_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/inode_cmd.h
---- linux-4.4.161/include/uapi/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/inode_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/inode_cmd.h linux-4.4/include/uapi/vserver/inode_cmd.h
+--- linux-4.4/include/uapi/vserver/inode_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/inode_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,26 @@
+#ifndef _UAPI_VS_INODE_CMD_H
+#define _UAPI_VS_INODE_CMD_H
+};
+
+#endif /* _UAPI_VS_INODE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/limit.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/limit.h
---- linux-4.4.161/include/uapi/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/limit.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/limit.h linux-4.4/include/uapi/vserver/limit.h
+--- linux-4.4/include/uapi/vserver/limit.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/limit.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,14 @@
+#ifndef _UAPI_VS_LIMIT_H
+#define _UAPI_VS_LIMIT_H
+#define VLIMIT_MAPPED 23
+
+#endif /* _UAPI_VS_LIMIT_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/limit_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/limit_cmd.h
---- linux-4.4.161/include/uapi/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/limit_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/limit_cmd.h linux-4.4/include/uapi/vserver/limit_cmd.h
+--- linux-4.4/include/uapi/vserver/limit_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/limit_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,40 @@
+#ifndef _UAPI_VS_LIMIT_CMD_H
+#define _UAPI_VS_LIMIT_CMD_H
+#define CRLIM_KEEP (~1ULL)
+
+#endif /* _UAPI_VS_LIMIT_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/monitor.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/monitor.h
---- linux-4.4.161/include/uapi/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/monitor.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/monitor.h linux-4.4/include/uapi/vserver/monitor.h
+--- linux-4.4/include/uapi/vserver/monitor.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/monitor.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,96 @@
+#ifndef _UAPI_VS_MONITOR_H
+#define _UAPI_VS_MONITOR_H
+};
+
+#endif /* _UAPI_VS_MONITOR_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/network.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/network.h
---- linux-4.4.161/include/uapi/vserver/network.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/network.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/network.h linux-4.4/include/uapi/vserver/network.h
+--- linux-4.4/include/uapi/vserver/network.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/network.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,76 @@
+#ifndef _UAPI_VS_NETWORK_H
+#define _UAPI_VS_NETWORK_H
+#define NXA_MASK_SHOW (NXA_MASK_ALL | NXA_LOOPBACK)
+
+#endif /* _UAPI_VS_NETWORK_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/network_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/network_cmd.h
---- linux-4.4.161/include/uapi/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/network_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/network_cmd.h linux-4.4/include/uapi/vserver/network_cmd.h
+--- linux-4.4/include/uapi/vserver/network_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/network_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,123 @@
+#ifndef _UAPI_VS_NETWORK_CMD_H
+#define _UAPI_VS_NETWORK_CMD_H
+};
+
+#endif /* _UAPI_VS_NETWORK_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/sched_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/sched_cmd.h
---- linux-4.4.161/include/uapi/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/sched_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/sched_cmd.h linux-4.4/include/uapi/vserver/sched_cmd.h
+--- linux-4.4/include/uapi/vserver/sched_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/sched_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,13 @@
+#ifndef _UAPI_VS_SCHED_CMD_H
+#define _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-4.4.161/include/uapi/vserver/signal_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/signal_cmd.h
---- linux-4.4.161/include/uapi/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/signal_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/signal_cmd.h linux-4.4/include/uapi/vserver/signal_cmd.h
+--- linux-4.4/include/uapi/vserver/signal_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/signal_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,31 @@
+#ifndef _UAPI_VS_SIGNAL_CMD_H
+#define _UAPI_VS_SIGNAL_CMD_H
+};
+
+#endif /* _UAPI_VS_SIGNAL_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/space_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/space_cmd.h
---- linux-4.4.161/include/uapi/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/space_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/space_cmd.h linux-4.4/include/uapi/vserver/space_cmd.h
+--- linux-4.4/include/uapi/vserver/space_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/space_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,28 @@
+#ifndef _UAPI_VS_SPACE_CMD_H
+#define _UAPI_VS_SPACE_CMD_H
+};
+
+#endif /* _UAPI_VS_SPACE_CMD_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/switch.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/switch.h
---- linux-4.4.161/include/uapi/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/switch.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/switch.h linux-4.4/include/uapi/vserver/switch.h
+--- linux-4.4/include/uapi/vserver/switch.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/switch.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,90 @@
+#ifndef _UAPI_VS_SWITCH_H
+#define _UAPI_VS_SWITCH_H
+#define VCMD_get_vci VC_CMD(VERSION, 1, 0)
+
+#endif /* _UAPI_VS_SWITCH_H */
-diff -NurpP --minimal linux-4.4.161/include/uapi/vserver/tag_cmd.h linux-4.4.161-vs2.3.9.8/include/uapi/vserver/tag_cmd.h
---- linux-4.4.161/include/uapi/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/include/uapi/vserver/tag_cmd.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/include/uapi/vserver/tag_cmd.h linux-4.4/include/uapi/vserver/tag_cmd.h
+--- linux-4.4/include/uapi/vserver/tag_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/include/uapi/vserver/tag_cmd.h 2021-02-24 16:56:24.596156409 +0100
@@ -0,0 +1,14 @@
+#ifndef _UAPI_VS_TAG_CMD_H
+#define _UAPI_VS_TAG_CMD_H
+#define VCMD_tag_migrate VC_CMD(TAGMIG, 1, 0)
+
+#endif /* _UAPI_VS_TAG_CMD_H */
-diff -NurpP --minimal linux-4.4.161/init/Kconfig linux-4.4.161-vs2.3.9.8/init/Kconfig
---- linux-4.4.161/init/Kconfig 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/init/Kconfig 2018-10-20 04:57:21.000000000 +0000
-@@ -927,6 +927,7 @@ config NUMA_BALANCING_DEFAULT_ENABLED
+diff -urNp -x '*.orig' linux-4.4/init/Kconfig linux-4.4/init/Kconfig
+--- linux-4.4/init/Kconfig 2021-02-24 16:56:11.929090822 +0100
++++ linux-4.4/init/Kconfig 2021-02-24 16:56:24.596156409 +0100
+@@ -938,6 +938,7 @@ config NUMA_BALANCING_DEFAULT_ENABLED
menuconfig CGROUPS
bool "Control Group support"
select KERNFS
help
This option adds support for grouping sets of processes together, for
use with process control subsystems such as Cpusets, CFS, memory
-diff -NurpP --minimal linux-4.4.161/init/main.c linux-4.4.161-vs2.3.9.8/init/main.c
---- linux-4.4.161/init/main.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/init/main.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/init/main.c linux-4.4/init/main.c
+--- linux-4.4/init/main.c 2021-02-24 16:56:11.929090822 +0100
++++ linux-4.4/init/main.c 2021-02-24 16:56:24.596156409 +0100
@@ -82,6 +82,7 @@
#include <linux/proc_ns.h>
#include <linux/io.h>
#include <asm/io.h>
#include <asm/bugs.h>
-diff -NurpP --minimal linux-4.4.161/ipc/mqueue.c linux-4.4.161-vs2.3.9.8/ipc/mqueue.c
---- linux-4.4.161/ipc/mqueue.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/ipc/mqueue.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/ipc/mqueue.c linux-4.4/ipc/mqueue.c
+--- linux-4.4/ipc/mqueue.c 2021-02-24 16:56:11.932424260 +0100
++++ linux-4.4/ipc/mqueue.c 2021-02-24 16:56:24.596156409 +0100
@@ -35,6 +35,8 @@
#include <linux/ipc_namespace.h>
#include <linux/user_namespace.h>
} else if (S_ISDIR(mode)) {
inc_nlink(inode);
/* Some things misbehave if size == 0 on a directory */
-@@ -398,8 +406,11 @@ static void mqueue_evict_inode(struct in
+@@ -395,6 +403,7 @@ static void mqueue_evict_inode(struct in
user = info->user;
if (user) {
+ struct vx_info *vxi = info->vxi;
-+
+ unsigned long mq_bytes, mq_treesize;
+
+ /* Total amount of bytes accounted for the mqueue */
+@@ -407,6 +416,7 @@ static void mqueue_evict_inode(struct in
+
spin_lock(&mq_lock);
user->mq_bytes -= mq_bytes;
+ vx_ipcmsg_sub(vxi, user, mq_bytes);
/*
* get_ns_from_inode() ensures that the
* (ipc_ns = sb->s_fs_info) is either a valid ipc_ns
-@@ -409,6 +420,7 @@ static void mqueue_evict_inode(struct in
+@@ -416,6 +426,7 @@ static void mqueue_evict_inode(struct in
if (ipc_ns)
ipc_ns->mq_queues_count--;
spin_unlock(&mq_lock);
free_uid(user);
}
if (ipc_ns)
-diff -NurpP --minimal linux-4.4.161/ipc/msg.c linux-4.4.161-vs2.3.9.8/ipc/msg.c
---- linux-4.4.161/ipc/msg.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/ipc/msg.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/ipc/msg.c linux-4.4/ipc/msg.c
+--- linux-4.4/ipc/msg.c 2021-02-24 16:56:11.932424260 +0100
++++ linux-4.4/ipc/msg.c 2021-02-24 16:56:24.596156409 +0100
@@ -37,6 +37,7 @@
#include <linux/rwsem.h>
#include <linux/nsproxy.h>
msq->q_perm.security = NULL;
retval = security_msg_queue_alloc(msq);
-diff -NurpP --minimal linux-4.4.161/ipc/sem.c linux-4.4.161-vs2.3.9.8/ipc/sem.c
---- linux-4.4.161/ipc/sem.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/ipc/sem.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/ipc/sem.c linux-4.4/ipc/sem.c
+--- linux-4.4/ipc/sem.c 2021-02-24 16:56:11.932424260 +0100
++++ linux-4.4/ipc/sem.c 2021-02-24 16:56:24.596156409 +0100
@@ -85,6 +85,8 @@
#include <linux/rwsem.h>
#include <linux/nsproxy.h>
ipc_rcu_putref(sma, sem_rcu_free);
}
-diff -NurpP --minimal linux-4.4.161/ipc/shm.c linux-4.4.161-vs2.3.9.8/ipc/shm.c
---- linux-4.4.161/ipc/shm.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/ipc/shm.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/ipc/shm.c linux-4.4/ipc/shm.c
+--- linux-4.4/ipc/shm.c 2021-02-24 16:56:11.932424260 +0100
++++ linux-4.4/ipc/shm.c 2021-02-24 16:56:24.599489848 +0100
@@ -42,6 +42,8 @@
#include <linux/nsproxy.h>
#include <linux/mount.h>
+ vx_ipcshm_sub(vxi, shp, numpages);
+ ns->shm_tot -= numpages;
+
- shm_rmid(ns, shp);
+ shm_rmid(shp);
shm_unlock(shp);
if (!is_file_hugepages(shm_file))
@@ -246,6 +252,7 @@ static void shm_destroy(struct ipc_names
return error;
no_id:
-diff -NurpP --minimal linux-4.4.161/kernel/Makefile linux-4.4.161-vs2.3.9.8/kernel/Makefile
---- linux-4.4.161/kernel/Makefile 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/Makefile 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/Makefile linux-4.4/kernel/Makefile
+--- linux-4.4/kernel/Makefile 2021-02-24 16:56:11.932424260 +0100
++++ linux-4.4/kernel/Makefile 2021-02-24 16:56:24.599489848 +0100
@@ -29,6 +29,7 @@ obj-y += printk/
obj-y += irq/
obj-y += rcu/
obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o
obj-$(CONFIG_FREEZER) += freezer.o
-diff -NurpP --minimal linux-4.4.161/kernel/auditsc.c linux-4.4.161-vs2.3.9.8/kernel/auditsc.c
---- linux-4.4.161/kernel/auditsc.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/auditsc.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/auditsc.c linux-4.4/kernel/auditsc.c
+--- linux-4.4/kernel/auditsc.c 2021-02-24 16:56:11.935757699 +0100
++++ linux-4.4/kernel/auditsc.c 2021-02-24 16:56:24.599489848 +0100
@@ -1964,7 +1964,7 @@ static int audit_set_loginuid_perm(kuid_
if (is_audit_feature_set(AUDIT_FEATURE_LOGINUID_IMMUTABLE))
return -EPERM;
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-4.4.161/kernel/capability.c linux-4.4.161-vs2.3.9.8/kernel/capability.c
---- linux-4.4.161/kernel/capability.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/capability.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/capability.c linux-4.4/kernel/capability.c
+--- linux-4.4/kernel/capability.c 2021-02-24 16:56:11.935757699 +0100
++++ linux-4.4/kernel/capability.c 2021-02-24 16:56:24.599489848 +0100
@@ -17,6 +17,7 @@
#include <linux/syscalls.h>
#include <linux/pid_namespace.h>
/**
* has_capability_noaudit - Does a task have a capability (unaudited) in the
* initial user ns
-diff -NurpP --minimal linux-4.4.161/kernel/compat.c linux-4.4.161-vs2.3.9.8/kernel/compat.c
---- linux-4.4.161/kernel/compat.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/compat.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/compat.c linux-4.4/kernel/compat.c
+--- linux-4.4/kernel/compat.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/kernel/compat.c 2021-02-24 16:56:24.599489848 +0100
@@ -27,6 +27,7 @@
#include <linux/times.h>
#include <linux/ptrace.h>
return 0;
}
-diff -NurpP --minimal linux-4.4.161/kernel/cred.c linux-4.4.161-vs2.3.9.8/kernel/cred.c
---- linux-4.4.161/kernel/cred.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/cred.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/cred.c linux-4.4/kernel/cred.c
+--- linux-4.4/kernel/cred.c 2021-02-24 16:56:11.939091137 +0100
++++ linux-4.4/kernel/cred.c 2021-02-24 16:56:24.599489848 +0100
@@ -64,31 +64,6 @@ struct cred init_cred = {
.group_info = &init_groups,
};
/*
* The RCU callback to actually dispose of a set of credentials
*/
-@@ -240,21 +215,16 @@ error:
+@@ -243,21 +218,16 @@ error:
*
* Call commit_creds() or abort_creds() to clean up.
*/
- old = task->cred;
memcpy(new, old, sizeof(struct cred));
- atomic_set(&new->usage, 1);
-@@ -283,6 +253,13 @@ error:
+ new->non_rcu = 0;
+@@ -287,6 +257,13 @@ error:
abort_creds(new);
return NULL;
}
EXPORT_SYMBOL(prepare_creds);
/*
-diff -NurpP --minimal linux-4.4.161/kernel/exit.c linux-4.4.161-vs2.3.9.8/kernel/exit.c
---- linux-4.4.161/kernel/exit.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/exit.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/exit.c linux-4.4/kernel/exit.c
+--- linux-4.4/kernel/exit.c 2021-02-24 16:56:11.945758014 +0100
++++ linux-4.4/kernel/exit.c 2021-02-24 16:56:24.599489848 +0100
@@ -48,6 +48,10 @@
#include <linux/fs_struct.h>
#include <linux/init_task.h>
#include <trace/events/sched.h>
#include <linux/hw_breakpoint.h>
#include <linux/oom.h>
-@@ -456,14 +460,24 @@ static struct task_struct *find_child_re
+@@ -460,15 +464,25 @@ static struct task_struct *find_child_re
+ {
struct pid_namespace *pid_ns = task_active_pid_ns(father);
struct task_struct *reaper = pid_ns->child_reaper;
- struct task_struct *p, *n;
+ struct vx_info *vxi = task_get_vx_info(father);
-+
+ struct task_struct *p, *n;
+
+ if (vxi) {
+ BUG_ON(!vxi->vx_reaper);
+ if (vxi->vx_reaper != init_pid_ns.child_reaper &&
+ goto out_put;
+ }
+ }
-
++
if (likely(reaper != father))
- return reaper;
+ goto out_put;
}
write_unlock_irq(&tasklist_lock);
-@@ -474,7 +488,10 @@ static struct task_struct *find_child_re
+@@ -485,7 +499,10 @@ static struct task_struct *find_child_re
zap_pid_ns_processes(pid_ns);
write_lock_irq(&tasklist_lock);
}
/*
-@@ -562,9 +579,13 @@ static void forget_original_parent(struc
+@@ -573,9 +590,13 @@ static void forget_original_parent(struc
return;
reaper = find_new_reaper(father, reaper);
BUG_ON((!t->ptrace) != (t->parent == father));
if (likely(!t->ptrace))
t->parent = t->real_parent;
-@@ -576,10 +597,13 @@ static void forget_original_parent(struc
+@@ -587,10 +608,13 @@ static void forget_original_parent(struc
* If this is a threaded reparent there is no need to
* notify anyone anything has happened.
*/
}
/*
-@@ -763,6 +787,9 @@ void do_exit(long code)
+@@ -759,6 +783,9 @@ void do_exit(long code)
*/
flush_ptrace_hw_breakpoint(tsk);
TASKS_RCU(preempt_disable());
TASKS_RCU(tasks_rcu_i = __srcu_read_lock(&tasks_rcu_exit_srcu));
TASKS_RCU(preempt_enable());
-@@ -800,6 +827,10 @@ void do_exit(long code)
+@@ -790,6 +817,10 @@ void do_exit(long code)
validate_creds_for_do_exit(tsk);
check_stack_usage();
preempt_disable();
if (tsk->nr_dirtied)
-@@ -826,6 +857,7 @@ void do_exit(long code)
+@@ -816,6 +847,7 @@ void do_exit(long code)
tsk->state = TASK_DEAD;
tsk->flags |= PF_NOFREEZE; /* tell freezer to ignore us */
schedule();
BUG();
/* Avoid "noreturn function does return". */
for (;;)
-diff -NurpP --minimal linux-4.4.161/kernel/fork.c linux-4.4.161-vs2.3.9.8/kernel/fork.c
---- linux-4.4.161/kernel/fork.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/fork.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/fork.c linux-4.4/kernel/fork.c
+--- linux-4.4/kernel/fork.c 2021-02-24 16:56:11.945758014 +0100
++++ linux-4.4/kernel/fork.c 2021-02-24 16:56:24.599489848 +0100
@@ -76,6 +76,9 @@
#include <linux/aio.h>
#include <linux/compiler.h>
ftrace_graph_exit_task(tsk);
put_seccomp_filter(tsk);
arch_release_task_struct(tsk);
-@@ -1284,6 +1289,8 @@ static struct task_struct *copy_process(
+@@ -1280,6 +1285,8 @@ static struct task_struct *copy_process(
{
int retval;
struct task_struct *p;
void *cgrp_ss_priv[CGROUP_CANFORK_COUNT] = {};
if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
-@@ -1357,7 +1364,12 @@ static struct task_struct *copy_process(
+@@ -1353,7 +1360,12 @@ static struct task_struct *copy_process(
DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled);
DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled);
#endif
if (atomic_read(&p->real_cred->user->processes) >=
task_rlimit(p, RLIMIT_NPROC)) {
if (p->real_cred->user != INIT_USER &&
-@@ -1649,6 +1661,18 @@ static struct task_struct *copy_process(
+@@ -1648,6 +1660,18 @@ static struct task_struct *copy_process(
total_forks++;
spin_unlock(¤t->sighand->siglock);
syscall_tracepoint_update(p);
write_unlock_irq(&tasklist_lock);
proc_fork_connector(p);
-diff -NurpP --minimal linux-4.4.161/kernel/kthread.c linux-4.4.161-vs2.3.9.8/kernel/kthread.c
---- linux-4.4.161/kernel/kthread.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/kthread.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/kthread.c linux-4.4/kernel/kthread.c
+--- linux-4.4/kernel/kthread.c 2021-02-24 16:56:11.949091452 +0100
++++ linux-4.4/kernel/kthread.c 2021-02-24 16:56:24.599489848 +0100
@@ -19,6 +19,7 @@
#include <linux/ptrace.h>
#include <linux/uaccess.h>
#include <trace/events/sched.h>
static DEFINE_SPINLOCK(kthread_create_lock);
-diff -NurpP --minimal linux-4.4.161/kernel/nsproxy.c linux-4.4.161-vs2.3.9.8/kernel/nsproxy.c
---- linux-4.4.161/kernel/nsproxy.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/nsproxy.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/nsproxy.c linux-4.4/kernel/nsproxy.c
+--- linux-4.4/kernel/nsproxy.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/kernel/nsproxy.c 2021-02-24 16:56:24.599489848 +0100
@@ -20,11 +20,14 @@
#include <linux/mnt_namespace.h>
#include <linux/utsname.h>
return -EPERM;
*new_nsp = create_new_namespaces(unshare_flags, current, user_ns,
-diff -NurpP --minimal linux-4.4.161/kernel/pid.c linux-4.4.161-vs2.3.9.8/kernel/pid.c
---- linux-4.4.161/kernel/pid.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/pid.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/pid.c linux-4.4/kernel/pid.c
+--- linux-4.4/kernel/pid.c 2021-02-24 16:56:11.955758328 +0100
++++ linux-4.4/kernel/pid.c 2021-02-24 16:56:24.599489848 +0100
@@ -38,6 +38,7 @@
#include <linux/syscalls.h>
#include <linux/proc_ns.h>
pid_t pid_vnr(struct pid *pid)
{
return pid_nr_ns(pid, task_active_pid_ns(current));
-diff -NurpP --minimal linux-4.4.161/kernel/pid_namespace.c linux-4.4.161-vs2.3.9.8/kernel/pid_namespace.c
---- linux-4.4.161/kernel/pid_namespace.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/pid_namespace.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/pid_namespace.c linux-4.4/kernel/pid_namespace.c
+--- linux-4.4/kernel/pid_namespace.c 2021-02-24 16:56:11.955758328 +0100
++++ linux-4.4/kernel/pid_namespace.c 2021-02-24 16:56:24.599489848 +0100
@@ -18,6 +18,7 @@
#include <linux/proc_ns.h>
#include <linux/reboot.h>
kmem_cache_free(pid_ns_cachep, ns);
out:
return ERR_PTR(err);
-diff -NurpP --minimal linux-4.4.161/kernel/printk/printk.c linux-4.4.161-vs2.3.9.8/kernel/printk/printk.c
---- linux-4.4.161/kernel/printk/printk.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/printk/printk.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/printk/printk.c linux-4.4/kernel/printk/printk.c
+--- linux-4.4/kernel/printk/printk.c 2021-02-24 16:56:11.959091767 +0100
++++ linux-4.4/kernel/printk/printk.c 2021-02-24 16:56:24.602823286 +0100
@@ -46,6 +46,7 @@
#include <linux/utsname.h>
#include <linux/ctype.h>
#include <asm/uaccess.h>
-@@ -502,7 +503,7 @@ int check_syslog_permissions(int type, i
+@@ -503,7 +504,7 @@ int check_syslog_permissions(int type, i
goto ok;
if (syslog_action_restricted(type)) {
goto ok;
/*
* For historical reasons, accept CAP_SYS_ADMIN too, with
-@@ -1304,12 +1305,9 @@ int do_syslog(int type, char __user *buf
+@@ -1315,12 +1316,9 @@ int do_syslog(int type, char __user *buf
if (error)
goto out;
error = -EINVAL;
if (!buf || len < 0)
goto out;
-@@ -1320,6 +1318,16 @@ int do_syslog(int type, char __user *buf
+@@ -1331,6 +1329,16 @@ int do_syslog(int type, char __user *buf
error = -EFAULT;
goto out;
}
error = wait_event_interruptible(log_wait,
syslog_seq != log_next_seq);
if (error)
-@@ -1332,16 +1340,6 @@ int do_syslog(int type, char __user *buf
+@@ -1343,16 +1351,6 @@ int do_syslog(int type, char __user *buf
/* FALL THRU */
/* Read last kernel messages */
case SYSLOG_ACTION_READ_ALL:
error = syslog_print_all(buf, len, clear);
break;
/* Clear ring buffer */
-diff -NurpP --minimal linux-4.4.161/kernel/ptrace.c linux-4.4.161-vs2.3.9.8/kernel/ptrace.c
---- linux-4.4.161/kernel/ptrace.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/ptrace.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/ptrace.c linux-4.4/kernel/ptrace.c
+--- linux-4.4/kernel/ptrace.c 2021-02-24 16:56:11.959091767 +0100
++++ linux-4.4/kernel/ptrace.c 2021-02-24 16:56:24.602823286 +0100
@@ -23,6 +23,7 @@
#include <linux/syscalls.h>
#include <linux/uaccess.h>
#include <linux/hw_breakpoint.h>
#include <linux/cn_proc.h>
#include <linux/compat.h>
-@@ -295,6 +296,11 @@ ok:
+@@ -306,6 +307,11 @@ ok:
!ptrace_has_cap(mm->user_ns, mode)))
return -EPERM;
+ if (!vx_check(task->xid, VS_IDENT) &&
+ !task_vx_flags(task, VXF_STATE_ADMIN, 0))
+ return -EACCES;
+ if (mode & PTRACE_MODE_SCHED)
+ return 0;
return security_ptrace_access_check(task, mode);
- }
-
-diff -NurpP --minimal linux-4.4.161/kernel/reboot.c linux-4.4.161-vs2.3.9.8/kernel/reboot.c
---- linux-4.4.161/kernel/reboot.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/reboot.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/reboot.c linux-4.4/kernel/reboot.c
+--- linux-4.4/kernel/reboot.c 2021-02-24 16:56:11.959091767 +0100
++++ linux-4.4/kernel/reboot.c 2021-02-24 16:56:24.602823286 +0100
@@ -16,6 +16,7 @@
#include <linux/syscalls.h>
#include <linux/syscore_ops.h>
mutex_lock(&reboot_mutex);
switch (cmd) {
case LINUX_REBOOT_CMD_RESTART:
-diff -NurpP --minimal linux-4.4.161/kernel/sched/core.c linux-4.4.161-vs2.3.9.8/kernel/sched/core.c
---- linux-4.4.161/kernel/sched/core.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sched/core.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sched/core.c linux-4.4/kernel/sched/core.c
+--- linux-4.4/kernel/sched/core.c 2021-02-24 16:56:11.962425205 +0100
++++ linux-4.4/kernel/sched/core.c 2021-02-24 16:56:24.602823286 +0100
@@ -74,6 +74,8 @@
#include <linux/binfmts.h>
#include <linux/context_tracking.h>
#include <asm/switch_to.h>
#include <asm/tlb.h>
-@@ -3560,7 +3562,7 @@ SYSCALL_DEFINE1(nice, int, increment)
+@@ -3561,7 +3563,7 @@ SYSCALL_DEFINE1(nice, int, increment)
nice = clamp_val(nice, MIN_NICE, MAX_NICE);
if (increment < 0 && !can_nice(current, nice))
retval = security_task_setnice(current, nice);
if (retval)
-diff -NurpP --minimal linux-4.4.161/kernel/sched/cputime.c linux-4.4.161-vs2.3.9.8/kernel/sched/cputime.c
---- linux-4.4.161/kernel/sched/cputime.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sched/cputime.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sched/cputime.c linux-4.4/kernel/sched/cputime.c
+--- linux-4.4/kernel/sched/cputime.c 2021-02-24 16:56:11.962425205 +0100
++++ linux-4.4/kernel/sched/cputime.c 2021-02-24 16:56:24.602823286 +0100
@@ -4,6 +4,7 @@
#include <linux/kernel_stat.h>
#include <linux/static_key.h>
account_group_system_time(p, cputime);
/* Add system time to cpustat. */
-diff -NurpP --minimal linux-4.4.161/kernel/sched/fair.c linux-4.4.161-vs2.3.9.8/kernel/sched/fair.c
---- linux-4.4.161/kernel/sched/fair.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sched/fair.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sched/fair.c linux-4.4/kernel/sched/fair.c
+--- linux-4.4/kernel/sched/fair.c 2021-02-24 16:56:11.965758643 +0100
++++ linux-4.4/kernel/sched/fair.c 2021-02-24 16:56:24.602823286 +0100
@@ -30,6 +30,7 @@
#include <linux/mempolicy.h>
#include <linux/migrate.h>
#include <trace/events/sched.h>
-@@ -3056,6 +3057,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st
+@@ -3089,6 +3090,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st
__enqueue_entity(cfs_rq, se);
se->on_rq = 1;
if (cfs_rq->nr_running == 1) {
list_add_leaf_cfs_rq(cfs_rq);
check_enqueue_throttle(cfs_rq);
-@@ -3137,6 +3140,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st
+@@ -3170,6 +3173,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st
if (se != cfs_rq->curr)
__dequeue_entity(cfs_rq, se);
se->on_rq = 0;
account_entity_dequeue(cfs_rq, se);
/*
-diff -NurpP --minimal linux-4.4.161/kernel/sched/loadavg.c linux-4.4.161-vs2.3.9.8/kernel/sched/loadavg.c
---- linux-4.4.161/kernel/sched/loadavg.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sched/loadavg.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sched/loadavg.c linux-4.4/kernel/sched/loadavg.c
+--- linux-4.4/kernel/sched/loadavg.c 2021-02-24 16:56:11.965758643 +0100
++++ linux-4.4/kernel/sched/loadavg.c 2021-02-24 16:56:24.606156724 +0100
@@ -73,9 +73,16 @@ EXPORT_SYMBOL(avenrun); /* should be rem
*/
void get_avenrun(unsigned long *loads, unsigned long offset, int shift)
}
long calc_load_fold_active(struct rq *this_rq)
-diff -NurpP --minimal linux-4.4.161/kernel/signal.c linux-4.4.161-vs2.3.9.8/kernel/signal.c
---- linux-4.4.161/kernel/signal.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/signal.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/signal.c linux-4.4/kernel/signal.c
+--- linux-4.4/kernel/signal.c 2021-02-24 16:56:11.965758643 +0100
++++ linux-4.4/kernel/signal.c 2021-02-24 16:56:24.606156724 +0100
@@ -34,6 +34,8 @@
#include <linux/compat.h>
#include <linux/cn_proc.h>
#define CREATE_TRACE_POINTS
#include <trace/events/signal.h>
-@@ -726,9 +728,18 @@ static int check_kill_permission(int sig
+@@ -782,9 +784,18 @@ static int check_kill_permission(int sig
struct pid *sid;
int error;
if (!si_fromuser(info))
return 0;
-@@ -752,6 +763,20 @@ static int check_kill_permission(int sig
+@@ -808,6 +819,20 @@ static int check_kill_permission(int sig
}
}
return security_task_kill(t, info, sig, 0);
}
-@@ -1303,8 +1328,14 @@ int kill_pid_info(int sig, struct siginf
+@@ -1359,8 +1384,14 @@ int kill_pid_info(int sig, struct siginf
for (;;) {
rcu_read_lock();
p = pid_task(pid, PIDTYPE_PID);
rcu_read_unlock();
if (likely(!p || error != -ESRCH))
return error;
-@@ -1349,7 +1380,7 @@ int kill_pid_info_as_cred(int sig, struc
+@@ -1405,7 +1436,7 @@ int kill_pid_info_as_cred(int sig, struc
rcu_read_lock();
p = pid_task(pid, PIDTYPE_PID);
ret = -ESRCH;
goto out_unlock;
}
-@@ -1405,8 +1436,10 @@ static int kill_something_info(int sig,
+@@ -1461,8 +1492,10 @@ static int kill_something_info(int sig,
struct task_struct * p;
for_each_process(p) {
int err = group_send_sig_info(sig, info, p);
++count;
if (err != -EPERM)
-@@ -2259,6 +2292,11 @@ relock:
+@@ -2333,6 +2366,11 @@ relock:
!sig_kernel_only(signr))
continue;
if (sig_kernel_stop(signr)) {
/*
* The default action is to stop all threads in
-diff -NurpP --minimal linux-4.4.161/kernel/softirq.c linux-4.4.161-vs2.3.9.8/kernel/softirq.c
---- linux-4.4.161/kernel/softirq.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/softirq.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/softirq.c linux-4.4/kernel/softirq.c
+--- linux-4.4/kernel/softirq.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/kernel/softirq.c 2021-02-24 16:56:24.606156724 +0100
@@ -26,6 +26,7 @@
#include <linux/smpboot.h>
#include <linux/tick.h>
#define CREATE_TRACE_POINTS
#include <trace/events/irq.h>
-diff -NurpP --minimal linux-4.4.161/kernel/sys.c linux-4.4.161-vs2.3.9.8/kernel/sys.c
---- linux-4.4.161/kernel/sys.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sys.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sys.c linux-4.4/kernel/sys.c
+--- linux-4.4/kernel/sys.c 2021-02-24 16:56:11.965758643 +0100
++++ linux-4.4/kernel/sys.c 2021-02-24 16:56:24.606156724 +0100
@@ -56,6 +56,7 @@
#include <linux/nospec.h>
if (uid_eq(task_uid(p), uid) && task_pid_vnr(p)) {
niceval = nice_to_rlimit(task_nice(p));
if (niceval > retval)
-@@ -1211,7 +1221,8 @@ SYSCALL_DEFINE2(sethostname, char __user
+@@ -1213,7 +1223,8 @@ SYSCALL_DEFINE2(sethostname, char __user
int errno;
char tmp[__NEW_UTS_LEN];
return -EPERM;
if (len < 0 || len > __NEW_UTS_LEN)
-@@ -1264,7 +1275,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
+@@ -1266,7 +1277,8 @@ SYSCALL_DEFINE2(setdomainname, char __us
int errno;
char tmp[__NEW_UTS_LEN];
return -EPERM;
if (len < 0 || len > __NEW_UTS_LEN)
return -EINVAL;
-@@ -1384,7 +1396,7 @@ int do_prlimit(struct task_struct *tsk,
+@@ -1386,7 +1398,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 &&
retval = -EPERM;
if (!retval)
retval = security_task_setrlimit(tsk->group_leader,
-@@ -1437,7 +1449,8 @@ static int check_prlimit_permission(stru
+@@ -1439,7 +1451,8 @@ static int check_prlimit_permission(stru
gid_eq(cred->gid, tcred->sgid) &&
gid_eq(cred->gid, tcred->gid))
return 0;
return 0;
return -EPERM;
-diff -NurpP --minimal linux-4.4.161/kernel/sysctl.c linux-4.4.161-vs2.3.9.8/kernel/sysctl.c
---- linux-4.4.161/kernel/sysctl.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sysctl.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sysctl.c linux-4.4/kernel/sysctl.c
+--- linux-4.4/kernel/sysctl.c 2021-02-24 16:56:11.969092082 +0100
++++ linux-4.4/kernel/sysctl.c 2021-02-24 16:56:24.606156724 +0100
@@ -87,6 +87,7 @@
#if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT)
#include <linux/lockdep.h>
#ifdef CONFIG_CHR_DEV_SG
#include <scsi/sg.h>
#endif
-@@ -279,6 +280,13 @@ static int max_extfrag_threshold = 1000;
+@@ -281,6 +282,13 @@ static int max_extfrag_threshold = 1000;
static struct ctl_table kern_table[] = {
{
.procname = "sched_child_runs_first",
.data = &sysctl_sched_child_runs_first,
.maxlen = sizeof(unsigned int),
-@@ -1386,7 +1394,6 @@ static struct ctl_table vm_table[] = {
+@@ -1388,7 +1396,6 @@ static struct ctl_table vm_table[] = {
.extra1 = &zero,
.extra2 = &one,
},
#endif /* CONFIG_COMPACTION */
{
.procname = "min_free_kbytes",
-diff -NurpP --minimal linux-4.4.161/kernel/sysctl_binary.c linux-4.4.161-vs2.3.9.8/kernel/sysctl_binary.c
---- linux-4.4.161/kernel/sysctl_binary.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/sysctl_binary.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/sysctl_binary.c linux-4.4/kernel/sysctl_binary.c
+--- linux-4.4/kernel/sysctl_binary.c 2021-02-24 16:56:11.969092082 +0100
++++ linux-4.4/kernel/sysctl_binary.c 2021-02-24 16:56:24.606156724 +0100
@@ -73,6 +73,7 @@ static const struct bin_table bin_kern_t
{ CTL_INT, KERN_PANIC, "panic" },
{ CTL_STR, KERN_SPARC_REBOOT, "reboot-cmd" },
{ CTL_INT, KERN_CTLALTDEL, "ctrl-alt-del" },
-diff -NurpP --minimal linux-4.4.161/kernel/time/posix-timers.c linux-4.4.161-vs2.3.9.8/kernel/time/posix-timers.c
---- linux-4.4.161/kernel/time/posix-timers.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/time/posix-timers.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/time/posix-timers.c linux-4.4/kernel/time/posix-timers.c
+--- linux-4.4/kernel/time/posix-timers.c 2021-02-24 16:56:11.969092082 +0100
++++ linux-4.4/kernel/time/posix-timers.c 2021-02-24 16:56:24.606156724 +0100
@@ -48,6 +48,7 @@
#include <linux/workqueue.h>
#include <linux/export.h>
#include "timekeeping.h"
-@@ -407,6 +408,7 @@ int posix_timer_event(struct k_itimer *t
+@@ -417,6 +418,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().
-@@ -423,10 +425,18 @@ int posix_timer_event(struct k_itimer *t
+@@ -433,10 +435,18 @@ int posix_timer_event(struct k_itimer *t
rcu_read_lock();
task = pid_task(timr->it_pid, PIDTYPE_PID);
if (task) {
/* If we failed to send the signal the timer stops. */
return ret > 0;
}
-diff -NurpP --minimal linux-4.4.161/kernel/time/time.c linux-4.4.161-vs2.3.9.8/kernel/time/time.c
---- linux-4.4.161/kernel/time/time.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/time/time.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/time/time.c linux-4.4/kernel/time/time.c
+--- linux-4.4/kernel/time/time.c 2021-02-24 16:56:11.972425520 +0100
++++ linux-4.4/kernel/time/time.c 2021-02-24 16:56:24.606156724 +0100
@@ -38,6 +38,7 @@
#include <linux/fs.h>
#include <linux/math64.h>
return 0;
}
-diff -NurpP --minimal linux-4.4.161/kernel/time/timekeeping.c linux-4.4.161-vs2.3.9.8/kernel/time/timekeeping.c
---- linux-4.4.161/kernel/time/timekeeping.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/time/timekeeping.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/time/timekeeping.c linux-4.4/kernel/time/timekeeping.c
+--- linux-4.4/kernel/time/timekeeping.c 2021-02-24 16:56:11.972425520 +0100
++++ linux-4.4/kernel/time/timekeeping.c 2021-02-24 16:56:24.606156724 +0100
@@ -23,6 +23,7 @@
#include <linux/stop_machine.h>
#include <linux/pvclock_gtod.h>
#include "tick-internal.h"
#include "ntp_internal.h"
-@@ -920,7 +921,9 @@ void ktime_get_raw_and_real_ts64(struct
+@@ -922,7 +923,9 @@ void ktime_get_raw_and_real_ts64(struct
} while (read_seqcount_retry(&tk_core.seq, seq));
timespec64_add_ns(ts_raw, nsecs_raw);
}
EXPORT_SYMBOL(ktime_get_raw_and_real_ts64);
-diff -NurpP --minimal linux-4.4.161/kernel/time/timer.c linux-4.4.161-vs2.3.9.8/kernel/time/timer.c
---- linux-4.4.161/kernel/time/timer.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/time/timer.c 2018-10-20 04:57:21.000000000 +0000
-@@ -42,6 +42,10 @@
- #include <linux/sched/sysctl.h>
+diff -urNp -x '*.orig' linux-4.4/kernel/time/timer.c linux-4.4/kernel/time/timer.c
+--- linux-4.4/kernel/time/timer.c 2021-02-24 16:56:11.972425520 +0100
++++ linux-4.4/kernel/time/timer.c 2021-02-24 16:56:24.609490163 +0100
+@@ -43,6 +43,10 @@
#include <linux/slab.h>
#include <linux/compat.h>
+ #include <linux/random.h>
+#include <linux/vs_base.h>
+#include <linux/vs_cvirt.h>
+#include <linux/vs_pid.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
-diff -NurpP --minimal linux-4.4.161/kernel/user_namespace.c linux-4.4.161-vs2.3.9.8/kernel/user_namespace.c
---- linux-4.4.161/kernel/user_namespace.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/user_namespace.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/user_namespace.c linux-4.4/kernel/user_namespace.c
+--- linux-4.4/kernel/user_namespace.c 2021-02-24 16:56:11.982425835 +0100
++++ linux-4.4/kernel/user_namespace.c 2021-02-24 16:56:24.609490163 +0100
@@ -22,6 +22,7 @@
#include <linux/ctype.h>
#include <linux/projid.h>
/**
* make_kprojid - Map a user-namespace projid pair into a kprojid.
* @ns: User namespace that the projid is in
-diff -NurpP --minimal linux-4.4.161/kernel/utsname.c linux-4.4.161-vs2.3.9.8/kernel/utsname.c
---- linux-4.4.161/kernel/utsname.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/utsname.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/utsname.c linux-4.4/kernel/utsname.c
+--- linux-4.4/kernel/utsname.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/kernel/utsname.c 2021-02-24 16:56:24.609490163 +0100
@@ -16,14 +16,17 @@
#include <linux/slab.h>
#include <linux/user_namespace.h>
kfree(ns);
}
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/Kconfig linux-4.4.161-vs2.3.9.8/kernel/vserver/Kconfig
---- linux-4.4.161/kernel/vserver/Kconfig 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/Kconfig 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/Kconfig linux-4.4/kernel/vserver/Kconfig
+--- linux-4.4/kernel/vserver/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/Kconfig 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,230 @@
+#
+# Linux VServer configuration
+ bool
+ default n
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/Makefile linux-4.4.161-vs2.3.9.8/kernel/vserver/Makefile
---- linux-4.4.161/kernel/vserver/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/Makefile 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/Makefile linux-4.4/kernel/vserver/Makefile
+--- linux-4.4/kernel/vserver/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/Makefile 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,18 @@
+#
+# Makefile for the Linux vserver routines.
+vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o
+vserver-$(CONFIG_VSERVER_DEVICE) += device.o
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cacct.c linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct.c
---- linux-4.4.161/kernel/vserver/cacct.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cacct.c linux-4.4/kernel/vserver/cacct.c
+--- linux-4.4/kernel/vserver/cacct.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cacct.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,42 @@
+/*
+ * linux/kernel/vserver/cacct.c
+ return 0;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cacct_init.h linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct_init.h
---- linux-4.4.161/kernel/vserver/cacct_init.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct_init.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cacct_init.h linux-4.4/kernel/vserver/cacct_init.h
+--- linux-4.4/kernel/vserver/cacct_init.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cacct_init.h 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,25 @@
+
+
+ return;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cacct_proc.h linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct_proc.h
---- linux-4.4.161/kernel/vserver/cacct_proc.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cacct_proc.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cacct_proc.h linux-4.4/kernel/vserver/cacct_proc.h
+--- linux-4.4/kernel/vserver/cacct_proc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cacct_proc.h 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,53 @@
+#ifndef _VX_CACCT_PROC_H
+#define _VX_CACCT_PROC_H
+}
+
+#endif /* _VX_CACCT_PROC_H */
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/context.c linux-4.4.161-vs2.3.9.8/kernel/vserver/context.c
---- linux-4.4.161/kernel/vserver/context.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/context.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/context.c linux-4.4/kernel/vserver/context.c
+--- linux-4.4/kernel/vserver/context.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/context.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,1119 @@
+/*
+ * linux/kernel/vserver/context.c
+
+EXPORT_SYMBOL_GPL(free_vx_info);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cvirt.c linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt.c
---- linux-4.4.161/kernel/vserver/cvirt.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cvirt.c linux-4.4/kernel/vserver/cvirt.c
+--- linux-4.4/kernel/vserver/cvirt.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cvirt.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,313 @@
+/*
+ * linux/kernel/vserver/cvirt.c
+
+#endif
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cvirt_init.h linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt_init.h
---- linux-4.4.161/kernel/vserver/cvirt_init.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt_init.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cvirt_init.h linux-4.4/kernel/vserver/cvirt_init.h
+--- linux-4.4/kernel/vserver/cvirt_init.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cvirt_init.h 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,70 @@
+
+
+ return;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/cvirt_proc.h linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt_proc.h
---- linux-4.4.161/kernel/vserver/cvirt_proc.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/cvirt_proc.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/cvirt_proc.h linux-4.4/kernel/vserver/cvirt_proc.h
+--- linux-4.4/kernel/vserver/cvirt_proc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/cvirt_proc.h 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,123 @@
+#ifndef _VX_CVIRT_PROC_H
+#define _VX_CVIRT_PROC_H
+}
+
+#endif /* _VX_CVIRT_PROC_H */
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/debug.c linux-4.4.161-vs2.3.9.8/kernel/vserver/debug.c
---- linux-4.4.161/kernel/vserver/debug.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/debug.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/debug.c linux-4.4/kernel/vserver/debug.c
+--- linux-4.4/kernel/vserver/debug.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/debug.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,32 @@
+/*
+ * kernel/vserver/debug.c
+
+EXPORT_SYMBOL_GPL(dump_vx_info);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/device.c linux-4.4.161-vs2.3.9.8/kernel/vserver/device.c
---- linux-4.4.161/kernel/vserver/device.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/device.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/device.c linux-4.4/kernel/vserver/device.c
+--- linux-4.4/kernel/vserver/device.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/device.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,443 @@
+/*
+ * linux/kernel/vserver/device.c
+#endif /* CONFIG_COMPAT */
+
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/dlimit.c linux-4.4.161-vs2.3.9.8/kernel/vserver/dlimit.c
---- linux-4.4.161/kernel/vserver/dlimit.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/dlimit.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/dlimit.c linux-4.4/kernel/vserver/dlimit.c
+--- linux-4.4/kernel/vserver/dlimit.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/dlimit.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,528 @@
+/*
+ * linux/kernel/vserver/dlimit.c
+EXPORT_SYMBOL_GPL(locate_dl_info);
+EXPORT_SYMBOL_GPL(rcu_free_dl_info);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/helper.c linux-4.4.161-vs2.3.9.8/kernel/vserver/helper.c
---- linux-4.4.161/kernel/vserver/helper.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/helper.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/helper.c linux-4.4/kernel/vserver/helper.c
+--- linux-4.4/kernel/vserver/helper.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/helper.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,242 @@
+/*
+ * linux/kernel/vserver/helper.c
+ return do_vshelper(vshelper_path, argv, envp, 1);
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/history.c linux-4.4.161-vs2.3.9.8/kernel/vserver/history.c
---- linux-4.4.161/kernel/vserver/history.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/history.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/history.c linux-4.4/kernel/vserver/history.c
+--- linux-4.4/kernel/vserver/history.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/history.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,258 @@
+/*
+ * kernel/vserver/history.c
+
+#endif /* CONFIG_COMPAT */
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/inet.c linux-4.4.161-vs2.3.9.8/kernel/vserver/inet.c
---- linux-4.4.161/kernel/vserver/inet.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/inet.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/inet.c linux-4.4/kernel/vserver/inet.c
+--- linux-4.4/kernel/vserver/inet.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/inet.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,236 @@
+
+#include <linux/in.h>
+
+EXPORT_SYMBOL_GPL(ip_v4_find_src);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/init.c linux-4.4.161-vs2.3.9.8/kernel/vserver/init.c
---- linux-4.4.161/kernel/vserver/init.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/init.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/init.c linux-4.4/kernel/vserver/init.c
+--- linux-4.4/kernel/vserver/init.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/init.c 2021-02-24 16:56:24.609490163 +0100
@@ -0,0 +1,46 @@
+/*
+ * linux/kernel/init.c
+module_init(init_vserver);
+module_exit(exit_vserver);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/inode.c linux-4.4.161-vs2.3.9.8/kernel/vserver/inode.c
---- linux-4.4.161/kernel/vserver/inode.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/inode.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/inode.c linux-4.4/kernel/vserver/inode.c
+--- linux-4.4/kernel/vserver/inode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/inode.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,440 @@
+/*
+ * linux/kernel/vserver/inode.c
+
+#endif /* CONFIG_PROPAGATE */
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/limit.c linux-4.4.161-vs2.3.9.8/kernel/vserver/limit.c
---- linux-4.4.161/kernel/vserver/limit.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/limit.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/limit.c linux-4.4/kernel/vserver/limit.c
+--- linux-4.4/kernel/vserver/limit.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/limit.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,386 @@
+/*
+ * linux/kernel/vserver/limit.c
+}
+#endif /* !CONFIG_MEMCG */
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/limit_init.h linux-4.4.161-vs2.3.9.8/kernel/vserver/limit_init.h
---- linux-4.4.161/kernel/vserver/limit_init.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/limit_init.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/limit_init.h linux-4.4/kernel/vserver/limit_init.h
+--- linux-4.4/kernel/vserver/limit_init.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/limit_init.h 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,31 @@
+
+
+ }
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/limit_proc.h linux-4.4.161-vs2.3.9.8/kernel/vserver/limit_proc.h
---- linux-4.4.161/kernel/vserver/limit_proc.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/limit_proc.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/limit_proc.h linux-4.4/kernel/vserver/limit_proc.h
+--- linux-4.4/kernel/vserver/limit_proc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/limit_proc.h 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,57 @@
+#ifndef _VX_LIMIT_PROC_H
+#define _VX_LIMIT_PROC_H
+#endif /* _VX_LIMIT_PROC_H */
+
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/network.c linux-4.4.161-vs2.3.9.8/kernel/vserver/network.c
---- linux-4.4.161/kernel/vserver/network.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/network.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/network.c linux-4.4/kernel/vserver/network.c
+--- linux-4.4/kernel/vserver/network.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/network.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,1053 @@
+/*
+ * linux/kernel/vserver/network.c
+EXPORT_SYMBOL_GPL(free_nx_info);
+EXPORT_SYMBOL_GPL(unhash_nx_info);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/proc.c linux-4.4.161-vs2.3.9.8/kernel/vserver/proc.c
---- linux-4.4.161/kernel/vserver/proc.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/proc.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/proc.c linux-4.4/kernel/vserver/proc.c
+--- linux-4.4/kernel/vserver/proc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/proc.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,1040 @@
+/*
+ * linux/kernel/vserver/proc.c
+ return 0;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/sched.c linux-4.4.161-vs2.3.9.8/kernel/vserver/sched.c
---- linux-4.4.161/kernel/vserver/sched.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/sched.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/sched.c linux-4.4/kernel/vserver/sched.c
+--- linux-4.4/kernel/vserver/sched.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/sched.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,83 @@
+/*
+ * linux/kernel/vserver/sched.c
+ return 0;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/sched_init.h linux-4.4.161-vs2.3.9.8/kernel/vserver/sched_init.h
---- linux-4.4.161/kernel/vserver/sched_init.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/sched_init.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/sched_init.h linux-4.4/kernel/vserver/sched_init.h
+--- linux-4.4/kernel/vserver/sched_init.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/sched_init.h 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,27 @@
+
+static inline void vx_info_init_sched(struct _vx_sched *sched)
+{
+ return;
+}
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/sched_proc.h linux-4.4.161-vs2.3.9.8/kernel/vserver/sched_proc.h
---- linux-4.4.161/kernel/vserver/sched_proc.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/sched_proc.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/sched_proc.h linux-4.4/kernel/vserver/sched_proc.h
+--- linux-4.4/kernel/vserver/sched_proc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/sched_proc.h 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,32 @@
+#ifndef _VX_SCHED_PROC_H
+#define _VX_SCHED_PROC_H
+}
+
+#endif /* _VX_SCHED_PROC_H */
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/signal.c linux-4.4.161-vs2.3.9.8/kernel/vserver/signal.c
---- linux-4.4.161/kernel/vserver/signal.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/signal.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/signal.c linux-4.4/kernel/vserver/signal.c
+--- linux-4.4/kernel/vserver/signal.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/signal.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,134 @@
+/*
+ * linux/kernel/vserver/signal.c
+ return ret;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/space.c linux-4.4.161-vs2.3.9.8/kernel/vserver/space.c
---- linux-4.4.161/kernel/vserver/space.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/space.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/space.c linux-4.4/kernel/vserver/space.c
+--- linux-4.4/kernel/vserver/space.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/space.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,436 @@
+/*
+ * linux/kernel/vserver/space.c
+ return 0;
+}
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/switch.c linux-4.4.161-vs2.3.9.8/kernel/vserver/switch.c
---- linux-4.4.161/kernel/vserver/switch.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/switch.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/switch.c linux-4.4/kernel/vserver/switch.c
+--- linux-4.4/kernel/vserver/switch.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/switch.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,556 @@
+/*
+ * linux/kernel/vserver/switch.c
+}
+
+#endif /* CONFIG_COMPAT */
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/sysctl.c linux-4.4.161-vs2.3.9.8/kernel/vserver/sysctl.c
---- linux-4.4.161/kernel/vserver/sysctl.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/sysctl.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/sysctl.c linux-4.4/kernel/vserver/sysctl.c
+--- linux-4.4/kernel/vserver/sysctl.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/sysctl.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,247 @@
+/*
+ * kernel/vserver/sysctl.c
+EXPORT_SYMBOL_GPL(vs_debug_perm);
+EXPORT_SYMBOL_GPL(vs_debug_misc);
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/tag.c linux-4.4.161-vs2.3.9.8/kernel/vserver/tag.c
---- linux-4.4.161/kernel/vserver/tag.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/tag.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/tag.c linux-4.4/kernel/vserver/tag.c
+--- linux-4.4/kernel/vserver/tag.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/tag.c 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,63 @@
+/*
+ * linux/kernel/vserver/tag.c
+}
+
+
-diff -NurpP --minimal linux-4.4.161/kernel/vserver/vci_config.h linux-4.4.161-vs2.3.9.8/kernel/vserver/vci_config.h
---- linux-4.4.161/kernel/vserver/vci_config.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/kernel/vserver/vci_config.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/kernel/vserver/vci_config.h linux-4.4/kernel/vserver/vci_config.h
+--- linux-4.4/kernel/vserver/vci_config.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/kernel/vserver/vci_config.h 2021-02-24 16:56:24.612823601 +0100
@@ -0,0 +1,80 @@
+
+/* interface version */
+ 0;
+}
+
-diff -NurpP --minimal linux-4.4.161/mm/memcontrol.c linux-4.4.161-vs2.3.9.8/mm/memcontrol.c
---- linux-4.4.161/mm/memcontrol.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/memcontrol.c 2018-10-20 05:50:20.000000000 +0000
-@@ -2888,6 +2888,42 @@ static u64 mem_cgroup_read_u64(struct cg
+diff -urNp -x '*.orig' linux-4.4/mm/memcontrol.c linux-4.4/mm/memcontrol.c
+--- linux-4.4/mm/memcontrol.c 2021-02-24 16:56:12.009093341 +0100
++++ linux-4.4/mm/memcontrol.c 2021-02-24 16:56:24.616157039 +0100
+@@ -2907,6 +2907,42 @@ static u64 mem_cgroup_read_u64(struct cg
}
}
#ifdef CONFIG_MEMCG_KMEM
static int memcg_activate_kmem(struct mem_cgroup *memcg,
unsigned long nr_pages)
-diff -NurpP --minimal linux-4.4.161/mm/oom_kill.c linux-4.4.161-vs2.3.9.8/mm/oom_kill.c
---- linux-4.4.161/mm/oom_kill.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/oom_kill.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/oom_kill.c linux-4.4/mm/oom_kill.c
+--- linux-4.4/mm/oom_kill.c 2021-02-24 16:56:12.012426780 +0100
++++ linux-4.4/mm/oom_kill.c 2021-02-24 16:56:24.616157039 +0100
@@ -35,6 +35,8 @@
#include <linux/freezer.h>
#include <linux/ftrace.h>
/*
* If any of p's children has a different mm and is eligible for kill,
-@@ -585,8 +594,8 @@ void oom_kill_process(struct oom_control
+@@ -593,8 +602,8 @@ void oom_kill_process(struct oom_control
*/
do_send_sig_info(SIGKILL, SEND_SIG_FORCED, victim, true);
mark_oom_victim(victim);
K(get_mm_counter(victim->mm, MM_ANONPAGES)),
K(get_mm_counter(victim->mm, MM_FILEPAGES)));
task_unlock(victim);
-@@ -622,6 +631,8 @@ void oom_kill_process(struct oom_control
+@@ -630,6 +639,8 @@ void oom_kill_process(struct oom_control
}
#undef K
/*
* Determines whether the kernel must panic because of the panic_on_oom sysctl.
*/
-@@ -722,7 +733,12 @@ bool out_of_memory(struct oom_control *o
+@@ -730,7 +741,12 @@ bool out_of_memory(struct oom_control *o
/* Found nothing?!?! Either we hang forever, or we panic. */
if (!p && !is_sysrq_oom(oc)) {
dump_header(oc, NULL, NULL);
}
if (p && p != (void *)-1UL) {
oom_kill_process(oc, p, points, totalpages, NULL,
-diff -NurpP --minimal linux-4.4.161/mm/page_alloc.c linux-4.4.161-vs2.3.9.8/mm/page_alloc.c
---- linux-4.4.161/mm/page_alloc.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/page_alloc.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/page_alloc.c linux-4.4/mm/page_alloc.c
+--- linux-4.4/mm/page_alloc.c 2021-02-24 16:56:12.015760218 +0100
++++ linux-4.4/mm/page_alloc.c 2021-02-24 16:56:24.616157039 +0100
@@ -62,6 +62,8 @@
#include <linux/sched/rt.h>
#include <linux/page_owner.h>
#include <asm/sections.h>
#include <asm/tlbflush.h>
-@@ -3659,6 +3661,9 @@ void si_meminfo(struct sysinfo *val)
+@@ -3682,14 +3684,17 @@ long si_mem_available(void)
+ */
+ pagecache = pages[LRU_ACTIVE_FILE] + pages[LRU_INACTIVE_FILE];
+ pagecache -= min(pagecache / 2, wmark_low);
+- available += pagecache;
++ if (!vx_flags(VXF_VIRT_MEM, 0))
++ available += pagecache;
+
+ /*
+ * Part of the reclaimable slab consists of items that are in use,
+ * and cannot be freed. Cap this estimate at the low watermark.
+ */
+- available += global_page_state(NR_SLAB_RECLAIMABLE) -
+- min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, wmark_low);
++ if (!vx_flags(VXF_VIRT_MEM, 0))
++ available += global_page_state(NR_SLAB_RECLAIMABLE) -
++ min(global_page_state(NR_SLAB_RECLAIMABLE) / 2,
++ wmark_low);
+
+ if (available < 0)
+ available = 0;
+@@ -3706,6 +3711,9 @@ void si_meminfo(struct sysinfo *val)
val->totalhigh = totalhigh_pages;
val->freehigh = nr_free_highpages();
val->mem_unit = PAGE_SIZE;
}
EXPORT_SYMBOL(si_meminfo);
-@@ -3684,6 +3689,9 @@ void si_meminfo_node(struct sysinfo *val
+@@ -3731,6 +3739,9 @@ void si_meminfo_node(struct sysinfo *val
val->freehigh = 0;
#endif
val->mem_unit = PAGE_SIZE;
}
#endif
-diff -NurpP --minimal linux-4.4.161/mm/pgtable-generic.c linux-4.4.161-vs2.3.9.8/mm/pgtable-generic.c
---- linux-4.4.161/mm/pgtable-generic.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/pgtable-generic.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/pgtable-generic.c linux-4.4/mm/pgtable-generic.c
+--- linux-4.4/mm/pgtable-generic.c 2021-02-24 16:56:12.015760218 +0100
++++ linux-4.4/mm/pgtable-generic.c 2021-02-24 16:56:24.616157039 +0100
@@ -6,6 +6,8 @@
* Copyright (C) 2010 Linus Torvalds
*/
#include <linux/pagemap.h>
#include <asm/tlb.h>
#include <asm-generic/pgtable.h>
-diff -NurpP --minimal linux-4.4.161/mm/shmem.c linux-4.4.161-vs2.3.9.8/mm/shmem.c
---- linux-4.4.161/mm/shmem.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/shmem.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/shmem.c linux-4.4/mm/shmem.c
+--- linux-4.4/mm/shmem.c 2021-02-24 16:56:12.019093656 +0100
++++ linux-4.4/mm/shmem.c 2021-02-24 16:56:24.616157039 +0100
@@ -2200,7 +2200,7 @@ static int shmem_statfs(struct dentry *d
{
struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb);
buf->f_bsize = PAGE_CACHE_SIZE;
buf->f_namelen = NAME_MAX;
if (sbinfo->max_blocks) {
-@@ -3046,7 +3046,7 @@ int shmem_fill_super(struct super_block
+@@ -3050,7 +3050,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_op = &shmem_ops;
sb->s_time_gran = 1;
#ifdef CONFIG_TMPFS_XATTR
-diff -NurpP --minimal linux-4.4.161/mm/slab.c linux-4.4.161-vs2.3.9.8/mm/slab.c
---- linux-4.4.161/mm/slab.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/slab.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/slab.c linux-4.4/mm/slab.c
+--- linux-4.4/mm/slab.c 2021-02-24 16:56:12.019093656 +0100
++++ linux-4.4/mm/slab.c 2021-02-24 16:56:24.616157039 +0100
@@ -337,6 +337,8 @@ static void kmem_cache_node_init(struct
#define STATS_INC_FREEMISS(x) do { } while (0)
#endif
#if DEBUG
/*
-@@ -3183,6 +3185,7 @@ slab_alloc_node(struct kmem_cache *cache
+@@ -3186,6 +3188,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:
local_irq_restore(save_flags);
ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller);
kmemleak_alloc_recursive(ptr, cachep->object_size, 1, cachep->flags,
-@@ -3371,6 +3374,7 @@ static inline void __cache_free(struct k
+@@ -3374,6 +3377,7 @@ static inline void __cache_free(struct k
check_irq_off();
kmemleak_free_recursive(objp, cachep->flags);
objp = cache_free_debugcheck(cachep, objp, caller);
kmemcheck_slab_free(cachep, objp, cachep->object_size);
-diff -NurpP --minimal linux-4.4.161/mm/slab_vs.h linux-4.4.161-vs2.3.9.8/mm/slab_vs.h
---- linux-4.4.161/mm/slab_vs.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/slab_vs.h 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/slab_vs.h linux-4.4/mm/slab_vs.h
+--- linux-4.4/mm/slab_vs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4/mm/slab_vs.h 2021-02-24 16:56:24.619490478 +0100
@@ -0,0 +1,29 @@
+
+#include <linux/vserver/context.h>
+ atomic_sub(cachep->size, &vxi->cacct.slab[what]);
+}
+
-diff -NurpP --minimal linux-4.4.161/mm/swapfile.c linux-4.4.161-vs2.3.9.8/mm/swapfile.c
---- linux-4.4.161/mm/swapfile.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/mm/swapfile.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/mm/swapfile.c linux-4.4/mm/swapfile.c
+--- linux-4.4/mm/swapfile.c 2021-02-24 16:56:12.019093656 +0100
++++ linux-4.4/mm/swapfile.c 2021-02-24 16:56:24.619490478 +0100
@@ -39,6 +39,7 @@
#include <asm/tlbflush.h>
#include <linux/swapops.h>
}
/*
-diff -NurpP --minimal linux-4.4.161/net/bridge/br_multicast.c linux-4.4.161-vs2.3.9.8/net/bridge/br_multicast.c
---- linux-4.4.161/net/bridge/br_multicast.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/bridge/br_multicast.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/bridge/br_multicast.c linux-4.4/net/bridge/br_multicast.c
+--- linux-4.4/net/bridge/br_multicast.c 2021-02-24 16:56:12.045761163 +0100
++++ linux-4.4/net/bridge/br_multicast.c 2021-02-24 16:56:24.619490478 +0100
@@ -462,7 +462,7 @@ static struct sk_buff *br_ip6_multicast_
ip6h->hop_limit = 1;
ipv6_addr_set(&ip6h->daddr, htonl(0xff020000), 0, 0, htonl(1));
kfree_skb(skb);
br->has_ipv6_addr = 0;
return NULL;
-diff -NurpP --minimal linux-4.4.161/net/core/dev.c linux-4.4.161-vs2.3.9.8/net/core/dev.c
---- linux-4.4.161/net/core/dev.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/core/dev.c 2018-10-20 05:50:20.000000000 +0000
-@@ -124,6 +124,7 @@
+diff -urNp -x '*.orig' linux-4.4/net/core/dev.c linux-4.4/net/core/dev.c
+--- linux-4.4/net/core/dev.c 2021-02-24 16:56:12.545776909 +0100
++++ linux-4.4/net/core/dev.c 2021-02-24 16:56:24.619490478 +0100
+@@ -125,6 +125,7 @@
#include <linux/in.h>
#include <linux/jhash.h>
#include <linux/random.h>
#include <trace/events/napi.h>
#include <trace/events/net.h>
#include <trace/events/skb.h>
-@@ -726,7 +727,8 @@ struct net_device *__dev_get_by_name(str
+@@ -730,7 +731,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)
return dev;
return NULL;
-@@ -751,7 +753,8 @@ struct net_device *dev_get_by_name_rcu(s
+@@ -755,7 +757,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)
return dev;
return NULL;
-@@ -801,7 +804,8 @@ struct net_device *__dev_get_by_index(st
+@@ -805,7 +808,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)
return dev;
return NULL;
-@@ -819,7 +823,7 @@ EXPORT_SYMBOL(__dev_get_by_index);
+@@ -823,7 +827,7 @@ EXPORT_SYMBOL(__dev_get_by_index);
* about locking. The caller must hold RCU lock.
*/
{
struct net_device *dev;
struct hlist_head *head = dev_index_hash(net, ifindex);
-@@ -830,6 +834,16 @@ struct net_device *dev_get_by_index_rcu(
+@@ -834,6 +838,16 @@ struct net_device *dev_get_by_index_rcu(
return NULL;
}
EXPORT_SYMBOL(dev_get_by_index_rcu);
-@@ -912,7 +926,8 @@ struct net_device *dev_getbyhwaddr_rcu(s
+@@ -911,7 +925,8 @@ struct net_device *dev_getbyhwaddr_rcu(s
for_each_netdev_rcu(net, dev)
if (dev->type == type &&
return dev;
return NULL;
-@@ -924,9 +939,11 @@ struct net_device *__dev_getfirstbyhwtyp
+@@ -923,9 +938,11 @@ struct net_device *__dev_getfirstbyhwtyp
struct net_device *dev;
ASSERT_RTNL();
return NULL;
}
-@@ -938,7 +955,8 @@ struct net_device *dev_getfirstbyhwtype(
+@@ -937,7 +954,8 @@ struct net_device *dev_getfirstbyhwtype(
rcu_read_lock();
for_each_netdev_rcu(net, dev)
dev_hold(dev);
ret = dev;
break;
-@@ -968,7 +986,8 @@ struct net_device *__dev_get_by_flags(st
+@@ -967,7 +985,8 @@ struct net_device *__dev_get_by_flags(st
ret = NULL;
for_each_netdev(net, dev) {
ret = dev;
break;
}
-@@ -1046,6 +1065,8 @@ static int __dev_alloc_name(struct net *
+@@ -1045,6 +1064,8 @@ static int __dev_alloc_name(struct net *
continue;
if (i < 0 || i >= max_netdevices)
continue;
/* avoid cases where sscanf is not exact inverse of printf */
snprintf(buf, IFNAMSIZ, name, i);
-diff -NurpP --minimal linux-4.4.161/net/core/net-procfs.c linux-4.4.161-vs2.3.9.8/net/core/net-procfs.c
---- linux-4.4.161/net/core/net-procfs.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/core/net-procfs.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/core/net-procfs.c linux-4.4/net/core/net-procfs.c
+--- linux-4.4/net/core/net-procfs.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/core/net-procfs.c 2021-02-24 16:56:24.619490478 +0100
@@ -1,6 +1,7 @@
#include <linux/netdevice.h>
#include <linux/proc_fs.h>
struct rtnl_link_stats64 temp;
- const struct rtnl_link_stats64 *stats = dev_get_stats(dev, &temp);
+ const struct rtnl_link_stats64 *stats;
-+
+
+ /* device visible inside network context? */
+ if (!nx_dev_visible(current_nx_info(), dev))
+ return;
-
++
+ stats = dev_get_stats(dev, &temp);
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-4.4.161/net/core/rtnetlink.c linux-4.4.161-vs2.3.9.8/net/core/rtnetlink.c
---- linux-4.4.161/net/core/rtnetlink.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/core/rtnetlink.c 2018-10-20 05:50:20.000000000 +0000
-@@ -1456,6 +1456,8 @@ static int rtnl_dump_ifinfo(struct sk_bu
+diff -urNp -x '*.orig' linux-4.4/net/core/rtnetlink.c linux-4.4/net/core/rtnetlink.c
+--- linux-4.4/net/core/rtnetlink.c 2021-02-24 16:56:12.059094916 +0100
++++ linux-4.4/net/core/rtnetlink.c 2021-02-24 16:56:24.619490478 +0100
+@@ -1457,6 +1457,8 @@ static int rtnl_dump_ifinfo(struct sk_bu
hlist_for_each_entry(dev, head, index_hlist) {
if (idx < s_idx)
goto cont;
err = rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK,
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq, 0,
-@@ -2562,6 +2564,9 @@ void rtmsg_ifinfo(int type, struct net_d
+@@ -2585,6 +2587,9 @@ void rtmsg_ifinfo(int type, struct net_d
{
struct sk_buff *skb;
if (dev->reg_state != NETREG_REGISTERED)
return;
-diff -NurpP --minimal linux-4.4.161/net/core/sock.c linux-4.4.161-vs2.3.9.8/net/core/sock.c
---- linux-4.4.161/net/core/sock.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/core/sock.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/core/sock.c linux-4.4/net/core/sock.c
+--- linux-4.4/net/core/sock.c 2021-02-24 16:56:12.059094916 +0100
++++ linux-4.4/net/core/sock.c 2021-02-24 16:56:24.619490478 +0100
@@ -134,6 +134,10 @@
#include <linux/sock_diag.h>
#include <trace/events/sock.h>
-@@ -1363,6 +1367,8 @@ static struct sock *sk_prot_alloc(struct
+@@ -1365,6 +1369,8 @@ static struct sock *sk_prot_alloc(struct
goto out_free_sec;
sk_tx_queue_clear(sk);
}
return sk;
-@@ -1469,6 +1475,11 @@ void sk_destruct(struct sock *sk)
- put_pid(sk->sk_peer_pid);
+@@ -1472,6 +1478,11 @@ void sk_destruct(struct sock *sk)
+
if (likely(sk->sk_net_refcnt))
put_net(sock_net(sk));
+ vx_sock_dec(sk);
sk_prot_free(sk->sk_prot_creator, sk);
}
-@@ -1521,6 +1532,8 @@ struct sock *sk_clone_lock(const struct
+@@ -1524,6 +1535,8 @@ struct sock *sk_clone_lock(const struct
/* SANITY */
if (likely(newsk->sk_net_refcnt))
get_net(sock_net(newsk));
sk_node_init(&newsk->sk_node);
sock_lock_init(newsk);
bh_lock_sock(newsk);
-@@ -1586,6 +1599,12 @@ struct sock *sk_clone_lock(const struct
+@@ -1589,6 +1602,12 @@ struct sock *sk_clone_lock(const struct
smp_wmb();
atomic_set(&newsk->sk_refcnt, 2);
/*
* Increment the counter in the same struct proto as the master
* sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that
-@@ -2424,6 +2443,12 @@ void sock_init_data(struct socket *sock,
-
- sk->sk_stamp = ktime_set(-1L, 0);
+@@ -2452,6 +2471,12 @@ void sock_init_data(struct socket *sock,
+ seqlock_init(&sk->sk_stamp_seq);
+ #endif
+ set_vx_info(&sk->sk_vx_info, current_vx_info());
+ sk->sk_xid = vx_current_xid();
#ifdef CONFIG_NET_RX_BUSY_POLL
sk->sk_napi_id = 0;
sk->sk_ll_usec = sysctl_net_busy_read;
-diff -NurpP --minimal linux-4.4.161/net/ipv4/af_inet.c linux-4.4.161-vs2.3.9.8/net/ipv4/af_inet.c
---- linux-4.4.161/net/ipv4/af_inet.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/af_inet.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/af_inet.c linux-4.4/net/ipv4/af_inet.c
+--- linux-4.4/net/ipv4/af_inet.c 2021-02-24 16:56:12.069095231 +0100
++++ linux-4.4/net/ipv4/af_inet.c 2021-02-24 16:56:24.622823916 +0100
@@ -308,10 +308,15 @@ lookup_protocol:
}
const struct proto_ops inet_stream_ops = {
.family = PF_INET,
-diff -NurpP --minimal linux-4.4.161/net/ipv4/arp.c linux-4.4.161-vs2.3.9.8/net/ipv4/arp.c
---- linux-4.4.161/net/ipv4/arp.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/arp.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/arp.c linux-4.4/net/ipv4/arp.c
+--- linux-4.4/net/ipv4/arp.c 2021-02-24 16:56:12.069095231 +0100
++++ linux-4.4/net/ipv4/arp.c 2021-02-24 16:56:24.622823916 +0100
@@ -1307,6 +1307,7 @@ static void arp_format_neigh_entry(struc
struct net_device *dev = n->dev;
int hatype = dev->type;
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-4.4.161/net/ipv4/devinet.c linux-4.4.161-vs2.3.9.8/net/ipv4/devinet.c
---- linux-4.4.161/net/ipv4/devinet.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/devinet.c 2018-10-20 04:57:21.000000000 +0000
-@@ -538,6 +538,7 @@ struct in_device *inetdev_by_index(struc
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/devinet.c linux-4.4/net/ipv4/devinet.c
+--- linux-4.4/net/ipv4/devinet.c 2021-02-24 16:56:12.069095231 +0100
++++ linux-4.4/net/ipv4/devinet.c 2021-02-24 16:56:24.622823916 +0100
+@@ -547,6 +547,7 @@ struct in_device *inetdev_by_index(struc
}
EXPORT_SYMBOL(inetdev_by_index);
/* Called only from RTNL semaphored context. No locks. */
struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix,
-@@ -992,6 +993,8 @@ int devinet_ioctl(struct net *net, unsig
+@@ -1006,6 +1007,8 @@ int devinet_ioctl(struct net *net, unsig
in_dev = __in_dev_get_rtnl(dev);
if (in_dev) {
if (tryaddrmatch) {
/* Matthias Andree */
/* compare label and address (4.4BSD style) */
-@@ -1000,6 +1003,8 @@ int devinet_ioctl(struct net *net, unsig
+@@ -1014,6 +1017,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) {
if (!strcmp(ifr.ifr_name, ifa->ifa_label) &&
sin_orig.sin_addr.s_addr ==
ifa->ifa_local) {
-@@ -1012,9 +1017,12 @@ int devinet_ioctl(struct net *net, unsig
+@@ -1026,9 +1031,12 @@ int devinet_ioctl(struct net *net, unsig
comparing just the label */
if (!ifa) {
for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL;
}
}
-@@ -1168,6 +1176,8 @@ static int inet_gifconf(struct net_devic
+@@ -1182,6 +1190,8 @@ static int inet_gifconf(struct net_devic
goto out;
for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) {
if (!buf) {
done += sizeof(ifr);
continue;
-@@ -1573,6 +1583,7 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1582,6 +1592,7 @@ static int inet_dump_ifaddr(struct sk_bu
struct net_device *dev;
struct in_device *in_dev;
struct in_ifaddr *ifa;
struct hlist_head *head;
s_h = cb->args[0];
-@@ -1596,6 +1607,8 @@ static int inet_dump_ifaddr(struct sk_bu
+@@ -1605,6 +1616,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++) {
if (ip_idx < s_ip_idx)
continue;
if (inet_fill_ifaddr(skb, ifa,
-diff -NurpP --minimal linux-4.4.161/net/ipv4/fib_trie.c linux-4.4.161-vs2.3.9.8/net/ipv4/fib_trie.c
---- linux-4.4.161/net/ipv4/fib_trie.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/fib_trie.c 2018-10-20 04:57:21.000000000 +0000
-@@ -2591,6 +2591,7 @@ static int fib_route_seq_show(struct seq
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/fib_trie.c linux-4.4/net/ipv4/fib_trie.c
+--- linux-4.4/net/ipv4/fib_trie.c 2021-02-24 16:56:12.072428669 +0100
++++ linux-4.4/net/ipv4/fib_trie.c 2021-02-24 16:56:24.622823916 +0100
+@@ -2606,6 +2606,7 @@ static int fib_route_seq_show(struct seq
seq_setwidth(seq, 127);
if (fi)
seq_printf(seq,
"%s\t%08X\t%08X\t%04X\t%d\t%u\t"
-diff -NurpP --minimal linux-4.4.161/net/ipv4/inet_connection_sock.c linux-4.4.161-vs2.3.9.8/net/ipv4/inet_connection_sock.c
---- linux-4.4.161/net/ipv4/inet_connection_sock.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/inet_connection_sock.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/inet_connection_sock.c linux-4.4/net/ipv4/inet_connection_sock.c
+--- linux-4.4/net/ipv4/inet_connection_sock.c 2021-02-24 16:56:12.072428669 +0100
++++ linux-4.4/net/ipv4/inet_connection_sock.c 2021-02-24 16:56:24.622823916 +0100
@@ -43,6 +43,37 @@ void inet_get_local_port_range(struct ne
}
EXPORT_SYMBOL(inet_get_local_port_range);
break;
}
}
-diff -NurpP --minimal linux-4.4.161/net/ipv4/inet_diag.c linux-4.4.161-vs2.3.9.8/net/ipv4/inet_diag.c
---- linux-4.4.161/net/ipv4/inet_diag.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/inet_diag.c 2018-10-20 06:34:05.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/inet_diag.c linux-4.4/net/ipv4/inet_diag.c
+--- linux-4.4/net/ipv4/inet_diag.c 2021-02-24 16:56:12.072428669 +0100
++++ linux-4.4/net/ipv4/inet_diag.c 2021-02-24 16:56:24.622823916 +0100
@@ -31,6 +31,8 @@
#include <linux/inet.h>
}
}
-@@ -761,6 +763,9 @@ void inet_diag_dump_icsk(struct inet_has
+@@ -768,6 +770,9 @@ void inet_diag_dump_icsk(struct inet_has
if (!net_eq(sock_net(sk), net))
continue;
if (num < s_num) {
num++;
continue;
-@@ -822,6 +827,8 @@ skip_listen_ht:
+@@ -829,6 +834,8 @@ skip_listen_ht:
if (!net_eq(sock_net(sk), net))
continue;
if (num < s_num)
goto next_normal;
state = (sk->sk_state == TCP_TIME_WAIT) ?
-diff -NurpP --minimal linux-4.4.161/net/ipv4/inet_hashtables.c linux-4.4.161-vs2.3.9.8/net/ipv4/inet_hashtables.c
---- linux-4.4.161/net/ipv4/inet_hashtables.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/inet_hashtables.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/inet_hashtables.c linux-4.4/net/ipv4/inet_hashtables.c
+--- linux-4.4/net/ipv4/inet_hashtables.c 2021-02-24 16:56:12.072428669 +0100
++++ linux-4.4/net/ipv4/inet_hashtables.c 2021-02-24 16:56:24.622823916 +0100
@@ -23,6 +23,7 @@
#include <net/inet_connection_sock.h>
#include <net/inet_hashtables.h>
#include <net/ip.h>
static u32 inet_ehashfn(const struct net *net, const __be32 laddr,
-@@ -183,6 +184,11 @@ static inline int compute_score(struct s
+@@ -184,6 +185,11 @@ static inline int compute_score(struct s
if (rcv_saddr != daddr)
return -1;
score += 4;
}
if (sk->sk_bound_dev_if) {
if (sk->sk_bound_dev_if != dif)
-@@ -202,7 +208,6 @@ static inline int compute_score(struct s
+@@ -203,7 +209,6 @@ static inline int compute_score(struct s
* wildcarded during the search since they can never be otherwise.
*/
struct sock *__inet_lookup_listener(struct net *net,
struct inet_hashinfo *hashinfo,
const __be32 saddr, __be16 sport,
-@@ -238,6 +243,7 @@ begin:
+@@ -239,6 +244,7 @@ begin:
phash = next_pseudo_random32(phash);
}
}
/*
* 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-4.4.161/net/ipv4/netfilter.c linux-4.4.161-vs2.3.9.8/net/ipv4/netfilter.c
---- linux-4.4.161/net/ipv4/netfilter.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/netfilter.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/netfilter.c linux-4.4/net/ipv4/netfilter.c
+--- linux-4.4/net/ipv4/netfilter.c 2021-02-24 16:56:12.079095546 +0100
++++ linux-4.4/net/ipv4/netfilter.c 2021-02-24 16:56:24.622823916 +0100
@@ -11,7 +11,7 @@
#include <linux/skbuff.h>
#include <linux/gfp.h>
#include <net/xfrm.h>
#include <net/ip.h>
#include <net/netfilter/nf_queue.h>
-diff -NurpP --minimal linux-4.4.161/net/ipv4/raw.c linux-4.4.161-vs2.3.9.8/net/ipv4/raw.c
---- linux-4.4.161/net/ipv4/raw.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/raw.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/raw.c linux-4.4/net/ipv4/raw.c
+--- linux-4.4/net/ipv4/raw.c 2021-02-24 16:56:12.082428984 +0100
++++ linux-4.4/net/ipv4/raw.c 2021-02-24 16:56:24.622823916 +0100
@@ -126,7 +126,7 @@ static struct sock *__raw_v4_lookup(stru
if (net_eq(sock_net(sk), net) && inet->inet_num == num &&
err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT,
net, sk, skb, NULL, rt->dst.dev,
dst_output);
-@@ -626,6 +632,16 @@ static int raw_sendmsg(struct sock *sk,
+@@ -628,6 +634,16 @@ static int raw_sendmsg(struct sock *sk,
goto done;
}
security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
rt = ip_route_output_flow(net, &fl4, sk);
if (IS_ERR(rt)) {
-@@ -704,17 +720,19 @@ static int raw_bind(struct sock *sk, str
+@@ -706,17 +722,19 @@ static int raw_bind(struct sock *sk, str
{
struct inet_sock *inet = inet_sk(sk);
struct sockaddr_in *addr = (struct sockaddr_in *) uaddr;
if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
inet->inet_saddr = 0; /* Use device */
sk_dst_reset(sk);
-@@ -763,7 +781,8 @@ static int raw_recvmsg(struct sock *sk,
+@@ -765,7 +783,8 @@ static int raw_recvmsg(struct sock *sk,
/* Copy the address. */
if (sin) {
sin->sin_family = AF_INET;
sin->sin_port = 0;
memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
*addr_len = sizeof(*sin);
-@@ -959,7 +978,8 @@ static struct sock *raw_get_first(struct
+@@ -961,7 +980,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])
goto found;
}
sk = NULL;
-@@ -975,7 +995,8 @@ static struct sock *raw_get_next(struct
+@@ -977,7 +997,8 @@ static struct sock *raw_get_next(struct
sk = sk_next(sk);
try_again:
;
if (!sk && ++state->bucket < RAW_HTABLE_SIZE) {
sk = sk_head(&state->h->ht[state->bucket]);
-diff -NurpP --minimal linux-4.4.161/net/ipv4/route.c linux-4.4.161-vs2.3.9.8/net/ipv4/route.c
---- linux-4.4.161/net/ipv4/route.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/route.c 2018-10-20 04:57:21.000000000 +0000
-@@ -2238,7 +2238,7 @@ struct rtable *__ip_route_output_key_has
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/route.c linux-4.4/net/ipv4/route.c
+--- linux-4.4/net/ipv4/route.c 2021-02-24 16:56:12.082428984 +0100
++++ linux-4.4/net/ipv4/route.c 2021-02-24 16:56:24.626157354 +0100
+@@ -2282,7 +2282,7 @@ struct rtable *__ip_route_output_key_has
if (fl4->flowi4_oif) {
rth = ERR_PTR(-ENODEV);
if (!dev_out)
goto out;
-diff -NurpP --minimal linux-4.4.161/net/ipv4/tcp.c linux-4.4.161-vs2.3.9.8/net/ipv4/tcp.c
---- linux-4.4.161/net/ipv4/tcp.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/tcp.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/tcp.c linux-4.4/net/ipv4/tcp.c
+--- linux-4.4/net/ipv4/tcp.c 2021-02-24 16:56:12.082428984 +0100
++++ linux-4.4/net/ipv4/tcp.c 2021-02-24 16:56:24.626157354 +0100
@@ -269,6 +269,7 @@
#include <linux/crypto.h>
#include <linux/time.h>
#include <net/icmp.h>
#include <net/inet_common.h>
-diff -NurpP --minimal linux-4.4.161/net/ipv4/tcp_ipv4.c linux-4.4.161-vs2.3.9.8/net/ipv4/tcp_ipv4.c
---- linux-4.4.161/net/ipv4/tcp_ipv4.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/tcp_ipv4.c 2018-10-20 05:50:20.000000000 +0000
-@@ -1890,6 +1890,10 @@ static void *listening_get_next(struct s
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/tcp_ipv4.c linux-4.4/net/ipv4/tcp_ipv4.c
+--- linux-4.4/net/ipv4/tcp_ipv4.c 2021-02-24 16:56:12.085762422 +0100
++++ linux-4.4/net/ipv4/tcp_ipv4.c 2021-02-24 16:56:24.626157354 +0100
+@@ -1900,6 +1900,10 @@ static void *listening_get_next(struct s
sk = sk_nulls_next(sk);
get_sk:
sk_nulls_for_each_from(sk, node) {
if (!net_eq(sock_net(sk), net))
continue;
if (sk->sk_family == st->family) {
-@@ -1954,6 +1958,11 @@ static void *established_get_first(struc
+@@ -1964,6 +1968,11 @@ static void *established_get_first(struc
spin_lock_bh(lock);
sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) {
if (sk->sk_family != st->family ||
!net_eq(sock_net(sk), net)) {
continue;
-@@ -1980,6 +1989,11 @@ static void *established_get_next(struct
+@@ -1990,6 +1999,11 @@ static void *established_get_next(struct
sk = sk_nulls_next(sk);
sk_nulls_for_each_from(sk, node) {
if (sk->sk_family == st->family && net_eq(sock_net(sk), net))
return sk;
}
-@@ -2171,9 +2185,9 @@ static void get_openreq4(const struct re
+@@ -2181,9 +2195,9 @@ static void get_openreq4(const struct re
seq_printf(f, "%4d: %08X:%04X %08X:%04X"
" %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK",
i,
ntohs(ireq->ir_rmt_port),
TCP_SYN_RECV,
0, 0, /* could print option size, but that is af dependent. */
-@@ -2196,8 +2210,8 @@ static void get_tcp4_sock(struct sock *s
+@@ -2206,8 +2220,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);
const struct fastopen_queue *fastopenq = &icsk->icsk_accept_queue.fastopenq;
__u16 destp = ntohs(inet->inet_dport);
__u16 srcp = ntohs(inet->inet_sport);
int rx_queue;
-@@ -2256,8 +2270,8 @@ static void get_timewait4_sock(const str
+@@ -2266,8 +2280,8 @@ static void get_timewait4_sock(const str
__be32 dest, src;
__u16 destp, srcp;
destp = ntohs(tw->tw_dport);
srcp = ntohs(tw->tw_sport);
-diff -NurpP --minimal linux-4.4.161/net/ipv4/tcp_minisocks.c linux-4.4.161-vs2.3.9.8/net/ipv4/tcp_minisocks.c
---- linux-4.4.161/net/ipv4/tcp_minisocks.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/tcp_minisocks.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/tcp_minisocks.c linux-4.4/net/ipv4/tcp_minisocks.c
+--- linux-4.4/net/ipv4/tcp_minisocks.c 2021-02-24 16:56:12.089095860 +0100
++++ linux-4.4/net/ipv4/tcp_minisocks.c 2021-02-24 16:56:24.626157354 +0100
@@ -23,6 +23,9 @@
#include <linux/slab.h>
#include <linux/sysctl.h>
#if IS_ENABLED(CONFIG_IPV6)
if (tw->tw_family == PF_INET6) {
struct ipv6_pinfo *np = inet6_sk(sk);
-diff -NurpP --minimal linux-4.4.161/net/ipv4/udp.c linux-4.4.161-vs2.3.9.8/net/ipv4/udp.c
---- linux-4.4.161/net/ipv4/udp.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/udp.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/udp.c linux-4.4/net/ipv4/udp.c
+--- linux-4.4/net/ipv4/udp.c 2021-02-24 16:56:12.089095860 +0100
++++ linux-4.4/net/ipv4/udp.c 2021-02-24 16:56:24.626157354 +0100
@@ -309,14 +309,7 @@ fail:
}
EXPORT_SYMBOL(udp_lib_get_port);
memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
*addr_len = sizeof(*sin);
}
-@@ -2327,6 +2344,8 @@ static struct sock *udp_get_first(struct
+@@ -2329,6 +2346,8 @@ static struct sock *udp_get_first(struct
sk_nulls_for_each(sk, node, &hslot->head) {
if (!net_eq(sock_net(sk), net))
continue;
if (sk->sk_family == state->family)
goto found;
}
-@@ -2344,7 +2363,9 @@ static struct sock *udp_get_next(struct
+@@ -2346,7 +2365,9 @@ static struct sock *udp_get_next(struct
do {
sk = sk_nulls_next(sk);
if (!sk) {
if (state->bucket <= state->udp_table->mask)
-@@ -2440,8 +2461,8 @@ static void udp4_format_sock(struct sock
+@@ -2442,8 +2463,8 @@ static void udp4_format_sock(struct sock
int bucket)
{
struct inet_sock *inet = inet_sk(sp);
__u16 destp = ntohs(inet->inet_dport);
__u16 srcp = ntohs(inet->inet_sport);
-diff -NurpP --minimal linux-4.4.161/net/ipv4/udp_diag.c linux-4.4.161-vs2.3.9.8/net/ipv4/udp_diag.c
---- linux-4.4.161/net/ipv4/udp_diag.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv4/udp_diag.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv4/udp_diag.c linux-4.4/net/ipv4/udp_diag.c
+--- linux-4.4/net/ipv4/udp_diag.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/ipv4/udp_diag.c 2021-02-24 16:56:24.626157354 +0100
@@ -118,6 +118,8 @@ static void udp_dump(struct udp_table *t
if (!net_eq(sock_net(sk), net))
if (num < s_num)
goto next;
if (!(r->idiag_states & (1 << sk->sk_state)))
-diff -NurpP --minimal linux-4.4.161/net/ipv6/addrconf.c linux-4.4.161-vs2.3.9.8/net/ipv6/addrconf.c
---- linux-4.4.161/net/ipv6/addrconf.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/addrconf.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/addrconf.c linux-4.4/net/ipv6/addrconf.c
+--- linux-4.4/net/ipv6/addrconf.c 2021-02-24 16:56:12.092429299 +0100
++++ linux-4.4/net/ipv6/addrconf.c 2021-02-24 16:56:24.626157354 +0100
@@ -92,6 +92,8 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
/* Set to 3 to get tracing... */
#define ACONF_DEBUG 2
-@@ -1445,7 +1447,8 @@ static int __ipv6_dev_get_saddr(struct n
+@@ -1453,7 +1455,8 @@ static int __ipv6_dev_get_saddr(struct n
struct ipv6_saddr_dst *dst,
struct inet6_dev *idev,
struct ipv6_saddr_score *scores,
{
struct ipv6_saddr_score *score = &scores[1 - hiscore_idx], *hiscore = &scores[hiscore_idx];
-@@ -1475,6 +1478,8 @@ static int __ipv6_dev_get_saddr(struct n
+@@ -1483,6 +1486,8 @@ static int __ipv6_dev_get_saddr(struct n
idev->dev->name);
continue;
}
score->rule = -1;
bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX);
-@@ -1522,7 +1527,7 @@ out:
+@@ -1530,7 +1535,7 @@ out:
int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev,
const struct in6_addr *daddr, unsigned int prefs,
{
struct ipv6_saddr_score scores[2], *hiscore;
struct ipv6_saddr_dst dst;
-@@ -1571,13 +1576,15 @@ int ipv6_dev_get_saddr(struct net *net,
+@@ -1579,13 +1584,15 @@ int ipv6_dev_get_saddr(struct net *net,
if (use_oif_addr) {
if (idev)
}
}
rcu_read_unlock();
-@@ -3849,7 +3856,10 @@ static void if6_seq_stop(struct seq_file
+@@ -3866,7 +3873,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;
&ifp->addr,
ifp->idev->dev->ifindex,
ifp->prefix_len,
-@@ -4433,6 +4443,11 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4450,6 +4460,11 @@ static int in6_dump_addrs(struct inet6_d
struct ifacaddr6 *ifaca;
int err = 1;
int ip_idx = *p_ip_idx;
read_lock_bh(&idev->lock);
switch (type) {
-@@ -4443,6 +4458,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4460,6 +4475,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)
goto next;
err = inet6_fill_ifaddr(skb, ifa,
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
-@@ -4460,6 +4477,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4479,6 +4496,8 @@ next:
ifmca = ifmca->next, ip_idx++) {
if (ip_idx < s_ip_idx)
continue;
err = inet6_fill_ifmcaddr(skb, ifmca,
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
-@@ -4475,6 +4494,8 @@ static int in6_dump_addrs(struct inet6_d
+@@ -4494,6 +4513,8 @@ next:
ifaca = ifaca->aca_next, ip_idx++) {
if (ip_idx < s_ip_idx)
continue;
err = inet6_fill_ifacaddr(skb, ifaca,
NETLINK_CB(cb->skb).portid,
cb->nlh->nlmsg_seq,
-@@ -4503,6 +4524,10 @@ static int inet6_dump_addr(struct sk_buf
+@@ -4522,6 +4543,10 @@ static int inet6_dump_addr(struct sk_buf
struct inet6_dev *idev;
struct hlist_head *head;
s_h = cb->args[0];
s_idx = idx = cb->args[1];
s_ip_idx = ip_idx = cb->args[2];
-@@ -5011,6 +5036,7 @@ static int inet6_dump_ifinfo(struct sk_b
+@@ -5030,6 +5055,7 @@ static int inet6_dump_ifinfo(struct sk_b
struct net_device *dev;
struct inet6_dev *idev;
struct hlist_head *head;
s_h = cb->args[0];
s_idx = cb->args[1];
-@@ -5022,6 +5048,8 @@ static int inet6_dump_ifinfo(struct sk_b
+@@ -5041,6 +5067,8 @@ static int inet6_dump_ifinfo(struct sk_b
hlist_for_each_entry_rcu(dev, head, index_hlist) {
if (idx < s_idx)
goto cont;
idev = __in6_dev_get(dev);
if (!idev)
goto cont;
-diff -NurpP --minimal linux-4.4.161/net/ipv6/af_inet6.c linux-4.4.161-vs2.3.9.8/net/ipv6/af_inet6.c
---- linux-4.4.161/net/ipv6/af_inet6.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/af_inet6.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/af_inet6.c linux-4.4/net/ipv6/af_inet6.c
+--- linux-4.4/net/ipv6/af_inet6.c 2021-02-24 16:56:12.092429299 +0100
++++ linux-4.4/net/ipv6/af_inet6.c 2021-02-24 16:56:24.626157354 +0100
@@ -43,6 +43,8 @@
#include <linux/netdevice.h>
#include <linux/icmpv6.h>
addr_type = ipv6_addr_type(&addr->sin6_addr);
if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM)
return -EINVAL;
-@@ -314,6 +324,10 @@ int inet6_bind(struct socket *sock, stru
+@@ -326,6 +336,10 @@ int inet6_bind(struct socket *sock, stru
err = -EADDRNOTAVAIL;
goto out;
}
} else {
if (addr_type != IPV6_ADDR_ANY) {
struct net_device *dev = NULL;
-@@ -340,6 +354,11 @@ int inet6_bind(struct socket *sock, stru
+@@ -355,6 +369,11 @@ int inet6_bind(struct socket *sock, stru
}
}
/* ipv4 addr of the socket is invalid. Only the
* unspecified and mapped address have a v4 equivalent.
*/
-@@ -357,6 +376,9 @@ int inet6_bind(struct socket *sock, stru
+@@ -372,6 +391,9 @@ int inet6_bind(struct socket *sock, stru
}
}
inet->inet_rcv_saddr = v4addr;
inet->inet_saddr = v4addr;
-@@ -461,9 +483,11 @@ int inet6_getname(struct socket *sock, s
+@@ -476,9 +498,11 @@ int inet6_getname(struct socket *sock, s
return -ENOTCONN;
sin->sin6_port = inet->inet_dport;
sin->sin6_addr = sk->sk_v6_daddr;
if (ipv6_addr_any(&sk->sk_v6_rcv_saddr))
sin->sin6_addr = np->saddr;
else
-diff -NurpP --minimal linux-4.4.161/net/ipv6/datagram.c linux-4.4.161-vs2.3.9.8/net/ipv6/datagram.c
---- linux-4.4.161/net/ipv6/datagram.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/datagram.c 2018-10-20 05:50:20.000000000 +0000
-@@ -736,7 +736,7 @@ int ip6_datagram_send_ctl(struct net *ne
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/datagram.c linux-4.4/net/ipv6/datagram.c
+--- linux-4.4/net/ipv6/datagram.c 2021-02-24 16:56:12.092429299 +0100
++++ linux-4.4/net/ipv6/datagram.c 2021-02-24 16:56:24.629490793 +0100
+@@ -737,7 +737,7 @@ int ip6_datagram_send_ctl(struct net *ne
rcu_read_lock();
if (fl6->flowi6_oif) {
if (!dev) {
rcu_read_unlock();
return -ENODEV;
-diff -NurpP --minimal linux-4.4.161/net/ipv6/fib6_rules.c linux-4.4.161-vs2.3.9.8/net/ipv6/fib6_rules.c
---- linux-4.4.161/net/ipv6/fib6_rules.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/fib6_rules.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/fib6_rules.c linux-4.4/net/ipv6/fib6_rules.c
+--- linux-4.4/net/ipv6/fib6_rules.c 2021-02-24 16:56:12.092429299 +0100
++++ linux-4.4/net/ipv6/fib6_rules.c 2021-02-24 16:56:24.629490793 +0100
@@ -97,7 +97,7 @@ static int fib6_rule_action(struct fib_r
ip6_dst_idev(&rt->dst)->dev,
&flp6->daddr,
goto again;
if (!ipv6_prefix_equal(&saddr, &r->src.addr,
r->src.plen))
-diff -NurpP --minimal linux-4.4.161/net/ipv6/inet6_hashtables.c linux-4.4.161-vs2.3.9.8/net/ipv6/inet6_hashtables.c
---- linux-4.4.161/net/ipv6/inet6_hashtables.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/inet6_hashtables.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/inet6_hashtables.c linux-4.4/net/ipv6/inet6_hashtables.c
+--- linux-4.4/net/ipv6/inet6_hashtables.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/ipv6/inet6_hashtables.c 2021-02-24 16:56:24.629490793 +0100
@@ -16,6 +16,7 @@
#include <linux/module.h>
}
if (sk->sk_bound_dev_if) {
if (sk->sk_bound_dev_if != dif)
-diff -NurpP --minimal linux-4.4.161/net/ipv6/ip6_fib.c linux-4.4.161-vs2.3.9.8/net/ipv6/ip6_fib.c
---- linux-4.4.161/net/ipv6/ip6_fib.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/ip6_fib.c 2018-10-20 04:57:21.000000000 +0000
-@@ -1968,6 +1968,7 @@ static int ipv6_route_seq_show(struct se
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/ip6_fib.c linux-4.4/net/ipv6/ip6_fib.c
+--- linux-4.4/net/ipv6/ip6_fib.c 2021-02-24 16:56:12.095762737 +0100
++++ linux-4.4/net/ipv6/ip6_fib.c 2021-02-24 16:56:24.629490793 +0100
+@@ -1969,6 +1969,7 @@ static int ipv6_route_seq_show(struct se
struct rt6_info *rt = v;
struct ipv6_route_iter *iter = seq->private;
seq_printf(seq, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen);
#ifdef CONFIG_IPV6_SUBTREES
-diff -NurpP --minimal linux-4.4.161/net/ipv6/ip6_output.c linux-4.4.161-vs2.3.9.8/net/ipv6/ip6_output.c
---- linux-4.4.161/net/ipv6/ip6_output.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/ip6_output.c 2018-10-20 05:50:20.000000000 +0000
-@@ -943,7 +943,8 @@ static int ip6_dst_lookup_tail(struct ne
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/ip6_output.c linux-4.4/net/ipv6/ip6_output.c
+--- linux-4.4/net/ipv6/ip6_output.c 2021-02-24 16:56:12.549110347 +0100
++++ linux-4.4/net/ipv6/ip6_output.c 2021-02-24 16:56:24.629490793 +0100
+@@ -949,7 +949,8 @@ static int ip6_dst_lookup_tail(struct ne
rt = (*dst)->error ? NULL : (struct rt6_info *)*dst;
err = ip6_route_get_saddr(net, rt, &fl6->daddr,
sk ? inet6_sk(sk)->srcprefs : 0,
if (err)
goto out_err_release;
-diff -NurpP --minimal linux-4.4.161/net/ipv6/ndisc.c linux-4.4.161-vs2.3.9.8/net/ipv6/ndisc.c
---- linux-4.4.161/net/ipv6/ndisc.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/ndisc.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/ndisc.c linux-4.4/net/ipv6/ndisc.c
+--- linux-4.4/net/ipv6/ndisc.c 2021-02-24 16:56:12.099096175 +0100
++++ linux-4.4/net/ipv6/ndisc.c 2021-02-24 16:56:24.629490793 +0100
@@ -501,7 +501,7 @@ void ndisc_send_na(struct net_device *de
} else {
if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr,
return;
src_addr = &tmpaddr;
}
-diff -NurpP --minimal linux-4.4.161/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c linux-4.4.161-vs2.3.9.8/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c
---- linux-4.4.161/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c linux-4.4/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c
+--- linux-4.4/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/ipv6/netfilter/nf_nat_masquerade_ipv6.c 2021-02-24 16:56:24.629490793 +0100
@@ -35,7 +35,7 @@ nf_nat_masquerade_ipv6(struct sk_buff *s
ctinfo == IP_CT_RELATED_REPLY));
return NF_DROP;
nfct_nat(ct)->masq_index = out->ifindex;
-diff -NurpP --minimal linux-4.4.161/net/ipv6/raw.c linux-4.4.161-vs2.3.9.8/net/ipv6/raw.c
---- linux-4.4.161/net/ipv6/raw.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/raw.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/raw.c linux-4.4/net/ipv6/raw.c
+--- linux-4.4/net/ipv6/raw.c 2021-02-24 16:56:12.102429614 +0100
++++ linux-4.4/net/ipv6/raw.c 2021-02-24 16:56:24.629490793 +0100
@@ -30,6 +30,7 @@
#include <linux/icmpv6.h>
#include <linux/netfilter.h>
#include <linux/skbuff.h>
#include <linux/compat.h>
#include <linux/uaccess.h>
-@@ -291,6 +292,13 @@ static int rawv6_bind(struct sock *sk, s
+@@ -293,6 +294,13 @@ static int rawv6_bind(struct sock *sk, s
goto out_unlock;
}
/* ipv4 addr of the socket is invalid. Only the
* unspecified and mapped address have a v4 equivalent.
*/
-diff -NurpP --minimal linux-4.4.161/net/ipv6/route.c linux-4.4.161-vs2.3.9.8/net/ipv6/route.c
---- linux-4.4.161/net/ipv6/route.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/route.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/route.c linux-4.4/net/ipv6/route.c
+--- linux-4.4/net/ipv6/route.c 2021-02-24 16:56:12.102429614 +0100
++++ linux-4.4/net/ipv6/route.c 2021-02-24 16:56:24.629490793 +0100
@@ -62,6 +62,7 @@
#include <net/lwtunnel.h>
#include <net/ip_tunnels.h>
#include <asm/uaccess.h>
-@@ -2549,16 +2550,18 @@ int ip6_route_get_saddr(struct net *net,
+@@ -2582,16 +2583,18 @@ int ip6_route_get_saddr(struct net *net,
struct rt6_info *rt,
const struct in6_addr *daddr,
unsigned int prefs,
return err;
}
-@@ -3174,7 +3177,8 @@ static int rt6_fill_node(struct net *net
+@@ -3208,7 +3211,8 @@ static int rt6_fill_node(struct net *net
goto nla_put_failure;
} else if (dst) {
struct in6_addr saddr_buf;
nla_put_in6_addr(skb, RTA_PREFSRC, &saddr_buf))
goto nla_put_failure;
}
-diff -NurpP --minimal linux-4.4.161/net/ipv6/tcp_ipv6.c linux-4.4.161-vs2.3.9.8/net/ipv6/tcp_ipv6.c
---- linux-4.4.161/net/ipv6/tcp_ipv6.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/tcp_ipv6.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/tcp_ipv6.c linux-4.4/net/ipv6/tcp_ipv6.c
+--- linux-4.4/net/ipv6/tcp_ipv6.c 2021-02-24 16:56:12.105763052 +0100
++++ linux-4.4/net/ipv6/tcp_ipv6.c 2021-02-24 16:56:24.629490793 +0100
@@ -69,6 +69,7 @@
#include <linux/crypto.h>
}
addr_type = ipv6_addr_type(&usin->sin6_addr);
-diff -NurpP --minimal linux-4.4.161/net/ipv6/udp.c linux-4.4.161-vs2.3.9.8/net/ipv6/udp.c
---- linux-4.4.161/net/ipv6/udp.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/udp.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/udp.c linux-4.4/net/ipv6/udp.c
+--- linux-4.4/net/ipv6/udp.c 2021-02-24 16:56:12.105763052 +0100
++++ linux-4.4/net/ipv6/udp.c 2021-02-24 16:56:24.629490793 +0100
@@ -47,6 +47,7 @@
#include <net/xfrm.h>
#include <net/inet6_hashtables.h>
}
if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) {
-diff -NurpP --minimal linux-4.4.161/net/ipv6/xfrm6_policy.c linux-4.4.161-vs2.3.9.8/net/ipv6/xfrm6_policy.c
---- linux-4.4.161/net/ipv6/xfrm6_policy.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/ipv6/xfrm6_policy.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/ipv6/xfrm6_policy.c linux-4.4/net/ipv6/xfrm6_policy.c
+--- linux-4.4/net/ipv6/xfrm6_policy.c 2021-02-24 16:56:12.105763052 +0100
++++ linux-4.4/net/ipv6/xfrm6_policy.c 2021-02-24 16:56:24.632824231 +0100
@@ -64,7 +64,8 @@ static int xfrm6_get_saddr(struct net *n
return -EHOSTUNREACH;
dst_release(dst);
return 0;
}
-diff -NurpP --minimal linux-4.4.161/net/netfilter/ipvs/ip_vs_xmit.c linux-4.4.161-vs2.3.9.8/net/netfilter/ipvs/ip_vs_xmit.c
---- linux-4.4.161/net/netfilter/ipvs/ip_vs_xmit.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/netfilter/ipvs/ip_vs_xmit.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/netfilter/ipvs/ip_vs_xmit.c linux-4.4/net/netfilter/ipvs/ip_vs_xmit.c
+--- linux-4.4/net/netfilter/ipvs/ip_vs_xmit.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/netfilter/ipvs/ip_vs_xmit.c 2021-02-24 16:56:24.632824231 +0100
@@ -381,7 +381,7 @@ __ip_vs_route_output_v6(struct net *net,
return dst;
if (ipv6_addr_any(&fl6.saddr) &&
goto out_err;
if (do_xfrm) {
dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0);
-diff -NurpP --minimal linux-4.4.161/net/netlink/af_netlink.c linux-4.4.161-vs2.3.9.8/net/netlink/af_netlink.c
---- linux-4.4.161/net/netlink/af_netlink.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/netlink/af_netlink.c 2018-10-20 05:53:02.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/netlink/af_netlink.c linux-4.4/net/netlink/af_netlink.c
+--- linux-4.4/net/netlink/af_netlink.c 2021-02-24 16:56:12.139097435 +0100
++++ linux-4.4/net/netlink/af_netlink.c 2021-02-24 16:56:24.632824231 +0100
@@ -63,6 +63,8 @@
#include <linux/hash.h>
#include <linux/genetlink.h>
#include <net/net_namespace.h>
#include <net/sock.h>
-@@ -2472,7 +2474,8 @@ static void *__netlink_seq_next(struct s
+@@ -2473,7 +2475,8 @@ static void *__netlink_seq_next(struct s
if (err)
return ERR_PTR(err);
}
return nlk;
}
-diff -NurpP --minimal linux-4.4.161/net/packet/diag.c linux-4.4.161-vs2.3.9.8/net/packet/diag.c
---- linux-4.4.161/net/packet/diag.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/packet/diag.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/packet/diag.c linux-4.4/net/packet/diag.c
+--- linux-4.4/net/packet/diag.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/packet/diag.c 2021-02-24 16:56:24.632824231 +0100
@@ -4,6 +4,7 @@
#include <linux/netdevice.h>
#include <linux/packet_diag.h>
if (num < s_num)
goto next;
-diff -NurpP --minimal linux-4.4.161/net/socket.c linux-4.4.161-vs2.3.9.8/net/socket.c
---- linux-4.4.161/net/socket.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/socket.c 2018-10-20 05:50:20.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/socket.c linux-4.4/net/socket.c
+--- linux-4.4/net/socket.c 2021-02-24 16:56:12.169098380 +0100
++++ linux-4.4/net/socket.c 2021-02-24 16:56:24.632824231 +0100
@@ -100,10 +100,12 @@
#include <net/sock.h>
#include <linux/sockios.h>
#include <linux/atalk.h>
#include <net/busy_poll.h>
-@@ -609,8 +611,24 @@ EXPORT_SYMBOL(__sock_tx_timestamp);
+@@ -597,8 +599,24 @@ EXPORT_SYMBOL(__sock_tx_timestamp);
static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)
{
return ret;
}
-@@ -1101,6 +1119,13 @@ int __sock_create(struct net *net, int f
+@@ -1089,6 +1107,13 @@ int __sock_create(struct net *net, int f
if (type < 0 || type >= SOCK_MAX)
return -EINVAL;
/* Compatibility.
This uglymoron is moved from INET layer to here to avoid
-@@ -1235,6 +1260,7 @@ SYSCALL_DEFINE3(socket, int, family, int
+@@ -1223,6 +1248,7 @@ SYSCALL_DEFINE3(socket, int, family, int
if (retval < 0)
goto out;
retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK));
if (retval < 0)
goto out_release;
-@@ -1276,10 +1302,12 @@ SYSCALL_DEFINE4(socketpair, int, family,
+@@ -1264,10 +1290,12 @@ SYSCALL_DEFINE4(socketpair, int, family,
err = sock_create(family, type, protocol, &sock1);
if (err < 0)
goto out;
err = sock1->ops->socketpair(sock1, sock2);
if (err < 0)
-diff -NurpP --minimal linux-4.4.161/net/sunrpc/auth.c linux-4.4.161-vs2.3.9.8/net/sunrpc/auth.c
---- linux-4.4.161/net/sunrpc/auth.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/sunrpc/auth.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/sunrpc/auth.c linux-4.4/net/sunrpc/auth.c
+--- linux-4.4/net/sunrpc/auth.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/sunrpc/auth.c 2021-02-24 16:56:24.632824231 +0100
@@ -15,6 +15,7 @@
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/gss_api.h>
};
dprintk("RPC: %5u looking up %s cred\n",
-diff -NurpP --minimal linux-4.4.161/net/sunrpc/auth_unix.c linux-4.4.161-vs2.3.9.8/net/sunrpc/auth_unix.c
---- linux-4.4.161/net/sunrpc/auth_unix.c 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/sunrpc/auth_unix.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/sunrpc/auth_unix.c linux-4.4/net/sunrpc/auth_unix.c
+--- linux-4.4/net/sunrpc/auth_unix.c 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/net/sunrpc/auth_unix.c 2021-02-24 16:56:24.632824231 +0100
@@ -13,11 +13,13 @@
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/auth.h>
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-4.4.161/net/sunrpc/clnt.c linux-4.4.161-vs2.3.9.8/net/sunrpc/clnt.c
---- linux-4.4.161/net/sunrpc/clnt.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/sunrpc/clnt.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/sunrpc/clnt.c linux-4.4/net/sunrpc/clnt.c
+--- linux-4.4/net/sunrpc/clnt.c 2021-02-24 16:56:12.172431818 +0100
++++ linux-4.4/net/sunrpc/clnt.c 2021-02-24 16:56:24.632824231 +0100
@@ -31,6 +31,7 @@
#include <linux/in.h>
#include <linux/in6.h>
return clnt;
}
-diff -NurpP --minimal linux-4.4.161/net/unix/af_unix.c linux-4.4.161-vs2.3.9.8/net/unix/af_unix.c
---- linux-4.4.161/net/unix/af_unix.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/unix/af_unix.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/unix/af_unix.c linux-4.4/net/unix/af_unix.c
+--- linux-4.4/net/unix/af_unix.c 2021-02-24 16:56:12.179098695 +0100
++++ linux-4.4/net/unix/af_unix.c 2021-02-24 16:56:24.632824231 +0100
@@ -117,6 +117,8 @@
#include <net/checksum.h>
#include <linux/security.h>
+#include <linux/vs_context.h>
+#include <linux/vs_limit.h>
- struct hlist_head unix_socket_table[2 * UNIX_HASH_SIZE];
- EXPORT_SYMBOL_GPL(unix_socket_table);
-@@ -282,6 +284,8 @@ static struct sock *__unix_find_socket_b
+ #include "scm.h"
+
+@@ -290,6 +292,8 @@ static struct sock *__unix_find_socket_b
if (!net_eq(sock_net(s), net))
continue;
if (u->addr->len == len &&
!memcmp(u->addr->name, sunname, len))
goto found;
-@@ -2741,6 +2745,8 @@ static struct sock *unix_from_bucket(str
+@@ -2757,6 +2761,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;
if (++count == offset)
break;
}
-@@ -2758,6 +2764,8 @@ static struct sock *unix_next_socket(str
+@@ -2774,6 +2780,8 @@ static struct sock *unix_next_socket(str
sk = sk_next(sk);
if (!sk)
goto next_bucket;
if (sock_net(sk) == seq_file_net(seq))
return sk;
}
-diff -NurpP --minimal linux-4.4.161/net/unix/diag.c linux-4.4.161-vs2.3.9.8/net/unix/diag.c
---- linux-4.4.161/net/unix/diag.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/net/unix/diag.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/net/unix/diag.c linux-4.4/net/unix/diag.c
+--- linux-4.4/net/unix/diag.c 2021-02-24 16:56:12.179098695 +0100
++++ linux-4.4/net/unix/diag.c 2021-02-24 16:56:24.632824231 +0100
@@ -4,6 +4,7 @@
#include <linux/unix_diag.h>
#include <linux/skbuff.h>
#include <net/netlink.h>
#include <net/af_unix.h>
#include <net/tcp_states.h>
-@@ -199,6 +200,8 @@ static int unix_diag_dump(struct sk_buff
+@@ -200,6 +201,8 @@ static int unix_diag_dump(struct sk_buff
sk_for_each(sk, &unix_socket_table[slot]) {
if (!net_eq(sock_net(sk), net))
continue;
if (num < s_num)
goto next;
if (!(req->udiag_states & (1 << sk->sk_state)))
-diff -NurpP --minimal linux-4.4.161/scripts/checksyscalls.sh linux-4.4.161-vs2.3.9.8/scripts/checksyscalls.sh
---- linux-4.4.161/scripts/checksyscalls.sh 2016-01-10 23:01:32.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/scripts/checksyscalls.sh 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/scripts/checksyscalls.sh linux-4.4/scripts/checksyscalls.sh
+--- linux-4.4/scripts/checksyscalls.sh 2016-01-11 00:01:32.000000000 +0100
++++ linux-4.4/scripts/checksyscalls.sh 2021-02-24 16:56:24.636157669 +0100
@@ -196,7 +196,6 @@ cat << EOF
#define __IGNORE_afs_syscall
#define __IGNORE_getpmsg
EOF
}
-diff -NurpP --minimal linux-4.4.161/security/commoncap.c linux-4.4.161-vs2.3.9.8/security/commoncap.c
---- linux-4.4.161/security/commoncap.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/security/commoncap.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/security/commoncap.c linux-4.4/security/commoncap.c
+--- linux-4.4/security/commoncap.c 2021-02-24 16:56:12.205766201 +0100
++++ linux-4.4/security/commoncap.c 2021-02-24 16:56:24.636157669 +0100
@@ -71,6 +71,7 @@ static void warn_setuid_and_fcaps_mixed(
int cap_capable(const struct cred *cred, struct user_namespace *targ_ns,
int cap, int audit)
/* Have we tried all of the parent namespaces? */
if (ns == &init_user_ns)
-@@ -664,7 +669,7 @@ int cap_inode_setxattr(struct dentry *de
+@@ -665,7 +670,7 @@ int cap_inode_setxattr(struct dentry *de
if (!strncmp(name, XATTR_SECURITY_PREFIX,
sizeof(XATTR_SECURITY_PREFIX) - 1) &&
return -EPERM;
return 0;
}
-@@ -690,7 +695,7 @@ int cap_inode_removexattr(struct dentry
+@@ -691,7 +696,7 @@ int cap_inode_removexattr(struct dentry
if (!strncmp(name, XATTR_SECURITY_PREFIX,
sizeof(XATTR_SECURITY_PREFIX) - 1) &&
return -EPERM;
return 0;
}
-diff -NurpP --minimal linux-4.4.161/security/selinux/hooks.c linux-4.4.161-vs2.3.9.8/security/selinux/hooks.c
---- linux-4.4.161/security/selinux/hooks.c 2018-10-20 02:34:31.000000000 +0000
-+++ linux-4.4.161-vs2.3.9.8/security/selinux/hooks.c 2018-10-20 04:57:21.000000000 +0000
+diff -urNp -x '*.orig' linux-4.4/security/selinux/hooks.c linux-4.4/security/selinux/hooks.c
+--- linux-4.4/security/selinux/hooks.c 2021-02-24 16:56:12.212433078 +0100
++++ linux-4.4/security/selinux/hooks.c 2021-02-24 16:56:24.636157669 +0100
@@ -67,7 +67,6 @@
#include <linux/dccp.h>
#include <linux/quota.h>