diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-11-05 10:56:44 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-11-05 10:56:44 +0000 |
commit | 08a948d8600bc37274a8593d05fd04609e69aecc (patch) | |
tree | a57eb8ba5b7c10792466010990404026c901bec9 | |
parent | e9412daa99d5d692fde87c4e69baa2f9754393da (diff) | |
download | alpine_aports-08a948d8600bc37274a8593d05fd04609e69aecc.tar.bz2 alpine_aports-08a948d8600bc37274a8593d05fd04609e69aecc.tar.xz alpine_aports-08a948d8600bc37274a8593d05fd04609e69aecc.zip |
main/linux-vserver: upgrade to 3.10.18
-rw-r--r-- | main/linux-vserver/APKBUILD | 42 | ||||
-rw-r--r-- | main/linux-vserver/aslr-pie.patch | 48 | ||||
-rw-r--r-- | main/linux-vserver/kernelconfig.x86 | 841 | ||||
-rw-r--r-- | main/linux-vserver/kernelconfig.x86_64 | 843 | ||||
-rw-r--r-- | main/linux-vserver/patch-3.10.18-vs2.3.6.6.diff (renamed from main/linux-vserver/patch-3.4.65-vs2.3.3.9.diff) | 9978 |
5 files changed, 6066 insertions, 5686 deletions
diff --git a/main/linux-vserver/APKBUILD b/main/linux-vserver/APKBUILD index d907d82904..8fc2eaa3fe 100644 --- a/main/linux-vserver/APKBUILD +++ b/main/linux-vserver/APKBUILD | |||
@@ -2,9 +2,9 @@ | |||
2 | 2 | ||
3 | _flavor=vserver | 3 | _flavor=vserver |
4 | pkgname=linux-${_flavor} | 4 | pkgname=linux-${_flavor} |
5 | pkgver=3.4.65 | 5 | pkgver=3.10.18 |
6 | pkgrel=0 | 6 | pkgrel=0 |
7 | _vsver=vs2.3.3.9 | 7 | _vsver=vs2.3.6.6 |
8 | 8 | ||
9 | if [ "${pkgver##*.*.*}" = "$pkgver" ]; then | 9 | if [ "${pkgver##*.*.*}" = "$pkgver" ]; then |
10 | _kernver=$pkgver | 10 | _kernver=$pkgver |
@@ -15,7 +15,7 @@ fi | |||
15 | pkgdesc="Linux kernel with vserver" | 15 | pkgdesc="Linux kernel with vserver" |
16 | url="http://linux-vserver.org/" | 16 | url="http://linux-vserver.org/" |
17 | depends="mkinitfs linux-firmware" | 17 | depends="mkinitfs linux-firmware" |
18 | makedepends="perl installkernel" | 18 | makedepends="perl installkernel bash bc" |
19 | options="!strip" | 19 | options="!strip" |
20 | _config=${config:-kernelconfig.${CARCH}} | 20 | _config=${config:-kernelconfig.${CARCH}} |
21 | install= | 21 | install= |
@@ -136,21 +136,21 @@ dev() { | |||
136 | "$subpkgdir"/lib/modules/${_abi_release}/build | 136 | "$subpkgdir"/lib/modules/${_abi_release}/build |
137 | } | 137 | } |
138 | 138 | ||
139 | md5sums="967f72983655e2479f951195953e8480 linux-3.4.tar.xz | 139 | md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz |
140 | 5cc0b3e19712173f8f2612c17af16a64 patch-3.4.65.xz | 140 | e39b75595bf61d758087e1ddecd01a12 patch-3.10.18.xz |
141 | 1eed35999e8ba9d4549e9c4adb87e034 patch-3.4.65-vs2.3.3.9.diff | 141 | d9f07e9608af91b865f9d646ae0b96b2 patch-3.10.18-vs2.3.6.6.diff |
142 | 5901bfca41ac6a557e12b48115d3d1b2 aslr-pie.patch | 142 | 35e2e5c7a5f0de3cdf540bb4ae894349 aslr-pie.patch |
143 | 1fce2ef2e47d19c150ab0b2df3373a57 kernelconfig.x86 | 143 | 70d2cc88b867c9da26a0ab9a6da9973f kernelconfig.x86 |
144 | b6a18f4cb2523bbd2500809e61172f8f kernelconfig.x86_64" | 144 | acccc23350bafce3fdb43c7c80296c6a kernelconfig.x86_64" |
145 | sha256sums="ff3dee6a855873d12487a6f4070ec2f7996d073019171361c955639664baa0c6 linux-3.4.tar.xz | 145 | sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz |
146 | 0cab0843ed38ae6f1839bdaa425033d9d1f3754923cc925ed6e13715c2158216 patch-3.4.65.xz | 146 | 6fe9123444e4803d2bdec0f89a969024813bd54ba9114471589d1326deee8d6f patch-3.10.18.xz |
147 | 37cf0ab273273cb5708304dc2f55302cc9c7429801927ed14d7b523f5e8ba899 patch-3.4.65-vs2.3.3.9.diff | 147 | 5acf8e93686cafd12cab26dd1d80a61cc8ed54199976ea4eaccd187238da9ab0 patch-3.10.18-vs2.3.6.6.diff |
148 | 37ad5b5f44fcc119f71c81e8cda376c13ecc04f785bd2e1892782def6f5cfae3 aslr-pie.patch | 148 | c18b47c7cd07837ca1c4f4702ef72e688a307b02f1f74012b329cea7d910ec85 aslr-pie.patch |
149 | e97b45a117671c5a87a9ba4a1f946125053eac078d297f61f9c8d4594acbf830 kernelconfig.x86 | 149 | 874b7591214e69cf145f9bce1427b6774435a43c3dac50ea5c8ccd4c43790944 kernelconfig.x86 |
150 | d44d1a1be3402847f540cc0cfb201deec7084b4c516e592b92e115ab3f71d4b5 kernelconfig.x86_64" | 150 | 8deb8491dc854ed392f730e8ee53a32c47bba0b4350f0f81afdf741207084855 kernelconfig.x86_64" |
151 | sha512sums="1c49b336750c9c2b49d21e54126f22a800367296be0d57e6df28b1532cbeba7fc3bdf4cfe27d9810576e76c2db2e9c2493f0804451c915137cb78d7aa61f236c linux-3.4.tar.xz | 151 | sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz |
152 | 56c25d652a26878c755fcefe37aa308c5919a4c2c812590b9ef7bb5d2b6628f532507db96e554ab13b905742ffc4f710e04e1dd72427ee707f1d951141267712 patch-3.4.65.xz | 152 | b891e6969a0628f760aebf04e7b4cfd9e93c73fd1f61d9c50a2e3b812bff4f35f2b2a13f88319a106fb6d9929b83bc59384ddb651b17ea158739523ad252575a patch-3.10.18.xz |
153 | d0f535f941553d71da11f372e675e8c4faa42cad4e5eccecb0fd784e3ed9502611912ef00e457afd91d29dd0577df7a475f5c69c442bdac655397f44b55310da patch-3.4.65-vs2.3.3.9.diff | 153 | 95b4e2768da2f60347885dac3094803c65f1ba205a76ef58c2f577394e0a4c32f21570467b09d1c7301021fd49169784b2a261ebf7469d64161e55784e067297 patch-3.10.18-vs2.3.6.6.diff |
154 | 0314ff29551dfde45fe05d43cb571348d955b5338b33acb26e29fa80f73ef28f34bbdf01006e4aecee372f3863517357a99cdec08b183a8dd9121ee9d0314b2e aslr-pie.patch | 154 | 41c74619359791a65dc2c017e8fdae9e8614c8c6d3306bec59dac84bc74455ea1b9c5d35d98c7ce414d8621d91c9dbe868916a8b89be6c60d1013235ef5c21ab aslr-pie.patch |
155 | f12f999c84f724a4ac20a736c7f56671e23b2a9ddce4b0576dc17d0b3e8f319f5c4bc40b58992eba75ace44148018d85de24b2516d0a83240cd0ca3803606eae kernelconfig.x86 | 155 | 54c20b88b04d29bd4985b9ff0dd84ba5356719d905a5efc73258a9517419df0d144bfd96963abe4b781d6eda6acb02b4116e60fa878b6d932b5f8d66fc31e7c3 kernelconfig.x86 |
156 | 4cf43a7fc609e9822919e5706f38c03ef72deae2eae6b7d4c4ca7f9f29bccd1f01c0d65660a0c5234df6c2123a1d0c797dbdcb57ca5559e39644704426657f3e kernelconfig.x86_64" | 156 | ff258d9fcc660b608e3ba3bd1f9384504e6ef12cc440931784e6badfdf9f67d0e06f1e23aeb070b5e525c81467be542c7e313940bf6e49e9c905003047a3d146 kernelconfig.x86_64" |
diff --git a/main/linux-vserver/aslr-pie.patch b/main/linux-vserver/aslr-pie.patch index 8b907e447e..61657061c8 100644 --- a/main/linux-vserver/aslr-pie.patch +++ b/main/linux-vserver/aslr-pie.patch | |||
@@ -1,39 +1,8 @@ | |||
1 | From a72b1fccf6c7c54c7a3ceef525b615b26b38f4a4 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> | ||
3 | Date: Tue, 1 Oct 2013 13:46:04 +0300 | ||
4 | Subject: [PATCH 3.4.63-vanilla] fs/binfmt_elf: fix memory map for PIE applications | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | arch/x86/include/asm/elf.h comment says: | ||
10 | " | ||
11 | ELF_ET_DYN_BASE is the location that an ET_DYN program is loaded | ||
12 | if exec'ed. Typical use of this is to invoke "./ld.so someprog" | ||
13 | to test out a new version of the loader. We need to make sure | ||
14 | that it is out of the way of the program that it will "exec", | ||
15 | and that there is sufficient room for the brk. | ||
16 | " | ||
17 | |||
18 | In case we have main application linked as PIE, this will cause | ||
19 | problems as the main program itself will go the memory location | ||
20 | that allows very little heap. | ||
21 | |||
22 | This fixes the loader to detect PIE application by checking if | ||
23 | elf_interpreter is requested, and loads them to beginning of the | ||
24 | address space instead of the specially crafted place for elf | ||
25 | interpreter. | ||
26 | |||
27 | Signed-off-by: Timo Teräs <timo.teras@iki.fi> | ||
28 | --- | ||
29 | fs/binfmt_elf.c | 17 ++++++++--------- | ||
30 | 1 file changed, 8 insertions(+), 9 deletions(-) | ||
31 | |||
32 | diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c | 1 | diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c |
33 | index a009b9e..b3723a2 100644 | 2 | index 3aac8e9..4711413 100644 |
34 | --- a/fs/binfmt_elf.c | 3 | --- a/fs/binfmt_elf.c |
35 | +++ b/fs/binfmt_elf.c | 4 | +++ b/fs/binfmt_elf.c |
36 | @@ -790,20 +790,19 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) | 5 | @@ -804,21 +804,19 @@ static int load_elf_binary(struct linux_binprm *bprm) |
37 | * default mmap base, as well as whatever program they | 6 | * default mmap base, as well as whatever program they |
38 | * might try to exec. This is because the brk will | 7 | * might try to exec. This is because the brk will |
39 | * follow the loader, and is not movable. */ | 8 | * follow the loader, and is not movable. */ |
@@ -43,12 +12,11 @@ index a009b9e..b3723a2 100644 | |||
43 | + load_bias = ELF_ET_DYN_BASE; | 12 | + load_bias = ELF_ET_DYN_BASE; |
44 | #ifdef CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE | 13 | #ifdef CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE |
45 | /* Memory randomization might have been switched off | 14 | /* Memory randomization might have been switched off |
46 | - * in runtime via sysctl. | 15 | * in runtime via sysctl or explicit setting of |
16 | * personality flags. | ||
47 | - * If that is the case, retain the original non-zero | 17 | - * If that is the case, retain the original non-zero |
48 | - * load_bias value in order to establish proper | 18 | - * load_bias value in order to establish proper |
49 | - * non-randomized mappings. | 19 | - * non-randomized mappings. |
50 | + * in runtime via sysctl or explicit setting of | ||
51 | + * ersonality flags. | ||
52 | */ | 20 | */ |
53 | if (current->flags & PF_RANDOMIZE) | 21 | if (current->flags & PF_RANDOMIZE) |
54 | - load_bias = 0; | 22 | - load_bias = 0; |
@@ -56,13 +24,9 @@ index a009b9e..b3723a2 100644 | |||
56 | - load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); | 24 | - load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); |
57 | -#else | 25 | -#else |
58 | - load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); | 26 | - load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); |
59 | + load_bias += (get_random_int() & STACK_RND_MASK) << PAGE_SHIFT; | 27 | + load_bias = (get_random_int() & STACK_RND_MASK) << PAGE_SHIFT; |
60 | #endif | 28 | #endif |
61 | + load_bias = ELF_PAGESTART(vaddr + load_bias); | 29 | + load_bias = ELF_PAGESTART(load_bias - vaddr); |
62 | } | 30 | } |
63 | 31 | ||
64 | error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, | 32 | error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, |
65 | -- | ||
66 | 1.8.4 | ||
67 | |||
68 | |||
diff --git a/main/linux-vserver/kernelconfig.x86 b/main/linux-vserver/kernelconfig.x86 index 1ddd27cdb7..01bf045330 100644 --- a/main/linux-vserver/kernelconfig.x86 +++ b/main/linux-vserver/kernelconfig.x86 | |||
@@ -1,18 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated file; DO NOT EDIT. | 2 | # Automatically generated file; DO NOT EDIT. |
3 | # Linux/i386 3.4.51-vs2.3.3.9 Kernel Configuration | 3 | # Linux/x86 3.10.18-vs2.3.6.6 Kernel Configuration |
4 | # | 4 | # |
5 | # CONFIG_64BIT is not set | 5 | # CONFIG_64BIT is not set |
6 | CONFIG_X86_32=y | 6 | CONFIG_X86_32=y |
7 | # CONFIG_X86_64 is not set | ||
8 | CONFIG_X86=y | 7 | CONFIG_X86=y |
9 | CONFIG_INSTRUCTION_DECODER=y | 8 | CONFIG_INSTRUCTION_DECODER=y |
10 | CONFIG_OUTPUT_FORMAT="elf32-i386" | 9 | CONFIG_OUTPUT_FORMAT="elf32-i386" |
11 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" | 10 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" |
12 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
13 | CONFIG_CLOCKSOURCE_WATCHDOG=y | ||
14 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
16 | CONFIG_LOCKDEP_SUPPORT=y | 11 | CONFIG_LOCKDEP_SUPPORT=y |
17 | CONFIG_STACKTRACE_SUPPORT=y | 12 | CONFIG_STACKTRACE_SUPPORT=y |
18 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -22,15 +17,10 @@ CONFIG_NEED_SG_DMA_LENGTH=y | |||
22 | CONFIG_GENERIC_ISA_DMA=y | 17 | CONFIG_GENERIC_ISA_DMA=y |
23 | CONFIG_GENERIC_BUG=y | 18 | CONFIG_GENERIC_BUG=y |
24 | CONFIG_GENERIC_HWEIGHT=y | 19 | CONFIG_GENERIC_HWEIGHT=y |
25 | CONFIG_GENERIC_GPIO=y | ||
26 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 20 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
27 | # CONFIG_RWSEM_GENERIC_SPINLOCK is not set | ||
28 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 21 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
29 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | ||
30 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 22 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
31 | # CONFIG_GENERIC_TIME_VSYSCALL is not set | ||
32 | CONFIG_ARCH_HAS_CPU_RELAX=y | 23 | CONFIG_ARCH_HAS_CPU_RELAX=y |
33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | ||
34 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y | 24 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y |
35 | CONFIG_ARCH_HAS_CPU_AUTOPROBE=y | 25 | CONFIG_ARCH_HAS_CPU_AUTOPROBE=y |
36 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 26 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
@@ -47,16 +37,15 @@ CONFIG_X86_32_SMP=y | |||
47 | CONFIG_X86_HT=y | 37 | CONFIG_X86_HT=y |
48 | CONFIG_X86_32_LAZY_GS=y | 38 | CONFIG_X86_32_LAZY_GS=y |
49 | CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" | 39 | CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" |
50 | CONFIG_KTIME_SCALAR=y | ||
51 | CONFIG_ARCH_CPU_PROBE_RELEASE=y | 40 | CONFIG_ARCH_CPU_PROBE_RELEASE=y |
41 | CONFIG_ARCH_SUPPORTS_UPROBES=y | ||
52 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 42 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
53 | CONFIG_HAVE_IRQ_WORK=y | ||
54 | CONFIG_IRQ_WORK=y | 43 | CONFIG_IRQ_WORK=y |
44 | CONFIG_BUILDTIME_EXTABLE_SORT=y | ||
55 | 45 | ||
56 | # | 46 | # |
57 | # General setup | 47 | # General setup |
58 | # | 48 | # |
59 | CONFIG_EXPERIMENTAL=y | ||
60 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 49 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
61 | CONFIG_CROSS_COMPILE="" | 50 | CONFIG_CROSS_COMPILE="" |
62 | CONFIG_LOCALVERSION="" | 51 | CONFIG_LOCALVERSION="" |
@@ -76,13 +65,7 @@ CONFIG_SWAP=y | |||
76 | CONFIG_SYSVIPC=y | 65 | CONFIG_SYSVIPC=y |
77 | CONFIG_SYSVIPC_SYSCTL=y | 66 | CONFIG_SYSVIPC_SYSCTL=y |
78 | # CONFIG_POSIX_MQUEUE is not set | 67 | # CONFIG_POSIX_MQUEUE is not set |
79 | CONFIG_BSD_PROCESS_ACCT=y | ||
80 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
81 | # CONFIG_FHANDLE is not set | 68 | # CONFIG_FHANDLE is not set |
82 | CONFIG_TASKSTATS=y | ||
83 | CONFIG_TASK_DELAY_ACCT=y | ||
84 | CONFIG_TASK_XACCT=y | ||
85 | CONFIG_TASK_IO_ACCOUNTING=y | ||
86 | # CONFIG_AUDIT is not set | 69 | # CONFIG_AUDIT is not set |
87 | CONFIG_HAVE_GENERIC_HARDIRQS=y | 70 | CONFIG_HAVE_GENERIC_HARDIRQS=y |
88 | 71 | ||
@@ -94,22 +77,58 @@ CONFIG_GENERIC_IRQ_PROBE=y | |||
94 | CONFIG_GENERIC_IRQ_SHOW=y | 77 | CONFIG_GENERIC_IRQ_SHOW=y |
95 | CONFIG_GENERIC_PENDING_IRQ=y | 78 | CONFIG_GENERIC_PENDING_IRQ=y |
96 | CONFIG_GENERIC_IRQ_CHIP=y | 79 | CONFIG_GENERIC_IRQ_CHIP=y |
80 | CONFIG_IRQ_DOMAIN=y | ||
81 | # CONFIG_IRQ_DOMAIN_DEBUG is not set | ||
97 | CONFIG_IRQ_FORCED_THREADING=y | 82 | CONFIG_IRQ_FORCED_THREADING=y |
98 | CONFIG_SPARSE_IRQ=y | 83 | CONFIG_SPARSE_IRQ=y |
84 | CONFIG_CLOCKSOURCE_WATCHDOG=y | ||
85 | CONFIG_KTIME_SCALAR=y | ||
86 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
87 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
88 | CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
89 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y | ||
90 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
91 | |||
92 | # | ||
93 | # Timers subsystem | ||
94 | # | ||
95 | CONFIG_TICK_ONESHOT=y | ||
96 | CONFIG_NO_HZ_COMMON=y | ||
97 | # CONFIG_HZ_PERIODIC is not set | ||
98 | CONFIG_NO_HZ_IDLE=y | ||
99 | CONFIG_NO_HZ=y | ||
100 | CONFIG_HIGH_RES_TIMERS=y | ||
101 | |||
102 | # | ||
103 | # CPU/Task time and stats accounting | ||
104 | # | ||
105 | # CONFIG_TICK_CPU_ACCOUNTING is not set | ||
106 | CONFIG_IRQ_TIME_ACCOUNTING=y | ||
107 | CONFIG_BSD_PROCESS_ACCT=y | ||
108 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
109 | CONFIG_TASKSTATS=y | ||
110 | CONFIG_TASK_DELAY_ACCT=y | ||
111 | CONFIG_TASK_XACCT=y | ||
112 | CONFIG_TASK_IO_ACCOUNTING=y | ||
99 | 113 | ||
100 | # | 114 | # |
101 | # RCU Subsystem | 115 | # RCU Subsystem |
102 | # | 116 | # |
103 | CONFIG_TREE_RCU=y | 117 | CONFIG_TREE_RCU=y |
104 | # CONFIG_PREEMPT_RCU is not set | 118 | # CONFIG_PREEMPT_RCU is not set |
119 | CONFIG_RCU_STALL_COMMON=y | ||
105 | CONFIG_RCU_FANOUT=32 | 120 | CONFIG_RCU_FANOUT=32 |
121 | CONFIG_RCU_FANOUT_LEAF=16 | ||
106 | # CONFIG_RCU_FANOUT_EXACT is not set | 122 | # CONFIG_RCU_FANOUT_EXACT is not set |
107 | CONFIG_RCU_FAST_NO_HZ=y | 123 | CONFIG_RCU_FAST_NO_HZ=y |
108 | # CONFIG_TREE_RCU_TRACE is not set | 124 | # CONFIG_TREE_RCU_TRACE is not set |
125 | # CONFIG_RCU_NOCB_CPU is not set | ||
109 | CONFIG_IKCONFIG=m | 126 | CONFIG_IKCONFIG=m |
110 | CONFIG_IKCONFIG_PROC=y | 127 | CONFIG_IKCONFIG_PROC=y |
111 | CONFIG_LOG_BUF_SHIFT=14 | 128 | CONFIG_LOG_BUF_SHIFT=14 |
112 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y | 129 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y |
130 | CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y | ||
131 | CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y | ||
113 | CONFIG_CGROUPS=y | 132 | CONFIG_CGROUPS=y |
114 | # CONFIG_CGROUP_DEBUG is not set | 133 | # CONFIG_CGROUP_DEBUG is not set |
115 | CONFIG_CGROUP_FREEZER=y | 134 | CONFIG_CGROUP_FREEZER=y |
@@ -117,9 +136,9 @@ CONFIG_CGROUP_DEVICE=y | |||
117 | # CONFIG_CPUSETS is not set | 136 | # CONFIG_CPUSETS is not set |
118 | CONFIG_CGROUP_CPUACCT=y | 137 | CONFIG_CGROUP_CPUACCT=y |
119 | CONFIG_RESOURCE_COUNTERS=y | 138 | CONFIG_RESOURCE_COUNTERS=y |
120 | CONFIG_CGROUP_MEM_RES_CTLR=y | 139 | CONFIG_MEMCG=y |
121 | # CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set | 140 | # CONFIG_MEMCG_SWAP is not set |
122 | # CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set | 141 | # CONFIG_MEMCG_KMEM is not set |
123 | # CONFIG_CGROUP_PERF is not set | 142 | # CONFIG_CGROUP_PERF is not set |
124 | CONFIG_CGROUP_SCHED=y | 143 | CONFIG_CGROUP_SCHED=y |
125 | CONFIG_FAIR_GROUP_SCHED=y | 144 | CONFIG_FAIR_GROUP_SCHED=y |
@@ -133,6 +152,8 @@ CONFIG_UTS_NS=y | |||
133 | CONFIG_IPC_NS=y | 152 | CONFIG_IPC_NS=y |
134 | CONFIG_PID_NS=y | 153 | CONFIG_PID_NS=y |
135 | CONFIG_NET_NS=y | 154 | CONFIG_NET_NS=y |
155 | CONFIG_UIDGID_CONVERTED=y | ||
156 | # CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set | ||
136 | CONFIG_SCHED_AUTOGROUP=y | 157 | CONFIG_SCHED_AUTOGROUP=y |
137 | CONFIG_MM_OWNER=y | 158 | CONFIG_MM_OWNER=y |
138 | # CONFIG_SYSFS_DEPRECATED is not set | 159 | # CONFIG_SYSFS_DEPRECATED is not set |
@@ -147,17 +168,19 @@ CONFIG_RD_LZO=y | |||
147 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 168 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
148 | CONFIG_SYSCTL=y | 169 | CONFIG_SYSCTL=y |
149 | CONFIG_ANON_INODES=y | 170 | CONFIG_ANON_INODES=y |
171 | CONFIG_HAVE_UID16=y | ||
172 | CONFIG_SYSCTL_EXCEPTION_TRACE=y | ||
173 | CONFIG_HOTPLUG=y | ||
174 | CONFIG_HAVE_PCSPKR_PLATFORM=y | ||
150 | CONFIG_EXPERT=y | 175 | CONFIG_EXPERT=y |
151 | CONFIG_UID16=y | 176 | CONFIG_UID16=y |
152 | CONFIG_SYSCTL_SYSCALL=y | 177 | CONFIG_SYSCTL_SYSCALL=y |
153 | CONFIG_KALLSYMS=y | 178 | CONFIG_KALLSYMS=y |
154 | CONFIG_KALLSYMS_ALL=y | 179 | CONFIG_KALLSYMS_ALL=y |
155 | CONFIG_HOTPLUG=y | ||
156 | CONFIG_PRINTK=y | 180 | CONFIG_PRINTK=y |
157 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
158 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
159 | CONFIG_PCSPKR_PLATFORM=y | 183 | CONFIG_PCSPKR_PLATFORM=y |
160 | CONFIG_HAVE_PCSPKR_PLATFORM=y | ||
161 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
162 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
163 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
@@ -166,6 +189,7 @@ CONFIG_TIMERFD=y | |||
166 | CONFIG_EVENTFD=y | 189 | CONFIG_EVENTFD=y |
167 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
168 | CONFIG_AIO=y | 191 | CONFIG_AIO=y |
192 | CONFIG_PCI_QUIRKS=y | ||
169 | CONFIG_EMBEDDED=y | 193 | CONFIG_EMBEDDED=y |
170 | CONFIG_HAVE_PERF_EVENTS=y | 194 | CONFIG_HAVE_PERF_EVENTS=y |
171 | 195 | ||
@@ -173,10 +197,8 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
173 | # Kernel Performance Events And Counters | 197 | # Kernel Performance Events And Counters |
174 | # | 198 | # |
175 | CONFIG_PERF_EVENTS=y | 199 | CONFIG_PERF_EVENTS=y |
176 | # CONFIG_PERF_COUNTERS is not set | ||
177 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | 200 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set |
178 | CONFIG_VM_EVENT_COUNTERS=y | 201 | CONFIG_VM_EVENT_COUNTERS=y |
179 | CONFIG_PCI_QUIRKS=y | ||
180 | # CONFIG_SLUB_DEBUG is not set | 202 | # CONFIG_SLUB_DEBUG is not set |
181 | # CONFIG_COMPAT_BRK is not set | 203 | # CONFIG_COMPAT_BRK is not set |
182 | # CONFIG_SLAB is not set | 204 | # CONFIG_SLAB is not set |
@@ -190,27 +212,42 @@ CONFIG_OPROFILE_NMI_TIMER=y | |||
190 | CONFIG_KPROBES=y | 212 | CONFIG_KPROBES=y |
191 | # CONFIG_JUMP_LABEL is not set | 213 | # CONFIG_JUMP_LABEL is not set |
192 | CONFIG_OPTPROBES=y | 214 | CONFIG_OPTPROBES=y |
215 | # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set | ||
193 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 216 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
217 | CONFIG_ARCH_USE_BUILTIN_BSWAP=y | ||
194 | CONFIG_KRETPROBES=y | 218 | CONFIG_KRETPROBES=y |
195 | CONFIG_USER_RETURN_NOTIFIER=y | 219 | CONFIG_USER_RETURN_NOTIFIER=y |
196 | CONFIG_HAVE_IOREMAP_PROT=y | 220 | CONFIG_HAVE_IOREMAP_PROT=y |
197 | CONFIG_HAVE_KPROBES=y | 221 | CONFIG_HAVE_KPROBES=y |
198 | CONFIG_HAVE_KRETPROBES=y | 222 | CONFIG_HAVE_KRETPROBES=y |
199 | CONFIG_HAVE_OPTPROBES=y | 223 | CONFIG_HAVE_OPTPROBES=y |
224 | CONFIG_HAVE_KPROBES_ON_FTRACE=y | ||
200 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 225 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
201 | CONFIG_HAVE_DMA_ATTRS=y | 226 | CONFIG_HAVE_DMA_ATTRS=y |
227 | CONFIG_HAVE_DMA_CONTIGUOUS=y | ||
202 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 228 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
229 | CONFIG_GENERIC_SMP_IDLE_THREAD=y | ||
203 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y | 230 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y |
204 | CONFIG_HAVE_DMA_API_DEBUG=y | 231 | CONFIG_HAVE_DMA_API_DEBUG=y |
205 | CONFIG_HAVE_HW_BREAKPOINT=y | 232 | CONFIG_HAVE_HW_BREAKPOINT=y |
206 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y | 233 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y |
207 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y | 234 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y |
208 | CONFIG_HAVE_PERF_EVENTS_NMI=y | 235 | CONFIG_HAVE_PERF_EVENTS_NMI=y |
236 | CONFIG_HAVE_PERF_REGS=y | ||
237 | CONFIG_HAVE_PERF_USER_STACK_DUMP=y | ||
209 | CONFIG_HAVE_ARCH_JUMP_LABEL=y | 238 | CONFIG_HAVE_ARCH_JUMP_LABEL=y |
210 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y | 239 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y |
211 | CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y | 240 | CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y |
212 | CONFIG_HAVE_CMPXCHG_LOCAL=y | 241 | CONFIG_HAVE_CMPXCHG_LOCAL=y |
213 | CONFIG_HAVE_CMPXCHG_DOUBLE=y | 242 | CONFIG_HAVE_CMPXCHG_DOUBLE=y |
243 | CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y | ||
244 | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | ||
245 | CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y | ||
246 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y | ||
247 | CONFIG_MODULES_USE_ELF_REL=y | ||
248 | CONFIG_CLONE_BACKWARDS=y | ||
249 | CONFIG_OLD_SIGSUSPEND3=y | ||
250 | CONFIG_OLD_SIGACTION=y | ||
214 | 251 | ||
215 | # | 252 | # |
216 | # GCOV-based kernel profiling | 253 | # GCOV-based kernel profiling |
@@ -225,6 +262,7 @@ CONFIG_MODULE_UNLOAD=y | |||
225 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 262 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
226 | CONFIG_MODVERSIONS=y | 263 | CONFIG_MODVERSIONS=y |
227 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 264 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
265 | # CONFIG_MODULE_SIG is not set | ||
228 | CONFIG_STOP_MACHINE=y | 266 | CONFIG_STOP_MACHINE=y |
229 | CONFIG_BLOCK=y | 267 | CONFIG_BLOCK=y |
230 | CONFIG_LBDAF=y | 268 | CONFIG_LBDAF=y |
@@ -267,33 +305,12 @@ CONFIG_DEFAULT_CFQ=y | |||
267 | CONFIG_DEFAULT_IOSCHED="cfq" | 305 | CONFIG_DEFAULT_IOSCHED="cfq" |
268 | CONFIG_PREEMPT_NOTIFIERS=y | 306 | CONFIG_PREEMPT_NOTIFIERS=y |
269 | CONFIG_PADATA=y | 307 | CONFIG_PADATA=y |
270 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | 308 | CONFIG_ASN1=m |
271 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
272 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
273 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
274 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
275 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
276 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
277 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | 309 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y |
278 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
279 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
280 | # CONFIG_INLINE_READ_LOCK is not set | ||
281 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
282 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
283 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
284 | CONFIG_INLINE_READ_UNLOCK=y | 310 | CONFIG_INLINE_READ_UNLOCK=y |
285 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
286 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | 311 | CONFIG_INLINE_READ_UNLOCK_IRQ=y |
287 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
288 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
289 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
290 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
291 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
292 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
293 | CONFIG_INLINE_WRITE_UNLOCK=y | 312 | CONFIG_INLINE_WRITE_UNLOCK=y |
294 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
295 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | 313 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y |
296 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
297 | CONFIG_MUTEX_SPIN_ON_OWNER=y | 314 | CONFIG_MUTEX_SPIN_ON_OWNER=y |
298 | CONFIG_FREEZER=y | 315 | CONFIG_FREEZER=y |
299 | 316 | ||
@@ -301,34 +318,29 @@ CONFIG_FREEZER=y | |||
301 | # Processor type and features | 318 | # Processor type and features |
302 | # | 319 | # |
303 | CONFIG_ZONE_DMA=y | 320 | CONFIG_ZONE_DMA=y |
304 | CONFIG_TICK_ONESHOT=y | ||
305 | CONFIG_NO_HZ=y | ||
306 | CONFIG_HIGH_RES_TIMERS=y | ||
307 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
308 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y | ||
309 | CONFIG_SMP=y | 321 | CONFIG_SMP=y |
310 | CONFIG_X86_MPPARSE=y | 322 | CONFIG_X86_MPPARSE=y |
311 | CONFIG_X86_BIGSMP=y | 323 | CONFIG_X86_BIGSMP=y |
312 | CONFIG_X86_EXTENDED_PLATFORM=y | 324 | CONFIG_X86_EXTENDED_PLATFORM=y |
325 | # CONFIG_X86_GOLDFISH is not set | ||
313 | CONFIG_X86_WANT_INTEL_MID=y | 326 | CONFIG_X86_WANT_INTEL_MID=y |
314 | # CONFIG_X86_MDFLD is not set | 327 | # CONFIG_X86_MDFLD is not set |
328 | # CONFIG_X86_INTEL_LPSS is not set | ||
315 | # CONFIG_X86_RDC321X is not set | 329 | # CONFIG_X86_RDC321X is not set |
316 | # CONFIG_X86_32_NON_STANDARD is not set | 330 | # CONFIG_X86_32_NON_STANDARD is not set |
317 | # CONFIG_X86_32_IRIS is not set | 331 | # CONFIG_X86_32_IRIS is not set |
318 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | 332 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
319 | CONFIG_PARAVIRT_GUEST=y | 333 | CONFIG_HYPERVISOR_GUEST=y |
320 | # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set | 334 | CONFIG_PARAVIRT=y |
335 | # CONFIG_PARAVIRT_DEBUG is not set | ||
336 | # CONFIG_PARAVIRT_SPINLOCKS is not set | ||
321 | # CONFIG_XEN_PRIVILEGED_GUEST is not set | 337 | # CONFIG_XEN_PRIVILEGED_GUEST is not set |
322 | CONFIG_KVM_CLOCK=y | ||
323 | CONFIG_KVM_GUEST=y | 338 | CONFIG_KVM_GUEST=y |
324 | # CONFIG_LGUEST_GUEST is not set | 339 | # CONFIG_LGUEST_GUEST is not set |
325 | CONFIG_PARAVIRT=y | 340 | # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set |
326 | # CONFIG_PARAVIRT_SPINLOCKS is not set | ||
327 | CONFIG_PARAVIRT_CLOCK=y | 341 | CONFIG_PARAVIRT_CLOCK=y |
328 | # CONFIG_PARAVIRT_DEBUG is not set | ||
329 | CONFIG_NO_BOOTMEM=y | 342 | CONFIG_NO_BOOTMEM=y |
330 | # CONFIG_MEMTEST is not set | 343 | # CONFIG_MEMTEST is not set |
331 | # CONFIG_M386 is not set | ||
332 | # CONFIG_M486 is not set | 344 | # CONFIG_M486 is not set |
333 | # CONFIG_M586 is not set | 345 | # CONFIG_M586 is not set |
334 | # CONFIG_M586TSC is not set | 346 | # CONFIG_M586TSC is not set |
@@ -355,14 +367,8 @@ CONFIG_M686=y | |||
355 | # CONFIG_MATOM is not set | 367 | # CONFIG_MATOM is not set |
356 | CONFIG_X86_GENERIC=y | 368 | CONFIG_X86_GENERIC=y |
357 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 | 369 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 |
358 | CONFIG_X86_CMPXCHG=y | ||
359 | CONFIG_X86_L1_CACHE_SHIFT=6 | 370 | CONFIG_X86_L1_CACHE_SHIFT=6 |
360 | CONFIG_X86_XADD=y | ||
361 | # CONFIG_X86_PPRO_FENCE is not set | 371 | # CONFIG_X86_PPRO_FENCE is not set |
362 | CONFIG_X86_WP_WORKS_OK=y | ||
363 | CONFIG_X86_INVLPG=y | ||
364 | CONFIG_X86_BSWAP=y | ||
365 | CONFIG_X86_POPAD_OK=y | ||
366 | CONFIG_X86_INTEL_USERCOPY=y | 372 | CONFIG_X86_INTEL_USERCOPY=y |
367 | CONFIG_X86_USE_PPRO_CHECKSUM=y | 373 | CONFIG_X86_USE_PPRO_CHECKSUM=y |
368 | CONFIG_X86_TSC=y | 374 | CONFIG_X86_TSC=y |
@@ -380,11 +386,9 @@ CONFIG_CPU_SUP_UMC_32=y | |||
380 | CONFIG_HPET_TIMER=y | 386 | CONFIG_HPET_TIMER=y |
381 | CONFIG_HPET_EMULATE_RTC=y | 387 | CONFIG_HPET_EMULATE_RTC=y |
382 | CONFIG_DMI=y | 388 | CONFIG_DMI=y |
383 | # CONFIG_IOMMU_HELPER is not set | ||
384 | CONFIG_NR_CPUS=32 | 389 | CONFIG_NR_CPUS=32 |
385 | CONFIG_SCHED_SMT=y | 390 | CONFIG_SCHED_SMT=y |
386 | CONFIG_SCHED_MC=y | 391 | CONFIG_SCHED_MC=y |
387 | CONFIG_IRQ_TIME_ACCOUNTING=y | ||
388 | # CONFIG_PREEMPT_NONE is not set | 392 | # CONFIG_PREEMPT_NONE is not set |
389 | CONFIG_PREEMPT_VOLUNTARY=y | 393 | CONFIG_PREEMPT_VOLUNTARY=y |
390 | # CONFIG_PREEMPT is not set | 394 | # CONFIG_PREEMPT is not set |
@@ -400,6 +404,9 @@ CONFIG_MICROCODE=m | |||
400 | CONFIG_MICROCODE_INTEL=y | 404 | CONFIG_MICROCODE_INTEL=y |
401 | CONFIG_MICROCODE_AMD=y | 405 | CONFIG_MICROCODE_AMD=y |
402 | CONFIG_MICROCODE_OLD_INTERFACE=y | 406 | CONFIG_MICROCODE_OLD_INTERFACE=y |
407 | CONFIG_MICROCODE_INTEL_LIB=y | ||
408 | CONFIG_MICROCODE_INTEL_EARLY=y | ||
409 | CONFIG_MICROCODE_EARLY=y | ||
403 | CONFIG_X86_MSR=m | 410 | CONFIG_X86_MSR=m |
404 | CONFIG_X86_CPUID=m | 411 | CONFIG_X86_CPUID=m |
405 | # CONFIG_NOHIGHMEM is not set | 412 | # CONFIG_NOHIGHMEM is not set |
@@ -412,8 +419,6 @@ CONFIG_VMSPLIT_3G=y | |||
412 | # CONFIG_VMSPLIT_1G is not set | 419 | # CONFIG_VMSPLIT_1G is not set |
413 | CONFIG_PAGE_OFFSET=0xC0000000 | 420 | CONFIG_PAGE_OFFSET=0xC0000000 |
414 | CONFIG_HIGHMEM=y | 421 | CONFIG_HIGHMEM=y |
415 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set | ||
416 | # CONFIG_ARCH_DMA_ADDR_T_64BIT is not set | ||
417 | CONFIG_NEED_NODE_MEMMAP_SIZE=y | 422 | CONFIG_NEED_NODE_MEMMAP_SIZE=y |
418 | CONFIG_ARCH_FLATMEM_ENABLE=y | 423 | CONFIG_ARCH_FLATMEM_ENABLE=y |
419 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 424 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
@@ -428,8 +433,10 @@ CONFIG_SPARSEMEM_STATIC=y | |||
428 | CONFIG_HAVE_MEMBLOCK=y | 433 | CONFIG_HAVE_MEMBLOCK=y |
429 | CONFIG_HAVE_MEMBLOCK_NODE_MAP=y | 434 | CONFIG_HAVE_MEMBLOCK_NODE_MAP=y |
430 | CONFIG_ARCH_DISCARD_MEMBLOCK=y | 435 | CONFIG_ARCH_DISCARD_MEMBLOCK=y |
436 | # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set | ||
431 | # CONFIG_MEMORY_HOTPLUG is not set | 437 | # CONFIG_MEMORY_HOTPLUG is not set |
432 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 438 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
439 | CONFIG_BALLOON_COMPACTION=y | ||
433 | CONFIG_COMPACTION=y | 440 | CONFIG_COMPACTION=y |
434 | CONFIG_MIGRATION=y | 441 | CONFIG_MIGRATION=y |
435 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 442 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
@@ -442,7 +449,9 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | |||
442 | CONFIG_TRANSPARENT_HUGEPAGE=y | 449 | CONFIG_TRANSPARENT_HUGEPAGE=y |
443 | CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y | 450 | CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y |
444 | # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set | 451 | # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set |
452 | CONFIG_CROSS_MEMORY_ATTACH=y | ||
445 | # CONFIG_CLEANCACHE is not set | 453 | # CONFIG_CLEANCACHE is not set |
454 | # CONFIG_FRONTSWAP is not set | ||
446 | # CONFIG_HIGHPTE is not set | 455 | # CONFIG_HIGHPTE is not set |
447 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set | 456 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set |
448 | CONFIG_X86_RESERVE_LOW=64 | 457 | CONFIG_X86_RESERVE_LOW=64 |
@@ -454,6 +463,7 @@ CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 | |||
454 | CONFIG_X86_PAT=y | 463 | CONFIG_X86_PAT=y |
455 | CONFIG_ARCH_USES_PG_UNCACHED=y | 464 | CONFIG_ARCH_USES_PG_UNCACHED=y |
456 | CONFIG_ARCH_RANDOM=y | 465 | CONFIG_ARCH_RANDOM=y |
466 | CONFIG_X86_SMAP=y | ||
457 | # CONFIG_EFI is not set | 467 | # CONFIG_EFI is not set |
458 | # CONFIG_SECCOMP is not set | 468 | # CONFIG_SECCOMP is not set |
459 | # CONFIG_CC_STACKPROTECTOR is not set | 469 | # CONFIG_CC_STACKPROTECTOR is not set |
@@ -469,6 +479,8 @@ CONFIG_PHYSICAL_START=0x1000000 | |||
469 | # CONFIG_RELOCATABLE is not set | 479 | # CONFIG_RELOCATABLE is not set |
470 | CONFIG_PHYSICAL_ALIGN=0x1000000 | 480 | CONFIG_PHYSICAL_ALIGN=0x1000000 |
471 | CONFIG_HOTPLUG_CPU=y | 481 | CONFIG_HOTPLUG_CPU=y |
482 | # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set | ||
483 | # CONFIG_DEBUG_HOTPLUG_CPU0 is not set | ||
472 | # CONFIG_COMPAT_VDSO is not set | 484 | # CONFIG_COMPAT_VDSO is not set |
473 | # CONFIG_CMDLINE_BOOL is not set | 485 | # CONFIG_CMDLINE_BOOL is not set |
474 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 486 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
@@ -481,6 +493,8 @@ CONFIG_SUSPEND_FREEZER=y | |||
481 | # CONFIG_HIBERNATION is not set | 493 | # CONFIG_HIBERNATION is not set |
482 | CONFIG_PM_SLEEP=y | 494 | CONFIG_PM_SLEEP=y |
483 | CONFIG_PM_SLEEP_SMP=y | 495 | CONFIG_PM_SLEEP_SMP=y |
496 | # CONFIG_PM_AUTOSLEEP is not set | ||
497 | # CONFIG_PM_WAKELOCKS is not set | ||
484 | # CONFIG_PM_RUNTIME is not set | 498 | # CONFIG_PM_RUNTIME is not set |
485 | CONFIG_PM=y | 499 | CONFIG_PM=y |
486 | # CONFIG_PM_DEBUG is not set | 500 | # CONFIG_PM_DEBUG is not set |
@@ -496,21 +510,22 @@ CONFIG_ACPI_BUTTON=m | |||
496 | CONFIG_ACPI_VIDEO=m | 510 | CONFIG_ACPI_VIDEO=m |
497 | CONFIG_ACPI_FAN=m | 511 | CONFIG_ACPI_FAN=m |
498 | CONFIG_ACPI_DOCK=y | 512 | CONFIG_ACPI_DOCK=y |
513 | CONFIG_ACPI_I2C=m | ||
499 | CONFIG_ACPI_PROCESSOR=m | 514 | CONFIG_ACPI_PROCESSOR=m |
500 | CONFIG_ACPI_IPMI=m | 515 | CONFIG_ACPI_IPMI=m |
501 | CONFIG_ACPI_HOTPLUG_CPU=y | 516 | CONFIG_ACPI_HOTPLUG_CPU=y |
502 | # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set | 517 | # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set |
503 | CONFIG_ACPI_THERMAL=m | 518 | CONFIG_ACPI_THERMAL=m |
504 | # CONFIG_ACPI_CUSTOM_DSDT is not set | 519 | # CONFIG_ACPI_CUSTOM_DSDT is not set |
520 | # CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set | ||
505 | CONFIG_ACPI_BLACKLIST_YEAR=0 | 521 | CONFIG_ACPI_BLACKLIST_YEAR=0 |
506 | # CONFIG_ACPI_DEBUG is not set | 522 | # CONFIG_ACPI_DEBUG is not set |
507 | CONFIG_ACPI_PCI_SLOT=m | 523 | # CONFIG_ACPI_PCI_SLOT is not set |
508 | CONFIG_X86_PM_TIMER=y | 524 | CONFIG_X86_PM_TIMER=y |
509 | CONFIG_ACPI_CONTAINER=m | 525 | CONFIG_ACPI_CONTAINER=y |
510 | CONFIG_ACPI_SBS=m | 526 | CONFIG_ACPI_SBS=m |
511 | CONFIG_ACPI_HED=m | 527 | CONFIG_ACPI_HED=m |
512 | # CONFIG_ACPI_CUSTOM_METHOD is not set | 528 | # CONFIG_ACPI_CUSTOM_METHOD is not set |
513 | CONFIG_ACPI_BGRT=m | ||
514 | CONFIG_ACPI_APEI=y | 529 | CONFIG_ACPI_APEI=y |
515 | # CONFIG_ACPI_APEI_GHES is not set | 530 | # CONFIG_ACPI_APEI_GHES is not set |
516 | CONFIG_ACPI_APEI_EINJ=m | 531 | CONFIG_ACPI_APEI_EINJ=m |
@@ -523,6 +538,7 @@ CONFIG_ACPI_APEI_ERST_DEBUG=y | |||
523 | # | 538 | # |
524 | CONFIG_CPU_FREQ=y | 539 | CONFIG_CPU_FREQ=y |
525 | CONFIG_CPU_FREQ_TABLE=m | 540 | CONFIG_CPU_FREQ_TABLE=m |
541 | CONFIG_CPU_FREQ_GOV_COMMON=y | ||
526 | CONFIG_CPU_FREQ_STAT=m | 542 | CONFIG_CPU_FREQ_STAT=m |
527 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | 543 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set |
528 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | 544 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y |
@@ -539,11 +555,14 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | |||
539 | # | 555 | # |
540 | # x86 CPU frequency scaling drivers | 556 | # x86 CPU frequency scaling drivers |
541 | # | 557 | # |
558 | CONFIG_X86_INTEL_PSTATE=y | ||
542 | CONFIG_X86_PCC_CPUFREQ=m | 559 | CONFIG_X86_PCC_CPUFREQ=m |
543 | CONFIG_X86_ACPI_CPUFREQ=m | 560 | CONFIG_X86_ACPI_CPUFREQ=m |
561 | CONFIG_X86_ACPI_CPUFREQ_CPB=y | ||
544 | # CONFIG_X86_POWERNOW_K6 is not set | 562 | # CONFIG_X86_POWERNOW_K6 is not set |
545 | # CONFIG_X86_POWERNOW_K7 is not set | 563 | # CONFIG_X86_POWERNOW_K7 is not set |
546 | CONFIG_X86_POWERNOW_K8=m | 564 | CONFIG_X86_POWERNOW_K8=m |
565 | CONFIG_X86_AMD_FREQ_SENSITIVITY=m | ||
547 | # CONFIG_X86_GX_SUSPMOD is not set | 566 | # CONFIG_X86_GX_SUSPMOD is not set |
548 | CONFIG_X86_SPEEDSTEP_CENTRINO=m | 567 | CONFIG_X86_SPEEDSTEP_CENTRINO=m |
549 | CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y | 568 | CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y |
@@ -560,8 +579,10 @@ CONFIG_X86_P4_CLOCKMOD=m | |||
560 | # | 579 | # |
561 | CONFIG_X86_SPEEDSTEP_LIB=m | 580 | CONFIG_X86_SPEEDSTEP_LIB=m |
562 | CONFIG_CPU_IDLE=y | 581 | CONFIG_CPU_IDLE=y |
582 | # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set | ||
563 | CONFIG_CPU_IDLE_GOV_LADDER=y | 583 | CONFIG_CPU_IDLE_GOV_LADDER=y |
564 | CONFIG_CPU_IDLE_GOV_MENU=y | 584 | CONFIG_CPU_IDLE_GOV_MENU=y |
585 | # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set | ||
565 | CONFIG_INTEL_IDLE=y | 586 | CONFIG_INTEL_IDLE=y |
566 | 587 | ||
567 | # | 588 | # |
@@ -599,7 +620,6 @@ CONFIG_PCI_IOAPIC=y | |||
599 | CONFIG_PCI_LABEL=y | 620 | CONFIG_PCI_LABEL=y |
600 | CONFIG_ISA_DMA_API=y | 621 | CONFIG_ISA_DMA_API=y |
601 | # CONFIG_ISA is not set | 622 | # CONFIG_ISA is not set |
602 | # CONFIG_MCA is not set | ||
603 | # CONFIG_SCx200 is not set | 623 | # CONFIG_SCx200 is not set |
604 | # CONFIG_OLPC is not set | 624 | # CONFIG_OLPC is not set |
605 | CONFIG_ALIX=y | 625 | CONFIG_ALIX=y |
@@ -608,11 +628,8 @@ CONFIG_ALIX=y | |||
608 | CONFIG_AMD_NB=y | 628 | CONFIG_AMD_NB=y |
609 | # CONFIG_PCCARD is not set | 629 | # CONFIG_PCCARD is not set |
610 | CONFIG_HOTPLUG_PCI=m | 630 | CONFIG_HOTPLUG_PCI=m |
611 | CONFIG_HOTPLUG_PCI_FAKE=m | ||
612 | # CONFIG_HOTPLUG_PCI_COMPAQ is not set | 631 | # CONFIG_HOTPLUG_PCI_COMPAQ is not set |
613 | # CONFIG_HOTPLUG_PCI_IBM is not set | 632 | # CONFIG_HOTPLUG_PCI_IBM is not set |
614 | CONFIG_HOTPLUG_PCI_ACPI=m | ||
615 | CONFIG_HOTPLUG_PCI_ACPI_IBM=m | ||
616 | CONFIG_HOTPLUG_PCI_CPCI=y | 633 | CONFIG_HOTPLUG_PCI_CPCI=y |
617 | CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m | 634 | CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m |
618 | CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m | 635 | CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m |
@@ -625,9 +642,11 @@ CONFIG_HOTPLUG_PCI_SHPC=m | |||
625 | CONFIG_BINFMT_ELF=y | 642 | CONFIG_BINFMT_ELF=y |
626 | CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y | 643 | CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y |
627 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 644 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
645 | CONFIG_BINFMT_SCRIPT=y | ||
628 | CONFIG_HAVE_AOUT=y | 646 | CONFIG_HAVE_AOUT=y |
629 | # CONFIG_BINFMT_AOUT is not set | 647 | # CONFIG_BINFMT_AOUT is not set |
630 | CONFIG_BINFMT_MISC=m | 648 | CONFIG_BINFMT_MISC=m |
649 | CONFIG_COREDUMP=y | ||
631 | CONFIG_HAVE_ATOMIC_IOMAP=y | 650 | CONFIG_HAVE_ATOMIC_IOMAP=y |
632 | CONFIG_HAVE_TEXT_POKE_SMP=y | 651 | CONFIG_HAVE_TEXT_POKE_SMP=y |
633 | CONFIG_NET=y | 652 | CONFIG_NET=y |
@@ -636,9 +655,11 @@ CONFIG_NET=y | |||
636 | # Networking options | 655 | # Networking options |
637 | # | 656 | # |
638 | CONFIG_PACKET=m | 657 | CONFIG_PACKET=m |
658 | CONFIG_PACKET_DIAG=m | ||
639 | CONFIG_UNIX=y | 659 | CONFIG_UNIX=y |
640 | CONFIG_UNIX_DIAG=m | 660 | CONFIG_UNIX_DIAG=m |
641 | CONFIG_XFRM=y | 661 | CONFIG_XFRM=y |
662 | CONFIG_XFRM_ALGO=m | ||
642 | CONFIG_XFRM_USER=m | 663 | CONFIG_XFRM_USER=m |
643 | CONFIG_XFRM_SUB_POLICY=y | 664 | CONFIG_XFRM_SUB_POLICY=y |
644 | CONFIG_XFRM_MIGRATE=y | 665 | CONFIG_XFRM_MIGRATE=y |
@@ -660,6 +681,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
660 | CONFIG_IP_PNP_RARP=y | 681 | CONFIG_IP_PNP_RARP=y |
661 | CONFIG_NET_IPIP=m | 682 | CONFIG_NET_IPIP=m |
662 | CONFIG_NET_IPGRE_DEMUX=y | 683 | CONFIG_NET_IPGRE_DEMUX=y |
684 | CONFIG_NET_IP_TUNNEL=m | ||
663 | CONFIG_NET_IPGRE=m | 685 | CONFIG_NET_IPGRE=m |
664 | CONFIG_NET_IPGRE_BROADCAST=y | 686 | CONFIG_NET_IPGRE_BROADCAST=y |
665 | CONFIG_IP_MROUTE=y | 687 | CONFIG_IP_MROUTE=y |
@@ -668,6 +690,7 @@ CONFIG_IP_MROUTE_MULTIPLE_TABLES=y | |||
668 | CONFIG_IP_PIMSM_V2=y | 690 | CONFIG_IP_PIMSM_V2=y |
669 | CONFIG_ARPD=y | 691 | CONFIG_ARPD=y |
670 | CONFIG_SYN_COOKIES=y | 692 | CONFIG_SYN_COOKIES=y |
693 | # CONFIG_NET_IPVTI is not set | ||
671 | CONFIG_INET_AH=m | 694 | CONFIG_INET_AH=m |
672 | CONFIG_INET_ESP=m | 695 | CONFIG_INET_ESP=m |
673 | CONFIG_INET_IPCOMP=m | 696 | CONFIG_INET_IPCOMP=m |
@@ -716,6 +739,7 @@ CONFIG_IPV6_SIT=m | |||
716 | CONFIG_IPV6_SIT_6RD=y | 739 | CONFIG_IPV6_SIT_6RD=y |
717 | CONFIG_IPV6_NDISC_NODETYPE=y | 740 | CONFIG_IPV6_NDISC_NODETYPE=y |
718 | CONFIG_IPV6_TUNNEL=m | 741 | CONFIG_IPV6_TUNNEL=m |
742 | # CONFIG_IPV6_GRE is not set | ||
719 | CONFIG_IPV6_MULTIPLE_TABLES=y | 743 | CONFIG_IPV6_MULTIPLE_TABLES=y |
720 | CONFIG_IPV6_SUBTREES=y | 744 | CONFIG_IPV6_SUBTREES=y |
721 | CONFIG_IPV6_MROUTE=y | 745 | CONFIG_IPV6_MROUTE=y |
@@ -761,6 +785,17 @@ CONFIG_NF_CONNTRACK_SIP=m | |||
761 | CONFIG_NF_CONNTRACK_TFTP=m | 785 | CONFIG_NF_CONNTRACK_TFTP=m |
762 | CONFIG_NF_CT_NETLINK=m | 786 | CONFIG_NF_CT_NETLINK=m |
763 | CONFIG_NF_CT_NETLINK_TIMEOUT=m | 787 | CONFIG_NF_CT_NETLINK_TIMEOUT=m |
788 | # CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set | ||
789 | CONFIG_NF_NAT=m | ||
790 | CONFIG_NF_NAT_NEEDED=y | ||
791 | CONFIG_NF_NAT_PROTO_DCCP=m | ||
792 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
793 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
794 | CONFIG_NF_NAT_AMANDA=m | ||
795 | CONFIG_NF_NAT_FTP=m | ||
796 | CONFIG_NF_NAT_IRC=m | ||
797 | CONFIG_NF_NAT_SIP=m | ||
798 | CONFIG_NF_NAT_TFTP=m | ||
764 | CONFIG_NETFILTER_TPROXY=m | 799 | CONFIG_NETFILTER_TPROXY=m |
765 | CONFIG_NETFILTER_XTABLES=m | 800 | CONFIG_NETFILTER_XTABLES=m |
766 | 801 | ||
@@ -781,14 +816,17 @@ CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | |||
781 | CONFIG_NETFILTER_XT_TARGET_CT=m | 816 | CONFIG_NETFILTER_XT_TARGET_CT=m |
782 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | 817 | CONFIG_NETFILTER_XT_TARGET_DSCP=m |
783 | CONFIG_NETFILTER_XT_TARGET_HL=m | 818 | CONFIG_NETFILTER_XT_TARGET_HL=m |
819 | # CONFIG_NETFILTER_XT_TARGET_HMARK is not set | ||
784 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m | 820 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m |
785 | CONFIG_NETFILTER_XT_TARGET_LED=m | 821 | CONFIG_NETFILTER_XT_TARGET_LED=m |
786 | CONFIG_NETFILTER_XT_TARGET_LOG=m | 822 | CONFIG_NETFILTER_XT_TARGET_LOG=m |
787 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 823 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
824 | CONFIG_NETFILTER_XT_TARGET_NETMAP=m | ||
788 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | 825 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
789 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 826 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
790 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 827 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
791 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m | 828 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m |
829 | CONFIG_NETFILTER_XT_TARGET_REDIRECT=m | ||
792 | CONFIG_NETFILTER_XT_TARGET_TEE=m | 830 | CONFIG_NETFILTER_XT_TARGET_TEE=m |
793 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m | 831 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m |
794 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | 832 | CONFIG_NETFILTER_XT_TARGET_TRACE=m |
@@ -800,9 +838,11 @@ CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | |||
800 | # Xtables matches | 838 | # Xtables matches |
801 | # | 839 | # |
802 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m | 840 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m |
841 | # CONFIG_NETFILTER_XT_MATCH_BPF is not set | ||
803 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m | 842 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m |
804 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 843 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
805 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 844 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
845 | # CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set | ||
806 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | 846 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m |
807 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 847 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
808 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 848 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
@@ -900,7 +940,6 @@ CONFIG_IP_VS_PE_SIP=m | |||
900 | CONFIG_NF_DEFRAG_IPV4=m | 940 | CONFIG_NF_DEFRAG_IPV4=m |
901 | CONFIG_NF_CONNTRACK_IPV4=m | 941 | CONFIG_NF_CONNTRACK_IPV4=m |
902 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | 942 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y |
903 | CONFIG_IP_NF_QUEUE=m | ||
904 | CONFIG_IP_NF_IPTABLES=m | 943 | CONFIG_IP_NF_IPTABLES=m |
905 | CONFIG_IP_NF_MATCH_AH=m | 944 | CONFIG_IP_NF_MATCH_AH=m |
906 | CONFIG_IP_NF_MATCH_ECN=m | 945 | CONFIG_IP_NF_MATCH_ECN=m |
@@ -909,23 +948,14 @@ CONFIG_IP_NF_MATCH_TTL=m | |||
909 | CONFIG_IP_NF_FILTER=m | 948 | CONFIG_IP_NF_FILTER=m |
910 | CONFIG_IP_NF_TARGET_REJECT=m | 949 | CONFIG_IP_NF_TARGET_REJECT=m |
911 | CONFIG_IP_NF_TARGET_ULOG=m | 950 | CONFIG_IP_NF_TARGET_ULOG=m |
912 | CONFIG_NF_NAT=m | 951 | CONFIG_NF_NAT_IPV4=m |
913 | CONFIG_NF_NAT_NEEDED=y | ||
914 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 952 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
915 | CONFIG_IP_NF_TARGET_NETMAP=m | 953 | CONFIG_IP_NF_TARGET_NETMAP=m |
916 | CONFIG_IP_NF_TARGET_REDIRECT=m | 954 | CONFIG_IP_NF_TARGET_REDIRECT=m |
917 | CONFIG_NF_NAT_SNMP_BASIC=m | 955 | CONFIG_NF_NAT_SNMP_BASIC=m |
918 | CONFIG_NF_NAT_PROTO_DCCP=m | ||
919 | CONFIG_NF_NAT_PROTO_GRE=m | 956 | CONFIG_NF_NAT_PROTO_GRE=m |
920 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
921 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
922 | CONFIG_NF_NAT_FTP=m | ||
923 | CONFIG_NF_NAT_IRC=m | ||
924 | CONFIG_NF_NAT_TFTP=m | ||
925 | CONFIG_NF_NAT_AMANDA=m | ||
926 | CONFIG_NF_NAT_PPTP=m | 957 | CONFIG_NF_NAT_PPTP=m |
927 | CONFIG_NF_NAT_H323=m | 958 | CONFIG_NF_NAT_H323=m |
928 | CONFIG_NF_NAT_SIP=m | ||
929 | CONFIG_IP_NF_MANGLE=m | 959 | CONFIG_IP_NF_MANGLE=m |
930 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | 960 | CONFIG_IP_NF_TARGET_CLUSTERIP=m |
931 | CONFIG_IP_NF_TARGET_ECN=m | 961 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -941,7 +971,6 @@ CONFIG_IP_NF_ARP_MANGLE=m | |||
941 | # | 971 | # |
942 | CONFIG_NF_DEFRAG_IPV6=m | 972 | CONFIG_NF_DEFRAG_IPV6=m |
943 | CONFIG_NF_CONNTRACK_IPV6=m | 973 | CONFIG_NF_CONNTRACK_IPV6=m |
944 | CONFIG_IP6_NF_QUEUE=m | ||
945 | CONFIG_IP6_NF_IPTABLES=m | 974 | CONFIG_IP6_NF_IPTABLES=m |
946 | CONFIG_IP6_NF_MATCH_AH=m | 975 | CONFIG_IP6_NF_MATCH_AH=m |
947 | CONFIG_IP6_NF_MATCH_EUI64=m | 976 | CONFIG_IP6_NF_MATCH_EUI64=m |
@@ -958,6 +987,7 @@ CONFIG_IP6_NF_TARGET_REJECT=m | |||
958 | CONFIG_IP6_NF_MANGLE=m | 987 | CONFIG_IP6_NF_MANGLE=m |
959 | CONFIG_IP6_NF_RAW=m | 988 | CONFIG_IP6_NF_RAW=m |
960 | CONFIG_IP6_NF_SECURITY=m | 989 | CONFIG_IP6_NF_SECURITY=m |
990 | # CONFIG_NF_NAT_IPV6 is not set | ||
961 | 991 | ||
962 | # | 992 | # |
963 | # DECnet: Netfilter Configuration | 993 | # DECnet: Netfilter Configuration |
@@ -989,7 +1019,7 @@ CONFIG_IP_DCCP=m | |||
989 | CONFIG_INET_DCCP_DIAG=m | 1019 | CONFIG_INET_DCCP_DIAG=m |
990 | 1020 | ||
991 | # | 1021 | # |
992 | # DCCP CCIDs Configuration (EXPERIMENTAL) | 1022 | # DCCP CCIDs Configuration |
993 | # | 1023 | # |
994 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set | 1024 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set |
995 | CONFIG_IP_DCCP_CCID3=y | 1025 | CONFIG_IP_DCCP_CCID3=y |
@@ -1005,16 +1035,18 @@ CONFIG_IP_SCTP=m | |||
1005 | CONFIG_NET_SCTPPROBE=m | 1035 | CONFIG_NET_SCTPPROBE=m |
1006 | # CONFIG_SCTP_DBG_MSG is not set | 1036 | # CONFIG_SCTP_DBG_MSG is not set |
1007 | # CONFIG_SCTP_DBG_OBJCNT is not set | 1037 | # CONFIG_SCTP_DBG_OBJCNT is not set |
1008 | # CONFIG_SCTP_HMAC_NONE is not set | 1038 | CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y |
1009 | CONFIG_SCTP_HMAC_SHA1=y | 1039 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set |
1010 | # CONFIG_SCTP_HMAC_MD5 is not set | 1040 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set |
1041 | CONFIG_SCTP_COOKIE_HMAC_MD5=y | ||
1042 | CONFIG_SCTP_COOKIE_HMAC_SHA1=y | ||
1011 | CONFIG_RDS=m | 1043 | CONFIG_RDS=m |
1012 | # CONFIG_RDS_RDMA is not set | 1044 | # CONFIG_RDS_RDMA is not set |
1013 | # CONFIG_RDS_TCP is not set | 1045 | # CONFIG_RDS_TCP is not set |
1014 | # CONFIG_RDS_DEBUG is not set | 1046 | # CONFIG_RDS_DEBUG is not set |
1015 | CONFIG_TIPC=m | 1047 | CONFIG_TIPC=m |
1016 | # CONFIG_TIPC_ADVANCED is not set | 1048 | CONFIG_TIPC_PORTS=8191 |
1017 | # CONFIG_TIPC_DEBUG is not set | 1049 | # CONFIG_TIPC_MEDIA_IB is not set |
1018 | CONFIG_ATM=m | 1050 | CONFIG_ATM=m |
1019 | CONFIG_ATM_CLIP=m | 1051 | CONFIG_ATM_CLIP=m |
1020 | # CONFIG_ATM_CLIP_NO_ICMP is not set | 1052 | # CONFIG_ATM_CLIP_NO_ICMP is not set |
@@ -1028,11 +1060,14 @@ CONFIG_L2TP_V3=y | |||
1028 | CONFIG_L2TP_IP=m | 1060 | CONFIG_L2TP_IP=m |
1029 | CONFIG_L2TP_ETH=m | 1061 | CONFIG_L2TP_ETH=m |
1030 | CONFIG_STP=m | 1062 | CONFIG_STP=m |
1063 | CONFIG_MRP=m | ||
1031 | CONFIG_BRIDGE=m | 1064 | CONFIG_BRIDGE=m |
1032 | CONFIG_BRIDGE_IGMP_SNOOPING=y | 1065 | CONFIG_BRIDGE_IGMP_SNOOPING=y |
1033 | # CONFIG_NET_DSA is not set | 1066 | CONFIG_BRIDGE_VLAN_FILTERING=y |
1067 | CONFIG_HAVE_NET_DSA=y | ||
1034 | CONFIG_VLAN_8021Q=m | 1068 | CONFIG_VLAN_8021Q=m |
1035 | # CONFIG_VLAN_8021Q_GVRP is not set | 1069 | # CONFIG_VLAN_8021Q_GVRP is not set |
1070 | CONFIG_VLAN_8021Q_MVRP=y | ||
1036 | CONFIG_DECNET=m | 1071 | CONFIG_DECNET=m |
1037 | CONFIG_DECNET_ROUTER=y | 1072 | CONFIG_DECNET_ROUTER=y |
1038 | CONFIG_LLC=m | 1073 | CONFIG_LLC=m |
@@ -1043,14 +1078,12 @@ CONFIG_ATALK=m | |||
1043 | CONFIG_DEV_APPLETALK=m | 1078 | CONFIG_DEV_APPLETALK=m |
1044 | CONFIG_IPDDP=m | 1079 | CONFIG_IPDDP=m |
1045 | CONFIG_IPDDP_ENCAP=y | 1080 | CONFIG_IPDDP_ENCAP=y |
1046 | CONFIG_IPDDP_DECAP=y | ||
1047 | CONFIG_X25=m | 1081 | CONFIG_X25=m |
1048 | CONFIG_LAPB=m | 1082 | CONFIG_LAPB=m |
1049 | # CONFIG_ECONET is not set | ||
1050 | CONFIG_WAN_ROUTER=m | ||
1051 | # CONFIG_PHONET is not set | 1083 | # CONFIG_PHONET is not set |
1052 | CONFIG_IEEE802154=m | 1084 | CONFIG_IEEE802154=m |
1053 | CONFIG_IEEE802154_6LOWPAN=m | 1085 | CONFIG_IEEE802154_6LOWPAN=m |
1086 | CONFIG_MAC802154=m | ||
1054 | CONFIG_NET_SCHED=y | 1087 | CONFIG_NET_SCHED=y |
1055 | 1088 | ||
1056 | # | 1089 | # |
@@ -1074,6 +1107,8 @@ CONFIG_NET_SCH_DRR=m | |||
1074 | CONFIG_NET_SCH_MQPRIO=m | 1107 | CONFIG_NET_SCH_MQPRIO=m |
1075 | CONFIG_NET_SCH_CHOKE=m | 1108 | CONFIG_NET_SCH_CHOKE=m |
1076 | CONFIG_NET_SCH_QFQ=m | 1109 | CONFIG_NET_SCH_QFQ=m |
1110 | # CONFIG_NET_SCH_CODEL is not set | ||
1111 | # CONFIG_NET_SCH_FQ_CODEL is not set | ||
1077 | CONFIG_NET_SCH_INGRESS=m | 1112 | CONFIG_NET_SCH_INGRESS=m |
1078 | CONFIG_NET_SCH_PLUG=m | 1113 | CONFIG_NET_SCH_PLUG=m |
1079 | 1114 | ||
@@ -1099,6 +1134,7 @@ CONFIG_NET_EMATCH_NBYTE=m | |||
1099 | CONFIG_NET_EMATCH_U32=m | 1134 | CONFIG_NET_EMATCH_U32=m |
1100 | CONFIG_NET_EMATCH_META=m | 1135 | CONFIG_NET_EMATCH_META=m |
1101 | CONFIG_NET_EMATCH_TEXT=m | 1136 | CONFIG_NET_EMATCH_TEXT=m |
1137 | CONFIG_NET_EMATCH_IPSET=m | ||
1102 | CONFIG_NET_CLS_ACT=y | 1138 | CONFIG_NET_CLS_ACT=y |
1103 | CONFIG_NET_ACT_POLICE=m | 1139 | CONFIG_NET_ACT_POLICE=m |
1104 | CONFIG_NET_ACT_GACT=m | 1140 | CONFIG_NET_ACT_GACT=m |
@@ -1116,6 +1152,10 @@ CONFIG_NET_SCH_FIFO=y | |||
1116 | CONFIG_DNS_RESOLVER=y | 1152 | CONFIG_DNS_RESOLVER=y |
1117 | # CONFIG_BATMAN_ADV is not set | 1153 | # CONFIG_BATMAN_ADV is not set |
1118 | CONFIG_OPENVSWITCH=m | 1154 | CONFIG_OPENVSWITCH=m |
1155 | CONFIG_VSOCKETS=m | ||
1156 | CONFIG_VMWARE_VMCI_VSOCKETS=m | ||
1157 | CONFIG_NETLINK_MMAP=y | ||
1158 | CONFIG_NETLINK_DIAG=m | ||
1119 | CONFIG_RPS=y | 1159 | CONFIG_RPS=y |
1120 | CONFIG_RFS_ACCEL=y | 1160 | CONFIG_RFS_ACCEL=y |
1121 | CONFIG_XPS=y | 1161 | CONFIG_XPS=y |
@@ -1204,6 +1244,7 @@ CONFIG_BT_HCIUART_H4=y | |||
1204 | CONFIG_BT_HCIUART_BCSP=y | 1244 | CONFIG_BT_HCIUART_BCSP=y |
1205 | CONFIG_BT_HCIUART_ATH3K=y | 1245 | CONFIG_BT_HCIUART_ATH3K=y |
1206 | CONFIG_BT_HCIUART_LL=y | 1246 | CONFIG_BT_HCIUART_LL=y |
1247 | # CONFIG_BT_HCIUART_3WIRE is not set | ||
1207 | CONFIG_BT_HCIBCM203X=m | 1248 | CONFIG_BT_HCIBCM203X=m |
1208 | CONFIG_BT_HCIBPA10X=m | 1249 | CONFIG_BT_HCIBPA10X=m |
1209 | CONFIG_BT_HCIBFUSB=m | 1250 | CONFIG_BT_HCIBFUSB=m |
@@ -1226,11 +1267,11 @@ CONFIG_CFG80211=m | |||
1226 | # CONFIG_NL80211_TESTMODE is not set | 1267 | # CONFIG_NL80211_TESTMODE is not set |
1227 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | 1268 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set |
1228 | # CONFIG_CFG80211_REG_DEBUG is not set | 1269 | # CONFIG_CFG80211_REG_DEBUG is not set |
1270 | # CONFIG_CFG80211_CERTIFICATION_ONUS is not set | ||
1229 | CONFIG_CFG80211_DEFAULT_PS=y | 1271 | CONFIG_CFG80211_DEFAULT_PS=y |
1230 | # CONFIG_CFG80211_DEBUGFS is not set | 1272 | # CONFIG_CFG80211_DEBUGFS is not set |
1231 | # CONFIG_CFG80211_INTERNAL_REGDB is not set | 1273 | # CONFIG_CFG80211_INTERNAL_REGDB is not set |
1232 | CONFIG_CFG80211_WEXT=y | 1274 | CONFIG_CFG80211_WEXT=y |
1233 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
1234 | CONFIG_LIB80211=m | 1275 | CONFIG_LIB80211=m |
1235 | CONFIG_LIB80211_CRYPT_WEP=m | 1276 | CONFIG_LIB80211_CRYPT_WEP=m |
1236 | CONFIG_LIB80211_CRYPT_CCMP=m | 1277 | CONFIG_LIB80211_CRYPT_CCMP=m |
@@ -1247,6 +1288,7 @@ CONFIG_MAC80211_RC_DEFAULT="pid" | |||
1247 | # CONFIG_MAC80211_MESH is not set | 1288 | # CONFIG_MAC80211_MESH is not set |
1248 | CONFIG_MAC80211_LEDS=y | 1289 | CONFIG_MAC80211_LEDS=y |
1249 | # CONFIG_MAC80211_DEBUGFS is not set | 1290 | # CONFIG_MAC80211_DEBUGFS is not set |
1291 | # CONFIG_MAC80211_MESSAGE_TRACING is not set | ||
1250 | # CONFIG_MAC80211_DEBUG_MENU is not set | 1292 | # CONFIG_MAC80211_DEBUG_MENU is not set |
1251 | CONFIG_WIMAX=m | 1293 | CONFIG_WIMAX=m |
1252 | CONFIG_WIMAX_DEBUG_LEVEL=8 | 1294 | CONFIG_WIMAX_DEBUG_LEVEL=8 |
@@ -1278,6 +1320,7 @@ CONFIG_STANDALONE=y | |||
1278 | CONFIG_FW_LOADER=m | 1320 | CONFIG_FW_LOADER=m |
1279 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 1321 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
1280 | CONFIG_EXTRA_FIRMWARE="" | 1322 | CONFIG_EXTRA_FIRMWARE="" |
1323 | CONFIG_FW_LOADER_USER_HELPER=y | ||
1281 | # CONFIG_DEBUG_DRIVER is not set | 1324 | # CONFIG_DEBUG_DRIVER is not set |
1282 | CONFIG_DEBUG_DEVRES=y | 1325 | CONFIG_DEBUG_DEVRES=y |
1283 | # CONFIG_SYS_HYPERVISOR is not set | 1326 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -1285,7 +1328,13 @@ CONFIG_DEBUG_DEVRES=y | |||
1285 | CONFIG_REGMAP=y | 1328 | CONFIG_REGMAP=y |
1286 | CONFIG_REGMAP_I2C=m | 1329 | CONFIG_REGMAP_I2C=m |
1287 | CONFIG_REGMAP_SPI=m | 1330 | CONFIG_REGMAP_SPI=m |
1331 | CONFIG_REGMAP_MMIO=m | ||
1288 | CONFIG_DMA_SHARED_BUFFER=y | 1332 | CONFIG_DMA_SHARED_BUFFER=y |
1333 | # CONFIG_CMA is not set | ||
1334 | |||
1335 | # | ||
1336 | # Bus devices | ||
1337 | # | ||
1289 | CONFIG_CONNECTOR=m | 1338 | CONFIG_CONNECTOR=m |
1290 | CONFIG_MTD=m | 1339 | CONFIG_MTD=m |
1291 | CONFIG_MTD_TESTS=m | 1340 | CONFIG_MTD_TESTS=m |
@@ -1293,13 +1342,12 @@ CONFIG_MTD_REDBOOT_PARTS=m | |||
1293 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | 1342 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 |
1294 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | 1343 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set |
1295 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | 1344 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set |
1345 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
1296 | CONFIG_MTD_AR7_PARTS=m | 1346 | CONFIG_MTD_AR7_PARTS=m |
1297 | 1347 | ||
1298 | # | 1348 | # |
1299 | # User Modules And Translation Layers | 1349 | # User Modules And Translation Layers |
1300 | # | 1350 | # |
1301 | CONFIG_MTD_CHAR=m | ||
1302 | CONFIG_HAVE_MTD_OTP=y | ||
1303 | CONFIG_MTD_BLKDEVS=m | 1351 | CONFIG_MTD_BLKDEVS=m |
1304 | CONFIG_MTD_BLOCK=m | 1352 | CONFIG_MTD_BLOCK=m |
1305 | CONFIG_MTD_BLOCK_RO=m | 1353 | CONFIG_MTD_BLOCK_RO=m |
@@ -1383,25 +1431,14 @@ CONFIG_MTD_BLOCK2MTD=m | |||
1383 | # | 1431 | # |
1384 | # Disk-On-Chip Device Drivers | 1432 | # Disk-On-Chip Device Drivers |
1385 | # | 1433 | # |
1386 | CONFIG_MTD_DOC2000=m | ||
1387 | CONFIG_MTD_DOC2001=m | ||
1388 | CONFIG_MTD_DOC2001PLUS=m | ||
1389 | # CONFIG_MTD_DOCG3 is not set | 1434 | # CONFIG_MTD_DOCG3 is not set |
1390 | CONFIG_MTD_DOCPROBE=m | ||
1391 | CONFIG_MTD_DOCECC=m | ||
1392 | CONFIG_MTD_DOCPROBE_ADVANCED=y | ||
1393 | CONFIG_MTD_DOCPROBE_ADDRESS=0x0000 | ||
1394 | # CONFIG_MTD_DOCPROBE_HIGH is not set | ||
1395 | # CONFIG_MTD_DOCPROBE_55AA is not set | ||
1396 | CONFIG_MTD_NAND_ECC=m | 1435 | CONFIG_MTD_NAND_ECC=m |
1397 | CONFIG_MTD_NAND_ECC_SMC=y | 1436 | CONFIG_MTD_NAND_ECC_SMC=y |
1398 | CONFIG_MTD_NAND=m | 1437 | CONFIG_MTD_NAND=m |
1399 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
1400 | # CONFIG_MTD_NAND_ECC_BCH is not set | 1438 | # CONFIG_MTD_NAND_ECC_BCH is not set |
1401 | CONFIG_MTD_SM_COMMON=m | 1439 | CONFIG_MTD_SM_COMMON=m |
1402 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
1403 | CONFIG_MTD_NAND_DENALI=m | 1440 | CONFIG_MTD_NAND_DENALI=m |
1404 | CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 | 1441 | # CONFIG_MTD_NAND_DENALI_PCI is not set |
1405 | CONFIG_MTD_NAND_IDS=m | 1442 | CONFIG_MTD_NAND_IDS=m |
1406 | CONFIG_MTD_NAND_RICOH=m | 1443 | CONFIG_MTD_NAND_RICOH=m |
1407 | CONFIG_MTD_NAND_DISKONCHIP=m | 1444 | CONFIG_MTD_NAND_DISKONCHIP=m |
@@ -1419,7 +1456,6 @@ CONFIG_MTD_ONENAND=m | |||
1419 | # CONFIG_MTD_ONENAND_GENERIC is not set | 1456 | # CONFIG_MTD_ONENAND_GENERIC is not set |
1420 | CONFIG_MTD_ONENAND_OTP=y | 1457 | CONFIG_MTD_ONENAND_OTP=y |
1421 | CONFIG_MTD_ONENAND_2X_PROGRAM=y | 1458 | CONFIG_MTD_ONENAND_2X_PROGRAM=y |
1422 | CONFIG_MTD_ONENAND_SIM=m | ||
1423 | 1459 | ||
1424 | # | 1460 | # |
1425 | # LPDDR flash memory drivers | 1461 | # LPDDR flash memory drivers |
@@ -1428,9 +1464,9 @@ CONFIG_MTD_LPDDR=m | |||
1428 | CONFIG_MTD_QINFO_PROBE=m | 1464 | CONFIG_MTD_QINFO_PROBE=m |
1429 | CONFIG_MTD_UBI=m | 1465 | CONFIG_MTD_UBI=m |
1430 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | 1466 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 |
1431 | CONFIG_MTD_UBI_BEB_RESERVE=1 | 1467 | CONFIG_MTD_UBI_BEB_LIMIT=20 |
1468 | # CONFIG_MTD_UBI_FASTMAP is not set | ||
1432 | # CONFIG_MTD_UBI_GLUEBI is not set | 1469 | # CONFIG_MTD_UBI_GLUEBI is not set |
1433 | # CONFIG_MTD_UBI_DEBUG is not set | ||
1434 | CONFIG_PARPORT=m | 1470 | CONFIG_PARPORT=m |
1435 | CONFIG_PARPORT_PC=m | 1471 | CONFIG_PARPORT_PC=m |
1436 | CONFIG_PARPORT_SERIAL=m | 1472 | CONFIG_PARPORT_SERIAL=m |
@@ -1467,7 +1503,6 @@ CONFIG_BLK_DEV_NBD=m | |||
1467 | CONFIG_BLK_DEV_NVME=m | 1503 | CONFIG_BLK_DEV_NVME=m |
1468 | CONFIG_BLK_DEV_OSD=m | 1504 | CONFIG_BLK_DEV_OSD=m |
1469 | CONFIG_BLK_DEV_SX8=m | 1505 | CONFIG_BLK_DEV_SX8=m |
1470 | CONFIG_BLK_DEV_UB=m | ||
1471 | CONFIG_BLK_DEV_RAM=y | 1506 | CONFIG_BLK_DEV_RAM=y |
1472 | CONFIG_BLK_DEV_RAM_COUNT=16 | 1507 | CONFIG_BLK_DEV_RAM_COUNT=16 |
1473 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 1508 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
@@ -1479,6 +1514,7 @@ CONFIG_ATA_OVER_ETH=m | |||
1479 | CONFIG_VIRTIO_BLK=m | 1514 | CONFIG_VIRTIO_BLK=m |
1480 | # CONFIG_BLK_DEV_HD is not set | 1515 | # CONFIG_BLK_DEV_HD is not set |
1481 | # CONFIG_BLK_DEV_RBD is not set | 1516 | # CONFIG_BLK_DEV_RBD is not set |
1517 | CONFIG_BLK_DEV_RSXX=m | ||
1482 | 1518 | ||
1483 | # | 1519 | # |
1484 | # Misc devices | 1520 | # Misc devices |
@@ -1487,6 +1523,7 @@ CONFIG_SENSORS_LIS3LV02D=m | |||
1487 | CONFIG_AD525X_DPOT=m | 1523 | CONFIG_AD525X_DPOT=m |
1488 | CONFIG_AD525X_DPOT_I2C=m | 1524 | CONFIG_AD525X_DPOT_I2C=m |
1489 | CONFIG_AD525X_DPOT_SPI=m | 1525 | CONFIG_AD525X_DPOT_SPI=m |
1526 | # CONFIG_DUMMY_IRQ is not set | ||
1490 | CONFIG_IBM_ASM=m | 1527 | CONFIG_IBM_ASM=m |
1491 | CONFIG_PHANTOM=m | 1528 | CONFIG_PHANTOM=m |
1492 | # CONFIG_INTEL_MID_PTI is not set | 1529 | # CONFIG_INTEL_MID_PTI is not set |
@@ -1494,6 +1531,7 @@ CONFIG_SGI_IOC4=m | |||
1494 | CONFIG_TIFM_CORE=m | 1531 | CONFIG_TIFM_CORE=m |
1495 | CONFIG_TIFM_7XX1=m | 1532 | CONFIG_TIFM_7XX1=m |
1496 | CONFIG_ICS932S401=m | 1533 | CONFIG_ICS932S401=m |
1534 | # CONFIG_ATMEL_SSC is not set | ||
1497 | CONFIG_ENCLOSURE_SERVICES=m | 1535 | CONFIG_ENCLOSURE_SERVICES=m |
1498 | CONFIG_CS5535_MFGPT=m | 1536 | CONFIG_CS5535_MFGPT=m |
1499 | CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 | 1537 | CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 |
@@ -1510,9 +1548,12 @@ CONFIG_HMC6352=m | |||
1510 | CONFIG_DS1682=m | 1548 | CONFIG_DS1682=m |
1511 | CONFIG_TI_DAC7512=m | 1549 | CONFIG_TI_DAC7512=m |
1512 | CONFIG_VMWARE_BALLOON=m | 1550 | CONFIG_VMWARE_BALLOON=m |
1513 | CONFIG_BMP085=m | 1551 | # CONFIG_BMP085_I2C is not set |
1552 | # CONFIG_BMP085_SPI is not set | ||
1514 | CONFIG_PCH_PHUB=m | 1553 | CONFIG_PCH_PHUB=m |
1515 | # CONFIG_USB_SWITCH_FSA9480 is not set | 1554 | # CONFIG_USB_SWITCH_FSA9480 is not set |
1555 | # CONFIG_LATTICE_ECP3_CONFIG is not set | ||
1556 | # CONFIG_SRAM is not set | ||
1516 | CONFIG_C2PORT=m | 1557 | CONFIG_C2PORT=m |
1517 | CONFIG_C2PORT_DURAMAR_2150=m | 1558 | CONFIG_C2PORT_DURAMAR_2150=m |
1518 | 1559 | ||
@@ -1528,9 +1569,6 @@ CONFIG_EEPROM_93XX46=m | |||
1528 | CONFIG_CB710_CORE=m | 1569 | CONFIG_CB710_CORE=m |
1529 | # CONFIG_CB710_DEBUG is not set | 1570 | # CONFIG_CB710_DEBUG is not set |
1530 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y | 1571 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y |
1531 | CONFIG_IWMC3200TOP=m | ||
1532 | # CONFIG_IWMC3200TOP_DEBUG is not set | ||
1533 | # CONFIG_IWMC3200TOP_DEBUGFS is not set | ||
1534 | 1572 | ||
1535 | # | 1573 | # |
1536 | # Texas Instruments shared transport line discipline | 1574 | # Texas Instruments shared transport line discipline |
@@ -1542,6 +1580,9 @@ CONFIG_SENSORS_LIS3_I2C=m | |||
1542 | # Altera FPGA firmware download module | 1580 | # Altera FPGA firmware download module |
1543 | # | 1581 | # |
1544 | # CONFIG_ALTERA_STAPL is not set | 1582 | # CONFIG_ALTERA_STAPL is not set |
1583 | # CONFIG_INTEL_MEI is not set | ||
1584 | # CONFIG_INTEL_MEI_ME is not set | ||
1585 | CONFIG_VMWARE_VMCI=m | ||
1545 | CONFIG_HAVE_IDE=y | 1586 | CONFIG_HAVE_IDE=y |
1546 | # CONFIG_IDE is not set | 1587 | # CONFIG_IDE is not set |
1547 | 1588 | ||
@@ -1571,7 +1612,6 @@ CONFIG_SCSI_MULTI_LUN=y | |||
1571 | # CONFIG_SCSI_CONSTANTS is not set | 1612 | # CONFIG_SCSI_CONSTANTS is not set |
1572 | # CONFIG_SCSI_LOGGING is not set | 1613 | # CONFIG_SCSI_LOGGING is not set |
1573 | CONFIG_SCSI_SCAN_ASYNC=y | 1614 | CONFIG_SCSI_SCAN_ASYNC=y |
1574 | CONFIG_SCSI_WAIT_SCAN=m | ||
1575 | 1615 | ||
1576 | # | 1616 | # |
1577 | # SCSI Transports | 1617 | # SCSI Transports |
@@ -1632,7 +1672,12 @@ CONFIG_MEGARAID_SAS=m | |||
1632 | CONFIG_SCSI_MPT2SAS=m | 1672 | CONFIG_SCSI_MPT2SAS=m |
1633 | CONFIG_SCSI_MPT2SAS_MAX_SGE=128 | 1673 | CONFIG_SCSI_MPT2SAS_MAX_SGE=128 |
1634 | # CONFIG_SCSI_MPT2SAS_LOGGING is not set | 1674 | # CONFIG_SCSI_MPT2SAS_LOGGING is not set |
1675 | CONFIG_SCSI_MPT3SAS=m | ||
1676 | CONFIG_SCSI_MPT3SAS_MAX_SGE=128 | ||
1677 | # CONFIG_SCSI_MPT3SAS_LOGGING is not set | ||
1635 | CONFIG_SCSI_UFSHCD=m | 1678 | CONFIG_SCSI_UFSHCD=m |
1679 | CONFIG_SCSI_UFSHCD_PCI=m | ||
1680 | CONFIG_SCSI_UFSHCD_PLATFORM=m | ||
1636 | CONFIG_SCSI_HPTIOP=m | 1681 | CONFIG_SCSI_HPTIOP=m |
1637 | CONFIG_SCSI_BUSLOGIC=m | 1682 | CONFIG_SCSI_BUSLOGIC=m |
1638 | # CONFIG_SCSI_FLASHPOINT is not set | 1683 | # CONFIG_SCSI_FLASHPOINT is not set |
@@ -1666,6 +1711,7 @@ CONFIG_SCSI_IPR_TRACE=y | |||
1666 | # CONFIG_SCSI_IPR_DUMP is not set | 1711 | # CONFIG_SCSI_IPR_DUMP is not set |
1667 | CONFIG_SCSI_QLOGIC_1280=m | 1712 | CONFIG_SCSI_QLOGIC_1280=m |
1668 | CONFIG_SCSI_QLA_FC=m | 1713 | CONFIG_SCSI_QLA_FC=m |
1714 | CONFIG_TCM_QLA2XXX=m | ||
1669 | CONFIG_SCSI_QLA_ISCSI=m | 1715 | CONFIG_SCSI_QLA_ISCSI=m |
1670 | CONFIG_SCSI_LPFC=m | 1716 | CONFIG_SCSI_LPFC=m |
1671 | # CONFIG_SCSI_LPFC_DEBUG_FS is not set | 1717 | # CONFIG_SCSI_LPFC_DEBUG_FS is not set |
@@ -1678,6 +1724,7 @@ CONFIG_SCSI_PM8001=m | |||
1678 | CONFIG_SCSI_SRP=m | 1724 | CONFIG_SCSI_SRP=m |
1679 | # CONFIG_SCSI_BFA_FC is not set | 1725 | # CONFIG_SCSI_BFA_FC is not set |
1680 | CONFIG_SCSI_VIRTIO=m | 1726 | CONFIG_SCSI_VIRTIO=m |
1727 | # CONFIG_SCSI_CHELSIO_FCOE is not set | ||
1681 | CONFIG_SCSI_DH=m | 1728 | CONFIG_SCSI_DH=m |
1682 | CONFIG_SCSI_DH_RDAC=m | 1729 | CONFIG_SCSI_DH_RDAC=m |
1683 | CONFIG_SCSI_DH_HP_SW=m | 1730 | CONFIG_SCSI_DH_HP_SW=m |
@@ -1691,6 +1738,7 @@ CONFIG_ATA=m | |||
1691 | # CONFIG_ATA_NONSTANDARD is not set | 1738 | # CONFIG_ATA_NONSTANDARD is not set |
1692 | CONFIG_ATA_VERBOSE_ERROR=y | 1739 | CONFIG_ATA_VERBOSE_ERROR=y |
1693 | CONFIG_ATA_ACPI=y | 1740 | CONFIG_ATA_ACPI=y |
1741 | # CONFIG_SATA_ZPODD is not set | ||
1694 | CONFIG_SATA_PMP=y | 1742 | CONFIG_SATA_PMP=y |
1695 | 1743 | ||
1696 | # | 1744 | # |
@@ -1715,6 +1763,7 @@ CONFIG_ATA_BMDMA=y | |||
1715 | # SATA SFF controllers with BMDMA | 1763 | # SATA SFF controllers with BMDMA |
1716 | # | 1764 | # |
1717 | CONFIG_ATA_PIIX=m | 1765 | CONFIG_ATA_PIIX=m |
1766 | CONFIG_SATA_HIGHBANK=m | ||
1718 | CONFIG_SATA_MV=m | 1767 | CONFIG_SATA_MV=m |
1719 | CONFIG_SATA_NV=m | 1768 | CONFIG_SATA_NV=m |
1720 | CONFIG_SATA_PROMISE=m | 1769 | CONFIG_SATA_PROMISE=m |
@@ -1793,18 +1842,24 @@ CONFIG_MD_RAID0=m | |||
1793 | CONFIG_MD_RAID1=m | 1842 | CONFIG_MD_RAID1=m |
1794 | CONFIG_MD_RAID10=m | 1843 | CONFIG_MD_RAID10=m |
1795 | CONFIG_MD_RAID456=m | 1844 | CONFIG_MD_RAID456=m |
1796 | # CONFIG_MULTICORE_RAID456 is not set | ||
1797 | CONFIG_MD_MULTIPATH=m | 1845 | CONFIG_MD_MULTIPATH=m |
1798 | CONFIG_MD_FAULTY=m | 1846 | CONFIG_MD_FAULTY=m |
1847 | CONFIG_BCACHE=m | ||
1848 | # CONFIG_BCACHE_DEBUG is not set | ||
1849 | # CONFIG_BCACHE_EDEBUG is not set | ||
1850 | # CONFIG_BCACHE_CLOSURES_DEBUG is not set | ||
1799 | CONFIG_BLK_DEV_DM=m | 1851 | CONFIG_BLK_DEV_DM=m |
1800 | # CONFIG_DM_DEBUG is not set | 1852 | # CONFIG_DM_DEBUG is not set |
1801 | CONFIG_DM_BUFIO=m | 1853 | CONFIG_DM_BUFIO=m |
1854 | CONFIG_DM_BIO_PRISON=m | ||
1802 | CONFIG_DM_PERSISTENT_DATA=m | 1855 | CONFIG_DM_PERSISTENT_DATA=m |
1803 | CONFIG_DM_CRYPT=m | 1856 | CONFIG_DM_CRYPT=m |
1804 | CONFIG_DM_SNAPSHOT=m | 1857 | CONFIG_DM_SNAPSHOT=m |
1805 | CONFIG_DM_THIN_PROVISIONING=m | 1858 | CONFIG_DM_THIN_PROVISIONING=m |
1806 | # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set | 1859 | # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set |
1807 | # CONFIG_DM_DEBUG_SPACE_MAPS is not set | 1860 | CONFIG_DM_CACHE=m |
1861 | CONFIG_DM_CACHE_MQ=m | ||
1862 | CONFIG_DM_CACHE_CLEANER=m | ||
1808 | CONFIG_DM_MIRROR=m | 1863 | CONFIG_DM_MIRROR=m |
1809 | CONFIG_DM_RAID=m | 1864 | CONFIG_DM_RAID=m |
1810 | CONFIG_DM_LOG_USERSPACE=m | 1865 | CONFIG_DM_LOG_USERSPACE=m |
@@ -1823,6 +1878,7 @@ CONFIG_TCM_PSCSI=m | |||
1823 | CONFIG_LOOPBACK_TARGET=m | 1878 | CONFIG_LOOPBACK_TARGET=m |
1824 | CONFIG_TCM_FC=m | 1879 | CONFIG_TCM_FC=m |
1825 | CONFIG_ISCSI_TARGET=m | 1880 | CONFIG_ISCSI_TARGET=m |
1881 | CONFIG_SBP_TARGET=m | ||
1826 | CONFIG_FUSION=y | 1882 | CONFIG_FUSION=y |
1827 | CONFIG_FUSION_SPI=m | 1883 | CONFIG_FUSION_SPI=m |
1828 | CONFIG_FUSION_FC=m | 1884 | CONFIG_FUSION_FC=m |
@@ -1856,14 +1912,16 @@ CONFIG_DUMMY=m | |||
1856 | CONFIG_EQUALIZER=m | 1912 | CONFIG_EQUALIZER=m |
1857 | # CONFIG_NET_FC is not set | 1913 | # CONFIG_NET_FC is not set |
1858 | CONFIG_MII=m | 1914 | CONFIG_MII=m |
1859 | CONFIG_IEEE802154_DRIVERS=m | ||
1860 | CONFIG_IEEE802154_FAKEHARD=m | ||
1861 | CONFIG_IFB=m | 1915 | CONFIG_IFB=m |
1862 | CONFIG_NET_TEAM=m | 1916 | CONFIG_NET_TEAM=m |
1917 | CONFIG_NET_TEAM_MODE_BROADCAST=m | ||
1863 | CONFIG_NET_TEAM_MODE_ROUNDROBIN=m | 1918 | CONFIG_NET_TEAM_MODE_ROUNDROBIN=m |
1919 | CONFIG_NET_TEAM_MODE_RANDOM=m | ||
1864 | CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m | 1920 | CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m |
1921 | CONFIG_NET_TEAM_MODE_LOADBALANCE=m | ||
1865 | CONFIG_MACVLAN=m | 1922 | CONFIG_MACVLAN=m |
1866 | CONFIG_MACVTAP=m | 1923 | CONFIG_MACVTAP=m |
1924 | CONFIG_VXLAN=m | ||
1867 | CONFIG_NETCONSOLE=m | 1925 | CONFIG_NETCONSOLE=m |
1868 | CONFIG_NETCONSOLE_DYNAMIC=y | 1926 | CONFIG_NETCONSOLE_DYNAMIC=y |
1869 | CONFIG_NETPOLL=y | 1927 | CONFIG_NETPOLL=y |
@@ -1917,6 +1975,18 @@ CONFIG_ATM_SOLOS=m | |||
1917 | # | 1975 | # |
1918 | # CAIF transport drivers | 1976 | # CAIF transport drivers |
1919 | # | 1977 | # |
1978 | CONFIG_VHOST_NET=m | ||
1979 | CONFIG_VHOST_SCSI=m | ||
1980 | CONFIG_VHOST_RING=m | ||
1981 | |||
1982 | # | ||
1983 | # Distributed Switch Architecture drivers | ||
1984 | # | ||
1985 | # CONFIG_NET_DSA_MV88E6XXX is not set | ||
1986 | # CONFIG_NET_DSA_MV88E6060 is not set | ||
1987 | # CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set | ||
1988 | # CONFIG_NET_DSA_MV88E6131 is not set | ||
1989 | # CONFIG_NET_DSA_MV88E6123_61_65 is not set | ||
1920 | CONFIG_ETHERNET=y | 1990 | CONFIG_ETHERNET=y |
1921 | CONFIG_MDIO=m | 1991 | CONFIG_MDIO=m |
1922 | CONFIG_NET_VENDOR_3COM=y | 1992 | CONFIG_NET_VENDOR_3COM=y |
@@ -1935,6 +2005,10 @@ CONFIG_ATL2=m | |||
1935 | CONFIG_ATL1=m | 2005 | CONFIG_ATL1=m |
1936 | CONFIG_ATL1E=m | 2006 | CONFIG_ATL1E=m |
1937 | CONFIG_ATL1C=m | 2007 | CONFIG_ATL1C=m |
2008 | CONFIG_ALX=m | ||
2009 | CONFIG_NET_CADENCE=y | ||
2010 | CONFIG_ARM_AT91_ETHER=m | ||
2011 | CONFIG_MACB=m | ||
1938 | CONFIG_NET_VENDOR_BROADCOM=y | 2012 | CONFIG_NET_VENDOR_BROADCOM=y |
1939 | CONFIG_B44=m | 2013 | CONFIG_B44=m |
1940 | CONFIG_B44_PCI_AUTOSELECT=y | 2014 | CONFIG_B44_PCI_AUTOSELECT=y |
@@ -1969,8 +2043,6 @@ CONFIG_WINBOND_840=m | |||
1969 | CONFIG_DM9102=m | 2043 | CONFIG_DM9102=m |
1970 | CONFIG_ULI526X=m | 2044 | CONFIG_ULI526X=m |
1971 | CONFIG_NET_VENDOR_DLINK=y | 2045 | CONFIG_NET_VENDOR_DLINK=y |
1972 | CONFIG_DE600=m | ||
1973 | CONFIG_DE620=m | ||
1974 | CONFIG_DL2K=m | 2046 | CONFIG_DL2K=m |
1975 | CONFIG_SUNDANCE=m | 2047 | CONFIG_SUNDANCE=m |
1976 | # CONFIG_SUNDANCE_MMIO is not set | 2048 | # CONFIG_SUNDANCE_MMIO is not set |
@@ -1987,17 +2059,19 @@ CONFIG_E100=m | |||
1987 | CONFIG_E1000=m | 2059 | CONFIG_E1000=m |
1988 | CONFIG_E1000E=m | 2060 | CONFIG_E1000E=m |
1989 | CONFIG_IGB=m | 2061 | CONFIG_IGB=m |
2062 | CONFIG_IGB_HWMON=y | ||
1990 | CONFIG_IGB_DCA=y | 2063 | CONFIG_IGB_DCA=y |
1991 | CONFIG_IGBVF=m | 2064 | CONFIG_IGBVF=m |
1992 | CONFIG_IXGB=m | 2065 | CONFIG_IXGB=m |
1993 | CONFIG_IXGBE=m | 2066 | CONFIG_IXGBE=m |
2067 | CONFIG_IXGBE_HWMON=y | ||
1994 | CONFIG_IXGBE_DCA=y | 2068 | CONFIG_IXGBE_DCA=y |
1995 | # CONFIG_IXGBEVF is not set | 2069 | # CONFIG_IXGBEVF is not set |
1996 | CONFIG_NET_VENDOR_I825XX=y | 2070 | CONFIG_NET_VENDOR_I825XX=y |
1997 | # CONFIG_ZNET is not set | ||
1998 | CONFIG_IP1000=m | 2071 | CONFIG_IP1000=m |
1999 | CONFIG_JME=m | 2072 | CONFIG_JME=m |
2000 | CONFIG_NET_VENDOR_MARVELL=y | 2073 | CONFIG_NET_VENDOR_MARVELL=y |
2074 | # CONFIG_MVMDIO is not set | ||
2001 | CONFIG_SKGE=m | 2075 | CONFIG_SKGE=m |
2002 | # CONFIG_SKGE_DEBUG is not set | 2076 | # CONFIG_SKGE_DEBUG is not set |
2003 | CONFIG_SKGE_GENESIS=y | 2077 | CONFIG_SKGE_GENESIS=y |
@@ -2049,7 +2123,6 @@ CONFIG_R8169=m | |||
2049 | CONFIG_NET_VENDOR_RDC=y | 2123 | CONFIG_NET_VENDOR_RDC=y |
2050 | CONFIG_R6040=m | 2124 | CONFIG_R6040=m |
2051 | CONFIG_NET_VENDOR_SEEQ=y | 2125 | CONFIG_NET_VENDOR_SEEQ=y |
2052 | CONFIG_SEEQ8005=m | ||
2053 | CONFIG_NET_VENDOR_SILAN=y | 2126 | CONFIG_NET_VENDOR_SILAN=y |
2054 | CONFIG_SC92031=m | 2127 | CONFIG_SC92031=m |
2055 | CONFIG_NET_VENDOR_SIS=y | 2128 | CONFIG_NET_VENDOR_SIS=y |
@@ -2067,8 +2140,6 @@ CONFIG_STMMAC_ETH=m | |||
2067 | # CONFIG_STMMAC_PCI is not set | 2140 | # CONFIG_STMMAC_PCI is not set |
2068 | # CONFIG_STMMAC_DEBUG_FS is not set | 2141 | # CONFIG_STMMAC_DEBUG_FS is not set |
2069 | # CONFIG_STMMAC_DA is not set | 2142 | # CONFIG_STMMAC_DA is not set |
2070 | CONFIG_STMMAC_RING=y | ||
2071 | # CONFIG_STMMAC_CHAINED is not set | ||
2072 | CONFIG_NET_VENDOR_SUN=y | 2143 | CONFIG_NET_VENDOR_SUN=y |
2073 | CONFIG_HAPPYMEAL=m | 2144 | CONFIG_HAPPYMEAL=m |
2074 | CONFIG_SUNGEM=m | 2145 | CONFIG_SUNGEM=m |
@@ -2082,6 +2153,9 @@ CONFIG_NET_VENDOR_VIA=y | |||
2082 | CONFIG_VIA_RHINE=m | 2153 | CONFIG_VIA_RHINE=m |
2083 | # CONFIG_VIA_RHINE_MMIO is not set | 2154 | # CONFIG_VIA_RHINE_MMIO is not set |
2084 | CONFIG_VIA_VELOCITY=m | 2155 | CONFIG_VIA_VELOCITY=m |
2156 | CONFIG_NET_VENDOR_WIZNET=y | ||
2157 | # CONFIG_WIZNET_W5100 is not set | ||
2158 | # CONFIG_WIZNET_W5300 is not set | ||
2085 | CONFIG_FDDI=y | 2159 | CONFIG_FDDI=y |
2086 | CONFIG_DEFXX=m | 2160 | CONFIG_DEFXX=m |
2087 | # CONFIG_DEFXX_MMIO is not set | 2161 | # CONFIG_DEFXX_MMIO is not set |
@@ -2095,6 +2169,7 @@ CONFIG_PHYLIB=m | |||
2095 | # | 2169 | # |
2096 | # MII PHY device drivers | 2170 | # MII PHY device drivers |
2097 | # | 2171 | # |
2172 | # CONFIG_AT803X_PHY is not set | ||
2098 | CONFIG_AMD_PHY=m | 2173 | CONFIG_AMD_PHY=m |
2099 | CONFIG_MARVELL_PHY=m | 2174 | CONFIG_MARVELL_PHY=m |
2100 | CONFIG_DAVICOM_PHY=m | 2175 | CONFIG_DAVICOM_PHY=m |
@@ -2104,6 +2179,7 @@ CONFIG_CICADA_PHY=m | |||
2104 | CONFIG_VITESSE_PHY=m | 2179 | CONFIG_VITESSE_PHY=m |
2105 | CONFIG_SMSC_PHY=m | 2180 | CONFIG_SMSC_PHY=m |
2106 | CONFIG_BROADCOM_PHY=m | 2181 | CONFIG_BROADCOM_PHY=m |
2182 | # CONFIG_BCM87XX_PHY is not set | ||
2107 | CONFIG_ICPLUS_PHY=m | 2183 | CONFIG_ICPLUS_PHY=m |
2108 | CONFIG_REALTEK_PHY=m | 2184 | CONFIG_REALTEK_PHY=m |
2109 | CONFIG_NATIONAL_PHY=m | 2185 | CONFIG_NATIONAL_PHY=m |
@@ -2131,7 +2207,6 @@ CONFIG_SLHC=m | |||
2131 | CONFIG_SLIP_COMPRESSED=y | 2207 | CONFIG_SLIP_COMPRESSED=y |
2132 | CONFIG_SLIP_SMART=y | 2208 | CONFIG_SLIP_SMART=y |
2133 | CONFIG_SLIP_MODE_SLIP6=y | 2209 | CONFIG_SLIP_MODE_SLIP6=y |
2134 | # CONFIG_TR is not set | ||
2135 | 2210 | ||
2136 | # | 2211 | # |
2137 | # USB Network Adapters | 2212 | # USB Network Adapters |
@@ -2140,11 +2215,14 @@ CONFIG_USB_CATC=m | |||
2140 | CONFIG_USB_KAWETH=m | 2215 | CONFIG_USB_KAWETH=m |
2141 | CONFIG_USB_PEGASUS=m | 2216 | CONFIG_USB_PEGASUS=m |
2142 | CONFIG_USB_RTL8150=m | 2217 | CONFIG_USB_RTL8150=m |
2218 | # CONFIG_USB_RTL8152 is not set | ||
2143 | CONFIG_USB_USBNET=m | 2219 | CONFIG_USB_USBNET=m |
2144 | CONFIG_USB_NET_AX8817X=m | 2220 | CONFIG_USB_NET_AX8817X=m |
2221 | CONFIG_USB_NET_AX88179_178A=m | ||
2145 | CONFIG_USB_NET_CDCETHER=m | 2222 | CONFIG_USB_NET_CDCETHER=m |
2146 | CONFIG_USB_NET_CDC_EEM=m | 2223 | CONFIG_USB_NET_CDC_EEM=m |
2147 | CONFIG_USB_NET_CDC_NCM=m | 2224 | CONFIG_USB_NET_CDC_NCM=m |
2225 | # CONFIG_USB_NET_CDC_MBIM is not set | ||
2148 | CONFIG_USB_NET_DM9601=m | 2226 | CONFIG_USB_NET_DM9601=m |
2149 | CONFIG_USB_NET_SMSC75XX=m | 2227 | CONFIG_USB_NET_SMSC75XX=m |
2150 | CONFIG_USB_NET_SMSC95XX=m | 2228 | CONFIG_USB_NET_SMSC95XX=m |
@@ -2186,30 +2264,7 @@ CONFIG_RTL8187_LEDS=y | |||
2186 | CONFIG_ADM8211=m | 2264 | CONFIG_ADM8211=m |
2187 | CONFIG_MAC80211_HWSIM=m | 2265 | CONFIG_MAC80211_HWSIM=m |
2188 | CONFIG_MWL8K=m | 2266 | CONFIG_MWL8K=m |
2189 | CONFIG_ATH_COMMON=m | 2267 | # CONFIG_ATH_CARDS is not set |
2190 | # CONFIG_ATH_DEBUG is not set | ||
2191 | CONFIG_ATH5K=m | ||
2192 | # CONFIG_ATH5K_DEBUG is not set | ||
2193 | CONFIG_ATH5K_PCI=y | ||
2194 | CONFIG_ATH9K_HW=m | ||
2195 | CONFIG_ATH9K_COMMON=m | ||
2196 | CONFIG_ATH9K_BTCOEX_SUPPORT=y | ||
2197 | CONFIG_ATH9K=m | ||
2198 | CONFIG_ATH9K_PCI=y | ||
2199 | CONFIG_ATH9K_AHB=y | ||
2200 | # CONFIG_ATH9K_DEBUGFS is not set | ||
2201 | # CONFIG_ATH9K_DFS_CERTIFIED is not set | ||
2202 | # CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set | ||
2203 | CONFIG_ATH9K_HTC=m | ||
2204 | # CONFIG_ATH9K_HTC_DEBUGFS is not set | ||
2205 | CONFIG_CARL9170=m | ||
2206 | CONFIG_CARL9170_LEDS=y | ||
2207 | CONFIG_CARL9170_WPC=y | ||
2208 | CONFIG_CARL9170_HWRNG=y | ||
2209 | CONFIG_ATH6KL=m | ||
2210 | CONFIG_ATH6KL_SDIO=m | ||
2211 | CONFIG_ATH6KL_USB=m | ||
2212 | CONFIG_ATH6KL_DEBUG=y | ||
2213 | CONFIG_B43=m | 2268 | CONFIG_B43=m |
2214 | CONFIG_B43_SSB=y | 2269 | CONFIG_B43_SSB=y |
2215 | CONFIG_B43_PCI_AUTOSELECT=y | 2270 | CONFIG_B43_PCI_AUTOSELECT=y |
@@ -2218,7 +2273,6 @@ CONFIG_B43_SDIO=y | |||
2218 | CONFIG_B43_PIO=y | 2273 | CONFIG_B43_PIO=y |
2219 | CONFIG_B43_PHY_N=y | 2274 | CONFIG_B43_PHY_N=y |
2220 | CONFIG_B43_PHY_LP=y | 2275 | CONFIG_B43_PHY_LP=y |
2221 | CONFIG_B43_PHY_HT=y | ||
2222 | CONFIG_B43_LEDS=y | 2276 | CONFIG_B43_LEDS=y |
2223 | CONFIG_B43_HWRNG=y | 2277 | CONFIG_B43_HWRNG=y |
2224 | # CONFIG_B43_DEBUG is not set | 2278 | # CONFIG_B43_DEBUG is not set |
@@ -2251,13 +2305,15 @@ CONFIG_IPW2200_QOS=y | |||
2251 | CONFIG_LIBIPW=m | 2305 | CONFIG_LIBIPW=m |
2252 | # CONFIG_LIBIPW_DEBUG is not set | 2306 | # CONFIG_LIBIPW_DEBUG is not set |
2253 | CONFIG_IWLWIFI=m | 2307 | CONFIG_IWLWIFI=m |
2308 | CONFIG_IWLDVM=m | ||
2309 | # CONFIG_IWLMVM is not set | ||
2310 | CONFIG_IWLWIFI_OPMODE_MODULAR=y | ||
2254 | 2311 | ||
2255 | # | 2312 | # |
2256 | # Debugging Options | 2313 | # Debugging Options |
2257 | # | 2314 | # |
2258 | # CONFIG_IWLWIFI_DEBUG is not set | 2315 | # CONFIG_IWLWIFI_DEBUG is not set |
2259 | # CONFIG_IWLWIFI_P2P is not set | 2316 | # CONFIG_IWLWIFI_P2P is not set |
2260 | # CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set | ||
2261 | CONFIG_IWLEGACY=m | 2317 | CONFIG_IWLEGACY=m |
2262 | CONFIG_IWL4965=m | 2318 | CONFIG_IWL4965=m |
2263 | CONFIG_IWL3945=m | 2319 | CONFIG_IWL3945=m |
@@ -2266,8 +2322,6 @@ CONFIG_IWL3945=m | |||
2266 | # iwl3945 / iwl4965 Debugging Options | 2322 | # iwl3945 / iwl4965 Debugging Options |
2267 | # | 2323 | # |
2268 | # CONFIG_IWLEGACY_DEBUG is not set | 2324 | # CONFIG_IWLEGACY_DEBUG is not set |
2269 | CONFIG_IWM=m | ||
2270 | # CONFIG_IWM_DEBUG is not set | ||
2271 | CONFIG_LIBERTAS=m | 2325 | CONFIG_LIBERTAS=m |
2272 | CONFIG_LIBERTAS_USB=m | 2326 | CONFIG_LIBERTAS_USB=m |
2273 | CONFIG_LIBERTAS_SDIO=m | 2327 | CONFIG_LIBERTAS_SDIO=m |
@@ -2295,14 +2349,17 @@ CONFIG_RT2800PCI=m | |||
2295 | CONFIG_RT2800PCI_RT33XX=y | 2349 | CONFIG_RT2800PCI_RT33XX=y |
2296 | # CONFIG_RT2800PCI_RT35XX is not set | 2350 | # CONFIG_RT2800PCI_RT35XX is not set |
2297 | CONFIG_RT2800PCI_RT53XX=y | 2351 | CONFIG_RT2800PCI_RT53XX=y |
2352 | CONFIG_RT2800PCI_RT3290=y | ||
2298 | CONFIG_RT2500USB=m | 2353 | CONFIG_RT2500USB=m |
2299 | CONFIG_RT73USB=m | 2354 | CONFIG_RT73USB=m |
2300 | CONFIG_RT2800USB=m | 2355 | CONFIG_RT2800USB=m |
2301 | CONFIG_RT2800USB_RT33XX=y | 2356 | CONFIG_RT2800USB_RT33XX=y |
2302 | # CONFIG_RT2800USB_RT35XX is not set | 2357 | # CONFIG_RT2800USB_RT35XX is not set |
2303 | CONFIG_RT2800USB_RT53XX=y | 2358 | CONFIG_RT2800USB_RT53XX=y |
2359 | # CONFIG_RT2800USB_RT55XX is not set | ||
2304 | CONFIG_RT2800USB_UNKNOWN=y | 2360 | CONFIG_RT2800USB_UNKNOWN=y |
2305 | CONFIG_RT2800_LIB=m | 2361 | CONFIG_RT2800_LIB=m |
2362 | CONFIG_RT2X00_LIB_MMIO=m | ||
2306 | CONFIG_RT2X00_LIB_PCI=m | 2363 | CONFIG_RT2X00_LIB_PCI=m |
2307 | CONFIG_RT2X00_LIB_USB=m | 2364 | CONFIG_RT2X00_LIB_USB=m |
2308 | CONFIG_RT2X00_LIB=m | 2365 | CONFIG_RT2X00_LIB=m |
@@ -2310,34 +2367,28 @@ CONFIG_RT2X00_LIB_FIRMWARE=y | |||
2310 | CONFIG_RT2X00_LIB_CRYPTO=y | 2367 | CONFIG_RT2X00_LIB_CRYPTO=y |
2311 | CONFIG_RT2X00_LIB_LEDS=y | 2368 | CONFIG_RT2X00_LIB_LEDS=y |
2312 | # CONFIG_RT2X00_DEBUG is not set | 2369 | # CONFIG_RT2X00_DEBUG is not set |
2370 | CONFIG_RTLWIFI=m | ||
2371 | # CONFIG_RTLWIFI_DEBUG is not set | ||
2313 | CONFIG_RTL8192CE=m | 2372 | CONFIG_RTL8192CE=m |
2314 | CONFIG_RTL8192SE=m | 2373 | CONFIG_RTL8192SE=m |
2315 | CONFIG_RTL8192DE=m | 2374 | CONFIG_RTL8192DE=m |
2375 | # CONFIG_RTL8723AE is not set | ||
2376 | # CONFIG_RTL8188EE is not set | ||
2316 | CONFIG_RTL8192CU=m | 2377 | CONFIG_RTL8192CU=m |
2317 | CONFIG_RTLWIFI=m | ||
2318 | # CONFIG_RTLWIFI_DEBUG is not set | ||
2319 | CONFIG_RTL8192C_COMMON=m | 2378 | CONFIG_RTL8192C_COMMON=m |
2320 | CONFIG_WL1251=m | 2379 | # CONFIG_WL_TI is not set |
2321 | CONFIG_WL1251_SPI=m | ||
2322 | CONFIG_WL1251_SDIO=m | ||
2323 | CONFIG_WL12XX_MENU=m | ||
2324 | CONFIG_WL12XX=m | ||
2325 | CONFIG_WL12XX_SPI=m | ||
2326 | CONFIG_WL12XX_SDIO=m | ||
2327 | CONFIG_WL12XX_PLATFORM_DATA=y | ||
2328 | CONFIG_ZD1211RW=m | 2380 | CONFIG_ZD1211RW=m |
2329 | # CONFIG_ZD1211RW_DEBUG is not set | 2381 | # CONFIG_ZD1211RW_DEBUG is not set |
2330 | CONFIG_MWIFIEX=m | 2382 | CONFIG_MWIFIEX=m |
2331 | CONFIG_MWIFIEX_SDIO=m | 2383 | CONFIG_MWIFIEX_SDIO=m |
2332 | CONFIG_MWIFIEX_PCIE=m | 2384 | CONFIG_MWIFIEX_PCIE=m |
2385 | # CONFIG_MWIFIEX_USB is not set | ||
2333 | 2386 | ||
2334 | # | 2387 | # |
2335 | # WiMAX Wireless Broadband devices | 2388 | # WiMAX Wireless Broadband devices |
2336 | # | 2389 | # |
2337 | CONFIG_WIMAX_I2400M=m | 2390 | CONFIG_WIMAX_I2400M=m |
2338 | CONFIG_WIMAX_I2400M_USB=m | 2391 | CONFIG_WIMAX_I2400M_USB=m |
2339 | CONFIG_WIMAX_I2400M_SDIO=m | ||
2340 | CONFIG_WIMAX_IWMC3200_SDIO=y | ||
2341 | CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 | 2392 | CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 |
2342 | CONFIG_WAN=y | 2393 | CONFIG_WAN=y |
2343 | CONFIG_LANMEDIA=m | 2394 | CONFIG_LANMEDIA=m |
@@ -2358,13 +2409,15 @@ CONFIG_DSCC4_PCISYNC=y | |||
2358 | CONFIG_DSCC4_PCI_RST=y | 2409 | CONFIG_DSCC4_PCI_RST=y |
2359 | CONFIG_DLCI=m | 2410 | CONFIG_DLCI=m |
2360 | CONFIG_DLCI_MAX=8 | 2411 | CONFIG_DLCI_MAX=8 |
2361 | CONFIG_WAN_ROUTER_DRIVERS=m | ||
2362 | CONFIG_CYCLADES_SYNC=m | ||
2363 | CONFIG_CYCLOMX_X25=y | ||
2364 | CONFIG_LAPBETHER=m | 2412 | CONFIG_LAPBETHER=m |
2365 | CONFIG_X25_ASY=m | 2413 | CONFIG_X25_ASY=m |
2366 | CONFIG_SBNI=m | 2414 | CONFIG_SBNI=m |
2367 | CONFIG_SBNI_MULTILINE=y | 2415 | CONFIG_SBNI_MULTILINE=y |
2416 | CONFIG_IEEE802154_DRIVERS=m | ||
2417 | CONFIG_IEEE802154_FAKEHARD=m | ||
2418 | # CONFIG_IEEE802154_FAKELB is not set | ||
2419 | # CONFIG_IEEE802154_AT86RF230 is not set | ||
2420 | # CONFIG_IEEE802154_MRF24J40 is not set | ||
2368 | CONFIG_VMXNET3=m | 2421 | CONFIG_VMXNET3=m |
2369 | CONFIG_HYPERV_NET=m | 2422 | CONFIG_HYPERV_NET=m |
2370 | # CONFIG_ISDN is not set | 2423 | # CONFIG_ISDN is not set |
@@ -2376,6 +2429,7 @@ CONFIG_INPUT=y | |||
2376 | CONFIG_INPUT_FF_MEMLESS=m | 2429 | CONFIG_INPUT_FF_MEMLESS=m |
2377 | CONFIG_INPUT_POLLDEV=m | 2430 | CONFIG_INPUT_POLLDEV=m |
2378 | CONFIG_INPUT_SPARSEKMAP=m | 2431 | CONFIG_INPUT_SPARSEKMAP=m |
2432 | # CONFIG_INPUT_MATRIXKMAP is not set | ||
2379 | 2433 | ||
2380 | # | 2434 | # |
2381 | # Userland interfaces | 2435 | # Userland interfaces |
@@ -2404,6 +2458,7 @@ CONFIG_KEYBOARD_ATKBD=y | |||
2404 | # CONFIG_KEYBOARD_TCA8418 is not set | 2458 | # CONFIG_KEYBOARD_TCA8418 is not set |
2405 | # CONFIG_KEYBOARD_MATRIX is not set | 2459 | # CONFIG_KEYBOARD_MATRIX is not set |
2406 | # CONFIG_KEYBOARD_LM8323 is not set | 2460 | # CONFIG_KEYBOARD_LM8323 is not set |
2461 | # CONFIG_KEYBOARD_LM8333 is not set | ||
2407 | # CONFIG_KEYBOARD_MAX7359 is not set | 2462 | # CONFIG_KEYBOARD_MAX7359 is not set |
2408 | # CONFIG_KEYBOARD_MCS is not set | 2463 | # CONFIG_KEYBOARD_MCS is not set |
2409 | # CONFIG_KEYBOARD_MPR121 is not set | 2464 | # CONFIG_KEYBOARD_MPR121 is not set |
@@ -2411,13 +2466,13 @@ CONFIG_KEYBOARD_ATKBD=y | |||
2411 | # CONFIG_KEYBOARD_OPENCORES is not set | 2466 | # CONFIG_KEYBOARD_OPENCORES is not set |
2412 | # CONFIG_KEYBOARD_STOWAWAY is not set | 2467 | # CONFIG_KEYBOARD_STOWAWAY is not set |
2413 | # CONFIG_KEYBOARD_SUNKBD is not set | 2468 | # CONFIG_KEYBOARD_SUNKBD is not set |
2414 | # CONFIG_KEYBOARD_OMAP4 is not set | ||
2415 | # CONFIG_KEYBOARD_XTKBD is not set | 2469 | # CONFIG_KEYBOARD_XTKBD is not set |
2416 | CONFIG_INPUT_MOUSE=y | 2470 | CONFIG_INPUT_MOUSE=y |
2417 | CONFIG_MOUSE_PS2=m | 2471 | CONFIG_MOUSE_PS2=m |
2418 | CONFIG_MOUSE_PS2_ALPS=y | 2472 | CONFIG_MOUSE_PS2_ALPS=y |
2419 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 2473 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
2420 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 2474 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
2475 | CONFIG_MOUSE_PS2_CYPRESS=y | ||
2421 | CONFIG_MOUSE_PS2_LIFEBOOK=y | 2476 | CONFIG_MOUSE_PS2_LIFEBOOK=y |
2422 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 2477 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
2423 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 2478 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
@@ -2426,6 +2481,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y | |||
2426 | CONFIG_MOUSE_SERIAL=m | 2481 | CONFIG_MOUSE_SERIAL=m |
2427 | CONFIG_MOUSE_APPLETOUCH=m | 2482 | CONFIG_MOUSE_APPLETOUCH=m |
2428 | CONFIG_MOUSE_BCM5974=m | 2483 | CONFIG_MOUSE_BCM5974=m |
2484 | # CONFIG_MOUSE_CYAPA is not set | ||
2429 | CONFIG_MOUSE_VSXXXAA=m | 2485 | CONFIG_MOUSE_VSXXXAA=m |
2430 | CONFIG_MOUSE_GPIO=m | 2486 | CONFIG_MOUSE_GPIO=m |
2431 | CONFIG_MOUSE_SYNAPTICS_I2C=m | 2487 | CONFIG_MOUSE_SYNAPTICS_I2C=m |
@@ -2446,18 +2502,20 @@ CONFIG_TOUCHSCREEN_CY8CTMG110=m | |||
2446 | CONFIG_TOUCHSCREEN_DYNAPRO=m | 2502 | CONFIG_TOUCHSCREEN_DYNAPRO=m |
2447 | CONFIG_TOUCHSCREEN_HAMPSHIRE=m | 2503 | CONFIG_TOUCHSCREEN_HAMPSHIRE=m |
2448 | CONFIG_TOUCHSCREEN_EETI=m | 2504 | CONFIG_TOUCHSCREEN_EETI=m |
2449 | CONFIG_TOUCHSCREEN_EGALAX=m | ||
2450 | CONFIG_TOUCHSCREEN_FUJITSU=m | 2505 | CONFIG_TOUCHSCREEN_FUJITSU=m |
2451 | # CONFIG_TOUCHSCREEN_ILI210X is not set | 2506 | # CONFIG_TOUCHSCREEN_ILI210X is not set |
2452 | CONFIG_TOUCHSCREEN_GUNZE=m | 2507 | CONFIG_TOUCHSCREEN_GUNZE=m |
2453 | CONFIG_TOUCHSCREEN_ELO=m | 2508 | CONFIG_TOUCHSCREEN_ELO=m |
2454 | CONFIG_TOUCHSCREEN_WACOM_W8001=m | 2509 | CONFIG_TOUCHSCREEN_WACOM_W8001=m |
2510 | # CONFIG_TOUCHSCREEN_WACOM_I2C is not set | ||
2455 | # CONFIG_TOUCHSCREEN_MAX11801 is not set | 2511 | # CONFIG_TOUCHSCREEN_MAX11801 is not set |
2456 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | 2512 | # CONFIG_TOUCHSCREEN_MCS5000 is not set |
2513 | # CONFIG_TOUCHSCREEN_MMS114 is not set | ||
2457 | CONFIG_TOUCHSCREEN_MTOUCH=m | 2514 | CONFIG_TOUCHSCREEN_MTOUCH=m |
2458 | CONFIG_TOUCHSCREEN_INEXIO=m | 2515 | CONFIG_TOUCHSCREEN_INEXIO=m |
2459 | CONFIG_TOUCHSCREEN_MK712=m | 2516 | CONFIG_TOUCHSCREEN_MK712=m |
2460 | CONFIG_TOUCHSCREEN_PENMOUNT=m | 2517 | CONFIG_TOUCHSCREEN_PENMOUNT=m |
2518 | # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set | ||
2461 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m | 2519 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m |
2462 | CONFIG_TOUCHSCREEN_TOUCHWIN=m | 2520 | CONFIG_TOUCHSCREEN_TOUCHWIN=m |
2463 | CONFIG_TOUCHSCREEN_PIXCIR=m | 2521 | CONFIG_TOUCHSCREEN_PIXCIR=m |
@@ -2516,6 +2574,7 @@ CONFIG_INPUT_GPIO_ROTARY_ENCODER=m | |||
2516 | CONFIG_INPUT_ADXL34X=m | 2574 | CONFIG_INPUT_ADXL34X=m |
2517 | CONFIG_INPUT_ADXL34X_I2C=m | 2575 | CONFIG_INPUT_ADXL34X_I2C=m |
2518 | CONFIG_INPUT_ADXL34X_SPI=m | 2576 | CONFIG_INPUT_ADXL34X_SPI=m |
2577 | # CONFIG_INPUT_IMS_PCU is not set | ||
2519 | CONFIG_INPUT_CMA3000=m | 2578 | CONFIG_INPUT_CMA3000=m |
2520 | CONFIG_INPUT_CMA3000_I2C=m | 2579 | CONFIG_INPUT_CMA3000_I2C=m |
2521 | 2580 | ||
@@ -2532,11 +2591,13 @@ CONFIG_SERIO_LIBPS2=y | |||
2532 | CONFIG_SERIO_RAW=m | 2591 | CONFIG_SERIO_RAW=m |
2533 | CONFIG_SERIO_ALTERA_PS2=m | 2592 | CONFIG_SERIO_ALTERA_PS2=m |
2534 | CONFIG_SERIO_PS2MULT=m | 2593 | CONFIG_SERIO_PS2MULT=m |
2594 | # CONFIG_SERIO_ARC_PS2 is not set | ||
2535 | # CONFIG_GAMEPORT is not set | 2595 | # CONFIG_GAMEPORT is not set |
2536 | 2596 | ||
2537 | # | 2597 | # |
2538 | # Character devices | 2598 | # Character devices |
2539 | # | 2599 | # |
2600 | CONFIG_TTY=y | ||
2540 | CONFIG_VT=y | 2601 | CONFIG_VT=y |
2541 | CONFIG_CONSOLE_TRANSLATIONS=y | 2602 | CONFIG_CONSOLE_TRANSLATIONS=y |
2542 | CONFIG_VT_CONSOLE=y | 2603 | CONFIG_VT_CONSOLE=y |
@@ -2567,10 +2628,12 @@ CONFIG_STALDRV=y | |||
2567 | # Serial drivers | 2628 | # Serial drivers |
2568 | # | 2629 | # |
2569 | CONFIG_SERIAL_8250=y | 2630 | CONFIG_SERIAL_8250=y |
2631 | CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y | ||
2632 | CONFIG_SERIAL_8250_PNP=y | ||
2570 | CONFIG_SERIAL_8250_CONSOLE=y | 2633 | CONFIG_SERIAL_8250_CONSOLE=y |
2571 | CONFIG_FIX_EARLYCON_MEM=y | 2634 | CONFIG_FIX_EARLYCON_MEM=y |
2635 | CONFIG_SERIAL_8250_DMA=y | ||
2572 | CONFIG_SERIAL_8250_PCI=y | 2636 | CONFIG_SERIAL_8250_PCI=y |
2573 | CONFIG_SERIAL_8250_PNP=y | ||
2574 | CONFIG_SERIAL_8250_NR_UARTS=16 | 2637 | CONFIG_SERIAL_8250_NR_UARTS=16 |
2575 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 2638 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
2576 | CONFIG_SERIAL_8250_EXTENDED=y | 2639 | CONFIG_SERIAL_8250_EXTENDED=y |
@@ -2578,17 +2641,19 @@ CONFIG_SERIAL_8250_MANY_PORTS=y | |||
2578 | CONFIG_SERIAL_8250_SHARE_IRQ=y | 2641 | CONFIG_SERIAL_8250_SHARE_IRQ=y |
2579 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | 2642 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set |
2580 | CONFIG_SERIAL_8250_RSA=y | 2643 | CONFIG_SERIAL_8250_RSA=y |
2644 | # CONFIG_SERIAL_8250_DW is not set | ||
2581 | 2645 | ||
2582 | # | 2646 | # |
2583 | # Non-8250 serial port support | 2647 | # Non-8250 serial port support |
2584 | # | 2648 | # |
2585 | CONFIG_SERIAL_MAX3100=m | 2649 | CONFIG_SERIAL_MAX3100=m |
2586 | CONFIG_SERIAL_MAX3107=m | 2650 | # CONFIG_SERIAL_MAX310X is not set |
2587 | CONFIG_SERIAL_MRST_MAX3110=m | 2651 | CONFIG_SERIAL_MRST_MAX3110=m |
2588 | CONFIG_SERIAL_MFD_HSU=m | 2652 | CONFIG_SERIAL_MFD_HSU=m |
2589 | CONFIG_SERIAL_CORE=y | 2653 | CONFIG_SERIAL_CORE=y |
2590 | CONFIG_SERIAL_CORE_CONSOLE=y | 2654 | CONFIG_SERIAL_CORE_CONSOLE=y |
2591 | CONFIG_SERIAL_JSM=m | 2655 | CONFIG_SERIAL_JSM=m |
2656 | # CONFIG_SERIAL_SCCNXP is not set | ||
2592 | CONFIG_SERIAL_TIMBERDALE=m | 2657 | CONFIG_SERIAL_TIMBERDALE=m |
2593 | CONFIG_SERIAL_ALTERA_JTAGUART=m | 2658 | CONFIG_SERIAL_ALTERA_JTAGUART=m |
2594 | CONFIG_SERIAL_ALTERA_UART=m | 2659 | CONFIG_SERIAL_ALTERA_UART=m |
@@ -2596,7 +2661,8 @@ CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 | |||
2596 | CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 | 2661 | CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 |
2597 | CONFIG_SERIAL_IFX6X60=m | 2662 | CONFIG_SERIAL_IFX6X60=m |
2598 | CONFIG_SERIAL_PCH_UART=m | 2663 | CONFIG_SERIAL_PCH_UART=m |
2599 | # CONFIG_SERIAL_XILINX_PS_UART is not set | 2664 | # CONFIG_SERIAL_ARC is not set |
2665 | # CONFIG_SERIAL_RP2 is not set | ||
2600 | # CONFIG_TTY_PRINTK is not set | 2666 | # CONFIG_TTY_PRINTK is not set |
2601 | CONFIG_PRINTER=m | 2667 | CONFIG_PRINTER=m |
2602 | # CONFIG_LP_CONSOLE is not set | 2668 | # CONFIG_LP_CONSOLE is not set |
@@ -2616,6 +2682,7 @@ CONFIG_HW_RANDOM_AMD=m | |||
2616 | CONFIG_HW_RANDOM_GEODE=m | 2682 | CONFIG_HW_RANDOM_GEODE=m |
2617 | CONFIG_HW_RANDOM_VIA=m | 2683 | CONFIG_HW_RANDOM_VIA=m |
2618 | CONFIG_HW_RANDOM_VIRTIO=m | 2684 | CONFIG_HW_RANDOM_VIRTIO=m |
2685 | CONFIG_HW_RANDOM_TPM=m | ||
2619 | CONFIG_NVRAM=m | 2686 | CONFIG_NVRAM=m |
2620 | CONFIG_R3964=m | 2687 | CONFIG_R3964=m |
2621 | CONFIG_APPLICOM=m | 2688 | CONFIG_APPLICOM=m |
@@ -2630,12 +2697,13 @@ CONFIG_HPET_MMAP=y | |||
2630 | CONFIG_HANGCHECK_TIMER=m | 2697 | CONFIG_HANGCHECK_TIMER=m |
2631 | CONFIG_TCG_TPM=m | 2698 | CONFIG_TCG_TPM=m |
2632 | CONFIG_TCG_TIS=m | 2699 | CONFIG_TCG_TIS=m |
2700 | # CONFIG_TCG_TIS_I2C_INFINEON is not set | ||
2633 | CONFIG_TCG_NSC=m | 2701 | CONFIG_TCG_NSC=m |
2634 | CONFIG_TCG_ATMEL=m | 2702 | CONFIG_TCG_ATMEL=m |
2635 | CONFIG_TCG_INFINEON=m | 2703 | CONFIG_TCG_INFINEON=m |
2704 | # CONFIG_TCG_ST33_I2C is not set | ||
2636 | CONFIG_TELCLOCK=m | 2705 | CONFIG_TELCLOCK=m |
2637 | CONFIG_DEVPORT=y | 2706 | CONFIG_DEVPORT=y |
2638 | CONFIG_RAMOOPS=m | ||
2639 | CONFIG_I2C=m | 2707 | CONFIG_I2C=m |
2640 | CONFIG_I2C_BOARDINFO=y | 2708 | CONFIG_I2C_BOARDINFO=y |
2641 | CONFIG_I2C_COMPAT=y | 2709 | CONFIG_I2C_COMPAT=y |
@@ -2668,6 +2736,7 @@ CONFIG_I2C_AMD756_S4882=m | |||
2668 | CONFIG_I2C_AMD8111=m | 2736 | CONFIG_I2C_AMD8111=m |
2669 | CONFIG_I2C_I801=m | 2737 | CONFIG_I2C_I801=m |
2670 | CONFIG_I2C_ISCH=m | 2738 | CONFIG_I2C_ISCH=m |
2739 | # CONFIG_I2C_ISMT is not set | ||
2671 | CONFIG_I2C_PIIX4=m | 2740 | CONFIG_I2C_PIIX4=m |
2672 | CONFIG_I2C_NFORCE2=m | 2741 | CONFIG_I2C_NFORCE2=m |
2673 | CONFIG_I2C_NFORCE2_S4985=m | 2742 | CONFIG_I2C_NFORCE2_S4985=m |
@@ -2685,6 +2754,7 @@ CONFIG_I2C_SCMI=m | |||
2685 | # | 2754 | # |
2686 | # I2C system bus drivers (mostly embedded / system-on-chip) | 2755 | # I2C system bus drivers (mostly embedded / system-on-chip) |
2687 | # | 2756 | # |
2757 | # CONFIG_I2C_CBUS_GPIO is not set | ||
2688 | # CONFIG_I2C_DESIGNWARE_PCI is not set | 2758 | # CONFIG_I2C_DESIGNWARE_PCI is not set |
2689 | CONFIG_I2C_EG20T=m | 2759 | CONFIG_I2C_EG20T=m |
2690 | CONFIG_I2C_GPIO=m | 2760 | CONFIG_I2C_GPIO=m |
@@ -2707,8 +2777,8 @@ CONFIG_I2C_TINY_USB=m | |||
2707 | # | 2777 | # |
2708 | # Other I2C/SMBus bus drivers | 2778 | # Other I2C/SMBus bus drivers |
2709 | # | 2779 | # |
2710 | CONFIG_I2C_STUB=m | ||
2711 | # CONFIG_SCx200_ACB is not set | 2780 | # CONFIG_SCx200_ACB is not set |
2781 | CONFIG_I2C_STUB=m | ||
2712 | # CONFIG_I2C_DEBUG_CORE is not set | 2782 | # CONFIG_I2C_DEBUG_CORE is not set |
2713 | # CONFIG_I2C_DEBUG_ALGO is not set | 2783 | # CONFIG_I2C_DEBUG_ALGO is not set |
2714 | # CONFIG_I2C_DEBUG_BUS is not set | 2784 | # CONFIG_I2C_DEBUG_BUS is not set |
@@ -2725,9 +2795,12 @@ CONFIG_SPI_BUTTERFLY=m | |||
2725 | CONFIG_SPI_GPIO=m | 2795 | CONFIG_SPI_GPIO=m |
2726 | CONFIG_SPI_LM70_LLP=m | 2796 | CONFIG_SPI_LM70_LLP=m |
2727 | # CONFIG_SPI_OC_TINY is not set | 2797 | # CONFIG_SPI_OC_TINY is not set |
2798 | CONFIG_SPI_PXA2XX_DMA=y | ||
2728 | CONFIG_SPI_PXA2XX=m | 2799 | CONFIG_SPI_PXA2XX=m |
2729 | CONFIG_SPI_PXA2XX_PCI=y | 2800 | CONFIG_SPI_PXA2XX_PCI=m |
2801 | # CONFIG_SPI_SC18IS602 is not set | ||
2730 | CONFIG_SPI_TOPCLIFF_PCH=m | 2802 | CONFIG_SPI_TOPCLIFF_PCH=m |
2803 | # CONFIG_SPI_XCOMM is not set | ||
2731 | # CONFIG_SPI_XILINX is not set | 2804 | # CONFIG_SPI_XILINX is not set |
2732 | CONFIG_SPI_DESIGNWARE=m | 2805 | CONFIG_SPI_DESIGNWARE=m |
2733 | CONFIG_SPI_DW_PCI=m | 2806 | CONFIG_SPI_DW_PCI=m |
@@ -2737,26 +2810,41 @@ CONFIG_SPI_DW_PCI=m | |||
2737 | # | 2810 | # |
2738 | CONFIG_SPI_SPIDEV=m | 2811 | CONFIG_SPI_SPIDEV=m |
2739 | CONFIG_SPI_TLE62X0=m | 2812 | CONFIG_SPI_TLE62X0=m |
2813 | |||
2814 | # | ||
2815 | # Qualcomm MSM SSBI bus support | ||
2816 | # | ||
2817 | # CONFIG_SSBI is not set | ||
2740 | # CONFIG_HSI is not set | 2818 | # CONFIG_HSI is not set |
2741 | 2819 | ||
2742 | # | 2820 | # |
2743 | # PPS support | 2821 | # PPS support |
2744 | # | 2822 | # |
2745 | # CONFIG_PPS is not set | 2823 | CONFIG_PPS=m |
2824 | # CONFIG_PPS_DEBUG is not set | ||
2746 | 2825 | ||
2747 | # | 2826 | # |
2748 | # PPS generators support | 2827 | # PPS clients support |
2749 | # | 2828 | # |
2829 | # CONFIG_PPS_CLIENT_KTIMER is not set | ||
2830 | # CONFIG_PPS_CLIENT_LDISC is not set | ||
2831 | # CONFIG_PPS_CLIENT_PARPORT is not set | ||
2832 | # CONFIG_PPS_CLIENT_GPIO is not set | ||
2750 | 2833 | ||
2751 | # | 2834 | # |
2752 | # PTP clock support | 2835 | # PPS generators support |
2753 | # | 2836 | # |
2754 | 2837 | ||
2755 | # | 2838 | # |
2756 | # Enable Device Drivers -> PPS to see the PTP clock options. | 2839 | # PTP clock support |
2757 | # | 2840 | # |
2841 | CONFIG_PTP_1588_CLOCK=m | ||
2842 | # CONFIG_DP83640_PHY is not set | ||
2843 | CONFIG_PTP_1588_CLOCK_PCH=m | ||
2758 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 2844 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
2845 | CONFIG_GPIO_DEVRES=y | ||
2759 | CONFIG_GPIOLIB=y | 2846 | CONFIG_GPIOLIB=y |
2847 | CONFIG_GPIO_ACPI=y | ||
2760 | # CONFIG_DEBUG_GPIO is not set | 2848 | # CONFIG_DEBUG_GPIO is not set |
2761 | # CONFIG_GPIO_SYSFS is not set | 2849 | # CONFIG_GPIO_SYSFS is not set |
2762 | CONFIG_GPIO_MAX730X=m | 2850 | CONFIG_GPIO_MAX730X=m |
@@ -2766,8 +2854,11 @@ CONFIG_GPIO_MAX730X=m | |||
2766 | # | 2854 | # |
2767 | # CONFIG_GPIO_GENERIC_PLATFORM is not set | 2855 | # CONFIG_GPIO_GENERIC_PLATFORM is not set |
2768 | CONFIG_GPIO_IT8761E=m | 2856 | CONFIG_GPIO_IT8761E=m |
2857 | # CONFIG_GPIO_TS5500 is not set | ||
2769 | CONFIG_GPIO_SCH=m | 2858 | CONFIG_GPIO_SCH=m |
2859 | # CONFIG_GPIO_ICH is not set | ||
2770 | CONFIG_GPIO_VX855=m | 2860 | CONFIG_GPIO_VX855=m |
2861 | # CONFIG_GPIO_LYNXPOINT is not set | ||
2771 | 2862 | ||
2772 | # | 2863 | # |
2773 | # I2C GPIO expanders: | 2864 | # I2C GPIO expanders: |
@@ -2783,6 +2874,7 @@ CONFIG_GPIO_ADP5588=m | |||
2783 | # | 2874 | # |
2784 | CONFIG_GPIO_CS5535=m | 2875 | CONFIG_GPIO_CS5535=m |
2785 | # CONFIG_GPIO_BT8XX is not set | 2876 | # CONFIG_GPIO_BT8XX is not set |
2877 | # CONFIG_GPIO_AMD8111 is not set | ||
2786 | # CONFIG_GPIO_LANGWELL is not set | 2878 | # CONFIG_GPIO_LANGWELL is not set |
2787 | CONFIG_GPIO_PCH=m | 2879 | CONFIG_GPIO_PCH=m |
2788 | CONFIG_GPIO_ML_IOH=m | 2880 | CONFIG_GPIO_ML_IOH=m |
@@ -2803,6 +2895,10 @@ CONFIG_GPIO_74X164=m | |||
2803 | # | 2895 | # |
2804 | # MODULbus GPIO expanders: | 2896 | # MODULbus GPIO expanders: |
2805 | # | 2897 | # |
2898 | |||
2899 | # | ||
2900 | # USB GPIO expanders: | ||
2901 | # | ||
2806 | # CONFIG_W1 is not set | 2902 | # CONFIG_W1 is not set |
2807 | CONFIG_POWER_SUPPLY=y | 2903 | CONFIG_POWER_SUPPLY=y |
2808 | # CONFIG_POWER_SUPPLY_DEBUG is not set | 2904 | # CONFIG_POWER_SUPPLY_DEBUG is not set |
@@ -2819,7 +2915,11 @@ CONFIG_POWER_SUPPLY=y | |||
2819 | # CONFIG_CHARGER_MAX8903 is not set | 2915 | # CONFIG_CHARGER_MAX8903 is not set |
2820 | # CONFIG_CHARGER_LP8727 is not set | 2916 | # CONFIG_CHARGER_LP8727 is not set |
2821 | # CONFIG_CHARGER_GPIO is not set | 2917 | # CONFIG_CHARGER_GPIO is not set |
2918 | # CONFIG_CHARGER_BQ2415X is not set | ||
2822 | # CONFIG_CHARGER_SMB347 is not set | 2919 | # CONFIG_CHARGER_SMB347 is not set |
2920 | # CONFIG_BATTERY_GOLDFISH is not set | ||
2921 | # CONFIG_POWER_RESET is not set | ||
2922 | # CONFIG_POWER_AVS is not set | ||
2823 | CONFIG_HWMON=m | 2923 | CONFIG_HWMON=m |
2824 | CONFIG_HWMON_VID=m | 2924 | CONFIG_HWMON_VID=m |
2825 | # CONFIG_HWMON_DEBUG_CHIP is not set | 2925 | # CONFIG_HWMON_DEBUG_CHIP is not set |
@@ -2839,6 +2939,8 @@ CONFIG_SENSORS_ADM1026=m | |||
2839 | CONFIG_SENSORS_ADM1029=m | 2939 | CONFIG_SENSORS_ADM1029=m |
2840 | CONFIG_SENSORS_ADM1031=m | 2940 | CONFIG_SENSORS_ADM1031=m |
2841 | CONFIG_SENSORS_ADM9240=m | 2941 | CONFIG_SENSORS_ADM9240=m |
2942 | # CONFIG_SENSORS_ADT7310 is not set | ||
2943 | # CONFIG_SENSORS_ADT7410 is not set | ||
2842 | CONFIG_SENSORS_ADT7411=m | 2944 | CONFIG_SENSORS_ADT7411=m |
2843 | CONFIG_SENSORS_ADT7462=m | 2945 | CONFIG_SENSORS_ADT7462=m |
2844 | CONFIG_SENSORS_ADT7470=m | 2946 | CONFIG_SENSORS_ADT7470=m |
@@ -2860,6 +2962,7 @@ CONFIG_SENSORS_G760A=m | |||
2860 | CONFIG_SENSORS_GL518SM=m | 2962 | CONFIG_SENSORS_GL518SM=m |
2861 | CONFIG_SENSORS_GL520SM=m | 2963 | CONFIG_SENSORS_GL520SM=m |
2862 | CONFIG_SENSORS_GPIO_FAN=m | 2964 | CONFIG_SENSORS_GPIO_FAN=m |
2965 | # CONFIG_SENSORS_HIH6130 is not set | ||
2863 | CONFIG_SENSORS_CORETEMP=m | 2966 | CONFIG_SENSORS_CORETEMP=m |
2864 | CONFIG_SENSORS_IBMAEM=m | 2967 | CONFIG_SENSORS_IBMAEM=m |
2865 | CONFIG_SENSORS_IBMPEX=m | 2968 | CONFIG_SENSORS_IBMPEX=m |
@@ -2883,16 +2986,20 @@ CONFIG_SENSORS_LTC4151=m | |||
2883 | CONFIG_SENSORS_LTC4215=m | 2986 | CONFIG_SENSORS_LTC4215=m |
2884 | CONFIG_SENSORS_LTC4245=m | 2987 | CONFIG_SENSORS_LTC4245=m |
2885 | CONFIG_SENSORS_LTC4261=m | 2988 | CONFIG_SENSORS_LTC4261=m |
2989 | # CONFIG_SENSORS_LM95234 is not set | ||
2886 | CONFIG_SENSORS_LM95241=m | 2990 | CONFIG_SENSORS_LM95241=m |
2887 | CONFIG_SENSORS_LM95245=m | 2991 | CONFIG_SENSORS_LM95245=m |
2888 | CONFIG_SENSORS_MAX1111=m | 2992 | CONFIG_SENSORS_MAX1111=m |
2889 | CONFIG_SENSORS_MAX16065=m | 2993 | CONFIG_SENSORS_MAX16065=m |
2890 | CONFIG_SENSORS_MAX1619=m | 2994 | CONFIG_SENSORS_MAX1619=m |
2891 | CONFIG_SENSORS_MAX1668=m | 2995 | CONFIG_SENSORS_MAX1668=m |
2996 | # CONFIG_SENSORS_MAX197 is not set | ||
2892 | CONFIG_SENSORS_MAX6639=m | 2997 | CONFIG_SENSORS_MAX6639=m |
2893 | CONFIG_SENSORS_MAX6642=m | 2998 | CONFIG_SENSORS_MAX6642=m |
2894 | CONFIG_SENSORS_MAX6650=m | 2999 | CONFIG_SENSORS_MAX6650=m |
3000 | # CONFIG_SENSORS_MAX6697 is not set | ||
2895 | CONFIG_SENSORS_MCP3021=m | 3001 | CONFIG_SENSORS_MCP3021=m |
3002 | # CONFIG_SENSORS_NCT6775 is not set | ||
2896 | CONFIG_SENSORS_NTC_THERMISTOR=m | 3003 | CONFIG_SENSORS_NTC_THERMISTOR=m |
2897 | CONFIG_SENSORS_PC87360=m | 3004 | CONFIG_SENSORS_PC87360=m |
2898 | CONFIG_SENSORS_PC87427=m | 3005 | CONFIG_SENSORS_PC87427=m |
@@ -2926,6 +3033,8 @@ CONFIG_SENSORS_ADS1015=m | |||
2926 | CONFIG_SENSORS_ADS7828=m | 3033 | CONFIG_SENSORS_ADS7828=m |
2927 | CONFIG_SENSORS_ADS7871=m | 3034 | CONFIG_SENSORS_ADS7871=m |
2928 | CONFIG_SENSORS_AMC6821=m | 3035 | CONFIG_SENSORS_AMC6821=m |
3036 | # CONFIG_SENSORS_INA209 is not set | ||
3037 | # CONFIG_SENSORS_INA2XX is not set | ||
2929 | CONFIG_SENSORS_THMC50=m | 3038 | CONFIG_SENSORS_THMC50=m |
2930 | CONFIG_SENSORS_TMP102=m | 3039 | CONFIG_SENSORS_TMP102=m |
2931 | CONFIG_SENSORS_TMP401=m | 3040 | CONFIG_SENSORS_TMP401=m |
@@ -2952,6 +3061,15 @@ CONFIG_SENSORS_APPLESMC=m | |||
2952 | CONFIG_SENSORS_ACPI_POWER=m | 3061 | CONFIG_SENSORS_ACPI_POWER=m |
2953 | CONFIG_SENSORS_ATK0110=m | 3062 | CONFIG_SENSORS_ATK0110=m |
2954 | CONFIG_THERMAL=y | 3063 | CONFIG_THERMAL=y |
3064 | CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y | ||
3065 | # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set | ||
3066 | # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set | ||
3067 | # CONFIG_THERMAL_GOV_FAIR_SHARE is not set | ||
3068 | CONFIG_THERMAL_GOV_STEP_WISE=y | ||
3069 | # CONFIG_THERMAL_GOV_USER_SPACE is not set | ||
3070 | # CONFIG_CPU_THERMAL is not set | ||
3071 | # CONFIG_THERMAL_EMULATION is not set | ||
3072 | # CONFIG_INTEL_POWERCLAMP is not set | ||
2955 | CONFIG_WATCHDOG=y | 3073 | CONFIG_WATCHDOG=y |
2956 | CONFIG_WATCHDOG_CORE=y | 3074 | CONFIG_WATCHDOG_CORE=y |
2957 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 3075 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
@@ -2974,6 +3092,7 @@ CONFIG_IB700_WDT=m | |||
2974 | CONFIG_IBMASR=m | 3092 | CONFIG_IBMASR=m |
2975 | CONFIG_WAFER_WDT=m | 3093 | CONFIG_WAFER_WDT=m |
2976 | CONFIG_I6300ESB_WDT=m | 3094 | CONFIG_I6300ESB_WDT=m |
3095 | # CONFIG_IE6XX_WDT is not set | ||
2977 | CONFIG_ITCO_WDT=m | 3096 | CONFIG_ITCO_WDT=m |
2978 | CONFIG_ITCO_VENDOR_SUPPORT=y | 3097 | CONFIG_ITCO_VENDOR_SUPPORT=y |
2979 | CONFIG_IT8712F_WDT=m | 3098 | CONFIG_IT8712F_WDT=m |
@@ -3024,6 +3143,7 @@ CONFIG_SSB_SDIOHOST=y | |||
3024 | # CONFIG_SSB_DEBUG is not set | 3143 | # CONFIG_SSB_DEBUG is not set |
3025 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | 3144 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y |
3026 | CONFIG_SSB_DRIVER_PCICORE=y | 3145 | CONFIG_SSB_DRIVER_PCICORE=y |
3146 | # CONFIG_SSB_DRIVER_GPIO is not set | ||
3027 | CONFIG_BCMA_POSSIBLE=y | 3147 | CONFIG_BCMA_POSSIBLE=y |
3028 | 3148 | ||
3029 | # | 3149 | # |
@@ -3035,30 +3155,42 @@ CONFIG_BCMA_POSSIBLE=y | |||
3035 | # Multifunction device drivers | 3155 | # Multifunction device drivers |
3036 | # | 3156 | # |
3037 | CONFIG_MFD_CORE=m | 3157 | CONFIG_MFD_CORE=m |
3038 | # CONFIG_MFD_SM501 is not set | 3158 | CONFIG_MFD_CS5535=m |
3159 | # CONFIG_MFD_CROS_EC is not set | ||
3160 | # CONFIG_MFD_DA9052_SPI is not set | ||
3161 | # CONFIG_MFD_MC13XXX_SPI is not set | ||
3162 | # CONFIG_MFD_MC13XXX_I2C is not set | ||
3039 | # CONFIG_HTC_PASIC3 is not set | 3163 | # CONFIG_HTC_PASIC3 is not set |
3164 | CONFIG_LPC_ICH=m | ||
3165 | CONFIG_LPC_SCH=m | ||
3166 | # CONFIG_MFD_JANZ_CMODIO is not set | ||
3167 | # CONFIG_EZX_PCAP is not set | ||
3168 | # CONFIG_MFD_VIPERBOARD is not set | ||
3169 | # CONFIG_MFD_RETU is not set | ||
3170 | # CONFIG_MFD_PCF50633 is not set | ||
3040 | # CONFIG_UCB1400_CORE is not set | 3171 | # CONFIG_UCB1400_CORE is not set |
3172 | CONFIG_MFD_RDC321X=m | ||
3173 | # CONFIG_MFD_RTSX_PCI is not set | ||
3174 | # CONFIG_MFD_SI476X_CORE is not set | ||
3175 | # CONFIG_MFD_SM501 is not set | ||
3176 | # CONFIG_ABX500_CORE is not set | ||
3177 | # CONFIG_MFD_STMPE is not set | ||
3178 | # CONFIG_MFD_SYSCON is not set | ||
3179 | # CONFIG_MFD_TI_AM335X_TSCADC is not set | ||
3041 | # CONFIG_TPS6105X is not set | 3180 | # CONFIG_TPS6105X is not set |
3042 | # CONFIG_TPS65010 is not set | 3181 | # CONFIG_TPS65010 is not set |
3043 | # CONFIG_TPS6507X is not set | 3182 | # CONFIG_TPS6507X is not set |
3044 | # CONFIG_MFD_TPS65217 is not set | 3183 | # CONFIG_MFD_TPS65217 is not set |
3184 | # CONFIG_MFD_TPS65912 is not set | ||
3045 | # CONFIG_MFD_TPS65912_SPI is not set | 3185 | # CONFIG_MFD_TPS65912_SPI is not set |
3046 | # CONFIG_MFD_STMPE is not set | 3186 | CONFIG_MFD_WL1273_CORE=m |
3047 | # CONFIG_MFD_TMIO is not set | 3187 | # CONFIG_MFD_LM3533 is not set |
3048 | # CONFIG_MFD_DA9052_SPI is not set | ||
3049 | # CONFIG_MFD_WM8400 is not set | ||
3050 | # CONFIG_MFD_WM831X_SPI is not set | ||
3051 | # CONFIG_MFD_PCF50633 is not set | ||
3052 | # CONFIG_MFD_MC13XXX is not set | ||
3053 | # CONFIG_ABX500_CORE is not set | ||
3054 | # CONFIG_EZX_PCAP is not set | ||
3055 | CONFIG_MFD_CS5535=m | ||
3056 | # CONFIG_MFD_TIMBERDALE is not set | 3188 | # CONFIG_MFD_TIMBERDALE is not set |
3057 | CONFIG_LPC_SCH=m | 3189 | # CONFIG_MFD_TMIO is not set |
3058 | CONFIG_MFD_RDC321X=m | ||
3059 | # CONFIG_MFD_JANZ_CMODIO is not set | ||
3060 | CONFIG_MFD_VX855=m | 3190 | CONFIG_MFD_VX855=m |
3061 | CONFIG_MFD_WL1273_CORE=m | 3191 | # CONFIG_MFD_ARIZONA_I2C is not set |
3192 | # CONFIG_MFD_ARIZONA_SPI is not set | ||
3193 | # CONFIG_MFD_WM831X_SPI is not set | ||
3062 | # CONFIG_REGULATOR is not set | 3194 | # CONFIG_REGULATOR is not set |
3063 | # CONFIG_MEDIA_SUPPORT is not set | 3195 | # CONFIG_MEDIA_SUPPORT is not set |
3064 | 3196 | ||
@@ -3083,19 +3215,21 @@ CONFIG_DRM=m | |||
3083 | CONFIG_DRM_KMS_HELPER=m | 3215 | CONFIG_DRM_KMS_HELPER=m |
3084 | # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set | 3216 | # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set |
3085 | CONFIG_DRM_TTM=m | 3217 | CONFIG_DRM_TTM=m |
3086 | CONFIG_DRM_TDFX=m | ||
3087 | CONFIG_DRM_R128=m | ||
3088 | CONFIG_DRM_RADEON=m | ||
3089 | # CONFIG_DRM_RADEON_KMS is not set | ||
3090 | CONFIG_DRM_NOUVEAU=m | ||
3091 | CONFIG_DRM_NOUVEAU_BACKLIGHT=y | ||
3092 | CONFIG_DRM_NOUVEAU_DEBUG=y | ||
3093 | 3218 | ||
3094 | # | 3219 | # |
3095 | # I2C encoder or helper chips | 3220 | # I2C encoder or helper chips |
3096 | # | 3221 | # |
3097 | # CONFIG_DRM_I2C_CH7006 is not set | 3222 | # CONFIG_DRM_I2C_CH7006 is not set |
3098 | CONFIG_DRM_I2C_SIL164=m | 3223 | CONFIG_DRM_I2C_SIL164=m |
3224 | # CONFIG_DRM_I2C_NXP_TDA998X is not set | ||
3225 | CONFIG_DRM_TDFX=m | ||
3226 | CONFIG_DRM_R128=m | ||
3227 | CONFIG_DRM_RADEON=m | ||
3228 | # CONFIG_DRM_RADEON_UMS is not set | ||
3229 | CONFIG_DRM_NOUVEAU=m | ||
3230 | CONFIG_NOUVEAU_DEBUG=5 | ||
3231 | CONFIG_NOUVEAU_DEBUG_DEFAULT=3 | ||
3232 | CONFIG_DRM_NOUVEAU_BACKLIGHT=y | ||
3099 | CONFIG_DRM_I810=m | 3233 | CONFIG_DRM_I810=m |
3100 | CONFIG_DRM_I915=m | 3234 | CONFIG_DRM_I915=m |
3101 | # CONFIG_DRM_I915_KMS is not set | 3235 | # CONFIG_DRM_I915_KMS is not set |
@@ -3104,13 +3238,18 @@ CONFIG_DRM_SIS=m | |||
3104 | CONFIG_DRM_VIA=m | 3238 | CONFIG_DRM_VIA=m |
3105 | CONFIG_DRM_SAVAGE=m | 3239 | CONFIG_DRM_SAVAGE=m |
3106 | CONFIG_DRM_VMWGFX=m | 3240 | CONFIG_DRM_VMWGFX=m |
3241 | # CONFIG_DRM_VMWGFX_FBCON is not set | ||
3107 | CONFIG_DRM_GMA500=m | 3242 | CONFIG_DRM_GMA500=m |
3108 | CONFIG_DRM_GMA600=y | 3243 | CONFIG_DRM_GMA600=y |
3109 | CONFIG_DRM_GMA3600=y | 3244 | CONFIG_DRM_GMA3600=y |
3110 | # CONFIG_DRM_UDL is not set | 3245 | # CONFIG_DRM_UDL is not set |
3111 | # CONFIG_STUB_POULSBO is not set | 3246 | # CONFIG_DRM_AST is not set |
3247 | # CONFIG_DRM_MGAG200 is not set | ||
3248 | CONFIG_DRM_CIRRUS_QEMU=m | ||
3249 | CONFIG_DRM_QXL=m | ||
3112 | CONFIG_VGASTATE=m | 3250 | CONFIG_VGASTATE=m |
3113 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 3251 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
3252 | CONFIG_HDMI=y | ||
3114 | CONFIG_FB=m | 3253 | CONFIG_FB=m |
3115 | # CONFIG_FIRMWARE_EDID is not set | 3254 | # CONFIG_FIRMWARE_EDID is not set |
3116 | CONFIG_FB_DDC=m | 3255 | CONFIG_FB_DDC=m |
@@ -3124,7 +3263,6 @@ CONFIG_FB_SYS_COPYAREA=m | |||
3124 | CONFIG_FB_SYS_IMAGEBLIT=m | 3263 | CONFIG_FB_SYS_IMAGEBLIT=m |
3125 | # CONFIG_FB_FOREIGN_ENDIAN is not set | 3264 | # CONFIG_FB_FOREIGN_ENDIAN is not set |
3126 | CONFIG_FB_SYS_FOPS=m | 3265 | CONFIG_FB_SYS_FOPS=m |
3127 | # CONFIG_FB_WMT_GE_ROPS is not set | ||
3128 | CONFIG_FB_DEFERRED_IO=y | 3266 | CONFIG_FB_DEFERRED_IO=y |
3129 | CONFIG_FB_HECUBA=m | 3267 | CONFIG_FB_HECUBA=m |
3130 | CONFIG_FB_SVGALIB=m | 3268 | CONFIG_FB_SVGALIB=m |
@@ -3211,18 +3349,22 @@ CONFIG_FB_TMIO=m | |||
3211 | CONFIG_FB_TMIO_ACCELL=y | 3349 | CONFIG_FB_TMIO_ACCELL=y |
3212 | # CONFIG_FB_SMSCUFX is not set | 3350 | # CONFIG_FB_SMSCUFX is not set |
3213 | # CONFIG_FB_UDL is not set | 3351 | # CONFIG_FB_UDL is not set |
3352 | # CONFIG_FB_GOLDFISH is not set | ||
3214 | # CONFIG_FB_VIRTUAL is not set | 3353 | # CONFIG_FB_VIRTUAL is not set |
3215 | CONFIG_FB_METRONOME=m | 3354 | CONFIG_FB_METRONOME=m |
3216 | CONFIG_FB_MB862XX=m | 3355 | CONFIG_FB_MB862XX=m |
3217 | CONFIG_FB_MB862XX_PCI_GDC=y | 3356 | CONFIG_FB_MB862XX_PCI_GDC=y |
3218 | CONFIG_FB_MB862XX_I2C=y | 3357 | CONFIG_FB_MB862XX_I2C=y |
3219 | CONFIG_FB_BROADSHEET=m | 3358 | CONFIG_FB_BROADSHEET=m |
3359 | # CONFIG_FB_AUO_K190X is not set | ||
3360 | CONFIG_FB_HYPERV=m | ||
3220 | # CONFIG_EXYNOS_VIDEO is not set | 3361 | # CONFIG_EXYNOS_VIDEO is not set |
3221 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 3362 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
3222 | CONFIG_LCD_CLASS_DEVICE=m | 3363 | CONFIG_LCD_CLASS_DEVICE=m |
3223 | CONFIG_LCD_L4F00242T03=m | 3364 | CONFIG_LCD_L4F00242T03=m |
3224 | CONFIG_LCD_LMS283GF05=m | 3365 | CONFIG_LCD_LMS283GF05=m |
3225 | CONFIG_LCD_LTV350QV=m | 3366 | CONFIG_LCD_LTV350QV=m |
3367 | # CONFIG_LCD_ILI922X is not set | ||
3226 | CONFIG_LCD_ILI9320=m | 3368 | CONFIG_LCD_ILI9320=m |
3227 | CONFIG_LCD_TDO24M=m | 3369 | CONFIG_LCD_TDO24M=m |
3228 | CONFIG_LCD_VGG2432A4=m | 3370 | CONFIG_LCD_VGG2432A4=m |
@@ -3230,14 +3372,17 @@ CONFIG_LCD_PLATFORM=m | |||
3230 | CONFIG_LCD_S6E63M0=m | 3372 | CONFIG_LCD_S6E63M0=m |
3231 | # CONFIG_LCD_LD9040 is not set | 3373 | # CONFIG_LCD_LD9040 is not set |
3232 | CONFIG_LCD_AMS369FG06=m | 3374 | CONFIG_LCD_AMS369FG06=m |
3375 | # CONFIG_LCD_LMS501KF03 is not set | ||
3376 | # CONFIG_LCD_HX8357 is not set | ||
3233 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | 3377 | CONFIG_BACKLIGHT_CLASS_DEVICE=m |
3234 | CONFIG_BACKLIGHT_GENERIC=m | 3378 | CONFIG_BACKLIGHT_GENERIC=m |
3235 | CONFIG_BACKLIGHT_PROGEAR=m | ||
3236 | CONFIG_BACKLIGHT_CARILLO_RANCH=m | 3379 | CONFIG_BACKLIGHT_CARILLO_RANCH=m |
3237 | # CONFIG_BACKLIGHT_APPLE is not set | 3380 | # CONFIG_BACKLIGHT_APPLE is not set |
3238 | CONFIG_BACKLIGHT_SAHARA=m | 3381 | CONFIG_BACKLIGHT_SAHARA=m |
3239 | CONFIG_BACKLIGHT_ADP8860=m | 3382 | CONFIG_BACKLIGHT_ADP8860=m |
3240 | # CONFIG_BACKLIGHT_ADP8870 is not set | 3383 | # CONFIG_BACKLIGHT_ADP8870 is not set |
3384 | # CONFIG_BACKLIGHT_LM3630 is not set | ||
3385 | # CONFIG_BACKLIGHT_LM3639 is not set | ||
3241 | # CONFIG_BACKLIGHT_LP855X is not set | 3386 | # CONFIG_BACKLIGHT_LP855X is not set |
3242 | # CONFIG_BACKLIGHT_OT200 is not set | 3387 | # CONFIG_BACKLIGHT_OT200 is not set |
3243 | 3388 | ||
@@ -3262,6 +3407,7 @@ CONFIG_SND_TIMER=m | |||
3262 | CONFIG_SND_PCM=m | 3407 | CONFIG_SND_PCM=m |
3263 | CONFIG_SND_HWDEP=m | 3408 | CONFIG_SND_HWDEP=m |
3264 | CONFIG_SND_RAWMIDI=m | 3409 | CONFIG_SND_RAWMIDI=m |
3410 | CONFIG_SND_COMPRESS_OFFLOAD=m | ||
3265 | CONFIG_SND_JACK=y | 3411 | CONFIG_SND_JACK=y |
3266 | CONFIG_SND_SEQUENCER=m | 3412 | CONFIG_SND_SEQUENCER=m |
3267 | CONFIG_SND_SEQ_DUMMY=m | 3413 | CONFIG_SND_SEQ_DUMMY=m |
@@ -3359,7 +3505,6 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 | |||
3359 | CONFIG_SND_HDA_INPUT_JACK=y | 3505 | CONFIG_SND_HDA_INPUT_JACK=y |
3360 | # CONFIG_SND_HDA_PATCH_LOADER is not set | 3506 | # CONFIG_SND_HDA_PATCH_LOADER is not set |
3361 | CONFIG_SND_HDA_CODEC_REALTEK=y | 3507 | CONFIG_SND_HDA_CODEC_REALTEK=y |
3362 | CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y | ||
3363 | CONFIG_SND_HDA_CODEC_ANALOG=y | 3508 | CONFIG_SND_HDA_CODEC_ANALOG=y |
3364 | CONFIG_SND_HDA_CODEC_SIGMATEL=y | 3509 | CONFIG_SND_HDA_CODEC_SIGMATEL=y |
3365 | CONFIG_SND_HDA_CODEC_VIA=y | 3510 | CONFIG_SND_HDA_CODEC_VIA=y |
@@ -3368,10 +3513,11 @@ CONFIG_SND_HDA_CODEC_CIRRUS=y | |||
3368 | CONFIG_SND_HDA_CODEC_CONEXANT=y | 3513 | CONFIG_SND_HDA_CODEC_CONEXANT=y |
3369 | CONFIG_SND_HDA_CODEC_CA0110=y | 3514 | CONFIG_SND_HDA_CODEC_CA0110=y |
3370 | CONFIG_SND_HDA_CODEC_CA0132=y | 3515 | CONFIG_SND_HDA_CODEC_CA0132=y |
3516 | # CONFIG_SND_HDA_CODEC_CA0132_DSP is not set | ||
3371 | CONFIG_SND_HDA_CODEC_CMEDIA=y | 3517 | CONFIG_SND_HDA_CODEC_CMEDIA=y |
3372 | CONFIG_SND_HDA_CODEC_SI3054=y | 3518 | CONFIG_SND_HDA_CODEC_SI3054=y |
3373 | CONFIG_SND_HDA_GENERIC=y | 3519 | CONFIG_SND_HDA_GENERIC=y |
3374 | # CONFIG_SND_HDA_POWER_SAVE is not set | 3520 | CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 |
3375 | CONFIG_SND_HDSP=m | 3521 | CONFIG_SND_HDSP=m |
3376 | CONFIG_SND_HDSPM=m | 3522 | CONFIG_SND_HDSPM=m |
3377 | CONFIG_SND_ICE1712=m | 3523 | CONFIG_SND_ICE1712=m |
@@ -3411,10 +3557,13 @@ CONFIG_SND_FIREWIRE=y | |||
3411 | CONFIG_SND_FIREWIRE_LIB=m | 3557 | CONFIG_SND_FIREWIRE_LIB=m |
3412 | CONFIG_SND_FIREWIRE_SPEAKERS=m | 3558 | CONFIG_SND_FIREWIRE_SPEAKERS=m |
3413 | CONFIG_SND_ISIGHT=m | 3559 | CONFIG_SND_ISIGHT=m |
3560 | # CONFIG_SND_SCS1X is not set | ||
3414 | CONFIG_SND_SOC=m | 3561 | CONFIG_SND_SOC=m |
3562 | # CONFIG_SND_ATMEL_SOC is not set | ||
3415 | CONFIG_SND_SOC_I2C_AND_SPI=m | 3563 | CONFIG_SND_SOC_I2C_AND_SPI=m |
3416 | CONFIG_SND_SOC_ALL_CODECS=m | 3564 | CONFIG_SND_SOC_ALL_CODECS=m |
3417 | CONFIG_SND_SOC_WM_HUBS=m | 3565 | CONFIG_SND_SOC_WM_HUBS=m |
3566 | CONFIG_SND_SOC_WM_ADSP=m | ||
3418 | CONFIG_SND_SOC_AD1836=m | 3567 | CONFIG_SND_SOC_AD1836=m |
3419 | CONFIG_SND_SOC_AD193X=m | 3568 | CONFIG_SND_SOC_AD193X=m |
3420 | CONFIG_SND_SOC_AD73311=m | 3569 | CONFIG_SND_SOC_AD73311=m |
@@ -3426,9 +3575,11 @@ CONFIG_SND_SOC_AK4535=m | |||
3426 | CONFIG_SND_SOC_AK4641=m | 3575 | CONFIG_SND_SOC_AK4641=m |
3427 | CONFIG_SND_SOC_AK4642=m | 3576 | CONFIG_SND_SOC_AK4642=m |
3428 | CONFIG_SND_SOC_AK4671=m | 3577 | CONFIG_SND_SOC_AK4671=m |
3578 | CONFIG_SND_SOC_AK5386=m | ||
3429 | CONFIG_SND_SOC_ALC5623=m | 3579 | CONFIG_SND_SOC_ALC5623=m |
3430 | CONFIG_SND_SOC_ALC5632=m | 3580 | CONFIG_SND_SOC_ALC5632=m |
3431 | CONFIG_SND_SOC_CS42L51=m | 3581 | CONFIG_SND_SOC_CS42L51=m |
3582 | CONFIG_SND_SOC_CS42L52=m | ||
3432 | CONFIG_SND_SOC_CS42L73=m | 3583 | CONFIG_SND_SOC_CS42L73=m |
3433 | CONFIG_SND_SOC_CS4270=m | 3584 | CONFIG_SND_SOC_CS4270=m |
3434 | CONFIG_SND_SOC_CS4271=m | 3585 | CONFIG_SND_SOC_CS4271=m |
@@ -3436,8 +3587,14 @@ CONFIG_SND_SOC_CX20442=m | |||
3436 | CONFIG_SND_SOC_JZ4740_CODEC=m | 3587 | CONFIG_SND_SOC_JZ4740_CODEC=m |
3437 | CONFIG_SND_SOC_L3=m | 3588 | CONFIG_SND_SOC_L3=m |
3438 | CONFIG_SND_SOC_DA7210=m | 3589 | CONFIG_SND_SOC_DA7210=m |
3590 | CONFIG_SND_SOC_DA7213=m | ||
3591 | CONFIG_SND_SOC_DA732X=m | ||
3592 | CONFIG_SND_SOC_DA9055=m | ||
3439 | CONFIG_SND_SOC_DFBMCS320=m | 3593 | CONFIG_SND_SOC_DFBMCS320=m |
3594 | CONFIG_SND_SOC_ISABELLE=m | ||
3595 | CONFIG_SND_SOC_LM49453=m | ||
3440 | CONFIG_SND_SOC_MAX98088=m | 3596 | CONFIG_SND_SOC_MAX98088=m |
3597 | CONFIG_SND_SOC_MAX98090=m | ||
3441 | CONFIG_SND_SOC_MAX98095=m | 3598 | CONFIG_SND_SOC_MAX98095=m |
3442 | CONFIG_SND_SOC_MAX9850=m | 3599 | CONFIG_SND_SOC_MAX9850=m |
3443 | CONFIG_SND_SOC_PCM3008=m | 3600 | CONFIG_SND_SOC_PCM3008=m |
@@ -3446,6 +3603,8 @@ CONFIG_SND_SOC_SGTL5000=m | |||
3446 | CONFIG_SND_SOC_SPDIF=m | 3603 | CONFIG_SND_SOC_SPDIF=m |
3447 | CONFIG_SND_SOC_SSM2602=m | 3604 | CONFIG_SND_SOC_SSM2602=m |
3448 | CONFIG_SND_SOC_STA32X=m | 3605 | CONFIG_SND_SOC_STA32X=m |
3606 | CONFIG_SND_SOC_STA529=m | ||
3607 | CONFIG_SND_SOC_TAS5086=m | ||
3449 | CONFIG_SND_SOC_TLV320AIC23=m | 3608 | CONFIG_SND_SOC_TLV320AIC23=m |
3450 | CONFIG_SND_SOC_TLV320AIC26=m | 3609 | CONFIG_SND_SOC_TLV320AIC26=m |
3451 | CONFIG_SND_SOC_TLV320AIC32X4=m | 3610 | CONFIG_SND_SOC_TLV320AIC32X4=m |
@@ -3454,6 +3613,7 @@ CONFIG_SND_SOC_TLV320DAC33=m | |||
3454 | CONFIG_SND_SOC_UDA134X=m | 3613 | CONFIG_SND_SOC_UDA134X=m |
3455 | CONFIG_SND_SOC_UDA1380=m | 3614 | CONFIG_SND_SOC_UDA1380=m |
3456 | CONFIG_SND_SOC_WL1273=m | 3615 | CONFIG_SND_SOC_WL1273=m |
3616 | CONFIG_SND_SOC_WM0010=m | ||
3457 | CONFIG_SND_SOC_WM1250_EV1=m | 3617 | CONFIG_SND_SOC_WM1250_EV1=m |
3458 | CONFIG_SND_SOC_WM2000=m | 3618 | CONFIG_SND_SOC_WM2000=m |
3459 | CONFIG_SND_SOC_WM2200=m | 3619 | CONFIG_SND_SOC_WM2200=m |
@@ -3497,25 +3657,19 @@ CONFIG_SND_SOC_WM9090=m | |||
3497 | CONFIG_SND_SOC_LM4857=m | 3657 | CONFIG_SND_SOC_LM4857=m |
3498 | CONFIG_SND_SOC_MAX9768=m | 3658 | CONFIG_SND_SOC_MAX9768=m |
3499 | CONFIG_SND_SOC_MAX9877=m | 3659 | CONFIG_SND_SOC_MAX9877=m |
3660 | CONFIG_SND_SOC_ML26124=m | ||
3500 | CONFIG_SND_SOC_TPA6130A2=m | 3661 | CONFIG_SND_SOC_TPA6130A2=m |
3662 | # CONFIG_SND_SIMPLE_CARD is not set | ||
3501 | # CONFIG_SOUND_PRIME is not set | 3663 | # CONFIG_SOUND_PRIME is not set |
3502 | CONFIG_AC97_BUS=m | 3664 | CONFIG_AC97_BUS=m |
3503 | CONFIG_HID_SUPPORT=y | ||
3504 | CONFIG_HID=m | ||
3505 | CONFIG_HIDRAW=y | ||
3506 | 3665 | ||
3507 | # | 3666 | # |
3508 | # USB Input Devices | 3667 | # HID support |
3509 | # | 3668 | # |
3510 | CONFIG_USB_HID=m | 3669 | CONFIG_HID=m |
3511 | # CONFIG_HID_PID is not set | 3670 | CONFIG_HIDRAW=y |
3512 | # CONFIG_USB_HIDDEV is not set | 3671 | # CONFIG_UHID is not set |
3513 | 3672 | CONFIG_HID_GENERIC=m | |
3514 | # | ||
3515 | # USB HID Boot Protocol drivers | ||
3516 | # | ||
3517 | CONFIG_USB_KBD=m | ||
3518 | CONFIG_USB_MOUSE=m | ||
3519 | 3673 | ||
3520 | # | 3674 | # |
3521 | # Special HID drivers | 3675 | # Special HID drivers |
@@ -3523,6 +3677,8 @@ CONFIG_USB_MOUSE=m | |||
3523 | # CONFIG_HID_A4TECH is not set | 3677 | # CONFIG_HID_A4TECH is not set |
3524 | # CONFIG_HID_ACRUX is not set | 3678 | # CONFIG_HID_ACRUX is not set |
3525 | CONFIG_HID_APPLE=m | 3679 | CONFIG_HID_APPLE=m |
3680 | # CONFIG_HID_APPLEIR is not set | ||
3681 | # CONFIG_HID_AUREAL is not set | ||
3526 | # CONFIG_HID_BELKIN is not set | 3682 | # CONFIG_HID_BELKIN is not set |
3527 | # CONFIG_HID_CHERRY is not set | 3683 | # CONFIG_HID_CHERRY is not set |
3528 | # CONFIG_HID_CHICONY is not set | 3684 | # CONFIG_HID_CHICONY is not set |
@@ -3538,9 +3694,11 @@ CONFIG_HID_KEYTOUCH=m | |||
3538 | # CONFIG_HID_UCLOGIC is not set | 3694 | # CONFIG_HID_UCLOGIC is not set |
3539 | # CONFIG_HID_WALTOP is not set | 3695 | # CONFIG_HID_WALTOP is not set |
3540 | # CONFIG_HID_GYRATION is not set | 3696 | # CONFIG_HID_GYRATION is not set |
3697 | # CONFIG_HID_ICADE is not set | ||
3541 | # CONFIG_HID_TWINHAN is not set | 3698 | # CONFIG_HID_TWINHAN is not set |
3542 | # CONFIG_HID_KENSINGTON is not set | 3699 | # CONFIG_HID_KENSINGTON is not set |
3543 | CONFIG_HID_LCPOWER=m | 3700 | CONFIG_HID_LCPOWER=m |
3701 | # CONFIG_HID_LENOVO_TPKBD is not set | ||
3544 | # CONFIG_HID_LOGITECH is not set | 3702 | # CONFIG_HID_LOGITECH is not set |
3545 | CONFIG_HID_MAGICMOUSE=m | 3703 | CONFIG_HID_MAGICMOUSE=m |
3546 | # CONFIG_HID_MICROSOFT is not set | 3704 | # CONFIG_HID_MICROSOFT is not set |
@@ -3556,22 +3714,44 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y | |||
3556 | CONFIG_HID_PICOLCD_LCD=y | 3714 | CONFIG_HID_PICOLCD_LCD=y |
3557 | CONFIG_HID_PICOLCD_LEDS=y | 3715 | CONFIG_HID_PICOLCD_LEDS=y |
3558 | CONFIG_HID_PRIMAX=m | 3716 | CONFIG_HID_PRIMAX=m |
3717 | # CONFIG_HID_PS3REMOTE is not set | ||
3559 | CONFIG_HID_ROCCAT=m | 3718 | CONFIG_HID_ROCCAT=m |
3560 | # CONFIG_HID_SAITEK is not set | 3719 | # CONFIG_HID_SAITEK is not set |
3561 | # CONFIG_HID_SAMSUNG is not set | 3720 | # CONFIG_HID_SAMSUNG is not set |
3562 | CONFIG_HID_SONY=m | 3721 | CONFIG_HID_SONY=m |
3563 | CONFIG_HID_SPEEDLINK=m | 3722 | CONFIG_HID_SPEEDLINK=m |
3723 | # CONFIG_HID_STEELSERIES is not set | ||
3564 | # CONFIG_HID_SUNPLUS is not set | 3724 | # CONFIG_HID_SUNPLUS is not set |
3565 | # CONFIG_HID_GREENASIA is not set | 3725 | # CONFIG_HID_GREENASIA is not set |
3566 | CONFIG_HID_HYPERV_MOUSE=m | 3726 | CONFIG_HID_HYPERV_MOUSE=m |
3567 | # CONFIG_HID_SMARTJOYPLUS is not set | 3727 | # CONFIG_HID_SMARTJOYPLUS is not set |
3568 | # CONFIG_HID_TIVO is not set | 3728 | # CONFIG_HID_TIVO is not set |
3569 | # CONFIG_HID_TOPSEED is not set | 3729 | # CONFIG_HID_TOPSEED is not set |
3730 | # CONFIG_HID_THINGM is not set | ||
3570 | # CONFIG_HID_THRUSTMASTER is not set | 3731 | # CONFIG_HID_THRUSTMASTER is not set |
3571 | # CONFIG_HID_WACOM is not set | 3732 | # CONFIG_HID_WACOM is not set |
3572 | # CONFIG_HID_WIIMOTE is not set | 3733 | # CONFIG_HID_WIIMOTE is not set |
3573 | # CONFIG_HID_ZEROPLUS is not set | 3734 | # CONFIG_HID_ZEROPLUS is not set |
3574 | CONFIG_HID_ZYDACRON=m | 3735 | CONFIG_HID_ZYDACRON=m |
3736 | # CONFIG_HID_SENSOR_HUB is not set | ||
3737 | |||
3738 | # | ||
3739 | # USB HID support | ||
3740 | # | ||
3741 | CONFIG_USB_HID=m | ||
3742 | # CONFIG_HID_PID is not set | ||
3743 | # CONFIG_USB_HIDDEV is not set | ||
3744 | |||
3745 | # | ||
3746 | # USB HID Boot Protocol drivers | ||
3747 | # | ||
3748 | CONFIG_USB_KBD=m | ||
3749 | CONFIG_USB_MOUSE=m | ||
3750 | |||
3751 | # | ||
3752 | # I2C HID support | ||
3753 | # | ||
3754 | # CONFIG_I2C_HID is not set | ||
3575 | CONFIG_USB_ARCH_HAS_OHCI=y | 3755 | CONFIG_USB_ARCH_HAS_OHCI=y |
3576 | CONFIG_USB_ARCH_HAS_EHCI=y | 3756 | CONFIG_USB_ARCH_HAS_EHCI=y |
3577 | CONFIG_USB_ARCH_HAS_XHCI=y | 3757 | CONFIG_USB_ARCH_HAS_XHCI=y |
@@ -3585,8 +3765,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | |||
3585 | # | 3765 | # |
3586 | # Miscellaneous USB options | 3766 | # Miscellaneous USB options |
3587 | # | 3767 | # |
3588 | CONFIG_USB_DEVICEFS=y | 3768 | CONFIG_USB_DEFAULT_PERSIST=y |
3589 | CONFIG_USB_DEVICE_CLASS=y | ||
3590 | # CONFIG_USB_DYNAMIC_MINORS is not set | 3769 | # CONFIG_USB_DYNAMIC_MINORS is not set |
3591 | # CONFIG_USB_OTG_WHITELIST is not set | 3770 | # CONFIG_USB_OTG_WHITELIST is not set |
3592 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 3771 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
@@ -3603,6 +3782,8 @@ CONFIG_USB_XHCI_HCD=m | |||
3603 | CONFIG_USB_EHCI_HCD=m | 3782 | CONFIG_USB_EHCI_HCD=m |
3604 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 3783 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
3605 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 3784 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
3785 | CONFIG_USB_EHCI_PCI=m | ||
3786 | CONFIG_USB_EHCI_HCD_PLATFORM=m | ||
3606 | CONFIG_USB_OXU210HP_HCD=m | 3787 | CONFIG_USB_OXU210HP_HCD=m |
3607 | CONFIG_USB_ISP116X_HCD=m | 3788 | CONFIG_USB_ISP116X_HCD=m |
3608 | CONFIG_USB_ISP1760_HCD=m | 3789 | CONFIG_USB_ISP1760_HCD=m |
@@ -3610,7 +3791,6 @@ CONFIG_USB_ISP1362_HCD=m | |||
3610 | CONFIG_USB_OHCI_HCD=m | 3791 | CONFIG_USB_OHCI_HCD=m |
3611 | CONFIG_USB_OHCI_HCD_SSB=y | 3792 | CONFIG_USB_OHCI_HCD_SSB=y |
3612 | CONFIG_USB_OHCI_HCD_PLATFORM=y | 3793 | CONFIG_USB_OHCI_HCD_PLATFORM=y |
3613 | CONFIG_USB_EHCI_HCD_PLATFORM=y | ||
3614 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | 3794 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
3615 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | 3795 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set |
3616 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 3796 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
@@ -3618,6 +3798,7 @@ CONFIG_USB_UHCI_HCD=m | |||
3618 | CONFIG_USB_SL811_HCD=m | 3798 | CONFIG_USB_SL811_HCD=m |
3619 | CONFIG_USB_SL811_HCD_ISO=y | 3799 | CONFIG_USB_SL811_HCD_ISO=y |
3620 | CONFIG_USB_R8A66597_HCD=m | 3800 | CONFIG_USB_R8A66597_HCD=m |
3801 | CONFIG_USB_HCD_SSB=m | ||
3621 | 3802 | ||
3622 | # | 3803 | # |
3623 | # USB Device Class drivers | 3804 | # USB Device Class drivers |
@@ -3649,20 +3830,20 @@ CONFIG_USB_STORAGE_ONETOUCH=m | |||
3649 | CONFIG_USB_STORAGE_KARMA=m | 3830 | CONFIG_USB_STORAGE_KARMA=m |
3650 | CONFIG_USB_STORAGE_CYPRESS_ATACB=m | 3831 | CONFIG_USB_STORAGE_CYPRESS_ATACB=m |
3651 | CONFIG_USB_STORAGE_ENE_UB6250=m | 3832 | CONFIG_USB_STORAGE_ENE_UB6250=m |
3652 | CONFIG_USB_LIBUSUAL=y | ||
3653 | 3833 | ||
3654 | # | 3834 | # |
3655 | # USB Imaging devices | 3835 | # USB Imaging devices |
3656 | # | 3836 | # |
3657 | # CONFIG_USB_MDC800 is not set | 3837 | # CONFIG_USB_MDC800 is not set |
3658 | # CONFIG_USB_MICROTEK is not set | 3838 | # CONFIG_USB_MICROTEK is not set |
3839 | # CONFIG_USB_DWC3 is not set | ||
3840 | # CONFIG_USB_CHIPIDEA is not set | ||
3659 | 3841 | ||
3660 | # | 3842 | # |
3661 | # USB port drivers | 3843 | # USB port drivers |
3662 | # | 3844 | # |
3663 | CONFIG_USB_USS720=m | 3845 | CONFIG_USB_USS720=m |
3664 | CONFIG_USB_SERIAL=m | 3846 | CONFIG_USB_SERIAL=m |
3665 | CONFIG_USB_EZUSB=y | ||
3666 | CONFIG_USB_SERIAL_GENERIC=y | 3847 | CONFIG_USB_SERIAL_GENERIC=y |
3667 | CONFIG_USB_SERIAL_AIRCABLE=m | 3848 | CONFIG_USB_SERIAL_AIRCABLE=m |
3668 | CONFIG_USB_SERIAL_ARK3116=m | 3849 | CONFIG_USB_SERIAL_ARK3116=m |
@@ -3714,8 +3895,12 @@ CONFIG_USB_SERIAL_OPTION=m | |||
3714 | CONFIG_USB_SERIAL_OMNINET=m | 3895 | CONFIG_USB_SERIAL_OMNINET=m |
3715 | CONFIG_USB_SERIAL_OPTICON=m | 3896 | CONFIG_USB_SERIAL_OPTICON=m |
3716 | CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m | 3897 | CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m |
3898 | # CONFIG_USB_SERIAL_XSENS_MT is not set | ||
3717 | CONFIG_USB_SERIAL_ZIO=m | 3899 | CONFIG_USB_SERIAL_ZIO=m |
3900 | # CONFIG_USB_SERIAL_WISHBONE is not set | ||
3901 | # CONFIG_USB_SERIAL_ZTE is not set | ||
3718 | # CONFIG_USB_SERIAL_SSU100 is not set | 3902 | # CONFIG_USB_SERIAL_SSU100 is not set |
3903 | # CONFIG_USB_SERIAL_QT2 is not set | ||
3719 | # CONFIG_USB_SERIAL_DEBUG is not set | 3904 | # CONFIG_USB_SERIAL_DEBUG is not set |
3720 | 3905 | ||
3721 | # | 3906 | # |
@@ -3741,19 +3926,24 @@ CONFIG_USB_IDMOUSE=m | |||
3741 | CONFIG_USB_TEST=m | 3926 | CONFIG_USB_TEST=m |
3742 | CONFIG_USB_ISIGHTFW=m | 3927 | CONFIG_USB_ISIGHTFW=m |
3743 | # CONFIG_USB_YUREX is not set | 3928 | # CONFIG_USB_YUREX is not set |
3929 | CONFIG_USB_EZUSB_FX2=m | ||
3930 | # CONFIG_USB_HSIC_USB3503 is not set | ||
3744 | CONFIG_USB_ATM=m | 3931 | CONFIG_USB_ATM=m |
3745 | CONFIG_USB_SPEEDTOUCH=m | 3932 | CONFIG_USB_SPEEDTOUCH=m |
3746 | CONFIG_USB_CXACRU=m | 3933 | CONFIG_USB_CXACRU=m |
3747 | CONFIG_USB_UEAGLEATM=m | 3934 | CONFIG_USB_UEAGLEATM=m |
3748 | CONFIG_USB_XUSBATM=m | 3935 | CONFIG_USB_XUSBATM=m |
3749 | # CONFIG_USB_GADGET is not set | 3936 | CONFIG_USB_PHY=y |
3750 | |||
3751 | # | ||
3752 | # OTG and related infrastructure | ||
3753 | # | ||
3754 | CONFIG_USB_OTG_UTILS=y | ||
3755 | CONFIG_USB_GPIO_VBUS=m | ||
3756 | CONFIG_NOP_USB_XCEIV=m | 3937 | CONFIG_NOP_USB_XCEIV=m |
3938 | # CONFIG_OMAP_CONTROL_USB is not set | ||
3939 | # CONFIG_OMAP_USB3 is not set | ||
3940 | # CONFIG_SAMSUNG_USBPHY is not set | ||
3941 | # CONFIG_SAMSUNG_USB2PHY is not set | ||
3942 | # CONFIG_SAMSUNG_USB3PHY is not set | ||
3943 | CONFIG_USB_GPIO_VBUS=m | ||
3944 | # CONFIG_USB_ISP1301 is not set | ||
3945 | # CONFIG_USB_RCAR_PHY is not set | ||
3946 | # CONFIG_USB_GADGET is not set | ||
3757 | # CONFIG_UWB is not set | 3947 | # CONFIG_UWB is not set |
3758 | CONFIG_MMC=m | 3948 | CONFIG_MMC=m |
3759 | # CONFIG_MMC_DEBUG is not set | 3949 | # CONFIG_MMC_DEBUG is not set |
@@ -3775,6 +3965,7 @@ CONFIG_MMC_TEST=m | |||
3775 | CONFIG_MMC_SDHCI=m | 3965 | CONFIG_MMC_SDHCI=m |
3776 | CONFIG_MMC_SDHCI_PCI=m | 3966 | CONFIG_MMC_SDHCI_PCI=m |
3777 | CONFIG_MMC_RICOH_MMC=y | 3967 | CONFIG_MMC_RICOH_MMC=y |
3968 | # CONFIG_MMC_SDHCI_ACPI is not set | ||
3778 | CONFIG_MMC_SDHCI_PLTFM=m | 3969 | CONFIG_MMC_SDHCI_PLTFM=m |
3779 | CONFIG_MMC_WBSD=m | 3970 | CONFIG_MMC_WBSD=m |
3780 | CONFIG_MMC_TIFM_SD=m | 3971 | CONFIG_MMC_TIFM_SD=m |
@@ -3804,12 +3995,14 @@ CONFIG_LEDS_CLASS=y | |||
3804 | # LED drivers | 3995 | # LED drivers |
3805 | # | 3996 | # |
3806 | CONFIG_LEDS_LM3530=m | 3997 | CONFIG_LEDS_LM3530=m |
3998 | # CONFIG_LEDS_LM3642 is not set | ||
3807 | CONFIG_LEDS_PCA9532=m | 3999 | CONFIG_LEDS_PCA9532=m |
3808 | # CONFIG_LEDS_PCA9532_GPIO is not set | 4000 | # CONFIG_LEDS_PCA9532_GPIO is not set |
3809 | CONFIG_LEDS_GPIO=m | 4001 | CONFIG_LEDS_GPIO=m |
3810 | CONFIG_LEDS_LP3944=m | 4002 | CONFIG_LEDS_LP3944=m |
3811 | # CONFIG_LEDS_LP5521 is not set | 4003 | # CONFIG_LEDS_LP5521 is not set |
3812 | # CONFIG_LEDS_LP5523 is not set | 4004 | # CONFIG_LEDS_LP5523 is not set |
4005 | # CONFIG_LEDS_LP5562 is not set | ||
3813 | CONFIG_LEDS_CLEVO_MAIL=m | 4006 | CONFIG_LEDS_CLEVO_MAIL=m |
3814 | CONFIG_LEDS_PCA955X=m | 4007 | CONFIG_LEDS_PCA955X=m |
3815 | # CONFIG_LEDS_PCA9633 is not set | 4008 | # CONFIG_LEDS_PCA9633 is not set |
@@ -3819,21 +4012,27 @@ CONFIG_LEDS_INTEL_SS4200=m | |||
3819 | CONFIG_LEDS_LT3593=m | 4012 | CONFIG_LEDS_LT3593=m |
3820 | CONFIG_LEDS_DELL_NETBOOKS=m | 4013 | CONFIG_LEDS_DELL_NETBOOKS=m |
3821 | # CONFIG_LEDS_TCA6507 is not set | 4014 | # CONFIG_LEDS_TCA6507 is not set |
4015 | # CONFIG_LEDS_LM355x is not set | ||
3822 | # CONFIG_LEDS_OT200 is not set | 4016 | # CONFIG_LEDS_OT200 is not set |
3823 | CONFIG_LEDS_TRIGGERS=y | 4017 | # CONFIG_LEDS_BLINKM is not set |
3824 | 4018 | ||
3825 | # | 4019 | # |
3826 | # LED Triggers | 4020 | # LED Triggers |
3827 | # | 4021 | # |
4022 | CONFIG_LEDS_TRIGGERS=y | ||
3828 | CONFIG_LEDS_TRIGGER_TIMER=m | 4023 | CONFIG_LEDS_TRIGGER_TIMER=m |
4024 | # CONFIG_LEDS_TRIGGER_ONESHOT is not set | ||
3829 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | 4025 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m |
3830 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m | 4026 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m |
4027 | # CONFIG_LEDS_TRIGGER_CPU is not set | ||
3831 | CONFIG_LEDS_TRIGGER_GPIO=m | 4028 | CONFIG_LEDS_TRIGGER_GPIO=m |
3832 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | 4029 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m |
3833 | 4030 | ||
3834 | # | 4031 | # |
3835 | # iptables trigger is under Netfilter config (LED target) | 4032 | # iptables trigger is under Netfilter config (LED target) |
3836 | # | 4033 | # |
4034 | # CONFIG_LEDS_TRIGGER_TRANSIENT is not set | ||
4035 | # CONFIG_LEDS_TRIGGER_CAMERA is not set | ||
3837 | CONFIG_ACCESSIBILITY=y | 4036 | CONFIG_ACCESSIBILITY=y |
3838 | # CONFIG_A11Y_BRAILLE_CONSOLE is not set | 4037 | # CONFIG_A11Y_BRAILLE_CONSOLE is not set |
3839 | CONFIG_INFINIBAND=m | 4038 | CONFIG_INFINIBAND=m |
@@ -3851,16 +4050,19 @@ CONFIG_INFINIBAND_CXGB4=m | |||
3851 | CONFIG_MLX4_INFINIBAND=m | 4050 | CONFIG_MLX4_INFINIBAND=m |
3852 | CONFIG_INFINIBAND_NES=m | 4051 | CONFIG_INFINIBAND_NES=m |
3853 | # CONFIG_INFINIBAND_NES_DEBUG is not set | 4052 | # CONFIG_INFINIBAND_NES_DEBUG is not set |
4053 | # CONFIG_INFINIBAND_OCRDMA is not set | ||
3854 | CONFIG_INFINIBAND_IPOIB=m | 4054 | CONFIG_INFINIBAND_IPOIB=m |
3855 | # CONFIG_INFINIBAND_IPOIB_CM is not set | 4055 | # CONFIG_INFINIBAND_IPOIB_CM is not set |
3856 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 4056 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set |
3857 | CONFIG_INFINIBAND_SRP=m | 4057 | CONFIG_INFINIBAND_SRP=m |
3858 | CONFIG_INFINIBAND_SRPT=m | 4058 | CONFIG_INFINIBAND_SRPT=m |
3859 | CONFIG_INFINIBAND_ISER=m | 4059 | CONFIG_INFINIBAND_ISER=m |
4060 | CONFIG_INFINIBAND_ISERT=m | ||
3860 | # CONFIG_EDAC is not set | 4061 | # CONFIG_EDAC is not set |
3861 | CONFIG_RTC_LIB=y | 4062 | CONFIG_RTC_LIB=y |
3862 | CONFIG_RTC_CLASS=y | 4063 | CONFIG_RTC_CLASS=y |
3863 | CONFIG_RTC_HCTOSYS=y | 4064 | CONFIG_RTC_HCTOSYS=y |
4065 | CONFIG_RTC_SYSTOHC=y | ||
3864 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | 4066 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" |
3865 | # CONFIG_RTC_DEBUG is not set | 4067 | # CONFIG_RTC_DEBUG is not set |
3866 | 4068 | ||
@@ -3885,6 +4087,7 @@ CONFIG_RTC_DRV_RS5C372=m | |||
3885 | CONFIG_RTC_DRV_ISL1208=m | 4087 | CONFIG_RTC_DRV_ISL1208=m |
3886 | # CONFIG_RTC_DRV_ISL12022 is not set | 4088 | # CONFIG_RTC_DRV_ISL12022 is not set |
3887 | CONFIG_RTC_DRV_X1205=m | 4089 | CONFIG_RTC_DRV_X1205=m |
4090 | # CONFIG_RTC_DRV_PCF8523 is not set | ||
3888 | CONFIG_RTC_DRV_PCF8563=m | 4091 | CONFIG_RTC_DRV_PCF8563=m |
3889 | CONFIG_RTC_DRV_PCF8583=m | 4092 | CONFIG_RTC_DRV_PCF8583=m |
3890 | CONFIG_RTC_DRV_M41T80=m | 4093 | CONFIG_RTC_DRV_M41T80=m |
@@ -3909,6 +4112,7 @@ CONFIG_RTC_DRV_R9701=m | |||
3909 | CONFIG_RTC_DRV_RS5C348=m | 4112 | CONFIG_RTC_DRV_RS5C348=m |
3910 | CONFIG_RTC_DRV_DS3234=m | 4113 | CONFIG_RTC_DRV_DS3234=m |
3911 | CONFIG_RTC_DRV_PCF2123=m | 4114 | CONFIG_RTC_DRV_PCF2123=m |
4115 | # CONFIG_RTC_DRV_RX4581 is not set | ||
3912 | 4116 | ||
3913 | # | 4117 | # |
3914 | # Platform RTC drivers | 4118 | # Platform RTC drivers |
@@ -3926,10 +4130,16 @@ CONFIG_RTC_DRV_MSM6242=m | |||
3926 | CONFIG_RTC_DRV_BQ4802=m | 4130 | CONFIG_RTC_DRV_BQ4802=m |
3927 | CONFIG_RTC_DRV_RP5C01=m | 4131 | CONFIG_RTC_DRV_RP5C01=m |
3928 | CONFIG_RTC_DRV_V3020=m | 4132 | CONFIG_RTC_DRV_V3020=m |
4133 | # CONFIG_RTC_DRV_DS2404 is not set | ||
3929 | 4134 | ||
3930 | # | 4135 | # |
3931 | # on-CPU RTC drivers | 4136 | # on-CPU RTC drivers |
3932 | # | 4137 | # |
4138 | |||
4139 | # | ||
4140 | # HID Sensor RTC drivers | ||
4141 | # | ||
4142 | # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set | ||
3933 | CONFIG_DMADEVICES=y | 4143 | CONFIG_DMADEVICES=y |
3934 | # CONFIG_DMADEVICES_DEBUG is not set | 4144 | # CONFIG_DMADEVICES_DEBUG is not set |
3935 | 4145 | ||
@@ -3938,9 +4148,11 @@ CONFIG_DMADEVICES=y | |||
3938 | # | 4148 | # |
3939 | # CONFIG_INTEL_MID_DMAC is not set | 4149 | # CONFIG_INTEL_MID_DMAC is not set |
3940 | CONFIG_INTEL_IOATDMA=m | 4150 | CONFIG_INTEL_IOATDMA=m |
4151 | # CONFIG_DW_DMAC is not set | ||
3941 | CONFIG_TIMB_DMA=m | 4152 | CONFIG_TIMB_DMA=m |
3942 | CONFIG_PCH_DMA=m | 4153 | CONFIG_PCH_DMA=m |
3943 | CONFIG_DMA_ENGINE=y | 4154 | CONFIG_DMA_ENGINE=y |
4155 | CONFIG_DMA_ACPI=y | ||
3944 | 4156 | ||
3945 | # | 4157 | # |
3946 | # DMA Clients | 4158 | # DMA Clients |
@@ -3959,12 +4171,14 @@ CONFIG_UIO=m | |||
3959 | CONFIG_UIO_CIF=m | 4171 | CONFIG_UIO_CIF=m |
3960 | CONFIG_UIO_PDRV=m | 4172 | CONFIG_UIO_PDRV=m |
3961 | CONFIG_UIO_PDRV_GENIRQ=m | 4173 | CONFIG_UIO_PDRV_GENIRQ=m |
4174 | # CONFIG_UIO_DMEM_GENIRQ is not set | ||
3962 | CONFIG_UIO_AEC=m | 4175 | CONFIG_UIO_AEC=m |
3963 | CONFIG_UIO_SERCOS3=m | 4176 | CONFIG_UIO_SERCOS3=m |
3964 | # CONFIG_UIO_PCI_GENERIC is not set | 4177 | # CONFIG_UIO_PCI_GENERIC is not set |
3965 | CONFIG_UIO_NETX=m | 4178 | CONFIG_UIO_NETX=m |
4179 | # CONFIG_VFIO is not set | ||
4180 | CONFIG_VIRT_DRIVERS=y | ||
3966 | CONFIG_VIRTIO=m | 4181 | CONFIG_VIRTIO=m |
3967 | CONFIG_VIRTIO_RING=m | ||
3968 | 4182 | ||
3969 | # | 4183 | # |
3970 | # Virtio drivers | 4184 | # Virtio drivers |
@@ -3972,16 +4186,54 @@ CONFIG_VIRTIO_RING=m | |||
3972 | CONFIG_VIRTIO_PCI=m | 4186 | CONFIG_VIRTIO_PCI=m |
3973 | CONFIG_VIRTIO_BALLOON=m | 4187 | CONFIG_VIRTIO_BALLOON=m |
3974 | CONFIG_VIRTIO_MMIO=m | 4188 | CONFIG_VIRTIO_MMIO=m |
4189 | # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set | ||
3975 | 4190 | ||
3976 | # | 4191 | # |
3977 | # Microsoft Hyper-V guest support | 4192 | # Microsoft Hyper-V guest support |
3978 | # | 4193 | # |
3979 | CONFIG_HYPERV=m | 4194 | CONFIG_HYPERV=m |
3980 | CONFIG_HYPERV_UTILS=m | 4195 | CONFIG_HYPERV_UTILS=m |
4196 | CONFIG_HYPERV_BALLOON=m | ||
3981 | # CONFIG_STAGING is not set | 4197 | # CONFIG_STAGING is not set |
3982 | # CONFIG_X86_PLATFORM_DEVICES is not set | 4198 | CONFIG_X86_PLATFORM_DEVICES=y |
4199 | # CONFIG_ACER_WMI is not set | ||
4200 | # CONFIG_ACERHDF is not set | ||
4201 | # CONFIG_ASUS_LAPTOP is not set | ||
4202 | # CONFIG_CHROMEOS_LAPTOP is not set | ||
4203 | # CONFIG_DELL_LAPTOP is not set | ||
4204 | # CONFIG_DELL_WMI is not set | ||
4205 | CONFIG_DELL_WMI_AIO=m | ||
4206 | # CONFIG_FUJITSU_LAPTOP is not set | ||
4207 | # CONFIG_FUJITSU_TABLET is not set | ||
4208 | # CONFIG_AMILO_RFKILL is not set | ||
4209 | # CONFIG_TC1100_WMI is not set | ||
4210 | # CONFIG_HP_ACCEL is not set | ||
4211 | # CONFIG_HP_WMI is not set | ||
4212 | # CONFIG_MSI_LAPTOP is not set | ||
4213 | # CONFIG_PANASONIC_LAPTOP is not set | ||
4214 | # CONFIG_COMPAL_LAPTOP is not set | ||
4215 | # CONFIG_SONY_LAPTOP is not set | ||
4216 | # CONFIG_IDEAPAD_LAPTOP is not set | ||
4217 | # CONFIG_THINKPAD_ACPI is not set | ||
4218 | # CONFIG_SENSORS_HDAPS is not set | ||
4219 | # CONFIG_INTEL_MENLOW is not set | ||
4220 | # CONFIG_EEEPC_LAPTOP is not set | ||
4221 | # CONFIG_ASUS_WMI is not set | ||
3983 | CONFIG_ACPI_WMI=m | 4222 | CONFIG_ACPI_WMI=m |
4223 | # CONFIG_MSI_WMI is not set | ||
4224 | # CONFIG_TOPSTAR_LAPTOP is not set | ||
4225 | # CONFIG_ACPI_TOSHIBA is not set | ||
4226 | # CONFIG_TOSHIBA_BT_RFKILL is not set | ||
4227 | # CONFIG_ACPI_CMPC is not set | ||
4228 | # CONFIG_INTEL_IPS is not set | ||
4229 | # CONFIG_IBM_RTL is not set | ||
4230 | # CONFIG_XO15_EBOOK is not set | ||
4231 | # CONFIG_SAMSUNG_LAPTOP is not set | ||
3984 | CONFIG_MXM_WMI=m | 4232 | CONFIG_MXM_WMI=m |
4233 | # CONFIG_INTEL_OAKTRAIL is not set | ||
4234 | # CONFIG_SAMSUNG_Q10 is not set | ||
4235 | # CONFIG_APPLE_GMUX is not set | ||
4236 | # CONFIG_PVPANIC is not set | ||
3985 | 4237 | ||
3986 | # | 4238 | # |
3987 | # Hardware Spinlock drivers | 4239 | # Hardware Spinlock drivers |
@@ -3990,6 +4242,7 @@ CONFIG_CLKSRC_I8253=y | |||
3990 | CONFIG_CLKEVT_I8253=y | 4242 | CONFIG_CLKEVT_I8253=y |
3991 | CONFIG_I8253_LOCK=y | 4243 | CONFIG_I8253_LOCK=y |
3992 | CONFIG_CLKBLD_I8253=y | 4244 | CONFIG_CLKBLD_I8253=y |
4245 | # CONFIG_MAILBOX is not set | ||
3993 | CONFIG_IOMMU_API=y | 4246 | CONFIG_IOMMU_API=y |
3994 | CONFIG_IOMMU_SUPPORT=y | 4247 | CONFIG_IOMMU_SUPPORT=y |
3995 | CONFIG_DMAR_TABLE=y | 4248 | CONFIG_DMAR_TABLE=y |
@@ -3998,14 +4251,21 @@ CONFIG_INTEL_IOMMU=y | |||
3998 | CONFIG_INTEL_IOMMU_FLOPPY_WA=y | 4251 | CONFIG_INTEL_IOMMU_FLOPPY_WA=y |
3999 | 4252 | ||
4000 | # | 4253 | # |
4001 | # Remoteproc drivers (EXPERIMENTAL) | 4254 | # Remoteproc drivers |
4002 | # | 4255 | # |
4256 | # CONFIG_STE_MODEM_RPROC is not set | ||
4003 | 4257 | ||
4004 | # | 4258 | # |
4005 | # Rpmsg drivers (EXPERIMENTAL) | 4259 | # Rpmsg drivers |
4006 | # | 4260 | # |
4007 | CONFIG_VIRT_DRIVERS=y | ||
4008 | # CONFIG_PM_DEVFREQ is not set | 4261 | # CONFIG_PM_DEVFREQ is not set |
4262 | # CONFIG_EXTCON is not set | ||
4263 | # CONFIG_MEMORY is not set | ||
4264 | # CONFIG_IIO is not set | ||
4265 | # CONFIG_VME_BUS is not set | ||
4266 | # CONFIG_PWM is not set | ||
4267 | # CONFIG_IPACK_BUS is not set | ||
4268 | # CONFIG_RESET_CONTROLLER is not set | ||
4009 | 4269 | ||
4010 | # | 4270 | # |
4011 | # Firmware Drivers | 4271 | # Firmware Drivers |
@@ -4035,7 +4295,6 @@ CONFIG_EXT3_FS_XATTR=y | |||
4035 | CONFIG_EXT3_FS_POSIX_ACL=y | 4295 | CONFIG_EXT3_FS_POSIX_ACL=y |
4036 | CONFIG_EXT3_FS_SECURITY=y | 4296 | CONFIG_EXT3_FS_SECURITY=y |
4037 | CONFIG_EXT4_FS=m | 4297 | CONFIG_EXT4_FS=m |
4038 | CONFIG_EXT4_FS_XATTR=y | ||
4039 | CONFIG_EXT4_FS_POSIX_ACL=y | 4298 | CONFIG_EXT4_FS_POSIX_ACL=y |
4040 | CONFIG_EXT4_FS_SECURITY=y | 4299 | CONFIG_EXT4_FS_SECURITY=y |
4041 | # CONFIG_EXT4_DEBUG is not set | 4300 | # CONFIG_EXT4_DEBUG is not set |
@@ -4068,6 +4327,8 @@ CONFIG_OCFS2_DEBUG_MASKLOG=y | |||
4068 | CONFIG_BTRFS_FS=m | 4327 | CONFIG_BTRFS_FS=m |
4069 | CONFIG_BTRFS_FS_POSIX_ACL=y | 4328 | CONFIG_BTRFS_FS_POSIX_ACL=y |
4070 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set | 4329 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set |
4330 | # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set | ||
4331 | # CONFIG_BTRFS_DEBUG is not set | ||
4071 | CONFIG_NILFS2_FS=m | 4332 | CONFIG_NILFS2_FS=m |
4072 | CONFIG_FS_POSIX_ACL=y | 4333 | CONFIG_FS_POSIX_ACL=y |
4073 | CONFIG_EXPORTFS=m | 4334 | CONFIG_EXPORTFS=m |
@@ -4140,6 +4401,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
4140 | # CONFIG_ADFS_FS is not set | 4401 | # CONFIG_ADFS_FS is not set |
4141 | # CONFIG_AFFS_FS is not set | 4402 | # CONFIG_AFFS_FS is not set |
4142 | CONFIG_ECRYPT_FS=m | 4403 | CONFIG_ECRYPT_FS=m |
4404 | # CONFIG_ECRYPT_FS_MESSAGING is not set | ||
4143 | CONFIG_HFS_FS=m | 4405 | CONFIG_HFS_FS=m |
4144 | CONFIG_HFSPLUS_FS=m | 4406 | CONFIG_HFSPLUS_FS=m |
4145 | # CONFIG_BEFS_FS is not set | 4407 | # CONFIG_BEFS_FS is not set |
@@ -4163,11 +4425,9 @@ CONFIG_JFFS2_CMODE_PRIORITY=y | |||
4163 | # CONFIG_JFFS2_CMODE_SIZE is not set | 4425 | # CONFIG_JFFS2_CMODE_SIZE is not set |
4164 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set | 4426 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set |
4165 | CONFIG_UBIFS_FS=m | 4427 | CONFIG_UBIFS_FS=m |
4166 | CONFIG_UBIFS_FS_XATTR=y | ||
4167 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | 4428 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set |
4168 | CONFIG_UBIFS_FS_LZO=y | 4429 | CONFIG_UBIFS_FS_LZO=y |
4169 | CONFIG_UBIFS_FS_ZLIB=y | 4430 | CONFIG_UBIFS_FS_ZLIB=y |
4170 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
4171 | CONFIG_LOGFS=m | 4431 | CONFIG_LOGFS=m |
4172 | CONFIG_CRAMFS=m | 4432 | CONFIG_CRAMFS=m |
4173 | CONFIG_SQUASHFS=m | 4433 | CONFIG_SQUASHFS=m |
@@ -4190,18 +4450,26 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y | |||
4190 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | 4450 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set |
4191 | CONFIG_ROMFS_ON_BLOCK=y | 4451 | CONFIG_ROMFS_ON_BLOCK=y |
4192 | CONFIG_PSTORE=y | 4452 | CONFIG_PSTORE=y |
4453 | # CONFIG_PSTORE_CONSOLE is not set | ||
4454 | # CONFIG_PSTORE_RAM is not set | ||
4193 | CONFIG_SYSV_FS=m | 4455 | CONFIG_SYSV_FS=m |
4194 | CONFIG_UFS_FS=m | 4456 | CONFIG_UFS_FS=m |
4195 | # CONFIG_UFS_FS_WRITE is not set | 4457 | # CONFIG_UFS_FS_WRITE is not set |
4196 | # CONFIG_UFS_DEBUG is not set | 4458 | # CONFIG_UFS_DEBUG is not set |
4197 | CONFIG_EXOFS_FS=m | 4459 | CONFIG_EXOFS_FS=m |
4198 | # CONFIG_EXOFS_DEBUG is not set | 4460 | # CONFIG_EXOFS_DEBUG is not set |
4461 | CONFIG_F2FS_FS=m | ||
4462 | CONFIG_F2FS_STAT_FS=y | ||
4463 | CONFIG_F2FS_FS_XATTR=y | ||
4464 | CONFIG_F2FS_FS_POSIX_ACL=y | ||
4199 | CONFIG_ORE=m | 4465 | CONFIG_ORE=m |
4200 | CONFIG_NETWORK_FILESYSTEMS=y | 4466 | CONFIG_NETWORK_FILESYSTEMS=y |
4201 | CONFIG_NFS_FS=m | 4467 | CONFIG_NFS_FS=m |
4202 | CONFIG_NFS_V3=y | 4468 | CONFIG_NFS_V2=m |
4469 | CONFIG_NFS_V3=m | ||
4203 | # CONFIG_NFS_V3_ACL is not set | 4470 | # CONFIG_NFS_V3_ACL is not set |
4204 | CONFIG_NFS_V4=y | 4471 | CONFIG_NFS_V4=m |
4472 | # CONFIG_NFS_SWAP is not set | ||
4205 | # CONFIG_NFS_V4_1 is not set | 4473 | # CONFIG_NFS_V4_1 is not set |
4206 | # CONFIG_NFS_FSCACHE is not set | 4474 | # CONFIG_NFS_FSCACHE is not set |
4207 | # CONFIG_NFS_USE_LEGACY_DNS is not set | 4475 | # CONFIG_NFS_USE_LEGACY_DNS is not set |
@@ -4227,10 +4495,12 @@ CONFIG_CIFS=m | |||
4227 | # CONFIG_CIFS_UPCALL is not set | 4495 | # CONFIG_CIFS_UPCALL is not set |
4228 | CONFIG_CIFS_XATTR=y | 4496 | CONFIG_CIFS_XATTR=y |
4229 | CONFIG_CIFS_POSIX=y | 4497 | CONFIG_CIFS_POSIX=y |
4498 | CONFIG_CIFS_ACL=y | ||
4499 | CONFIG_CIFS_DEBUG=y | ||
4230 | # CONFIG_CIFS_DEBUG2 is not set | 4500 | # CONFIG_CIFS_DEBUG2 is not set |
4231 | CONFIG_CIFS_DFS_UPCALL=y | 4501 | CONFIG_CIFS_DFS_UPCALL=y |
4502 | # CONFIG_CIFS_SMB2 is not set | ||
4232 | # CONFIG_CIFS_FSCACHE is not set | 4503 | # CONFIG_CIFS_FSCACHE is not set |
4233 | CONFIG_CIFS_ACL=y | ||
4234 | # CONFIG_NCP_FS is not set | 4504 | # CONFIG_NCP_FS is not set |
4235 | # CONFIG_CODA_FS is not set | 4505 | # CONFIG_CODA_FS is not set |
4236 | # CONFIG_AFS_FS is not set | 4506 | # CONFIG_AFS_FS is not set |
@@ -4276,6 +4546,17 @@ CONFIG_NLS_ISO8859_14=m | |||
4276 | CONFIG_NLS_ISO8859_15=m | 4546 | CONFIG_NLS_ISO8859_15=m |
4277 | CONFIG_NLS_KOI8_R=m | 4547 | CONFIG_NLS_KOI8_R=m |
4278 | CONFIG_NLS_KOI8_U=m | 4548 | CONFIG_NLS_KOI8_U=m |
4549 | CONFIG_NLS_MAC_ROMAN=m | ||
4550 | CONFIG_NLS_MAC_CELTIC=m | ||
4551 | CONFIG_NLS_MAC_CENTEURO=m | ||
4552 | CONFIG_NLS_MAC_CROATIAN=m | ||
4553 | CONFIG_NLS_MAC_CYRILLIC=m | ||
4554 | CONFIG_NLS_MAC_GAELIC=m | ||
4555 | CONFIG_NLS_MAC_GREEK=m | ||
4556 | CONFIG_NLS_MAC_ICELAND=m | ||
4557 | CONFIG_NLS_MAC_INUIT=m | ||
4558 | CONFIG_NLS_MAC_ROMANIAN=m | ||
4559 | CONFIG_NLS_MAC_TURKISH=m | ||
4279 | CONFIG_NLS_UTF8=m | 4560 | CONFIG_NLS_UTF8=m |
4280 | CONFIG_DLM=m | 4561 | CONFIG_DLM=m |
4281 | # CONFIG_DLM_DEBUG is not set | 4562 | # CONFIG_DLM_DEBUG is not set |
@@ -4291,6 +4572,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
4291 | CONFIG_FRAME_WARN=1024 | 4572 | CONFIG_FRAME_WARN=1024 |
4292 | CONFIG_MAGIC_SYSRQ=y | 4573 | CONFIG_MAGIC_SYSRQ=y |
4293 | # CONFIG_STRIP_ASM_SYMS is not set | 4574 | # CONFIG_STRIP_ASM_SYMS is not set |
4575 | # CONFIG_READABLE_ASM is not set | ||
4294 | # CONFIG_UNUSED_SYMBOLS is not set | 4576 | # CONFIG_UNUSED_SYMBOLS is not set |
4295 | CONFIG_DEBUG_FS=y | 4577 | CONFIG_DEBUG_FS=y |
4296 | # CONFIG_HEADERS_CHECK is not set | 4578 | # CONFIG_HEADERS_CHECK is not set |
@@ -4303,12 +4585,15 @@ CONFIG_HARDLOCKUP_DETECTOR=y | |||
4303 | CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 | 4585 | CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 |
4304 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 4586 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
4305 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 4587 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
4588 | # CONFIG_PANIC_ON_OOPS is not set | ||
4589 | CONFIG_PANIC_ON_OOPS_VALUE=0 | ||
4306 | # CONFIG_DETECT_HUNG_TASK is not set | 4590 | # CONFIG_DETECT_HUNG_TASK is not set |
4307 | CONFIG_SCHED_DEBUG=y | 4591 | CONFIG_SCHED_DEBUG=y |
4308 | CONFIG_SCHEDSTATS=y | 4592 | CONFIG_SCHEDSTATS=y |
4309 | CONFIG_TIMER_STATS=y | 4593 | CONFIG_TIMER_STATS=y |
4310 | # CONFIG_DEBUG_OBJECTS is not set | 4594 | # CONFIG_DEBUG_OBJECTS is not set |
4311 | # CONFIG_SLUB_STATS is not set | 4595 | # CONFIG_SLUB_STATS is not set |
4596 | CONFIG_HAVE_DEBUG_KMEMLEAK=y | ||
4312 | # CONFIG_DEBUG_KMEMLEAK is not set | 4597 | # CONFIG_DEBUG_KMEMLEAK is not set |
4313 | # CONFIG_DEBUG_RT_MUTEXES is not set | 4598 | # CONFIG_DEBUG_RT_MUTEXES is not set |
4314 | # CONFIG_RT_MUTEX_TESTER is not set | 4599 | # CONFIG_RT_MUTEX_TESTER is not set |
@@ -4316,7 +4601,6 @@ CONFIG_TIMER_STATS=y | |||
4316 | # CONFIG_DEBUG_MUTEXES is not set | 4601 | # CONFIG_DEBUG_MUTEXES is not set |
4317 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 4602 | # CONFIG_DEBUG_LOCK_ALLOC is not set |
4318 | # CONFIG_PROVE_LOCKING is not set | 4603 | # CONFIG_PROVE_LOCKING is not set |
4319 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
4320 | # CONFIG_LOCK_STAT is not set | 4604 | # CONFIG_LOCK_STAT is not set |
4321 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set | 4605 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set |
4322 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 4606 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
@@ -4338,6 +4622,11 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
4338 | CONFIG_ARCH_WANT_FRAME_POINTERS=y | 4622 | CONFIG_ARCH_WANT_FRAME_POINTERS=y |
4339 | CONFIG_FRAME_POINTER=y | 4623 | CONFIG_FRAME_POINTER=y |
4340 | # CONFIG_BOOT_PRINTK_DELAY is not set | 4624 | # CONFIG_BOOT_PRINTK_DELAY is not set |
4625 | |||
4626 | # | ||
4627 | # RCU Debugging | ||
4628 | # | ||
4629 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
4341 | # CONFIG_RCU_TORTURE_TEST is not set | 4630 | # CONFIG_RCU_TORTURE_TEST is not set |
4342 | CONFIG_RCU_CPU_STALL_TIMEOUT=60 | 4631 | CONFIG_RCU_CPU_STALL_TIMEOUT=60 |
4343 | # CONFIG_RCU_CPU_STALL_INFO is not set | 4632 | # CONFIG_RCU_CPU_STALL_INFO is not set |
@@ -4348,9 +4637,11 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 | |||
4348 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 4637 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
4349 | # CONFIG_DEBUG_PER_CPU_MAPS is not set | 4638 | # CONFIG_DEBUG_PER_CPU_MAPS is not set |
4350 | # CONFIG_LKDTM is not set | 4639 | # CONFIG_LKDTM is not set |
4351 | # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set | 4640 | # CONFIG_NOTIFIER_ERROR_INJECTION is not set |
4352 | # CONFIG_FAULT_INJECTION is not set | 4641 | # CONFIG_FAULT_INJECTION is not set |
4353 | CONFIG_LATENCYTOP=y | 4642 | CONFIG_LATENCYTOP=y |
4643 | CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y | ||
4644 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
4354 | # CONFIG_DEBUG_PAGEALLOC is not set | 4645 | # CONFIG_DEBUG_PAGEALLOC is not set |
4355 | CONFIG_USER_STACKTRACE_SUPPORT=y | 4646 | CONFIG_USER_STACKTRACE_SUPPORT=y |
4356 | CONFIG_HAVE_FUNCTION_TRACER=y | 4647 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -4358,13 +4649,17 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | |||
4358 | CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y | 4649 | CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y |
4359 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 4650 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
4360 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 4651 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
4652 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y | ||
4361 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 4653 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
4362 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | 4654 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |
4363 | CONFIG_HAVE_C_RECORDMCOUNT=y | 4655 | CONFIG_HAVE_C_RECORDMCOUNT=y |
4656 | CONFIG_TRACE_CLOCK=y | ||
4364 | CONFIG_RING_BUFFER=y | 4657 | CONFIG_RING_BUFFER=y |
4365 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | 4658 | CONFIG_RING_BUFFER_ALLOW_SWAP=y |
4366 | CONFIG_TRACING_SUPPORT=y | 4659 | CONFIG_TRACING_SUPPORT=y |
4367 | # CONFIG_FTRACE is not set | 4660 | # CONFIG_FTRACE is not set |
4661 | # CONFIG_RBTREE_TEST is not set | ||
4662 | # CONFIG_INTERVAL_TREE_TEST is not set | ||
4368 | # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set | 4663 | # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set |
4369 | # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set | 4664 | # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set |
4370 | # CONFIG_DYNAMIC_DEBUG is not set | 4665 | # CONFIG_DYNAMIC_DEBUG is not set |
@@ -4375,6 +4670,7 @@ CONFIG_TRACING_SUPPORT=y | |||
4375 | CONFIG_HAVE_ARCH_KGDB=y | 4670 | CONFIG_HAVE_ARCH_KGDB=y |
4376 | # CONFIG_KGDB is not set | 4671 | # CONFIG_KGDB is not set |
4377 | CONFIG_HAVE_ARCH_KMEMCHECK=y | 4672 | CONFIG_HAVE_ARCH_KMEMCHECK=y |
4673 | # CONFIG_TEST_STRING_HELPERS is not set | ||
4378 | CONFIG_TEST_KSTRTOX=m | 4674 | CONFIG_TEST_KSTRTOX=m |
4379 | CONFIG_STRICT_DEVMEM=y | 4675 | CONFIG_STRICT_DEVMEM=y |
4380 | # CONFIG_X86_VERBOSE_BOOTUP is not set | 4676 | # CONFIG_X86_VERBOSE_BOOTUP is not set |
@@ -4386,6 +4682,7 @@ CONFIG_DEBUG_RODATA=y | |||
4386 | CONFIG_DEBUG_SET_MODULE_RONX=y | 4682 | CONFIG_DEBUG_SET_MODULE_RONX=y |
4387 | CONFIG_DEBUG_NX_TEST=m | 4683 | CONFIG_DEBUG_NX_TEST=m |
4388 | CONFIG_DOUBLEFAULT=y | 4684 | CONFIG_DOUBLEFAULT=y |
4685 | # CONFIG_DEBUG_TLBFLUSH is not set | ||
4389 | # CONFIG_IOMMU_STRESS is not set | 4686 | # CONFIG_IOMMU_STRESS is not set |
4390 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y | 4687 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y |
4391 | CONFIG_X86_DECODER_SELFTEST=y | 4688 | CONFIG_X86_DECODER_SELFTEST=y |
@@ -4401,17 +4698,13 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0 | |||
4401 | CONFIG_DEBUG_BOOT_PARAMS=y | 4698 | CONFIG_DEBUG_BOOT_PARAMS=y |
4402 | # CONFIG_CPA_DEBUG is not set | 4699 | # CONFIG_CPA_DEBUG is not set |
4403 | # CONFIG_OPTIMIZE_INLINING is not set | 4700 | # CONFIG_OPTIMIZE_INLINING is not set |
4404 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
4405 | CONFIG_DEBUG_NMI_SELFTEST=y | 4701 | CONFIG_DEBUG_NMI_SELFTEST=y |
4406 | 4702 | ||
4407 | # | 4703 | # |
4408 | # Linux VServer | 4704 | # Linux VServer |
4409 | # | 4705 | # |
4410 | CONFIG_VSERVER_AUTO_LBACK=y | 4706 | CONFIG_VSERVER_AUTO_LBACK=y |
4411 | CONFIG_VSERVER_AUTO_SINGLE=y | ||
4412 | # CONFIG_VSERVER_COWBL is not set | 4707 | # CONFIG_VSERVER_COWBL is not set |
4413 | # CONFIG_VSERVER_VTIME is not set | ||
4414 | # CONFIG_VSERVER_DEVICE is not set | ||
4415 | CONFIG_VSERVER_PROC_SECURE=y | 4708 | CONFIG_VSERVER_PROC_SECURE=y |
4416 | # CONFIG_TAGGING_NONE is not set | 4709 | # CONFIG_TAGGING_NONE is not set |
4417 | # CONFIG_TAGGING_UID16 is not set | 4710 | # CONFIG_TAGGING_UID16 is not set |
@@ -4424,6 +4717,7 @@ CONFIG_VSERVER_CONTEXTS=256 | |||
4424 | CONFIG_VSERVER_WARN=y | 4717 | CONFIG_VSERVER_WARN=y |
4425 | CONFIG_VSERVER_WARN_DEVPTS=y | 4718 | CONFIG_VSERVER_WARN_DEVPTS=y |
4426 | # CONFIG_VSERVER_DEBUG is not set | 4719 | # CONFIG_VSERVER_DEBUG is not set |
4720 | # CONFIG_VSERVER_EXTRA_MNT_CHECK is not set | ||
4427 | CONFIG_QUOTES_ISO8859=y | 4721 | CONFIG_QUOTES_ISO8859=y |
4428 | # CONFIG_QUOTES_UTF8 is not set | 4722 | # CONFIG_QUOTES_UTF8 is not set |
4429 | # CONFIG_QUOTES_ASCII is not set | 4723 | # CONFIG_QUOTES_ASCII is not set |
@@ -4444,6 +4738,7 @@ CONFIG_SECURITYFS=y | |||
4444 | # CONFIG_SECURITY_NETWORK is not set | 4738 | # CONFIG_SECURITY_NETWORK is not set |
4445 | # CONFIG_SECURITY_PATH is not set | 4739 | # CONFIG_SECURITY_PATH is not set |
4446 | # CONFIG_INTEL_TXT is not set | 4740 | # CONFIG_INTEL_TXT is not set |
4741 | # CONFIG_SECURITY_SMACK is not set | ||
4447 | # CONFIG_SECURITY_TOMOYO is not set | 4742 | # CONFIG_SECURITY_TOMOYO is not set |
4448 | # CONFIG_SECURITY_APPARMOR is not set | 4743 | # CONFIG_SECURITY_APPARMOR is not set |
4449 | # CONFIG_SECURITY_YAMA is not set | 4744 | # CONFIG_SECURITY_YAMA is not set |
@@ -4456,8 +4751,6 @@ CONFIG_ASYNC_MEMCPY=m | |||
4456 | CONFIG_ASYNC_XOR=m | 4751 | CONFIG_ASYNC_XOR=m |
4457 | CONFIG_ASYNC_PQ=m | 4752 | CONFIG_ASYNC_PQ=m |
4458 | CONFIG_ASYNC_RAID6_RECOV=m | 4753 | CONFIG_ASYNC_RAID6_RECOV=m |
4459 | CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y | ||
4460 | CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y | ||
4461 | CONFIG_CRYPTO=y | 4754 | CONFIG_CRYPTO=y |
4462 | 4755 | ||
4463 | # | 4756 | # |
@@ -4486,6 +4779,8 @@ CONFIG_CRYPTO_WORKQUEUE=y | |||
4486 | CONFIG_CRYPTO_CRYPTD=m | 4779 | CONFIG_CRYPTO_CRYPTD=m |
4487 | CONFIG_CRYPTO_AUTHENC=m | 4780 | CONFIG_CRYPTO_AUTHENC=m |
4488 | CONFIG_CRYPTO_TEST=m | 4781 | CONFIG_CRYPTO_TEST=m |
4782 | CONFIG_CRYPTO_ABLK_HELPER_X86=m | ||
4783 | CONFIG_CRYPTO_GLUE_HELPER_X86=m | ||
4489 | 4784 | ||
4490 | # | 4785 | # |
4491 | # Authenticated Encryption with Associated Data | 4786 | # Authenticated Encryption with Associated Data |
@@ -4508,6 +4803,7 @@ CONFIG_CRYPTO_XTS=m | |||
4508 | # | 4803 | # |
4509 | # Hash modes | 4804 | # Hash modes |
4510 | # | 4805 | # |
4806 | CONFIG_CRYPTO_CMAC=m | ||
4511 | CONFIG_CRYPTO_HMAC=m | 4807 | CONFIG_CRYPTO_HMAC=m |
4512 | CONFIG_CRYPTO_XCBC=m | 4808 | CONFIG_CRYPTO_XCBC=m |
4513 | CONFIG_CRYPTO_VMAC=m | 4809 | CONFIG_CRYPTO_VMAC=m |
@@ -4517,6 +4813,8 @@ CONFIG_CRYPTO_VMAC=m | |||
4517 | # | 4813 | # |
4518 | CONFIG_CRYPTO_CRC32C=m | 4814 | CONFIG_CRYPTO_CRC32C=m |
4519 | CONFIG_CRYPTO_CRC32C_INTEL=m | 4815 | CONFIG_CRYPTO_CRC32C_INTEL=m |
4816 | CONFIG_CRYPTO_CRC32=m | ||
4817 | CONFIG_CRYPTO_CRC32_PCLMUL=m | ||
4520 | CONFIG_CRYPTO_GHASH=m | 4818 | CONFIG_CRYPTO_GHASH=m |
4521 | CONFIG_CRYPTO_MD4=m | 4819 | CONFIG_CRYPTO_MD4=m |
4522 | CONFIG_CRYPTO_MD5=y | 4820 | CONFIG_CRYPTO_MD5=y |
@@ -4534,7 +4832,7 @@ CONFIG_CRYPTO_WP512=m | |||
4534 | # | 4832 | # |
4535 | # Ciphers | 4833 | # Ciphers |
4536 | # | 4834 | # |
4537 | CONFIG_CRYPTO_AES=m | 4835 | CONFIG_CRYPTO_AES=y |
4538 | CONFIG_CRYPTO_AES_586=m | 4836 | CONFIG_CRYPTO_AES_586=m |
4539 | CONFIG_CRYPTO_AES_NI_INTEL=m | 4837 | CONFIG_CRYPTO_AES_NI_INTEL=m |
4540 | CONFIG_CRYPTO_ANUBIS=m | 4838 | CONFIG_CRYPTO_ANUBIS=m |
@@ -4542,6 +4840,7 @@ CONFIG_CRYPTO_ARC4=m | |||
4542 | CONFIG_CRYPTO_BLOWFISH=m | 4840 | CONFIG_CRYPTO_BLOWFISH=m |
4543 | CONFIG_CRYPTO_BLOWFISH_COMMON=m | 4841 | CONFIG_CRYPTO_BLOWFISH_COMMON=m |
4544 | CONFIG_CRYPTO_CAMELLIA=m | 4842 | CONFIG_CRYPTO_CAMELLIA=m |
4843 | CONFIG_CRYPTO_CAST_COMMON=m | ||
4545 | CONFIG_CRYPTO_CAST5=m | 4844 | CONFIG_CRYPTO_CAST5=m |
4546 | CONFIG_CRYPTO_CAST6=m | 4845 | CONFIG_CRYPTO_CAST6=m |
4547 | CONFIG_CRYPTO_DES=m | 4846 | CONFIG_CRYPTO_DES=m |
@@ -4578,17 +4877,24 @@ CONFIG_CRYPTO_DEV_PADLOCK_SHA=m | |||
4578 | CONFIG_CRYPTO_DEV_GEODE=m | 4877 | CONFIG_CRYPTO_DEV_GEODE=m |
4579 | CONFIG_CRYPTO_DEV_HIFN_795X=m | 4878 | CONFIG_CRYPTO_DEV_HIFN_795X=m |
4580 | CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y | 4879 | CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y |
4880 | CONFIG_ASYMMETRIC_KEY_TYPE=m | ||
4881 | CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m | ||
4882 | CONFIG_PUBLIC_KEY_ALGO_RSA=m | ||
4883 | CONFIG_X509_CERTIFICATE_PARSER=m | ||
4581 | CONFIG_HAVE_KVM=y | 4884 | CONFIG_HAVE_KVM=y |
4582 | CONFIG_HAVE_KVM_IRQCHIP=y | 4885 | CONFIG_HAVE_KVM_IRQCHIP=y |
4886 | CONFIG_HAVE_KVM_IRQ_ROUTING=y | ||
4583 | CONFIG_HAVE_KVM_EVENTFD=y | 4887 | CONFIG_HAVE_KVM_EVENTFD=y |
4584 | CONFIG_KVM_APIC_ARCHITECTURE=y | 4888 | CONFIG_KVM_APIC_ARCHITECTURE=y |
4585 | CONFIG_KVM_MMIO=y | 4889 | CONFIG_KVM_MMIO=y |
4586 | CONFIG_KVM_ASYNC_PF=y | 4890 | CONFIG_KVM_ASYNC_PF=y |
4891 | CONFIG_HAVE_KVM_MSI=y | ||
4892 | CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y | ||
4587 | CONFIG_VIRTUALIZATION=y | 4893 | CONFIG_VIRTUALIZATION=y |
4588 | CONFIG_KVM=m | 4894 | CONFIG_KVM=m |
4589 | CONFIG_KVM_INTEL=m | 4895 | CONFIG_KVM_INTEL=m |
4590 | CONFIG_KVM_AMD=m | 4896 | CONFIG_KVM_AMD=m |
4591 | CONFIG_VHOST_NET=m | 4897 | CONFIG_KVM_DEVICE_ASSIGNMENT=y |
4592 | # CONFIG_LGUEST is not set | 4898 | # CONFIG_LGUEST is not set |
4593 | # CONFIG_BINARY_PRINTF is not set | 4899 | # CONFIG_BINARY_PRINTF is not set |
4594 | 4900 | ||
@@ -4597,6 +4903,8 @@ CONFIG_VHOST_NET=m | |||
4597 | # | 4903 | # |
4598 | CONFIG_RAID6_PQ=m | 4904 | CONFIG_RAID6_PQ=m |
4599 | CONFIG_BITREVERSE=y | 4905 | CONFIG_BITREVERSE=y |
4906 | CONFIG_GENERIC_STRNCPY_FROM_USER=y | ||
4907 | CONFIG_GENERIC_STRNLEN_USER=y | ||
4600 | CONFIG_GENERIC_FIND_FIRST_BIT=y | 4908 | CONFIG_GENERIC_FIND_FIRST_BIT=y |
4601 | CONFIG_GENERIC_PCI_IOMAP=y | 4909 | CONFIG_GENERIC_PCI_IOMAP=y |
4602 | CONFIG_GENERIC_IOMAP=y | 4910 | CONFIG_GENERIC_IOMAP=y |
@@ -4647,6 +4955,11 @@ CONFIG_CHECK_SIGNATURE=y | |||
4647 | CONFIG_CPU_RMAP=y | 4955 | CONFIG_CPU_RMAP=y |
4648 | CONFIG_DQL=y | 4956 | CONFIG_DQL=y |
4649 | CONFIG_NLATTR=y | 4957 | CONFIG_NLATTR=y |
4958 | CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y | ||
4650 | CONFIG_LRU_CACHE=m | 4959 | CONFIG_LRU_CACHE=m |
4651 | CONFIG_AVERAGE=y | 4960 | CONFIG_AVERAGE=y |
4961 | CONFIG_CLZ_TAB=y | ||
4652 | CONFIG_CORDIC=m | 4962 | CONFIG_CORDIC=m |
4963 | # CONFIG_DDR is not set | ||
4964 | CONFIG_MPILIB=m | ||
4965 | CONFIG_OID_REGISTRY=m | ||
diff --git a/main/linux-vserver/kernelconfig.x86_64 b/main/linux-vserver/kernelconfig.x86_64 index 5346cbce10..c977cf633b 100644 --- a/main/linux-vserver/kernelconfig.x86_64 +++ b/main/linux-vserver/kernelconfig.x86_64 | |||
@@ -1,19 +1,13 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated file; DO NOT EDIT. | 2 | # Automatically generated file; DO NOT EDIT. |
3 | # Linux/x86_64 3.4.51-vs2.3.3.9 Kernel Configuration | 3 | # Linux/x86 3.10.18-vs2.3.6.6 Kernel Configuration |
4 | # | 4 | # |
5 | CONFIG_64BIT=y | 5 | CONFIG_64BIT=y |
6 | # CONFIG_X86_32 is not set | ||
7 | CONFIG_X86_64=y | 6 | CONFIG_X86_64=y |
8 | CONFIG_X86=y | 7 | CONFIG_X86=y |
9 | CONFIG_INSTRUCTION_DECODER=y | 8 | CONFIG_INSTRUCTION_DECODER=y |
10 | CONFIG_OUTPUT_FORMAT="elf64-x86-64" | 9 | CONFIG_OUTPUT_FORMAT="elf64-x86-64" |
11 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" | 10 | CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" |
12 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
13 | CONFIG_CLOCKSOURCE_WATCHDOG=y | ||
14 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
15 | CONFIG_ARCH_CLOCKSOURCE_DATA=y | ||
16 | CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
17 | CONFIG_LOCKDEP_SUPPORT=y | 11 | CONFIG_LOCKDEP_SUPPORT=y |
18 | CONFIG_STACKTRACE_SUPPORT=y | 12 | CONFIG_STACKTRACE_SUPPORT=y |
19 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | 13 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y |
@@ -24,15 +18,10 @@ CONFIG_GENERIC_ISA_DMA=y | |||
24 | CONFIG_GENERIC_BUG=y | 18 | CONFIG_GENERIC_BUG=y |
25 | CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y | 19 | CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y |
26 | CONFIG_GENERIC_HWEIGHT=y | 20 | CONFIG_GENERIC_HWEIGHT=y |
27 | CONFIG_GENERIC_GPIO=y | ||
28 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 21 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
29 | # CONFIG_RWSEM_GENERIC_SPINLOCK is not set | ||
30 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 22 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | ||
32 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 23 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
33 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
34 | CONFIG_ARCH_HAS_CPU_RELAX=y | 24 | CONFIG_ARCH_HAS_CPU_RELAX=y |
35 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | ||
36 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y | 25 | CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y |
37 | CONFIG_ARCH_HAS_CPU_AUTOPROBE=y | 26 | CONFIG_ARCH_HAS_CPU_AUTOPROBE=y |
38 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y | 27 | CONFIG_HAVE_SETUP_PER_CPU_AREA=y |
@@ -48,16 +37,15 @@ CONFIG_HAVE_INTEL_TXT=y | |||
48 | CONFIG_X86_64_SMP=y | 37 | CONFIG_X86_64_SMP=y |
49 | CONFIG_X86_HT=y | 38 | CONFIG_X86_HT=y |
50 | CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" | 39 | CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" |
51 | # CONFIG_KTIME_SCALAR is not set | ||
52 | CONFIG_ARCH_CPU_PROBE_RELEASE=y | 40 | CONFIG_ARCH_CPU_PROBE_RELEASE=y |
41 | CONFIG_ARCH_SUPPORTS_UPROBES=y | ||
53 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 42 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
54 | CONFIG_HAVE_IRQ_WORK=y | ||
55 | CONFIG_IRQ_WORK=y | 43 | CONFIG_IRQ_WORK=y |
44 | CONFIG_BUILDTIME_EXTABLE_SORT=y | ||
56 | 45 | ||
57 | # | 46 | # |
58 | # General setup | 47 | # General setup |
59 | # | 48 | # |
60 | CONFIG_EXPERIMENTAL=y | ||
61 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 49 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
62 | CONFIG_CROSS_COMPILE="" | 50 | CONFIG_CROSS_COMPILE="" |
63 | CONFIG_LOCALVERSION="" | 51 | CONFIG_LOCALVERSION="" |
@@ -77,13 +65,7 @@ CONFIG_SWAP=y | |||
77 | CONFIG_SYSVIPC=y | 65 | CONFIG_SYSVIPC=y |
78 | CONFIG_SYSVIPC_SYSCTL=y | 66 | CONFIG_SYSVIPC_SYSCTL=y |
79 | # CONFIG_POSIX_MQUEUE is not set | 67 | # CONFIG_POSIX_MQUEUE is not set |
80 | CONFIG_BSD_PROCESS_ACCT=y | ||
81 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
82 | # CONFIG_FHANDLE is not set | 68 | # CONFIG_FHANDLE is not set |
83 | CONFIG_TASKSTATS=y | ||
84 | CONFIG_TASK_DELAY_ACCT=y | ||
85 | CONFIG_TASK_XACCT=y | ||
86 | CONFIG_TASK_IO_ACCOUNTING=y | ||
87 | # CONFIG_AUDIT is not set | 69 | # CONFIG_AUDIT is not set |
88 | CONFIG_HAVE_GENERIC_HARDIRQS=y | 70 | CONFIG_HAVE_GENERIC_HARDIRQS=y |
89 | 71 | ||
@@ -95,22 +77,62 @@ CONFIG_GENERIC_IRQ_PROBE=y | |||
95 | CONFIG_GENERIC_IRQ_SHOW=y | 77 | CONFIG_GENERIC_IRQ_SHOW=y |
96 | CONFIG_GENERIC_PENDING_IRQ=y | 78 | CONFIG_GENERIC_PENDING_IRQ=y |
97 | CONFIG_GENERIC_IRQ_CHIP=y | 79 | CONFIG_GENERIC_IRQ_CHIP=y |
80 | CONFIG_IRQ_DOMAIN=y | ||
81 | # CONFIG_IRQ_DOMAIN_DEBUG is not set | ||
98 | CONFIG_IRQ_FORCED_THREADING=y | 82 | CONFIG_IRQ_FORCED_THREADING=y |
99 | CONFIG_SPARSE_IRQ=y | 83 | CONFIG_SPARSE_IRQ=y |
84 | CONFIG_CLOCKSOURCE_WATCHDOG=y | ||
85 | CONFIG_ARCH_CLOCKSOURCE_DATA=y | ||
86 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
87 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
88 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
89 | CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | ||
90 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y | ||
91 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
92 | |||
93 | # | ||
94 | # Timers subsystem | ||
95 | # | ||
96 | CONFIG_TICK_ONESHOT=y | ||
97 | CONFIG_NO_HZ_COMMON=y | ||
98 | # CONFIG_HZ_PERIODIC is not set | ||
99 | CONFIG_NO_HZ_IDLE=y | ||
100 | # CONFIG_NO_HZ_FULL is not set | ||
101 | CONFIG_NO_HZ=y | ||
102 | CONFIG_HIGH_RES_TIMERS=y | ||
103 | |||
104 | # | ||
105 | # CPU/Task time and stats accounting | ||
106 | # | ||
107 | # CONFIG_TICK_CPU_ACCOUNTING is not set | ||
108 | # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set | ||
109 | CONFIG_IRQ_TIME_ACCOUNTING=y | ||
110 | CONFIG_BSD_PROCESS_ACCT=y | ||
111 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
112 | CONFIG_TASKSTATS=y | ||
113 | CONFIG_TASK_DELAY_ACCT=y | ||
114 | CONFIG_TASK_XACCT=y | ||
115 | CONFIG_TASK_IO_ACCOUNTING=y | ||
100 | 116 | ||
101 | # | 117 | # |
102 | # RCU Subsystem | 118 | # RCU Subsystem |
103 | # | 119 | # |
104 | CONFIG_TREE_RCU=y | 120 | CONFIG_TREE_RCU=y |
105 | # CONFIG_PREEMPT_RCU is not set | 121 | # CONFIG_PREEMPT_RCU is not set |
122 | CONFIG_RCU_STALL_COMMON=y | ||
123 | # CONFIG_RCU_USER_QS is not set | ||
106 | CONFIG_RCU_FANOUT=32 | 124 | CONFIG_RCU_FANOUT=32 |
125 | CONFIG_RCU_FANOUT_LEAF=16 | ||
107 | # CONFIG_RCU_FANOUT_EXACT is not set | 126 | # CONFIG_RCU_FANOUT_EXACT is not set |
108 | CONFIG_RCU_FAST_NO_HZ=y | 127 | CONFIG_RCU_FAST_NO_HZ=y |
109 | # CONFIG_TREE_RCU_TRACE is not set | 128 | # CONFIG_TREE_RCU_TRACE is not set |
129 | # CONFIG_RCU_NOCB_CPU is not set | ||
110 | CONFIG_IKCONFIG=m | 130 | CONFIG_IKCONFIG=m |
111 | CONFIG_IKCONFIG_PROC=y | 131 | CONFIG_IKCONFIG_PROC=y |
112 | CONFIG_LOG_BUF_SHIFT=14 | 132 | CONFIG_LOG_BUF_SHIFT=14 |
113 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y | 133 | CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y |
134 | CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y | ||
135 | CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y | ||
114 | CONFIG_CGROUPS=y | 136 | CONFIG_CGROUPS=y |
115 | # CONFIG_CGROUP_DEBUG is not set | 137 | # CONFIG_CGROUP_DEBUG is not set |
116 | CONFIG_CGROUP_FREEZER=y | 138 | CONFIG_CGROUP_FREEZER=y |
@@ -119,9 +141,9 @@ CONFIG_CPUSETS=y | |||
119 | # CONFIG_PROC_PID_CPUSET is not set | 141 | # CONFIG_PROC_PID_CPUSET is not set |
120 | CONFIG_CGROUP_CPUACCT=y | 142 | CONFIG_CGROUP_CPUACCT=y |
121 | CONFIG_RESOURCE_COUNTERS=y | 143 | CONFIG_RESOURCE_COUNTERS=y |
122 | CONFIG_CGROUP_MEM_RES_CTLR=y | 144 | CONFIG_MEMCG=y |
123 | # CONFIG_CGROUP_MEM_RES_CTLR_SWAP is not set | 145 | # CONFIG_MEMCG_SWAP is not set |
124 | # CONFIG_CGROUP_MEM_RES_CTLR_KMEM is not set | 146 | # CONFIG_MEMCG_KMEM is not set |
125 | # CONFIG_CGROUP_PERF is not set | 147 | # CONFIG_CGROUP_PERF is not set |
126 | CONFIG_CGROUP_SCHED=y | 148 | CONFIG_CGROUP_SCHED=y |
127 | CONFIG_FAIR_GROUP_SCHED=y | 149 | CONFIG_FAIR_GROUP_SCHED=y |
@@ -135,6 +157,8 @@ CONFIG_UTS_NS=y | |||
135 | CONFIG_IPC_NS=y | 157 | CONFIG_IPC_NS=y |
136 | CONFIG_PID_NS=y | 158 | CONFIG_PID_NS=y |
137 | CONFIG_NET_NS=y | 159 | CONFIG_NET_NS=y |
160 | CONFIG_UIDGID_CONVERTED=y | ||
161 | # CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set | ||
138 | CONFIG_SCHED_AUTOGROUP=y | 162 | CONFIG_SCHED_AUTOGROUP=y |
139 | CONFIG_MM_OWNER=y | 163 | CONFIG_MM_OWNER=y |
140 | # CONFIG_SYSFS_DEPRECATED is not set | 164 | # CONFIG_SYSFS_DEPRECATED is not set |
@@ -149,17 +173,19 @@ CONFIG_RD_LZO=y | |||
149 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 173 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
150 | CONFIG_SYSCTL=y | 174 | CONFIG_SYSCTL=y |
151 | CONFIG_ANON_INODES=y | 175 | CONFIG_ANON_INODES=y |
176 | CONFIG_HAVE_UID16=y | ||
177 | CONFIG_SYSCTL_EXCEPTION_TRACE=y | ||
178 | CONFIG_HOTPLUG=y | ||
179 | CONFIG_HAVE_PCSPKR_PLATFORM=y | ||
152 | CONFIG_EXPERT=y | 180 | CONFIG_EXPERT=y |
153 | CONFIG_UID16=y | 181 | CONFIG_UID16=y |
154 | CONFIG_SYSCTL_SYSCALL=y | 182 | CONFIG_SYSCTL_SYSCALL=y |
155 | CONFIG_KALLSYMS=y | 183 | CONFIG_KALLSYMS=y |
156 | CONFIG_KALLSYMS_ALL=y | 184 | CONFIG_KALLSYMS_ALL=y |
157 | CONFIG_HOTPLUG=y | ||
158 | CONFIG_PRINTK=y | 185 | CONFIG_PRINTK=y |
159 | CONFIG_BUG=y | 186 | CONFIG_BUG=y |
160 | CONFIG_ELF_CORE=y | 187 | CONFIG_ELF_CORE=y |
161 | CONFIG_PCSPKR_PLATFORM=y | 188 | CONFIG_PCSPKR_PLATFORM=y |
162 | CONFIG_HAVE_PCSPKR_PLATFORM=y | ||
163 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
164 | CONFIG_FUTEX=y | 190 | CONFIG_FUTEX=y |
165 | CONFIG_EPOLL=y | 191 | CONFIG_EPOLL=y |
@@ -168,6 +194,7 @@ CONFIG_TIMERFD=y | |||
168 | CONFIG_EVENTFD=y | 194 | CONFIG_EVENTFD=y |
169 | CONFIG_SHMEM=y | 195 | CONFIG_SHMEM=y |
170 | CONFIG_AIO=y | 196 | CONFIG_AIO=y |
197 | CONFIG_PCI_QUIRKS=y | ||
171 | CONFIG_EMBEDDED=y | 198 | CONFIG_EMBEDDED=y |
172 | CONFIG_HAVE_PERF_EVENTS=y | 199 | CONFIG_HAVE_PERF_EVENTS=y |
173 | 200 | ||
@@ -175,10 +202,8 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
175 | # Kernel Performance Events And Counters | 202 | # Kernel Performance Events And Counters |
176 | # | 203 | # |
177 | CONFIG_PERF_EVENTS=y | 204 | CONFIG_PERF_EVENTS=y |
178 | # CONFIG_PERF_COUNTERS is not set | ||
179 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | 205 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set |
180 | CONFIG_VM_EVENT_COUNTERS=y | 206 | CONFIG_VM_EVENT_COUNTERS=y |
181 | CONFIG_PCI_QUIRKS=y | ||
182 | # CONFIG_SLUB_DEBUG is not set | 207 | # CONFIG_SLUB_DEBUG is not set |
183 | # CONFIG_COMPAT_BRK is not set | 208 | # CONFIG_COMPAT_BRK is not set |
184 | # CONFIG_SLAB is not set | 209 | # CONFIG_SLAB is not set |
@@ -192,28 +217,42 @@ CONFIG_OPROFILE_NMI_TIMER=y | |||
192 | CONFIG_KPROBES=y | 217 | CONFIG_KPROBES=y |
193 | # CONFIG_JUMP_LABEL is not set | 218 | # CONFIG_JUMP_LABEL is not set |
194 | CONFIG_OPTPROBES=y | 219 | CONFIG_OPTPROBES=y |
220 | # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set | ||
195 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | 221 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y |
222 | CONFIG_ARCH_USE_BUILTIN_BSWAP=y | ||
196 | CONFIG_KRETPROBES=y | 223 | CONFIG_KRETPROBES=y |
197 | CONFIG_USER_RETURN_NOTIFIER=y | 224 | CONFIG_USER_RETURN_NOTIFIER=y |
198 | CONFIG_HAVE_IOREMAP_PROT=y | 225 | CONFIG_HAVE_IOREMAP_PROT=y |
199 | CONFIG_HAVE_KPROBES=y | 226 | CONFIG_HAVE_KPROBES=y |
200 | CONFIG_HAVE_KRETPROBES=y | 227 | CONFIG_HAVE_KRETPROBES=y |
201 | CONFIG_HAVE_OPTPROBES=y | 228 | CONFIG_HAVE_OPTPROBES=y |
229 | CONFIG_HAVE_KPROBES_ON_FTRACE=y | ||
202 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 230 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
203 | CONFIG_HAVE_DMA_ATTRS=y | 231 | CONFIG_HAVE_DMA_ATTRS=y |
204 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 232 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
233 | CONFIG_GENERIC_SMP_IDLE_THREAD=y | ||
205 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y | 234 | CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y |
206 | CONFIG_HAVE_DMA_API_DEBUG=y | 235 | CONFIG_HAVE_DMA_API_DEBUG=y |
207 | CONFIG_HAVE_HW_BREAKPOINT=y | 236 | CONFIG_HAVE_HW_BREAKPOINT=y |
208 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y | 237 | CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y |
209 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y | 238 | CONFIG_HAVE_USER_RETURN_NOTIFIER=y |
210 | CONFIG_HAVE_PERF_EVENTS_NMI=y | 239 | CONFIG_HAVE_PERF_EVENTS_NMI=y |
240 | CONFIG_HAVE_PERF_REGS=y | ||
241 | CONFIG_HAVE_PERF_USER_STACK_DUMP=y | ||
211 | CONFIG_HAVE_ARCH_JUMP_LABEL=y | 242 | CONFIG_HAVE_ARCH_JUMP_LABEL=y |
212 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y | 243 | CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y |
213 | CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y | 244 | CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y |
214 | CONFIG_HAVE_CMPXCHG_LOCAL=y | 245 | CONFIG_HAVE_CMPXCHG_LOCAL=y |
215 | CONFIG_HAVE_CMPXCHG_DOUBLE=y | 246 | CONFIG_HAVE_CMPXCHG_DOUBLE=y |
247 | CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y | ||
216 | CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y | 248 | CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y |
249 | CONFIG_HAVE_ARCH_SECCOMP_FILTER=y | ||
250 | CONFIG_HAVE_CONTEXT_TRACKING=y | ||
251 | CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y | ||
252 | CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y | ||
253 | CONFIG_MODULES_USE_ELF_RELA=y | ||
254 | CONFIG_OLD_SIGSUSPEND3=y | ||
255 | CONFIG_COMPAT_OLD_SIGACTION=y | ||
217 | 256 | ||
218 | # | 257 | # |
219 | # GCOV-based kernel profiling | 258 | # GCOV-based kernel profiling |
@@ -228,6 +267,7 @@ CONFIG_MODULE_UNLOAD=y | |||
228 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 267 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
229 | CONFIG_MODVERSIONS=y | 268 | CONFIG_MODVERSIONS=y |
230 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 269 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
270 | # CONFIG_MODULE_SIG is not set | ||
231 | CONFIG_STOP_MACHINE=y | 271 | CONFIG_STOP_MACHINE=y |
232 | CONFIG_BLOCK=y | 272 | CONFIG_BLOCK=y |
233 | CONFIG_BLK_DEV_BSG=y | 273 | CONFIG_BLK_DEV_BSG=y |
@@ -270,33 +310,12 @@ CONFIG_DEFAULT_CFQ=y | |||
270 | CONFIG_DEFAULT_IOSCHED="cfq" | 310 | CONFIG_DEFAULT_IOSCHED="cfq" |
271 | CONFIG_PREEMPT_NOTIFIERS=y | 311 | CONFIG_PREEMPT_NOTIFIERS=y |
272 | CONFIG_PADATA=y | 312 | CONFIG_PADATA=y |
273 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | 313 | CONFIG_ASN1=m |
274 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
275 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
276 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
277 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
278 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
279 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
280 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | 314 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y |
281 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
282 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
283 | # CONFIG_INLINE_READ_LOCK is not set | ||
284 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
285 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
286 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
287 | CONFIG_INLINE_READ_UNLOCK=y | 315 | CONFIG_INLINE_READ_UNLOCK=y |
288 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
289 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | 316 | CONFIG_INLINE_READ_UNLOCK_IRQ=y |
290 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
291 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
292 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
293 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
294 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
295 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
296 | CONFIG_INLINE_WRITE_UNLOCK=y | 317 | CONFIG_INLINE_WRITE_UNLOCK=y |
297 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
298 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | 318 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y |
299 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
300 | CONFIG_MUTEX_SPIN_ON_OWNER=y | 319 | CONFIG_MUTEX_SPIN_ON_OWNER=y |
301 | CONFIG_FREEZER=y | 320 | CONFIG_FREEZER=y |
302 | 321 | ||
@@ -304,19 +323,17 @@ CONFIG_FREEZER=y | |||
304 | # Processor type and features | 323 | # Processor type and features |
305 | # | 324 | # |
306 | CONFIG_ZONE_DMA=y | 325 | CONFIG_ZONE_DMA=y |
307 | CONFIG_TICK_ONESHOT=y | ||
308 | CONFIG_NO_HZ=y | ||
309 | CONFIG_HIGH_RES_TIMERS=y | ||
310 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
311 | CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y | ||
312 | CONFIG_SMP=y | 326 | CONFIG_SMP=y |
313 | CONFIG_X86_X2APIC=y | 327 | CONFIG_X86_X2APIC=y |
314 | CONFIG_X86_MPPARSE=y | 328 | CONFIG_X86_MPPARSE=y |
315 | CONFIG_X86_EXTENDED_PLATFORM=y | 329 | CONFIG_X86_EXTENDED_PLATFORM=y |
316 | # CONFIG_X86_VSMP is not set | 330 | # CONFIG_X86_VSMP is not set |
331 | # CONFIG_X86_INTEL_LPSS is not set | ||
317 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | 332 | CONFIG_SCHED_OMIT_FRAME_POINTER=y |
318 | CONFIG_PARAVIRT_GUEST=y | 333 | CONFIG_HYPERVISOR_GUEST=y |
319 | # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set | 334 | CONFIG_PARAVIRT=y |
335 | # CONFIG_PARAVIRT_DEBUG is not set | ||
336 | # CONFIG_PARAVIRT_SPINLOCKS is not set | ||
320 | CONFIG_XEN=y | 337 | CONFIG_XEN=y |
321 | CONFIG_XEN_DOM0=y | 338 | CONFIG_XEN_DOM0=y |
322 | CONFIG_XEN_PRIVILEGED_GUEST=y | 339 | CONFIG_XEN_PRIVILEGED_GUEST=y |
@@ -324,12 +341,9 @@ CONFIG_XEN_PVHVM=y | |||
324 | CONFIG_XEN_MAX_DOMAIN_MEMORY=500 | 341 | CONFIG_XEN_MAX_DOMAIN_MEMORY=500 |
325 | CONFIG_XEN_SAVE_RESTORE=y | 342 | CONFIG_XEN_SAVE_RESTORE=y |
326 | # CONFIG_XEN_DEBUG_FS is not set | 343 | # CONFIG_XEN_DEBUG_FS is not set |
327 | CONFIG_KVM_CLOCK=y | ||
328 | CONFIG_KVM_GUEST=y | 344 | CONFIG_KVM_GUEST=y |
329 | CONFIG_PARAVIRT=y | 345 | # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set |
330 | # CONFIG_PARAVIRT_SPINLOCKS is not set | ||
331 | CONFIG_PARAVIRT_CLOCK=y | 346 | CONFIG_PARAVIRT_CLOCK=y |
332 | # CONFIG_PARAVIRT_DEBUG is not set | ||
333 | CONFIG_NO_BOOTMEM=y | 347 | CONFIG_NO_BOOTMEM=y |
334 | # CONFIG_MEMTEST is not set | 348 | # CONFIG_MEMTEST is not set |
335 | # CONFIG_MK8 is not set | 349 | # CONFIG_MK8 is not set |
@@ -338,10 +352,7 @@ CONFIG_NO_BOOTMEM=y | |||
338 | # CONFIG_MATOM is not set | 352 | # CONFIG_MATOM is not set |
339 | CONFIG_GENERIC_CPU=y | 353 | CONFIG_GENERIC_CPU=y |
340 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 | 354 | CONFIG_X86_INTERNODE_CACHE_SHIFT=6 |
341 | CONFIG_X86_CMPXCHG=y | ||
342 | CONFIG_X86_L1_CACHE_SHIFT=6 | 355 | CONFIG_X86_L1_CACHE_SHIFT=6 |
343 | CONFIG_X86_XADD=y | ||
344 | CONFIG_X86_WP_WORKS_OK=y | ||
345 | CONFIG_X86_TSC=y | 356 | CONFIG_X86_TSC=y |
346 | CONFIG_X86_CMPXCHG64=y | 357 | CONFIG_X86_CMPXCHG64=y |
347 | CONFIG_X86_CMOV=y | 358 | CONFIG_X86_CMOV=y |
@@ -362,7 +373,6 @@ CONFIG_IOMMU_HELPER=y | |||
362 | CONFIG_NR_CPUS=128 | 373 | CONFIG_NR_CPUS=128 |
363 | CONFIG_SCHED_SMT=y | 374 | CONFIG_SCHED_SMT=y |
364 | CONFIG_SCHED_MC=y | 375 | CONFIG_SCHED_MC=y |
365 | CONFIG_IRQ_TIME_ACCOUNTING=y | ||
366 | # CONFIG_PREEMPT_NONE is not set | 376 | # CONFIG_PREEMPT_NONE is not set |
367 | CONFIG_PREEMPT_VOLUNTARY=y | 377 | CONFIG_PREEMPT_VOLUNTARY=y |
368 | # CONFIG_PREEMPT is not set | 378 | # CONFIG_PREEMPT is not set |
@@ -375,6 +385,9 @@ CONFIG_MICROCODE=m | |||
375 | CONFIG_MICROCODE_INTEL=y | 385 | CONFIG_MICROCODE_INTEL=y |
376 | CONFIG_MICROCODE_AMD=y | 386 | CONFIG_MICROCODE_AMD=y |
377 | CONFIG_MICROCODE_OLD_INTERFACE=y | 387 | CONFIG_MICROCODE_OLD_INTERFACE=y |
388 | CONFIG_MICROCODE_INTEL_LIB=y | ||
389 | CONFIG_MICROCODE_INTEL_EARLY=y | ||
390 | CONFIG_MICROCODE_EARLY=y | ||
378 | CONFIG_X86_MSR=m | 391 | CONFIG_X86_MSR=m |
379 | CONFIG_X86_CPUID=m | 392 | CONFIG_X86_CPUID=m |
380 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y | 393 | CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |
@@ -396,9 +409,11 @@ CONFIG_SPARSEMEM_VMEMMAP=y | |||
396 | CONFIG_HAVE_MEMBLOCK=y | 409 | CONFIG_HAVE_MEMBLOCK=y |
397 | CONFIG_HAVE_MEMBLOCK_NODE_MAP=y | 410 | CONFIG_HAVE_MEMBLOCK_NODE_MAP=y |
398 | CONFIG_ARCH_DISCARD_MEMBLOCK=y | 411 | CONFIG_ARCH_DISCARD_MEMBLOCK=y |
412 | # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set | ||
399 | # CONFIG_MEMORY_HOTPLUG is not set | 413 | # CONFIG_MEMORY_HOTPLUG is not set |
400 | CONFIG_PAGEFLAGS_EXTENDED=y | 414 | CONFIG_PAGEFLAGS_EXTENDED=y |
401 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 415 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
416 | CONFIG_BALLOON_COMPACTION=y | ||
402 | CONFIG_COMPACTION=y | 417 | CONFIG_COMPACTION=y |
403 | CONFIG_MIGRATION=y | 418 | CONFIG_MIGRATION=y |
404 | CONFIG_PHYS_ADDR_T_64BIT=y | 419 | CONFIG_PHYS_ADDR_T_64BIT=y |
@@ -411,7 +426,9 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | |||
411 | CONFIG_TRANSPARENT_HUGEPAGE=y | 426 | CONFIG_TRANSPARENT_HUGEPAGE=y |
412 | CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y | 427 | CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y |
413 | # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set | 428 | # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set |
429 | CONFIG_CROSS_MEMORY_ATTACH=y | ||
414 | # CONFIG_CLEANCACHE is not set | 430 | # CONFIG_CLEANCACHE is not set |
431 | # CONFIG_FRONTSWAP is not set | ||
415 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set | 432 | # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set |
416 | CONFIG_X86_RESERVE_LOW=64 | 433 | CONFIG_X86_RESERVE_LOW=64 |
417 | CONFIG_MTRR=y | 434 | CONFIG_MTRR=y |
@@ -421,6 +438,7 @@ CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 | |||
421 | CONFIG_X86_PAT=y | 438 | CONFIG_X86_PAT=y |
422 | CONFIG_ARCH_USES_PG_UNCACHED=y | 439 | CONFIG_ARCH_USES_PG_UNCACHED=y |
423 | CONFIG_ARCH_RANDOM=y | 440 | CONFIG_ARCH_RANDOM=y |
441 | CONFIG_X86_SMAP=y | ||
424 | # CONFIG_EFI is not set | 442 | # CONFIG_EFI is not set |
425 | # CONFIG_SECCOMP is not set | 443 | # CONFIG_SECCOMP is not set |
426 | # CONFIG_CC_STACKPROTECTOR is not set | 444 | # CONFIG_CC_STACKPROTECTOR is not set |
@@ -436,6 +454,8 @@ CONFIG_PHYSICAL_START=0x1000000 | |||
436 | # CONFIG_RELOCATABLE is not set | 454 | # CONFIG_RELOCATABLE is not set |
437 | CONFIG_PHYSICAL_ALIGN=0x1000000 | 455 | CONFIG_PHYSICAL_ALIGN=0x1000000 |
438 | CONFIG_HOTPLUG_CPU=y | 456 | CONFIG_HOTPLUG_CPU=y |
457 | # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set | ||
458 | # CONFIG_DEBUG_HOTPLUG_CPU0 is not set | ||
439 | # CONFIG_COMPAT_VDSO is not set | 459 | # CONFIG_COMPAT_VDSO is not set |
440 | # CONFIG_CMDLINE_BOOL is not set | 460 | # CONFIG_CMDLINE_BOOL is not set |
441 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | 461 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y |
@@ -449,6 +469,8 @@ CONFIG_HIBERNATE_CALLBACKS=y | |||
449 | # CONFIG_HIBERNATION is not set | 469 | # CONFIG_HIBERNATION is not set |
450 | CONFIG_PM_SLEEP=y | 470 | CONFIG_PM_SLEEP=y |
451 | CONFIG_PM_SLEEP_SMP=y | 471 | CONFIG_PM_SLEEP_SMP=y |
472 | # CONFIG_PM_AUTOSLEEP is not set | ||
473 | # CONFIG_PM_WAKELOCKS is not set | ||
452 | # CONFIG_PM_RUNTIME is not set | 474 | # CONFIG_PM_RUNTIME is not set |
453 | CONFIG_PM=y | 475 | CONFIG_PM=y |
454 | # CONFIG_PM_DEBUG is not set | 476 | # CONFIG_PM_DEBUG is not set |
@@ -464,21 +486,22 @@ CONFIG_ACPI_BUTTON=m | |||
464 | CONFIG_ACPI_VIDEO=m | 486 | CONFIG_ACPI_VIDEO=m |
465 | CONFIG_ACPI_FAN=m | 487 | CONFIG_ACPI_FAN=m |
466 | CONFIG_ACPI_DOCK=y | 488 | CONFIG_ACPI_DOCK=y |
489 | CONFIG_ACPI_I2C=m | ||
467 | CONFIG_ACPI_PROCESSOR=m | 490 | CONFIG_ACPI_PROCESSOR=m |
468 | CONFIG_ACPI_IPMI=m | 491 | CONFIG_ACPI_IPMI=m |
469 | CONFIG_ACPI_HOTPLUG_CPU=y | 492 | CONFIG_ACPI_HOTPLUG_CPU=y |
470 | # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set | 493 | # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set |
471 | CONFIG_ACPI_THERMAL=m | 494 | CONFIG_ACPI_THERMAL=m |
472 | # CONFIG_ACPI_CUSTOM_DSDT is not set | 495 | # CONFIG_ACPI_CUSTOM_DSDT is not set |
496 | # CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set | ||
473 | CONFIG_ACPI_BLACKLIST_YEAR=0 | 497 | CONFIG_ACPI_BLACKLIST_YEAR=0 |
474 | # CONFIG_ACPI_DEBUG is not set | 498 | # CONFIG_ACPI_DEBUG is not set |
475 | CONFIG_ACPI_PCI_SLOT=m | 499 | # CONFIG_ACPI_PCI_SLOT is not set |
476 | CONFIG_X86_PM_TIMER=y | 500 | CONFIG_X86_PM_TIMER=y |
477 | CONFIG_ACPI_CONTAINER=m | 501 | CONFIG_ACPI_CONTAINER=y |
478 | CONFIG_ACPI_SBS=m | 502 | CONFIG_ACPI_SBS=m |
479 | CONFIG_ACPI_HED=m | 503 | CONFIG_ACPI_HED=m |
480 | # CONFIG_ACPI_CUSTOM_METHOD is not set | 504 | # CONFIG_ACPI_CUSTOM_METHOD is not set |
481 | CONFIG_ACPI_BGRT=m | ||
482 | CONFIG_ACPI_APEI=y | 505 | CONFIG_ACPI_APEI=y |
483 | # CONFIG_ACPI_APEI_GHES is not set | 506 | # CONFIG_ACPI_APEI_GHES is not set |
484 | CONFIG_ACPI_APEI_EINJ=m | 507 | CONFIG_ACPI_APEI_EINJ=m |
@@ -490,6 +513,7 @@ CONFIG_ACPI_APEI_ERST_DEBUG=y | |||
490 | # | 513 | # |
491 | CONFIG_CPU_FREQ=y | 514 | CONFIG_CPU_FREQ=y |
492 | CONFIG_CPU_FREQ_TABLE=m | 515 | CONFIG_CPU_FREQ_TABLE=m |
516 | CONFIG_CPU_FREQ_GOV_COMMON=y | ||
493 | CONFIG_CPU_FREQ_STAT=m | 517 | CONFIG_CPU_FREQ_STAT=m |
494 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | 518 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set |
495 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | 519 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y |
@@ -506,9 +530,12 @@ CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m | |||
506 | # | 530 | # |
507 | # x86 CPU frequency scaling drivers | 531 | # x86 CPU frequency scaling drivers |
508 | # | 532 | # |
533 | CONFIG_X86_INTEL_PSTATE=y | ||
509 | CONFIG_X86_PCC_CPUFREQ=m | 534 | CONFIG_X86_PCC_CPUFREQ=m |
510 | CONFIG_X86_ACPI_CPUFREQ=m | 535 | CONFIG_X86_ACPI_CPUFREQ=m |
536 | CONFIG_X86_ACPI_CPUFREQ_CPB=y | ||
511 | CONFIG_X86_POWERNOW_K8=m | 537 | CONFIG_X86_POWERNOW_K8=m |
538 | CONFIG_X86_AMD_FREQ_SENSITIVITY=m | ||
512 | CONFIG_X86_SPEEDSTEP_CENTRINO=m | 539 | CONFIG_X86_SPEEDSTEP_CENTRINO=m |
513 | CONFIG_X86_P4_CLOCKMOD=m | 540 | CONFIG_X86_P4_CLOCKMOD=m |
514 | 541 | ||
@@ -517,8 +544,10 @@ CONFIG_X86_P4_CLOCKMOD=m | |||
517 | # | 544 | # |
518 | CONFIG_X86_SPEEDSTEP_LIB=m | 545 | CONFIG_X86_SPEEDSTEP_LIB=m |
519 | CONFIG_CPU_IDLE=y | 546 | CONFIG_CPU_IDLE=y |
547 | # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set | ||
520 | CONFIG_CPU_IDLE_GOV_LADDER=y | 548 | CONFIG_CPU_IDLE_GOV_LADDER=y |
521 | CONFIG_CPU_IDLE_GOV_MENU=y | 549 | CONFIG_CPU_IDLE_GOV_MENU=y |
550 | # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set | ||
522 | CONFIG_INTEL_IDLE=y | 551 | CONFIG_INTEL_IDLE=y |
523 | 552 | ||
524 | # | 553 | # |
@@ -561,9 +590,6 @@ CONFIG_ISA_DMA_API=y | |||
561 | CONFIG_AMD_NB=y | 590 | CONFIG_AMD_NB=y |
562 | # CONFIG_PCCARD is not set | 591 | # CONFIG_PCCARD is not set |
563 | CONFIG_HOTPLUG_PCI=m | 592 | CONFIG_HOTPLUG_PCI=m |
564 | CONFIG_HOTPLUG_PCI_FAKE=m | ||
565 | CONFIG_HOTPLUG_PCI_ACPI=m | ||
566 | CONFIG_HOTPLUG_PCI_ACPI_IBM=m | ||
567 | CONFIG_HOTPLUG_PCI_CPCI=y | 593 | CONFIG_HOTPLUG_PCI_CPCI=y |
568 | CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m | 594 | CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m |
569 | CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m | 595 | CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m |
@@ -577,8 +603,10 @@ CONFIG_BINFMT_ELF=y | |||
577 | CONFIG_COMPAT_BINFMT_ELF=y | 603 | CONFIG_COMPAT_BINFMT_ELF=y |
578 | CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y | 604 | CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y |
579 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 605 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set |
606 | CONFIG_BINFMT_SCRIPT=y | ||
580 | # CONFIG_HAVE_AOUT is not set | 607 | # CONFIG_HAVE_AOUT is not set |
581 | CONFIG_BINFMT_MISC=m | 608 | CONFIG_BINFMT_MISC=m |
609 | CONFIG_COREDUMP=y | ||
582 | CONFIG_IA32_EMULATION=y | 610 | CONFIG_IA32_EMULATION=y |
583 | # CONFIG_IA32_AOUT is not set | 611 | # CONFIG_IA32_AOUT is not set |
584 | # CONFIG_X86_X32 is not set | 612 | # CONFIG_X86_X32 is not set |
@@ -587,6 +615,7 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y | |||
587 | CONFIG_SYSVIPC_COMPAT=y | 615 | CONFIG_SYSVIPC_COMPAT=y |
588 | CONFIG_KEYS_COMPAT=y | 616 | CONFIG_KEYS_COMPAT=y |
589 | CONFIG_HAVE_TEXT_POKE_SMP=y | 617 | CONFIG_HAVE_TEXT_POKE_SMP=y |
618 | CONFIG_X86_DEV_DMA_OPS=y | ||
590 | CONFIG_NET=y | 619 | CONFIG_NET=y |
591 | CONFIG_COMPAT_NETLINK_MESSAGES=y | 620 | CONFIG_COMPAT_NETLINK_MESSAGES=y |
592 | 621 | ||
@@ -594,9 +623,11 @@ CONFIG_COMPAT_NETLINK_MESSAGES=y | |||
594 | # Networking options | 623 | # Networking options |
595 | # | 624 | # |
596 | CONFIG_PACKET=m | 625 | CONFIG_PACKET=m |
626 | CONFIG_PACKET_DIAG=m | ||
597 | CONFIG_UNIX=y | 627 | CONFIG_UNIX=y |
598 | CONFIG_UNIX_DIAG=m | 628 | CONFIG_UNIX_DIAG=m |
599 | CONFIG_XFRM=y | 629 | CONFIG_XFRM=y |
630 | CONFIG_XFRM_ALGO=m | ||
600 | CONFIG_XFRM_USER=m | 631 | CONFIG_XFRM_USER=m |
601 | CONFIG_XFRM_SUB_POLICY=y | 632 | CONFIG_XFRM_SUB_POLICY=y |
602 | CONFIG_XFRM_MIGRATE=y | 633 | CONFIG_XFRM_MIGRATE=y |
@@ -618,6 +649,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
618 | CONFIG_IP_PNP_RARP=y | 649 | CONFIG_IP_PNP_RARP=y |
619 | CONFIG_NET_IPIP=m | 650 | CONFIG_NET_IPIP=m |
620 | CONFIG_NET_IPGRE_DEMUX=y | 651 | CONFIG_NET_IPGRE_DEMUX=y |
652 | CONFIG_NET_IP_TUNNEL=m | ||
621 | CONFIG_NET_IPGRE=m | 653 | CONFIG_NET_IPGRE=m |
622 | CONFIG_NET_IPGRE_BROADCAST=y | 654 | CONFIG_NET_IPGRE_BROADCAST=y |
623 | CONFIG_IP_MROUTE=y | 655 | CONFIG_IP_MROUTE=y |
@@ -626,6 +658,7 @@ CONFIG_IP_MROUTE_MULTIPLE_TABLES=y | |||
626 | CONFIG_IP_PIMSM_V2=y | 658 | CONFIG_IP_PIMSM_V2=y |
627 | CONFIG_ARPD=y | 659 | CONFIG_ARPD=y |
628 | CONFIG_SYN_COOKIES=y | 660 | CONFIG_SYN_COOKIES=y |
661 | # CONFIG_NET_IPVTI is not set | ||
629 | CONFIG_INET_AH=m | 662 | CONFIG_INET_AH=m |
630 | CONFIG_INET_ESP=m | 663 | CONFIG_INET_ESP=m |
631 | CONFIG_INET_IPCOMP=m | 664 | CONFIG_INET_IPCOMP=m |
@@ -674,6 +707,7 @@ CONFIG_IPV6_SIT=m | |||
674 | CONFIG_IPV6_SIT_6RD=y | 707 | CONFIG_IPV6_SIT_6RD=y |
675 | CONFIG_IPV6_NDISC_NODETYPE=y | 708 | CONFIG_IPV6_NDISC_NODETYPE=y |
676 | CONFIG_IPV6_TUNNEL=m | 709 | CONFIG_IPV6_TUNNEL=m |
710 | # CONFIG_IPV6_GRE is not set | ||
677 | CONFIG_IPV6_MULTIPLE_TABLES=y | 711 | CONFIG_IPV6_MULTIPLE_TABLES=y |
678 | CONFIG_IPV6_SUBTREES=y | 712 | CONFIG_IPV6_SUBTREES=y |
679 | CONFIG_IPV6_MROUTE=y | 713 | CONFIG_IPV6_MROUTE=y |
@@ -719,6 +753,17 @@ CONFIG_NF_CONNTRACK_SIP=m | |||
719 | CONFIG_NF_CONNTRACK_TFTP=m | 753 | CONFIG_NF_CONNTRACK_TFTP=m |
720 | CONFIG_NF_CT_NETLINK=m | 754 | CONFIG_NF_CT_NETLINK=m |
721 | CONFIG_NF_CT_NETLINK_TIMEOUT=m | 755 | CONFIG_NF_CT_NETLINK_TIMEOUT=m |
756 | # CONFIG_NETFILTER_NETLINK_QUEUE_CT is not set | ||
757 | CONFIG_NF_NAT=m | ||
758 | CONFIG_NF_NAT_NEEDED=y | ||
759 | CONFIG_NF_NAT_PROTO_DCCP=m | ||
760 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
761 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
762 | CONFIG_NF_NAT_AMANDA=m | ||
763 | CONFIG_NF_NAT_FTP=m | ||
764 | CONFIG_NF_NAT_IRC=m | ||
765 | CONFIG_NF_NAT_SIP=m | ||
766 | CONFIG_NF_NAT_TFTP=m | ||
722 | CONFIG_NETFILTER_TPROXY=m | 767 | CONFIG_NETFILTER_TPROXY=m |
723 | CONFIG_NETFILTER_XTABLES=m | 768 | CONFIG_NETFILTER_XTABLES=m |
724 | 769 | ||
@@ -739,14 +784,17 @@ CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | |||
739 | CONFIG_NETFILTER_XT_TARGET_CT=m | 784 | CONFIG_NETFILTER_XT_TARGET_CT=m |
740 | CONFIG_NETFILTER_XT_TARGET_DSCP=m | 785 | CONFIG_NETFILTER_XT_TARGET_DSCP=m |
741 | CONFIG_NETFILTER_XT_TARGET_HL=m | 786 | CONFIG_NETFILTER_XT_TARGET_HL=m |
787 | # CONFIG_NETFILTER_XT_TARGET_HMARK is not set | ||
742 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m | 788 | CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m |
743 | CONFIG_NETFILTER_XT_TARGET_LED=m | 789 | CONFIG_NETFILTER_XT_TARGET_LED=m |
744 | CONFIG_NETFILTER_XT_TARGET_LOG=m | 790 | CONFIG_NETFILTER_XT_TARGET_LOG=m |
745 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 791 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
792 | CONFIG_NETFILTER_XT_TARGET_NETMAP=m | ||
746 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m | 793 | CONFIG_NETFILTER_XT_TARGET_NFLOG=m |
747 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 794 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
748 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 795 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
749 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m | 796 | CONFIG_NETFILTER_XT_TARGET_RATEEST=m |
797 | CONFIG_NETFILTER_XT_TARGET_REDIRECT=m | ||
750 | CONFIG_NETFILTER_XT_TARGET_TEE=m | 798 | CONFIG_NETFILTER_XT_TARGET_TEE=m |
751 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m | 799 | CONFIG_NETFILTER_XT_TARGET_TPROXY=m |
752 | CONFIG_NETFILTER_XT_TARGET_TRACE=m | 800 | CONFIG_NETFILTER_XT_TARGET_TRACE=m |
@@ -758,9 +806,11 @@ CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m | |||
758 | # Xtables matches | 806 | # Xtables matches |
759 | # | 807 | # |
760 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m | 808 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m |
809 | # CONFIG_NETFILTER_XT_MATCH_BPF is not set | ||
761 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m | 810 | CONFIG_NETFILTER_XT_MATCH_CLUSTER=m |
762 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 811 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
763 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 812 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
813 | # CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set | ||
764 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m | 814 | CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m |
765 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 815 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
766 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 816 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
@@ -858,7 +908,6 @@ CONFIG_IP_VS_PE_SIP=m | |||
858 | CONFIG_NF_DEFRAG_IPV4=m | 908 | CONFIG_NF_DEFRAG_IPV4=m |
859 | CONFIG_NF_CONNTRACK_IPV4=m | 909 | CONFIG_NF_CONNTRACK_IPV4=m |
860 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y | 910 | CONFIG_NF_CONNTRACK_PROC_COMPAT=y |
861 | CONFIG_IP_NF_QUEUE=m | ||
862 | CONFIG_IP_NF_IPTABLES=m | 911 | CONFIG_IP_NF_IPTABLES=m |
863 | CONFIG_IP_NF_MATCH_AH=m | 912 | CONFIG_IP_NF_MATCH_AH=m |
864 | CONFIG_IP_NF_MATCH_ECN=m | 913 | CONFIG_IP_NF_MATCH_ECN=m |
@@ -867,23 +916,14 @@ CONFIG_IP_NF_MATCH_TTL=m | |||
867 | CONFIG_IP_NF_FILTER=m | 916 | CONFIG_IP_NF_FILTER=m |
868 | CONFIG_IP_NF_TARGET_REJECT=m | 917 | CONFIG_IP_NF_TARGET_REJECT=m |
869 | CONFIG_IP_NF_TARGET_ULOG=m | 918 | CONFIG_IP_NF_TARGET_ULOG=m |
870 | CONFIG_NF_NAT=m | 919 | CONFIG_NF_NAT_IPV4=m |
871 | CONFIG_NF_NAT_NEEDED=y | ||
872 | CONFIG_IP_NF_TARGET_MASQUERADE=m | 920 | CONFIG_IP_NF_TARGET_MASQUERADE=m |
873 | CONFIG_IP_NF_TARGET_NETMAP=m | 921 | CONFIG_IP_NF_TARGET_NETMAP=m |
874 | CONFIG_IP_NF_TARGET_REDIRECT=m | 922 | CONFIG_IP_NF_TARGET_REDIRECT=m |
875 | CONFIG_NF_NAT_SNMP_BASIC=m | 923 | CONFIG_NF_NAT_SNMP_BASIC=m |
876 | CONFIG_NF_NAT_PROTO_DCCP=m | ||
877 | CONFIG_NF_NAT_PROTO_GRE=m | 924 | CONFIG_NF_NAT_PROTO_GRE=m |
878 | CONFIG_NF_NAT_PROTO_UDPLITE=m | ||
879 | CONFIG_NF_NAT_PROTO_SCTP=m | ||
880 | CONFIG_NF_NAT_FTP=m | ||
881 | CONFIG_NF_NAT_IRC=m | ||
882 | CONFIG_NF_NAT_TFTP=m | ||
883 | CONFIG_NF_NAT_AMANDA=m | ||
884 | CONFIG_NF_NAT_PPTP=m | 925 | CONFIG_NF_NAT_PPTP=m |
885 | CONFIG_NF_NAT_H323=m | 926 | CONFIG_NF_NAT_H323=m |
886 | CONFIG_NF_NAT_SIP=m | ||
887 | CONFIG_IP_NF_MANGLE=m | 927 | CONFIG_IP_NF_MANGLE=m |
888 | CONFIG_IP_NF_TARGET_CLUSTERIP=m | 928 | CONFIG_IP_NF_TARGET_CLUSTERIP=m |
889 | CONFIG_IP_NF_TARGET_ECN=m | 929 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -899,7 +939,6 @@ CONFIG_IP_NF_ARP_MANGLE=m | |||
899 | # | 939 | # |
900 | CONFIG_NF_DEFRAG_IPV6=m | 940 | CONFIG_NF_DEFRAG_IPV6=m |
901 | CONFIG_NF_CONNTRACK_IPV6=m | 941 | CONFIG_NF_CONNTRACK_IPV6=m |
902 | CONFIG_IP6_NF_QUEUE=m | ||
903 | CONFIG_IP6_NF_IPTABLES=m | 942 | CONFIG_IP6_NF_IPTABLES=m |
904 | CONFIG_IP6_NF_MATCH_AH=m | 943 | CONFIG_IP6_NF_MATCH_AH=m |
905 | CONFIG_IP6_NF_MATCH_EUI64=m | 944 | CONFIG_IP6_NF_MATCH_EUI64=m |
@@ -916,6 +955,7 @@ CONFIG_IP6_NF_TARGET_REJECT=m | |||
916 | CONFIG_IP6_NF_MANGLE=m | 955 | CONFIG_IP6_NF_MANGLE=m |
917 | CONFIG_IP6_NF_RAW=m | 956 | CONFIG_IP6_NF_RAW=m |
918 | CONFIG_IP6_NF_SECURITY=m | 957 | CONFIG_IP6_NF_SECURITY=m |
958 | # CONFIG_NF_NAT_IPV6 is not set | ||
919 | 959 | ||
920 | # | 960 | # |
921 | # DECnet: Netfilter Configuration | 961 | # DECnet: Netfilter Configuration |
@@ -947,7 +987,7 @@ CONFIG_IP_DCCP=m | |||
947 | CONFIG_INET_DCCP_DIAG=m | 987 | CONFIG_INET_DCCP_DIAG=m |
948 | 988 | ||
949 | # | 989 | # |
950 | # DCCP CCIDs Configuration (EXPERIMENTAL) | 990 | # DCCP CCIDs Configuration |
951 | # | 991 | # |
952 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set | 992 | # CONFIG_IP_DCCP_CCID2_DEBUG is not set |
953 | CONFIG_IP_DCCP_CCID3=y | 993 | CONFIG_IP_DCCP_CCID3=y |
@@ -963,16 +1003,18 @@ CONFIG_IP_SCTP=m | |||
963 | CONFIG_NET_SCTPPROBE=m | 1003 | CONFIG_NET_SCTPPROBE=m |
964 | # CONFIG_SCTP_DBG_MSG is not set | 1004 | # CONFIG_SCTP_DBG_MSG is not set |
965 | # CONFIG_SCTP_DBG_OBJCNT is not set | 1005 | # CONFIG_SCTP_DBG_OBJCNT is not set |
966 | # CONFIG_SCTP_HMAC_NONE is not set | 1006 | CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y |
967 | CONFIG_SCTP_HMAC_SHA1=y | 1007 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set |
968 | # CONFIG_SCTP_HMAC_MD5 is not set | 1008 | # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set |
1009 | CONFIG_SCTP_COOKIE_HMAC_MD5=y | ||
1010 | CONFIG_SCTP_COOKIE_HMAC_SHA1=y | ||
969 | CONFIG_RDS=m | 1011 | CONFIG_RDS=m |
970 | # CONFIG_RDS_RDMA is not set | 1012 | # CONFIG_RDS_RDMA is not set |
971 | # CONFIG_RDS_TCP is not set | 1013 | # CONFIG_RDS_TCP is not set |
972 | # CONFIG_RDS_DEBUG is not set | 1014 | # CONFIG_RDS_DEBUG is not set |
973 | CONFIG_TIPC=m | 1015 | CONFIG_TIPC=m |
974 | # CONFIG_TIPC_ADVANCED is not set | 1016 | CONFIG_TIPC_PORTS=8191 |
975 | # CONFIG_TIPC_DEBUG is not set | 1017 | # CONFIG_TIPC_MEDIA_IB is not set |
976 | CONFIG_ATM=m | 1018 | CONFIG_ATM=m |
977 | CONFIG_ATM_CLIP=m | 1019 | CONFIG_ATM_CLIP=m |
978 | # CONFIG_ATM_CLIP_NO_ICMP is not set | 1020 | # CONFIG_ATM_CLIP_NO_ICMP is not set |
@@ -986,11 +1028,14 @@ CONFIG_L2TP_V3=y | |||
986 | CONFIG_L2TP_IP=m | 1028 | CONFIG_L2TP_IP=m |
987 | CONFIG_L2TP_ETH=m | 1029 | CONFIG_L2TP_ETH=m |
988 | CONFIG_STP=m | 1030 | CONFIG_STP=m |
1031 | CONFIG_MRP=m | ||
989 | CONFIG_BRIDGE=m | 1032 | CONFIG_BRIDGE=m |
990 | CONFIG_BRIDGE_IGMP_SNOOPING=y | 1033 | CONFIG_BRIDGE_IGMP_SNOOPING=y |
991 | # CONFIG_NET_DSA is not set | 1034 | CONFIG_BRIDGE_VLAN_FILTERING=y |
1035 | CONFIG_HAVE_NET_DSA=y | ||
992 | CONFIG_VLAN_8021Q=m | 1036 | CONFIG_VLAN_8021Q=m |
993 | # CONFIG_VLAN_8021Q_GVRP is not set | 1037 | # CONFIG_VLAN_8021Q_GVRP is not set |
1038 | CONFIG_VLAN_8021Q_MVRP=y | ||
994 | CONFIG_DECNET=m | 1039 | CONFIG_DECNET=m |
995 | CONFIG_DECNET_ROUTER=y | 1040 | CONFIG_DECNET_ROUTER=y |
996 | CONFIG_LLC=m | 1041 | CONFIG_LLC=m |
@@ -1001,14 +1046,12 @@ CONFIG_ATALK=m | |||
1001 | CONFIG_DEV_APPLETALK=m | 1046 | CONFIG_DEV_APPLETALK=m |
1002 | CONFIG_IPDDP=m | 1047 | CONFIG_IPDDP=m |
1003 | CONFIG_IPDDP_ENCAP=y | 1048 | CONFIG_IPDDP_ENCAP=y |
1004 | CONFIG_IPDDP_DECAP=y | ||
1005 | CONFIG_X25=m | 1049 | CONFIG_X25=m |
1006 | CONFIG_LAPB=m | 1050 | CONFIG_LAPB=m |
1007 | # CONFIG_ECONET is not set | ||
1008 | CONFIG_WAN_ROUTER=m | ||
1009 | # CONFIG_PHONET is not set | 1051 | # CONFIG_PHONET is not set |
1010 | CONFIG_IEEE802154=m | 1052 | CONFIG_IEEE802154=m |
1011 | CONFIG_IEEE802154_6LOWPAN=m | 1053 | CONFIG_IEEE802154_6LOWPAN=m |
1054 | CONFIG_MAC802154=m | ||
1012 | CONFIG_NET_SCHED=y | 1055 | CONFIG_NET_SCHED=y |
1013 | 1056 | ||
1014 | # | 1057 | # |
@@ -1032,6 +1075,8 @@ CONFIG_NET_SCH_DRR=m | |||
1032 | CONFIG_NET_SCH_MQPRIO=m | 1075 | CONFIG_NET_SCH_MQPRIO=m |
1033 | CONFIG_NET_SCH_CHOKE=m | 1076 | CONFIG_NET_SCH_CHOKE=m |
1034 | CONFIG_NET_SCH_QFQ=m | 1077 | CONFIG_NET_SCH_QFQ=m |
1078 | # CONFIG_NET_SCH_CODEL is not set | ||
1079 | # CONFIG_NET_SCH_FQ_CODEL is not set | ||
1035 | CONFIG_NET_SCH_INGRESS=m | 1080 | CONFIG_NET_SCH_INGRESS=m |
1036 | CONFIG_NET_SCH_PLUG=m | 1081 | CONFIG_NET_SCH_PLUG=m |
1037 | 1082 | ||
@@ -1057,6 +1102,7 @@ CONFIG_NET_EMATCH_NBYTE=m | |||
1057 | CONFIG_NET_EMATCH_U32=m | 1102 | CONFIG_NET_EMATCH_U32=m |
1058 | CONFIG_NET_EMATCH_META=m | 1103 | CONFIG_NET_EMATCH_META=m |
1059 | CONFIG_NET_EMATCH_TEXT=m | 1104 | CONFIG_NET_EMATCH_TEXT=m |
1105 | CONFIG_NET_EMATCH_IPSET=m | ||
1060 | CONFIG_NET_CLS_ACT=y | 1106 | CONFIG_NET_CLS_ACT=y |
1061 | CONFIG_NET_ACT_POLICE=m | 1107 | CONFIG_NET_ACT_POLICE=m |
1062 | CONFIG_NET_ACT_GACT=m | 1108 | CONFIG_NET_ACT_GACT=m |
@@ -1074,12 +1120,15 @@ CONFIG_NET_SCH_FIFO=y | |||
1074 | CONFIG_DNS_RESOLVER=y | 1120 | CONFIG_DNS_RESOLVER=y |
1075 | # CONFIG_BATMAN_ADV is not set | 1121 | # CONFIG_BATMAN_ADV is not set |
1076 | CONFIG_OPENVSWITCH=m | 1122 | CONFIG_OPENVSWITCH=m |
1123 | CONFIG_VSOCKETS=m | ||
1124 | CONFIG_VMWARE_VMCI_VSOCKETS=m | ||
1125 | CONFIG_NETLINK_MMAP=y | ||
1126 | CONFIG_NETLINK_DIAG=m | ||
1077 | CONFIG_RPS=y | 1127 | CONFIG_RPS=y |
1078 | CONFIG_RFS_ACCEL=y | 1128 | CONFIG_RFS_ACCEL=y |
1079 | CONFIG_XPS=y | 1129 | CONFIG_XPS=y |
1080 | CONFIG_NETPRIO_CGROUP=m | 1130 | CONFIG_NETPRIO_CGROUP=m |
1081 | CONFIG_BQL=y | 1131 | CONFIG_BQL=y |
1082 | CONFIG_HAVE_BPF_JIT=y | ||
1083 | CONFIG_BPF_JIT=y | 1132 | CONFIG_BPF_JIT=y |
1084 | 1133 | ||
1085 | # | 1134 | # |
@@ -1108,6 +1157,7 @@ CONFIG_BT_HCIUART_H4=y | |||
1108 | CONFIG_BT_HCIUART_BCSP=y | 1157 | CONFIG_BT_HCIUART_BCSP=y |
1109 | CONFIG_BT_HCIUART_ATH3K=y | 1158 | CONFIG_BT_HCIUART_ATH3K=y |
1110 | CONFIG_BT_HCIUART_LL=y | 1159 | CONFIG_BT_HCIUART_LL=y |
1160 | # CONFIG_BT_HCIUART_3WIRE is not set | ||
1111 | CONFIG_BT_HCIBCM203X=m | 1161 | CONFIG_BT_HCIBCM203X=m |
1112 | CONFIG_BT_HCIBPA10X=m | 1162 | CONFIG_BT_HCIBPA10X=m |
1113 | CONFIG_BT_HCIBFUSB=m | 1163 | CONFIG_BT_HCIBFUSB=m |
@@ -1130,11 +1180,11 @@ CONFIG_CFG80211=m | |||
1130 | # CONFIG_NL80211_TESTMODE is not set | 1180 | # CONFIG_NL80211_TESTMODE is not set |
1131 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | 1181 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set |
1132 | # CONFIG_CFG80211_REG_DEBUG is not set | 1182 | # CONFIG_CFG80211_REG_DEBUG is not set |
1183 | # CONFIG_CFG80211_CERTIFICATION_ONUS is not set | ||
1133 | CONFIG_CFG80211_DEFAULT_PS=y | 1184 | CONFIG_CFG80211_DEFAULT_PS=y |
1134 | # CONFIG_CFG80211_DEBUGFS is not set | 1185 | # CONFIG_CFG80211_DEBUGFS is not set |
1135 | # CONFIG_CFG80211_INTERNAL_REGDB is not set | 1186 | # CONFIG_CFG80211_INTERNAL_REGDB is not set |
1136 | CONFIG_CFG80211_WEXT=y | 1187 | CONFIG_CFG80211_WEXT=y |
1137 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
1138 | CONFIG_LIB80211=m | 1188 | CONFIG_LIB80211=m |
1139 | CONFIG_LIB80211_CRYPT_WEP=m | 1189 | CONFIG_LIB80211_CRYPT_WEP=m |
1140 | CONFIG_LIB80211_CRYPT_CCMP=m | 1190 | CONFIG_LIB80211_CRYPT_CCMP=m |
@@ -1151,6 +1201,7 @@ CONFIG_MAC80211_RC_DEFAULT="pid" | |||
1151 | # CONFIG_MAC80211_MESH is not set | 1201 | # CONFIG_MAC80211_MESH is not set |
1152 | CONFIG_MAC80211_LEDS=y | 1202 | CONFIG_MAC80211_LEDS=y |
1153 | # CONFIG_MAC80211_DEBUGFS is not set | 1203 | # CONFIG_MAC80211_DEBUGFS is not set |
1204 | # CONFIG_MAC80211_MESSAGE_TRACING is not set | ||
1154 | # CONFIG_MAC80211_DEBUG_MENU is not set | 1205 | # CONFIG_MAC80211_DEBUG_MENU is not set |
1155 | CONFIG_WIMAX=m | 1206 | CONFIG_WIMAX=m |
1156 | CONFIG_WIMAX_DEBUG_LEVEL=8 | 1207 | CONFIG_WIMAX_DEBUG_LEVEL=8 |
@@ -1166,6 +1217,7 @@ CONFIG_CEPH_LIB=m | |||
1166 | # CONFIG_CEPH_LIB_PRETTYDEBUG is not set | 1217 | # CONFIG_CEPH_LIB_PRETTYDEBUG is not set |
1167 | # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set | 1218 | # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set |
1168 | # CONFIG_NFC is not set | 1219 | # CONFIG_NFC is not set |
1220 | CONFIG_HAVE_BPF_JIT=y | ||
1169 | 1221 | ||
1170 | # | 1222 | # |
1171 | # Device Drivers | 1223 | # Device Drivers |
@@ -1182,6 +1234,7 @@ CONFIG_STANDALONE=y | |||
1182 | CONFIG_FW_LOADER=m | 1234 | CONFIG_FW_LOADER=m |
1183 | # CONFIG_FIRMWARE_IN_KERNEL is not set | 1235 | # CONFIG_FIRMWARE_IN_KERNEL is not set |
1184 | CONFIG_EXTRA_FIRMWARE="" | 1236 | CONFIG_EXTRA_FIRMWARE="" |
1237 | CONFIG_FW_LOADER_USER_HELPER=y | ||
1185 | # CONFIG_DEBUG_DRIVER is not set | 1238 | # CONFIG_DEBUG_DRIVER is not set |
1186 | CONFIG_DEBUG_DEVRES=y | 1239 | CONFIG_DEBUG_DEVRES=y |
1187 | CONFIG_SYS_HYPERVISOR=y | 1240 | CONFIG_SYS_HYPERVISOR=y |
@@ -1189,7 +1242,12 @@ CONFIG_SYS_HYPERVISOR=y | |||
1189 | CONFIG_REGMAP=y | 1242 | CONFIG_REGMAP=y |
1190 | CONFIG_REGMAP_I2C=m | 1243 | CONFIG_REGMAP_I2C=m |
1191 | CONFIG_REGMAP_SPI=m | 1244 | CONFIG_REGMAP_SPI=m |
1245 | CONFIG_REGMAP_MMIO=m | ||
1192 | CONFIG_DMA_SHARED_BUFFER=y | 1246 | CONFIG_DMA_SHARED_BUFFER=y |
1247 | |||
1248 | # | ||
1249 | # Bus devices | ||
1250 | # | ||
1193 | CONFIG_CONNECTOR=m | 1251 | CONFIG_CONNECTOR=m |
1194 | CONFIG_MTD=m | 1252 | CONFIG_MTD=m |
1195 | CONFIG_MTD_TESTS=m | 1253 | CONFIG_MTD_TESTS=m |
@@ -1197,13 +1255,12 @@ CONFIG_MTD_REDBOOT_PARTS=m | |||
1197 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | 1255 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 |
1198 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | 1256 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set |
1199 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | 1257 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set |
1258 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
1200 | CONFIG_MTD_AR7_PARTS=m | 1259 | CONFIG_MTD_AR7_PARTS=m |
1201 | 1260 | ||
1202 | # | 1261 | # |
1203 | # User Modules And Translation Layers | 1262 | # User Modules And Translation Layers |
1204 | # | 1263 | # |
1205 | CONFIG_MTD_CHAR=m | ||
1206 | CONFIG_HAVE_MTD_OTP=y | ||
1207 | CONFIG_MTD_BLKDEVS=m | 1264 | CONFIG_MTD_BLKDEVS=m |
1208 | CONFIG_MTD_BLOCK=m | 1265 | CONFIG_MTD_BLOCK=m |
1209 | CONFIG_MTD_BLOCK_RO=m | 1266 | CONFIG_MTD_BLOCK_RO=m |
@@ -1287,25 +1344,14 @@ CONFIG_MTD_BLOCK2MTD=m | |||
1287 | # | 1344 | # |
1288 | # Disk-On-Chip Device Drivers | 1345 | # Disk-On-Chip Device Drivers |
1289 | # | 1346 | # |
1290 | CONFIG_MTD_DOC2000=m | ||
1291 | CONFIG_MTD_DOC2001=m | ||
1292 | CONFIG_MTD_DOC2001PLUS=m | ||
1293 | # CONFIG_MTD_DOCG3 is not set | 1347 | # CONFIG_MTD_DOCG3 is not set |
1294 | CONFIG_MTD_DOCPROBE=m | ||
1295 | CONFIG_MTD_DOCECC=m | ||
1296 | CONFIG_MTD_DOCPROBE_ADVANCED=y | ||
1297 | CONFIG_MTD_DOCPROBE_ADDRESS=0x0000 | ||
1298 | # CONFIG_MTD_DOCPROBE_HIGH is not set | ||
1299 | # CONFIG_MTD_DOCPROBE_55AA is not set | ||
1300 | CONFIG_MTD_NAND_ECC=m | 1348 | CONFIG_MTD_NAND_ECC=m |
1301 | CONFIG_MTD_NAND_ECC_SMC=y | 1349 | CONFIG_MTD_NAND_ECC_SMC=y |
1302 | CONFIG_MTD_NAND=m | 1350 | CONFIG_MTD_NAND=m |
1303 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
1304 | # CONFIG_MTD_NAND_ECC_BCH is not set | 1351 | # CONFIG_MTD_NAND_ECC_BCH is not set |
1305 | CONFIG_MTD_SM_COMMON=m | 1352 | CONFIG_MTD_SM_COMMON=m |
1306 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
1307 | CONFIG_MTD_NAND_DENALI=m | 1353 | CONFIG_MTD_NAND_DENALI=m |
1308 | CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 | 1354 | # CONFIG_MTD_NAND_DENALI_PCI is not set |
1309 | CONFIG_MTD_NAND_IDS=m | 1355 | CONFIG_MTD_NAND_IDS=m |
1310 | CONFIG_MTD_NAND_RICOH=m | 1356 | CONFIG_MTD_NAND_RICOH=m |
1311 | CONFIG_MTD_NAND_DISKONCHIP=m | 1357 | CONFIG_MTD_NAND_DISKONCHIP=m |
@@ -1322,7 +1368,6 @@ CONFIG_MTD_ONENAND=m | |||
1322 | # CONFIG_MTD_ONENAND_GENERIC is not set | 1368 | # CONFIG_MTD_ONENAND_GENERIC is not set |
1323 | CONFIG_MTD_ONENAND_OTP=y | 1369 | CONFIG_MTD_ONENAND_OTP=y |
1324 | CONFIG_MTD_ONENAND_2X_PROGRAM=y | 1370 | CONFIG_MTD_ONENAND_2X_PROGRAM=y |
1325 | CONFIG_MTD_ONENAND_SIM=m | ||
1326 | 1371 | ||
1327 | # | 1372 | # |
1328 | # LPDDR flash memory drivers | 1373 | # LPDDR flash memory drivers |
@@ -1331,9 +1376,9 @@ CONFIG_MTD_LPDDR=m | |||
1331 | CONFIG_MTD_QINFO_PROBE=m | 1376 | CONFIG_MTD_QINFO_PROBE=m |
1332 | CONFIG_MTD_UBI=m | 1377 | CONFIG_MTD_UBI=m |
1333 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 | 1378 | CONFIG_MTD_UBI_WL_THRESHOLD=4096 |
1334 | CONFIG_MTD_UBI_BEB_RESERVE=1 | 1379 | CONFIG_MTD_UBI_BEB_LIMIT=20 |
1380 | # CONFIG_MTD_UBI_FASTMAP is not set | ||
1335 | # CONFIG_MTD_UBI_GLUEBI is not set | 1381 | # CONFIG_MTD_UBI_GLUEBI is not set |
1336 | # CONFIG_MTD_UBI_DEBUG is not set | ||
1337 | CONFIG_PARPORT=m | 1382 | CONFIG_PARPORT=m |
1338 | CONFIG_PARPORT_PC=m | 1383 | CONFIG_PARPORT_PC=m |
1339 | CONFIG_PARPORT_SERIAL=m | 1384 | CONFIG_PARPORT_SERIAL=m |
@@ -1370,7 +1415,6 @@ CONFIG_BLK_DEV_NBD=m | |||
1370 | CONFIG_BLK_DEV_NVME=m | 1415 | CONFIG_BLK_DEV_NVME=m |
1371 | CONFIG_BLK_DEV_OSD=m | 1416 | CONFIG_BLK_DEV_OSD=m |
1372 | CONFIG_BLK_DEV_SX8=m | 1417 | CONFIG_BLK_DEV_SX8=m |
1373 | CONFIG_BLK_DEV_UB=m | ||
1374 | CONFIG_BLK_DEV_RAM=y | 1418 | CONFIG_BLK_DEV_RAM=y |
1375 | CONFIG_BLK_DEV_RAM_COUNT=16 | 1419 | CONFIG_BLK_DEV_RAM_COUNT=16 |
1376 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 1420 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
@@ -1384,6 +1428,7 @@ CONFIG_XEN_BLKDEV_BACKEND=m | |||
1384 | CONFIG_VIRTIO_BLK=m | 1428 | CONFIG_VIRTIO_BLK=m |
1385 | # CONFIG_BLK_DEV_HD is not set | 1429 | # CONFIG_BLK_DEV_HD is not set |
1386 | # CONFIG_BLK_DEV_RBD is not set | 1430 | # CONFIG_BLK_DEV_RBD is not set |
1431 | CONFIG_BLK_DEV_RSXX=m | ||
1387 | 1432 | ||
1388 | # | 1433 | # |
1389 | # Misc devices | 1434 | # Misc devices |
@@ -1392,6 +1437,7 @@ CONFIG_SENSORS_LIS3LV02D=m | |||
1392 | CONFIG_AD525X_DPOT=m | 1437 | CONFIG_AD525X_DPOT=m |
1393 | CONFIG_AD525X_DPOT_I2C=m | 1438 | CONFIG_AD525X_DPOT_I2C=m |
1394 | CONFIG_AD525X_DPOT_SPI=m | 1439 | CONFIG_AD525X_DPOT_SPI=m |
1440 | # CONFIG_DUMMY_IRQ is not set | ||
1395 | CONFIG_IBM_ASM=m | 1441 | CONFIG_IBM_ASM=m |
1396 | CONFIG_PHANTOM=m | 1442 | CONFIG_PHANTOM=m |
1397 | # CONFIG_INTEL_MID_PTI is not set | 1443 | # CONFIG_INTEL_MID_PTI is not set |
@@ -1399,6 +1445,7 @@ CONFIG_SGI_IOC4=m | |||
1399 | CONFIG_TIFM_CORE=m | 1445 | CONFIG_TIFM_CORE=m |
1400 | CONFIG_TIFM_7XX1=m | 1446 | CONFIG_TIFM_7XX1=m |
1401 | CONFIG_ICS932S401=m | 1447 | CONFIG_ICS932S401=m |
1448 | # CONFIG_ATMEL_SSC is not set | ||
1402 | CONFIG_ENCLOSURE_SERVICES=m | 1449 | CONFIG_ENCLOSURE_SERVICES=m |
1403 | CONFIG_CS5535_MFGPT=m | 1450 | CONFIG_CS5535_MFGPT=m |
1404 | CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 | 1451 | CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7 |
@@ -1415,9 +1462,12 @@ CONFIG_HMC6352=m | |||
1415 | CONFIG_DS1682=m | 1462 | CONFIG_DS1682=m |
1416 | CONFIG_TI_DAC7512=m | 1463 | CONFIG_TI_DAC7512=m |
1417 | CONFIG_VMWARE_BALLOON=m | 1464 | CONFIG_VMWARE_BALLOON=m |
1418 | CONFIG_BMP085=m | 1465 | # CONFIG_BMP085_I2C is not set |
1466 | # CONFIG_BMP085_SPI is not set | ||
1419 | CONFIG_PCH_PHUB=m | 1467 | CONFIG_PCH_PHUB=m |
1420 | # CONFIG_USB_SWITCH_FSA9480 is not set | 1468 | # CONFIG_USB_SWITCH_FSA9480 is not set |
1469 | # CONFIG_LATTICE_ECP3_CONFIG is not set | ||
1470 | # CONFIG_SRAM is not set | ||
1421 | CONFIG_C2PORT=m | 1471 | CONFIG_C2PORT=m |
1422 | CONFIG_C2PORT_DURAMAR_2150=m | 1472 | CONFIG_C2PORT_DURAMAR_2150=m |
1423 | 1473 | ||
@@ -1433,9 +1483,6 @@ CONFIG_EEPROM_93XX46=m | |||
1433 | CONFIG_CB710_CORE=m | 1483 | CONFIG_CB710_CORE=m |
1434 | # CONFIG_CB710_DEBUG is not set | 1484 | # CONFIG_CB710_DEBUG is not set |
1435 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y | 1485 | CONFIG_CB710_DEBUG_ASSUMPTIONS=y |
1436 | CONFIG_IWMC3200TOP=m | ||
1437 | # CONFIG_IWMC3200TOP_DEBUG is not set | ||
1438 | # CONFIG_IWMC3200TOP_DEBUGFS is not set | ||
1439 | 1486 | ||
1440 | # | 1487 | # |
1441 | # Texas Instruments shared transport line discipline | 1488 | # Texas Instruments shared transport line discipline |
@@ -1447,6 +1494,9 @@ CONFIG_SENSORS_LIS3_I2C=m | |||
1447 | # Altera FPGA firmware download module | 1494 | # Altera FPGA firmware download module |
1448 | # | 1495 | # |
1449 | # CONFIG_ALTERA_STAPL is not set | 1496 | # CONFIG_ALTERA_STAPL is not set |
1497 | # CONFIG_INTEL_MEI is not set | ||
1498 | # CONFIG_INTEL_MEI_ME is not set | ||
1499 | CONFIG_VMWARE_VMCI=m | ||
1450 | CONFIG_HAVE_IDE=y | 1500 | CONFIG_HAVE_IDE=y |
1451 | # CONFIG_IDE is not set | 1501 | # CONFIG_IDE is not set |
1452 | 1502 | ||
@@ -1476,7 +1526,6 @@ CONFIG_SCSI_MULTI_LUN=y | |||
1476 | # CONFIG_SCSI_CONSTANTS is not set | 1526 | # CONFIG_SCSI_CONSTANTS is not set |
1477 | # CONFIG_SCSI_LOGGING is not set | 1527 | # CONFIG_SCSI_LOGGING is not set |
1478 | CONFIG_SCSI_SCAN_ASYNC=y | 1528 | CONFIG_SCSI_SCAN_ASYNC=y |
1479 | CONFIG_SCSI_WAIT_SCAN=m | ||
1480 | 1529 | ||
1481 | # | 1530 | # |
1482 | # SCSI Transports | 1531 | # SCSI Transports |
@@ -1537,7 +1586,12 @@ CONFIG_MEGARAID_SAS=m | |||
1537 | CONFIG_SCSI_MPT2SAS=m | 1586 | CONFIG_SCSI_MPT2SAS=m |
1538 | CONFIG_SCSI_MPT2SAS_MAX_SGE=128 | 1587 | CONFIG_SCSI_MPT2SAS_MAX_SGE=128 |
1539 | # CONFIG_SCSI_MPT2SAS_LOGGING is not set | 1588 | # CONFIG_SCSI_MPT2SAS_LOGGING is not set |
1589 | CONFIG_SCSI_MPT3SAS=m | ||
1590 | CONFIG_SCSI_MPT3SAS_MAX_SGE=128 | ||
1591 | # CONFIG_SCSI_MPT3SAS_LOGGING is not set | ||
1540 | CONFIG_SCSI_UFSHCD=m | 1592 | CONFIG_SCSI_UFSHCD=m |
1593 | CONFIG_SCSI_UFSHCD_PCI=m | ||
1594 | CONFIG_SCSI_UFSHCD_PLATFORM=m | ||
1541 | CONFIG_SCSI_HPTIOP=m | 1595 | CONFIG_SCSI_HPTIOP=m |
1542 | CONFIG_SCSI_BUSLOGIC=m | 1596 | CONFIG_SCSI_BUSLOGIC=m |
1543 | CONFIG_VMWARE_PVSCSI=m | 1597 | CONFIG_VMWARE_PVSCSI=m |
@@ -1570,6 +1624,7 @@ CONFIG_SCSI_IPR_TRACE=y | |||
1570 | # CONFIG_SCSI_IPR_DUMP is not set | 1624 | # CONFIG_SCSI_IPR_DUMP is not set |
1571 | CONFIG_SCSI_QLOGIC_1280=m | 1625 | CONFIG_SCSI_QLOGIC_1280=m |
1572 | CONFIG_SCSI_QLA_FC=m | 1626 | CONFIG_SCSI_QLA_FC=m |
1627 | CONFIG_TCM_QLA2XXX=m | ||
1573 | CONFIG_SCSI_QLA_ISCSI=m | 1628 | CONFIG_SCSI_QLA_ISCSI=m |
1574 | CONFIG_SCSI_LPFC=m | 1629 | CONFIG_SCSI_LPFC=m |
1575 | # CONFIG_SCSI_LPFC_DEBUG_FS is not set | 1630 | # CONFIG_SCSI_LPFC_DEBUG_FS is not set |
@@ -1581,6 +1636,7 @@ CONFIG_SCSI_PM8001=m | |||
1581 | CONFIG_SCSI_SRP=m | 1636 | CONFIG_SCSI_SRP=m |
1582 | # CONFIG_SCSI_BFA_FC is not set | 1637 | # CONFIG_SCSI_BFA_FC is not set |
1583 | CONFIG_SCSI_VIRTIO=m | 1638 | CONFIG_SCSI_VIRTIO=m |
1639 | # CONFIG_SCSI_CHELSIO_FCOE is not set | ||
1584 | CONFIG_SCSI_DH=m | 1640 | CONFIG_SCSI_DH=m |
1585 | CONFIG_SCSI_DH_RDAC=m | 1641 | CONFIG_SCSI_DH_RDAC=m |
1586 | CONFIG_SCSI_DH_HP_SW=m | 1642 | CONFIG_SCSI_DH_HP_SW=m |
@@ -1594,6 +1650,7 @@ CONFIG_ATA=m | |||
1594 | # CONFIG_ATA_NONSTANDARD is not set | 1650 | # CONFIG_ATA_NONSTANDARD is not set |
1595 | CONFIG_ATA_VERBOSE_ERROR=y | 1651 | CONFIG_ATA_VERBOSE_ERROR=y |
1596 | CONFIG_ATA_ACPI=y | 1652 | CONFIG_ATA_ACPI=y |
1653 | # CONFIG_SATA_ZPODD is not set | ||
1597 | CONFIG_SATA_PMP=y | 1654 | CONFIG_SATA_PMP=y |
1598 | 1655 | ||
1599 | # | 1656 | # |
@@ -1618,6 +1675,7 @@ CONFIG_ATA_BMDMA=y | |||
1618 | # SATA SFF controllers with BMDMA | 1675 | # SATA SFF controllers with BMDMA |
1619 | # | 1676 | # |
1620 | CONFIG_ATA_PIIX=m | 1677 | CONFIG_ATA_PIIX=m |
1678 | CONFIG_SATA_HIGHBANK=m | ||
1621 | CONFIG_SATA_MV=m | 1679 | CONFIG_SATA_MV=m |
1622 | CONFIG_SATA_NV=m | 1680 | CONFIG_SATA_NV=m |
1623 | CONFIG_SATA_PROMISE=m | 1681 | CONFIG_SATA_PROMISE=m |
@@ -1695,18 +1753,24 @@ CONFIG_MD_RAID0=m | |||
1695 | CONFIG_MD_RAID1=m | 1753 | CONFIG_MD_RAID1=m |
1696 | CONFIG_MD_RAID10=m | 1754 | CONFIG_MD_RAID10=m |
1697 | CONFIG_MD_RAID456=m | 1755 | CONFIG_MD_RAID456=m |
1698 | # CONFIG_MULTICORE_RAID456 is not set | ||
1699 | CONFIG_MD_MULTIPATH=m | 1756 | CONFIG_MD_MULTIPATH=m |
1700 | CONFIG_MD_FAULTY=m | 1757 | CONFIG_MD_FAULTY=m |
1758 | CONFIG_BCACHE=m | ||
1759 | # CONFIG_BCACHE_DEBUG is not set | ||
1760 | # CONFIG_BCACHE_EDEBUG is not set | ||
1761 | # CONFIG_BCACHE_CLOSURES_DEBUG is not set | ||
1701 | CONFIG_BLK_DEV_DM=m | 1762 | CONFIG_BLK_DEV_DM=m |
1702 | # CONFIG_DM_DEBUG is not set | 1763 | # CONFIG_DM_DEBUG is not set |
1703 | CONFIG_DM_BUFIO=m | 1764 | CONFIG_DM_BUFIO=m |
1765 | CONFIG_DM_BIO_PRISON=m | ||
1704 | CONFIG_DM_PERSISTENT_DATA=m | 1766 | CONFIG_DM_PERSISTENT_DATA=m |
1705 | CONFIG_DM_CRYPT=m | 1767 | CONFIG_DM_CRYPT=m |
1706 | CONFIG_DM_SNAPSHOT=m | 1768 | CONFIG_DM_SNAPSHOT=m |
1707 | CONFIG_DM_THIN_PROVISIONING=m | 1769 | CONFIG_DM_THIN_PROVISIONING=m |
1708 | # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set | 1770 | # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set |
1709 | # CONFIG_DM_DEBUG_SPACE_MAPS is not set | 1771 | CONFIG_DM_CACHE=m |
1772 | CONFIG_DM_CACHE_MQ=m | ||
1773 | CONFIG_DM_CACHE_CLEANER=m | ||
1710 | CONFIG_DM_MIRROR=m | 1774 | CONFIG_DM_MIRROR=m |
1711 | CONFIG_DM_RAID=m | 1775 | CONFIG_DM_RAID=m |
1712 | CONFIG_DM_LOG_USERSPACE=m | 1776 | CONFIG_DM_LOG_USERSPACE=m |
@@ -1725,6 +1789,7 @@ CONFIG_TCM_PSCSI=m | |||
1725 | CONFIG_LOOPBACK_TARGET=m | 1789 | CONFIG_LOOPBACK_TARGET=m |
1726 | CONFIG_TCM_FC=m | 1790 | CONFIG_TCM_FC=m |
1727 | CONFIG_ISCSI_TARGET=m | 1791 | CONFIG_ISCSI_TARGET=m |
1792 | CONFIG_SBP_TARGET=m | ||
1728 | CONFIG_FUSION=y | 1793 | CONFIG_FUSION=y |
1729 | CONFIG_FUSION_SPI=m | 1794 | CONFIG_FUSION_SPI=m |
1730 | CONFIG_FUSION_FC=m | 1795 | CONFIG_FUSION_FC=m |
@@ -1759,14 +1824,16 @@ CONFIG_DUMMY=m | |||
1759 | CONFIG_EQUALIZER=m | 1824 | CONFIG_EQUALIZER=m |
1760 | # CONFIG_NET_FC is not set | 1825 | # CONFIG_NET_FC is not set |
1761 | CONFIG_MII=m | 1826 | CONFIG_MII=m |
1762 | CONFIG_IEEE802154_DRIVERS=m | ||
1763 | CONFIG_IEEE802154_FAKEHARD=m | ||
1764 | CONFIG_IFB=m | 1827 | CONFIG_IFB=m |
1765 | CONFIG_NET_TEAM=m | 1828 | CONFIG_NET_TEAM=m |
1829 | CONFIG_NET_TEAM_MODE_BROADCAST=m | ||
1766 | CONFIG_NET_TEAM_MODE_ROUNDROBIN=m | 1830 | CONFIG_NET_TEAM_MODE_ROUNDROBIN=m |
1831 | CONFIG_NET_TEAM_MODE_RANDOM=m | ||
1767 | CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m | 1832 | CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m |
1833 | CONFIG_NET_TEAM_MODE_LOADBALANCE=m | ||
1768 | CONFIG_MACVLAN=m | 1834 | CONFIG_MACVLAN=m |
1769 | CONFIG_MACVTAP=m | 1835 | CONFIG_MACVTAP=m |
1836 | CONFIG_VXLAN=m | ||
1770 | CONFIG_NETCONSOLE=m | 1837 | CONFIG_NETCONSOLE=m |
1771 | CONFIG_NETCONSOLE_DYNAMIC=y | 1838 | CONFIG_NETCONSOLE_DYNAMIC=y |
1772 | CONFIG_NETPOLL=y | 1839 | CONFIG_NETPOLL=y |
@@ -1820,6 +1887,18 @@ CONFIG_ATM_SOLOS=m | |||
1820 | # | 1887 | # |
1821 | # CAIF transport drivers | 1888 | # CAIF transport drivers |
1822 | # | 1889 | # |
1890 | CONFIG_VHOST_NET=m | ||
1891 | CONFIG_VHOST_SCSI=m | ||
1892 | CONFIG_VHOST_RING=m | ||
1893 | |||
1894 | # | ||
1895 | # Distributed Switch Architecture drivers | ||
1896 | # | ||
1897 | # CONFIG_NET_DSA_MV88E6XXX is not set | ||
1898 | # CONFIG_NET_DSA_MV88E6060 is not set | ||
1899 | # CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set | ||
1900 | # CONFIG_NET_DSA_MV88E6131 is not set | ||
1901 | # CONFIG_NET_DSA_MV88E6123_61_65 is not set | ||
1823 | CONFIG_ETHERNET=y | 1902 | CONFIG_ETHERNET=y |
1824 | CONFIG_MDIO=m | 1903 | CONFIG_MDIO=m |
1825 | CONFIG_NET_VENDOR_3COM=y | 1904 | CONFIG_NET_VENDOR_3COM=y |
@@ -1838,6 +1917,10 @@ CONFIG_ATL2=m | |||
1838 | CONFIG_ATL1=m | 1917 | CONFIG_ATL1=m |
1839 | CONFIG_ATL1E=m | 1918 | CONFIG_ATL1E=m |
1840 | CONFIG_ATL1C=m | 1919 | CONFIG_ATL1C=m |
1920 | CONFIG_ALX=m | ||
1921 | CONFIG_NET_CADENCE=y | ||
1922 | CONFIG_ARM_AT91_ETHER=m | ||
1923 | CONFIG_MACB=m | ||
1841 | CONFIG_NET_VENDOR_BROADCOM=y | 1924 | CONFIG_NET_VENDOR_BROADCOM=y |
1842 | CONFIG_B44=m | 1925 | CONFIG_B44=m |
1843 | CONFIG_B44_PCI_AUTOSELECT=y | 1926 | CONFIG_B44_PCI_AUTOSELECT=y |
@@ -1847,6 +1930,7 @@ CONFIG_BNX2=m | |||
1847 | CONFIG_CNIC=m | 1930 | CONFIG_CNIC=m |
1848 | CONFIG_TIGON3=m | 1931 | CONFIG_TIGON3=m |
1849 | CONFIG_BNX2X=m | 1932 | CONFIG_BNX2X=m |
1933 | CONFIG_BNX2X_SRIOV=y | ||
1850 | CONFIG_NET_VENDOR_BROCADE=y | 1934 | CONFIG_NET_VENDOR_BROCADE=y |
1851 | CONFIG_BNA=m | 1935 | CONFIG_BNA=m |
1852 | CONFIG_NET_CALXEDA_XGMAC=m | 1936 | CONFIG_NET_CALXEDA_XGMAC=m |
@@ -1872,8 +1956,6 @@ CONFIG_WINBOND_840=m | |||
1872 | CONFIG_DM9102=m | 1956 | CONFIG_DM9102=m |
1873 | CONFIG_ULI526X=m | 1957 | CONFIG_ULI526X=m |
1874 | CONFIG_NET_VENDOR_DLINK=y | 1958 | CONFIG_NET_VENDOR_DLINK=y |
1875 | CONFIG_DE600=m | ||
1876 | CONFIG_DE620=m | ||
1877 | CONFIG_DL2K=m | 1959 | CONFIG_DL2K=m |
1878 | CONFIG_SUNDANCE=m | 1960 | CONFIG_SUNDANCE=m |
1879 | # CONFIG_SUNDANCE_MMIO is not set | 1961 | # CONFIG_SUNDANCE_MMIO is not set |
@@ -1890,17 +1972,19 @@ CONFIG_E100=m | |||
1890 | CONFIG_E1000=m | 1972 | CONFIG_E1000=m |
1891 | CONFIG_E1000E=m | 1973 | CONFIG_E1000E=m |
1892 | CONFIG_IGB=m | 1974 | CONFIG_IGB=m |
1975 | CONFIG_IGB_HWMON=y | ||
1893 | CONFIG_IGB_DCA=y | 1976 | CONFIG_IGB_DCA=y |
1894 | CONFIG_IGBVF=m | 1977 | CONFIG_IGBVF=m |
1895 | CONFIG_IXGB=m | 1978 | CONFIG_IXGB=m |
1896 | CONFIG_IXGBE=m | 1979 | CONFIG_IXGBE=m |
1980 | CONFIG_IXGBE_HWMON=y | ||
1897 | CONFIG_IXGBE_DCA=y | 1981 | CONFIG_IXGBE_DCA=y |
1898 | # CONFIG_IXGBEVF is not set | 1982 | # CONFIG_IXGBEVF is not set |
1899 | CONFIG_NET_VENDOR_I825XX=y | 1983 | CONFIG_NET_VENDOR_I825XX=y |
1900 | # CONFIG_ZNET is not set | ||
1901 | CONFIG_IP1000=m | 1984 | CONFIG_IP1000=m |
1902 | CONFIG_JME=m | 1985 | CONFIG_JME=m |
1903 | CONFIG_NET_VENDOR_MARVELL=y | 1986 | CONFIG_NET_VENDOR_MARVELL=y |
1987 | # CONFIG_MVMDIO is not set | ||
1904 | CONFIG_SKGE=m | 1988 | CONFIG_SKGE=m |
1905 | # CONFIG_SKGE_DEBUG is not set | 1989 | # CONFIG_SKGE_DEBUG is not set |
1906 | CONFIG_SKGE_GENESIS=y | 1990 | CONFIG_SKGE_GENESIS=y |
@@ -1938,6 +2022,7 @@ CONFIG_YELLOWFIN=m | |||
1938 | CONFIG_NET_VENDOR_QLOGIC=y | 2022 | CONFIG_NET_VENDOR_QLOGIC=y |
1939 | CONFIG_QLA3XXX=m | 2023 | CONFIG_QLA3XXX=m |
1940 | CONFIG_QLCNIC=m | 2024 | CONFIG_QLCNIC=m |
2025 | CONFIG_QLCNIC_SRIOV=y | ||
1941 | CONFIG_QLGE=m | 2026 | CONFIG_QLGE=m |
1942 | CONFIG_NETXEN_NIC=m | 2027 | CONFIG_NETXEN_NIC=m |
1943 | CONFIG_NET_VENDOR_REALTEK=y | 2028 | CONFIG_NET_VENDOR_REALTEK=y |
@@ -1952,7 +2037,6 @@ CONFIG_R8169=m | |||
1952 | CONFIG_NET_VENDOR_RDC=y | 2037 | CONFIG_NET_VENDOR_RDC=y |
1953 | CONFIG_R6040=m | 2038 | CONFIG_R6040=m |
1954 | CONFIG_NET_VENDOR_SEEQ=y | 2039 | CONFIG_NET_VENDOR_SEEQ=y |
1955 | CONFIG_SEEQ8005=m | ||
1956 | CONFIG_NET_VENDOR_SILAN=y | 2040 | CONFIG_NET_VENDOR_SILAN=y |
1957 | CONFIG_SC92031=m | 2041 | CONFIG_SC92031=m |
1958 | CONFIG_NET_VENDOR_SIS=y | 2042 | CONFIG_NET_VENDOR_SIS=y |
@@ -1971,8 +2055,6 @@ CONFIG_STMMAC_ETH=m | |||
1971 | # CONFIG_STMMAC_PCI is not set | 2055 | # CONFIG_STMMAC_PCI is not set |
1972 | # CONFIG_STMMAC_DEBUG_FS is not set | 2056 | # CONFIG_STMMAC_DEBUG_FS is not set |
1973 | # CONFIG_STMMAC_DA is not set | 2057 | # CONFIG_STMMAC_DA is not set |
1974 | CONFIG_STMMAC_RING=y | ||
1975 | # CONFIG_STMMAC_CHAINED is not set | ||
1976 | CONFIG_NET_VENDOR_SUN=y | 2058 | CONFIG_NET_VENDOR_SUN=y |
1977 | CONFIG_HAPPYMEAL=m | 2059 | CONFIG_HAPPYMEAL=m |
1978 | CONFIG_SUNGEM=m | 2060 | CONFIG_SUNGEM=m |
@@ -1986,6 +2068,9 @@ CONFIG_NET_VENDOR_VIA=y | |||
1986 | CONFIG_VIA_RHINE=m | 2068 | CONFIG_VIA_RHINE=m |
1987 | # CONFIG_VIA_RHINE_MMIO is not set | 2069 | # CONFIG_VIA_RHINE_MMIO is not set |
1988 | CONFIG_VIA_VELOCITY=m | 2070 | CONFIG_VIA_VELOCITY=m |
2071 | CONFIG_NET_VENDOR_WIZNET=y | ||
2072 | # CONFIG_WIZNET_W5100 is not set | ||
2073 | # CONFIG_WIZNET_W5300 is not set | ||
1989 | CONFIG_FDDI=y | 2074 | CONFIG_FDDI=y |
1990 | CONFIG_DEFXX=m | 2075 | CONFIG_DEFXX=m |
1991 | # CONFIG_DEFXX_MMIO is not set | 2076 | # CONFIG_DEFXX_MMIO is not set |
@@ -1999,6 +2084,7 @@ CONFIG_PHYLIB=m | |||
1999 | # | 2084 | # |
2000 | # MII PHY device drivers | 2085 | # MII PHY device drivers |
2001 | # | 2086 | # |
2087 | # CONFIG_AT803X_PHY is not set | ||
2002 | CONFIG_AMD_PHY=m | 2088 | CONFIG_AMD_PHY=m |
2003 | CONFIG_MARVELL_PHY=m | 2089 | CONFIG_MARVELL_PHY=m |
2004 | CONFIG_DAVICOM_PHY=m | 2090 | CONFIG_DAVICOM_PHY=m |
@@ -2008,6 +2094,7 @@ CONFIG_CICADA_PHY=m | |||
2008 | CONFIG_VITESSE_PHY=m | 2094 | CONFIG_VITESSE_PHY=m |
2009 | CONFIG_SMSC_PHY=m | 2095 | CONFIG_SMSC_PHY=m |
2010 | CONFIG_BROADCOM_PHY=m | 2096 | CONFIG_BROADCOM_PHY=m |
2097 | # CONFIG_BCM87XX_PHY is not set | ||
2011 | CONFIG_ICPLUS_PHY=m | 2098 | CONFIG_ICPLUS_PHY=m |
2012 | CONFIG_REALTEK_PHY=m | 2099 | CONFIG_REALTEK_PHY=m |
2013 | CONFIG_NATIONAL_PHY=m | 2100 | CONFIG_NATIONAL_PHY=m |
@@ -2035,7 +2122,6 @@ CONFIG_SLHC=m | |||
2035 | CONFIG_SLIP_COMPRESSED=y | 2122 | CONFIG_SLIP_COMPRESSED=y |
2036 | CONFIG_SLIP_SMART=y | 2123 | CONFIG_SLIP_SMART=y |
2037 | CONFIG_SLIP_MODE_SLIP6=y | 2124 | CONFIG_SLIP_MODE_SLIP6=y |
2038 | # CONFIG_TR is not set | ||
2039 | 2125 | ||
2040 | # | 2126 | # |
2041 | # USB Network Adapters | 2127 | # USB Network Adapters |
@@ -2044,11 +2130,14 @@ CONFIG_USB_CATC=m | |||
2044 | CONFIG_USB_KAWETH=m | 2130 | CONFIG_USB_KAWETH=m |
2045 | CONFIG_USB_PEGASUS=m | 2131 | CONFIG_USB_PEGASUS=m |
2046 | CONFIG_USB_RTL8150=m | 2132 | CONFIG_USB_RTL8150=m |
2133 | # CONFIG_USB_RTL8152 is not set | ||
2047 | CONFIG_USB_USBNET=m | 2134 | CONFIG_USB_USBNET=m |
2048 | CONFIG_USB_NET_AX8817X=m | 2135 | CONFIG_USB_NET_AX8817X=m |
2136 | CONFIG_USB_NET_AX88179_178A=m | ||
2049 | CONFIG_USB_NET_CDCETHER=m | 2137 | CONFIG_USB_NET_CDCETHER=m |
2050 | CONFIG_USB_NET_CDC_EEM=m | 2138 | CONFIG_USB_NET_CDC_EEM=m |
2051 | CONFIG_USB_NET_CDC_NCM=m | 2139 | CONFIG_USB_NET_CDC_NCM=m |
2140 | # CONFIG_USB_NET_CDC_MBIM is not set | ||
2052 | CONFIG_USB_NET_DM9601=m | 2141 | CONFIG_USB_NET_DM9601=m |
2053 | CONFIG_USB_NET_SMSC75XX=m | 2142 | CONFIG_USB_NET_SMSC75XX=m |
2054 | CONFIG_USB_NET_SMSC95XX=m | 2143 | CONFIG_USB_NET_SMSC95XX=m |
@@ -2090,30 +2179,7 @@ CONFIG_RTL8187_LEDS=y | |||
2090 | CONFIG_ADM8211=m | 2179 | CONFIG_ADM8211=m |
2091 | CONFIG_MAC80211_HWSIM=m | 2180 | CONFIG_MAC80211_HWSIM=m |
2092 | CONFIG_MWL8K=m | 2181 | CONFIG_MWL8K=m |
2093 | CONFIG_ATH_COMMON=m | 2182 | # CONFIG_ATH_CARDS is not set |
2094 | # CONFIG_ATH_DEBUG is not set | ||
2095 | CONFIG_ATH5K=m | ||
2096 | # CONFIG_ATH5K_DEBUG is not set | ||
2097 | CONFIG_ATH5K_PCI=y | ||
2098 | CONFIG_ATH9K_HW=m | ||
2099 | CONFIG_ATH9K_COMMON=m | ||
2100 | CONFIG_ATH9K_BTCOEX_SUPPORT=y | ||
2101 | CONFIG_ATH9K=m | ||
2102 | CONFIG_ATH9K_PCI=y | ||
2103 | CONFIG_ATH9K_AHB=y | ||
2104 | # CONFIG_ATH9K_DEBUGFS is not set | ||
2105 | # CONFIG_ATH9K_DFS_CERTIFIED is not set | ||
2106 | # CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set | ||
2107 | CONFIG_ATH9K_HTC=m | ||
2108 | # CONFIG_ATH9K_HTC_DEBUGFS is not set | ||
2109 | CONFIG_CARL9170=m | ||
2110 | CONFIG_CARL9170_LEDS=y | ||
2111 | CONFIG_CARL9170_WPC=y | ||
2112 | CONFIG_CARL9170_HWRNG=y | ||
2113 | CONFIG_ATH6KL=m | ||
2114 | CONFIG_ATH6KL_SDIO=m | ||
2115 | CONFIG_ATH6KL_USB=m | ||
2116 | CONFIG_ATH6KL_DEBUG=y | ||
2117 | CONFIG_B43=m | 2183 | CONFIG_B43=m |
2118 | CONFIG_B43_SSB=y | 2184 | CONFIG_B43_SSB=y |
2119 | CONFIG_B43_PCI_AUTOSELECT=y | 2185 | CONFIG_B43_PCI_AUTOSELECT=y |
@@ -2122,7 +2188,6 @@ CONFIG_B43_SDIO=y | |||
2122 | CONFIG_B43_PIO=y | 2188 | CONFIG_B43_PIO=y |
2123 | CONFIG_B43_PHY_N=y | 2189 | CONFIG_B43_PHY_N=y |
2124 | CONFIG_B43_PHY_LP=y | 2190 | CONFIG_B43_PHY_LP=y |
2125 | CONFIG_B43_PHY_HT=y | ||
2126 | CONFIG_B43_LEDS=y | 2191 | CONFIG_B43_LEDS=y |
2127 | CONFIG_B43_HWRNG=y | 2192 | CONFIG_B43_HWRNG=y |
2128 | # CONFIG_B43_DEBUG is not set | 2193 | # CONFIG_B43_DEBUG is not set |
@@ -2155,13 +2220,15 @@ CONFIG_IPW2200_QOS=y | |||
2155 | CONFIG_LIBIPW=m | 2220 | CONFIG_LIBIPW=m |
2156 | # CONFIG_LIBIPW_DEBUG is not set | 2221 | # CONFIG_LIBIPW_DEBUG is not set |
2157 | CONFIG_IWLWIFI=m | 2222 | CONFIG_IWLWIFI=m |
2223 | CONFIG_IWLDVM=m | ||
2224 | # CONFIG_IWLMVM is not set | ||
2225 | CONFIG_IWLWIFI_OPMODE_MODULAR=y | ||
2158 | 2226 | ||
2159 | # | 2227 | # |
2160 | # Debugging Options | 2228 | # Debugging Options |
2161 | # | 2229 | # |
2162 | # CONFIG_IWLWIFI_DEBUG is not set | 2230 | # CONFIG_IWLWIFI_DEBUG is not set |
2163 | # CONFIG_IWLWIFI_P2P is not set | 2231 | # CONFIG_IWLWIFI_P2P is not set |
2164 | # CONFIG_IWLWIFI_EXPERIMENTAL_MFP is not set | ||
2165 | CONFIG_IWLEGACY=m | 2232 | CONFIG_IWLEGACY=m |
2166 | CONFIG_IWL4965=m | 2233 | CONFIG_IWL4965=m |
2167 | CONFIG_IWL3945=m | 2234 | CONFIG_IWL3945=m |
@@ -2170,8 +2237,6 @@ CONFIG_IWL3945=m | |||
2170 | # iwl3945 / iwl4965 Debugging Options | 2237 | # iwl3945 / iwl4965 Debugging Options |
2171 | # | 2238 | # |
2172 | # CONFIG_IWLEGACY_DEBUG is not set | 2239 | # CONFIG_IWLEGACY_DEBUG is not set |
2173 | CONFIG_IWM=m | ||
2174 | # CONFIG_IWM_DEBUG is not set | ||
2175 | CONFIG_LIBERTAS=m | 2240 | CONFIG_LIBERTAS=m |
2176 | CONFIG_LIBERTAS_USB=m | 2241 | CONFIG_LIBERTAS_USB=m |
2177 | CONFIG_LIBERTAS_SDIO=m | 2242 | CONFIG_LIBERTAS_SDIO=m |
@@ -2199,14 +2264,17 @@ CONFIG_RT2800PCI=m | |||
2199 | CONFIG_RT2800PCI_RT33XX=y | 2264 | CONFIG_RT2800PCI_RT33XX=y |
2200 | # CONFIG_RT2800PCI_RT35XX is not set | 2265 | # CONFIG_RT2800PCI_RT35XX is not set |
2201 | CONFIG_RT2800PCI_RT53XX=y | 2266 | CONFIG_RT2800PCI_RT53XX=y |
2267 | CONFIG_RT2800PCI_RT3290=y | ||
2202 | CONFIG_RT2500USB=m | 2268 | CONFIG_RT2500USB=m |
2203 | CONFIG_RT73USB=m | 2269 | CONFIG_RT73USB=m |
2204 | CONFIG_RT2800USB=m | 2270 | CONFIG_RT2800USB=m |
2205 | CONFIG_RT2800USB_RT33XX=y | 2271 | CONFIG_RT2800USB_RT33XX=y |
2206 | # CONFIG_RT2800USB_RT35XX is not set | 2272 | # CONFIG_RT2800USB_RT35XX is not set |
2207 | CONFIG_RT2800USB_RT53XX=y | 2273 | CONFIG_RT2800USB_RT53XX=y |
2274 | # CONFIG_RT2800USB_RT55XX is not set | ||
2208 | CONFIG_RT2800USB_UNKNOWN=y | 2275 | CONFIG_RT2800USB_UNKNOWN=y |
2209 | CONFIG_RT2800_LIB=m | 2276 | CONFIG_RT2800_LIB=m |
2277 | CONFIG_RT2X00_LIB_MMIO=m | ||
2210 | CONFIG_RT2X00_LIB_PCI=m | 2278 | CONFIG_RT2X00_LIB_PCI=m |
2211 | CONFIG_RT2X00_LIB_USB=m | 2279 | CONFIG_RT2X00_LIB_USB=m |
2212 | CONFIG_RT2X00_LIB=m | 2280 | CONFIG_RT2X00_LIB=m |
@@ -2214,34 +2282,28 @@ CONFIG_RT2X00_LIB_FIRMWARE=y | |||
2214 | CONFIG_RT2X00_LIB_CRYPTO=y | 2282 | CONFIG_RT2X00_LIB_CRYPTO=y |
2215 | CONFIG_RT2X00_LIB_LEDS=y | 2283 | CONFIG_RT2X00_LIB_LEDS=y |
2216 | # CONFIG_RT2X00_DEBUG is not set | 2284 | # CONFIG_RT2X00_DEBUG is not set |
2285 | CONFIG_RTLWIFI=m | ||
2286 | # CONFIG_RTLWIFI_DEBUG is not set | ||
2217 | CONFIG_RTL8192CE=m | 2287 | CONFIG_RTL8192CE=m |
2218 | CONFIG_RTL8192SE=m | 2288 | CONFIG_RTL8192SE=m |
2219 | CONFIG_RTL8192DE=m | 2289 | CONFIG_RTL8192DE=m |
2290 | # CONFIG_RTL8723AE is not set | ||
2291 | # CONFIG_RTL8188EE is not set | ||
2220 | CONFIG_RTL8192CU=m | 2292 | CONFIG_RTL8192CU=m |
2221 | CONFIG_RTLWIFI=m | ||
2222 | # CONFIG_RTLWIFI_DEBUG is not set | ||
2223 | CONFIG_RTL8192C_COMMON=m | 2293 | CONFIG_RTL8192C_COMMON=m |
2224 | CONFIG_WL1251=m | 2294 | # CONFIG_WL_TI is not set |
2225 | CONFIG_WL1251_SPI=m | ||
2226 | CONFIG_WL1251_SDIO=m | ||
2227 | CONFIG_WL12XX_MENU=m | ||
2228 | CONFIG_WL12XX=m | ||
2229 | CONFIG_WL12XX_SPI=m | ||
2230 | CONFIG_WL12XX_SDIO=m | ||
2231 | CONFIG_WL12XX_PLATFORM_DATA=y | ||
2232 | CONFIG_ZD1211RW=m | 2295 | CONFIG_ZD1211RW=m |
2233 | # CONFIG_ZD1211RW_DEBUG is not set | 2296 | # CONFIG_ZD1211RW_DEBUG is not set |
2234 | CONFIG_MWIFIEX=m | 2297 | CONFIG_MWIFIEX=m |
2235 | CONFIG_MWIFIEX_SDIO=m | 2298 | CONFIG_MWIFIEX_SDIO=m |
2236 | CONFIG_MWIFIEX_PCIE=m | 2299 | CONFIG_MWIFIEX_PCIE=m |
2300 | # CONFIG_MWIFIEX_USB is not set | ||
2237 | 2301 | ||
2238 | # | 2302 | # |
2239 | # WiMAX Wireless Broadband devices | 2303 | # WiMAX Wireless Broadband devices |
2240 | # | 2304 | # |
2241 | CONFIG_WIMAX_I2400M=m | 2305 | CONFIG_WIMAX_I2400M=m |
2242 | CONFIG_WIMAX_I2400M_USB=m | 2306 | CONFIG_WIMAX_I2400M_USB=m |
2243 | CONFIG_WIMAX_I2400M_SDIO=m | ||
2244 | CONFIG_WIMAX_IWMC3200_SDIO=y | ||
2245 | CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 | 2307 | CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 |
2246 | CONFIG_WAN=y | 2308 | CONFIG_WAN=y |
2247 | CONFIG_LANMEDIA=m | 2309 | CONFIG_LANMEDIA=m |
@@ -2262,13 +2324,15 @@ CONFIG_DSCC4_PCISYNC=y | |||
2262 | CONFIG_DSCC4_PCI_RST=y | 2324 | CONFIG_DSCC4_PCI_RST=y |
2263 | CONFIG_DLCI=m | 2325 | CONFIG_DLCI=m |
2264 | CONFIG_DLCI_MAX=8 | 2326 | CONFIG_DLCI_MAX=8 |
2265 | CONFIG_WAN_ROUTER_DRIVERS=m | ||
2266 | CONFIG_CYCLADES_SYNC=m | ||
2267 | CONFIG_CYCLOMX_X25=y | ||
2268 | CONFIG_LAPBETHER=m | 2327 | CONFIG_LAPBETHER=m |
2269 | CONFIG_X25_ASY=m | 2328 | CONFIG_X25_ASY=m |
2270 | CONFIG_SBNI=m | 2329 | CONFIG_SBNI=m |
2271 | CONFIG_SBNI_MULTILINE=y | 2330 | CONFIG_SBNI_MULTILINE=y |
2331 | CONFIG_IEEE802154_DRIVERS=m | ||
2332 | # CONFIG_IEEE802154_FAKEHARD is not set | ||
2333 | # CONFIG_IEEE802154_FAKELB is not set | ||
2334 | # CONFIG_IEEE802154_AT86RF230 is not set | ||
2335 | # CONFIG_IEEE802154_MRF24J40 is not set | ||
2272 | CONFIG_XEN_NETDEV_FRONTEND=y | 2336 | CONFIG_XEN_NETDEV_FRONTEND=y |
2273 | CONFIG_XEN_NETDEV_BACKEND=m | 2337 | CONFIG_XEN_NETDEV_BACKEND=m |
2274 | CONFIG_VMXNET3=m | 2338 | CONFIG_VMXNET3=m |
@@ -2282,6 +2346,7 @@ CONFIG_INPUT=y | |||
2282 | CONFIG_INPUT_FF_MEMLESS=m | 2346 | CONFIG_INPUT_FF_MEMLESS=m |
2283 | CONFIG_INPUT_POLLDEV=m | 2347 | CONFIG_INPUT_POLLDEV=m |
2284 | CONFIG_INPUT_SPARSEKMAP=m | 2348 | CONFIG_INPUT_SPARSEKMAP=m |
2349 | # CONFIG_INPUT_MATRIXKMAP is not set | ||
2285 | 2350 | ||
2286 | # | 2351 | # |
2287 | # Userland interfaces | 2352 | # Userland interfaces |
@@ -2310,6 +2375,7 @@ CONFIG_KEYBOARD_ATKBD=y | |||
2310 | # CONFIG_KEYBOARD_TCA8418 is not set | 2375 | # CONFIG_KEYBOARD_TCA8418 is not set |
2311 | # CONFIG_KEYBOARD_MATRIX is not set | 2376 | # CONFIG_KEYBOARD_MATRIX is not set |
2312 | # CONFIG_KEYBOARD_LM8323 is not set | 2377 | # CONFIG_KEYBOARD_LM8323 is not set |
2378 | # CONFIG_KEYBOARD_LM8333 is not set | ||
2313 | # CONFIG_KEYBOARD_MAX7359 is not set | 2379 | # CONFIG_KEYBOARD_MAX7359 is not set |
2314 | # CONFIG_KEYBOARD_MCS is not set | 2380 | # CONFIG_KEYBOARD_MCS is not set |
2315 | # CONFIG_KEYBOARD_MPR121 is not set | 2381 | # CONFIG_KEYBOARD_MPR121 is not set |
@@ -2317,13 +2383,13 @@ CONFIG_KEYBOARD_ATKBD=y | |||
2317 | # CONFIG_KEYBOARD_OPENCORES is not set | 2383 | # CONFIG_KEYBOARD_OPENCORES is not set |
2318 | # CONFIG_KEYBOARD_STOWAWAY is not set | 2384 | # CONFIG_KEYBOARD_STOWAWAY is not set |
2319 | # CONFIG_KEYBOARD_SUNKBD is not set | 2385 | # CONFIG_KEYBOARD_SUNKBD is not set |
2320 | # CONFIG_KEYBOARD_OMAP4 is not set | ||
2321 | # CONFIG_KEYBOARD_XTKBD is not set | 2386 | # CONFIG_KEYBOARD_XTKBD is not set |
2322 | CONFIG_INPUT_MOUSE=y | 2387 | CONFIG_INPUT_MOUSE=y |
2323 | CONFIG_MOUSE_PS2=m | 2388 | CONFIG_MOUSE_PS2=m |
2324 | CONFIG_MOUSE_PS2_ALPS=y | 2389 | CONFIG_MOUSE_PS2_ALPS=y |
2325 | CONFIG_MOUSE_PS2_LOGIPS2PP=y | 2390 | CONFIG_MOUSE_PS2_LOGIPS2PP=y |
2326 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 2391 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
2392 | CONFIG_MOUSE_PS2_CYPRESS=y | ||
2327 | CONFIG_MOUSE_PS2_LIFEBOOK=y | 2393 | CONFIG_MOUSE_PS2_LIFEBOOK=y |
2328 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 2394 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
2329 | # CONFIG_MOUSE_PS2_ELANTECH is not set | 2395 | # CONFIG_MOUSE_PS2_ELANTECH is not set |
@@ -2332,6 +2398,7 @@ CONFIG_MOUSE_PS2_TRACKPOINT=y | |||
2332 | CONFIG_MOUSE_SERIAL=m | 2398 | CONFIG_MOUSE_SERIAL=m |
2333 | CONFIG_MOUSE_APPLETOUCH=m | 2399 | CONFIG_MOUSE_APPLETOUCH=m |
2334 | CONFIG_MOUSE_BCM5974=m | 2400 | CONFIG_MOUSE_BCM5974=m |
2401 | # CONFIG_MOUSE_CYAPA is not set | ||
2335 | CONFIG_MOUSE_VSXXXAA=m | 2402 | CONFIG_MOUSE_VSXXXAA=m |
2336 | CONFIG_MOUSE_GPIO=m | 2403 | CONFIG_MOUSE_GPIO=m |
2337 | CONFIG_MOUSE_SYNAPTICS_I2C=m | 2404 | CONFIG_MOUSE_SYNAPTICS_I2C=m |
@@ -2352,18 +2419,20 @@ CONFIG_TOUCHSCREEN_CY8CTMG110=m | |||
2352 | CONFIG_TOUCHSCREEN_DYNAPRO=m | 2419 | CONFIG_TOUCHSCREEN_DYNAPRO=m |
2353 | CONFIG_TOUCHSCREEN_HAMPSHIRE=m | 2420 | CONFIG_TOUCHSCREEN_HAMPSHIRE=m |
2354 | CONFIG_TOUCHSCREEN_EETI=m | 2421 | CONFIG_TOUCHSCREEN_EETI=m |
2355 | CONFIG_TOUCHSCREEN_EGALAX=m | ||
2356 | CONFIG_TOUCHSCREEN_FUJITSU=m | 2422 | CONFIG_TOUCHSCREEN_FUJITSU=m |
2357 | # CONFIG_TOUCHSCREEN_ILI210X is not set | 2423 | # CONFIG_TOUCHSCREEN_ILI210X is not set |
2358 | CONFIG_TOUCHSCREEN_GUNZE=m | 2424 | CONFIG_TOUCHSCREEN_GUNZE=m |
2359 | CONFIG_TOUCHSCREEN_ELO=m | 2425 | CONFIG_TOUCHSCREEN_ELO=m |
2360 | CONFIG_TOUCHSCREEN_WACOM_W8001=m | 2426 | CONFIG_TOUCHSCREEN_WACOM_W8001=m |
2427 | # CONFIG_TOUCHSCREEN_WACOM_I2C is not set | ||
2361 | # CONFIG_TOUCHSCREEN_MAX11801 is not set | 2428 | # CONFIG_TOUCHSCREEN_MAX11801 is not set |
2362 | # CONFIG_TOUCHSCREEN_MCS5000 is not set | 2429 | # CONFIG_TOUCHSCREEN_MCS5000 is not set |
2430 | # CONFIG_TOUCHSCREEN_MMS114 is not set | ||
2363 | CONFIG_TOUCHSCREEN_MTOUCH=m | 2431 | CONFIG_TOUCHSCREEN_MTOUCH=m |
2364 | CONFIG_TOUCHSCREEN_INEXIO=m | 2432 | CONFIG_TOUCHSCREEN_INEXIO=m |
2365 | CONFIG_TOUCHSCREEN_MK712=m | 2433 | CONFIG_TOUCHSCREEN_MK712=m |
2366 | CONFIG_TOUCHSCREEN_PENMOUNT=m | 2434 | CONFIG_TOUCHSCREEN_PENMOUNT=m |
2435 | # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set | ||
2367 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m | 2436 | CONFIG_TOUCHSCREEN_TOUCHRIGHT=m |
2368 | CONFIG_TOUCHSCREEN_TOUCHWIN=m | 2437 | CONFIG_TOUCHSCREEN_TOUCHWIN=m |
2369 | CONFIG_TOUCHSCREEN_UCB1400=m | 2438 | CONFIG_TOUCHSCREEN_UCB1400=m |
@@ -2373,7 +2442,6 @@ CONFIG_TOUCHSCREEN_WM9705=y | |||
2373 | CONFIG_TOUCHSCREEN_WM9712=y | 2442 | CONFIG_TOUCHSCREEN_WM9712=y |
2374 | CONFIG_TOUCHSCREEN_WM9713=y | 2443 | CONFIG_TOUCHSCREEN_WM9713=y |
2375 | CONFIG_TOUCHSCREEN_USB_COMPOSITE=m | 2444 | CONFIG_TOUCHSCREEN_USB_COMPOSITE=m |
2376 | # CONFIG_TOUCHSCREEN_MC13783 is not set | ||
2377 | CONFIG_TOUCHSCREEN_USB_EGALAX=y | 2445 | CONFIG_TOUCHSCREEN_USB_EGALAX=y |
2378 | CONFIG_TOUCHSCREEN_USB_PANJIT=y | 2446 | CONFIG_TOUCHSCREEN_USB_PANJIT=y |
2379 | CONFIG_TOUCHSCREEN_USB_3M=y | 2447 | CONFIG_TOUCHSCREEN_USB_3M=y |
@@ -2404,7 +2472,6 @@ CONFIG_INPUT_AD714X_I2C=m | |||
2404 | CONFIG_INPUT_AD714X_SPI=m | 2472 | CONFIG_INPUT_AD714X_SPI=m |
2405 | # CONFIG_INPUT_BMA150 is not set | 2473 | # CONFIG_INPUT_BMA150 is not set |
2406 | CONFIG_INPUT_PCSPKR=m | 2474 | CONFIG_INPUT_PCSPKR=m |
2407 | # CONFIG_INPUT_MC13783_PWRBUTTON is not set | ||
2408 | CONFIG_INPUT_MMA8450=m | 2475 | CONFIG_INPUT_MMA8450=m |
2409 | CONFIG_INPUT_MPU3050=m | 2476 | CONFIG_INPUT_MPU3050=m |
2410 | CONFIG_INPUT_APANEL=m | 2477 | CONFIG_INPUT_APANEL=m |
@@ -2425,6 +2492,7 @@ CONFIG_INPUT_GPIO_ROTARY_ENCODER=m | |||
2425 | CONFIG_INPUT_ADXL34X=m | 2492 | CONFIG_INPUT_ADXL34X=m |
2426 | CONFIG_INPUT_ADXL34X_I2C=m | 2493 | CONFIG_INPUT_ADXL34X_I2C=m |
2427 | CONFIG_INPUT_ADXL34X_SPI=m | 2494 | CONFIG_INPUT_ADXL34X_SPI=m |
2495 | # CONFIG_INPUT_IMS_PCU is not set | ||
2428 | CONFIG_INPUT_CMA3000=m | 2496 | CONFIG_INPUT_CMA3000=m |
2429 | CONFIG_INPUT_CMA3000_I2C=m | 2497 | CONFIG_INPUT_CMA3000_I2C=m |
2430 | CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m | 2498 | CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m |
@@ -2442,11 +2510,13 @@ CONFIG_SERIO_LIBPS2=y | |||
2442 | CONFIG_SERIO_RAW=m | 2510 | CONFIG_SERIO_RAW=m |
2443 | CONFIG_SERIO_ALTERA_PS2=m | 2511 | CONFIG_SERIO_ALTERA_PS2=m |
2444 | CONFIG_SERIO_PS2MULT=m | 2512 | CONFIG_SERIO_PS2MULT=m |
2513 | # CONFIG_SERIO_ARC_PS2 is not set | ||
2445 | # CONFIG_GAMEPORT is not set | 2514 | # CONFIG_GAMEPORT is not set |
2446 | 2515 | ||
2447 | # | 2516 | # |
2448 | # Character devices | 2517 | # Character devices |
2449 | # | 2518 | # |
2519 | CONFIG_TTY=y | ||
2450 | CONFIG_VT=y | 2520 | CONFIG_VT=y |
2451 | CONFIG_CONSOLE_TRANSLATIONS=y | 2521 | CONFIG_CONSOLE_TRANSLATIONS=y |
2452 | CONFIG_VT_CONSOLE=y | 2522 | CONFIG_VT_CONSOLE=y |
@@ -2477,10 +2547,12 @@ CONFIG_STALDRV=y | |||
2477 | # Serial drivers | 2547 | # Serial drivers |
2478 | # | 2548 | # |
2479 | CONFIG_SERIAL_8250=y | 2549 | CONFIG_SERIAL_8250=y |
2550 | CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y | ||
2551 | CONFIG_SERIAL_8250_PNP=y | ||
2480 | CONFIG_SERIAL_8250_CONSOLE=y | 2552 | CONFIG_SERIAL_8250_CONSOLE=y |
2481 | CONFIG_FIX_EARLYCON_MEM=y | 2553 | CONFIG_FIX_EARLYCON_MEM=y |
2554 | CONFIG_SERIAL_8250_DMA=y | ||
2482 | CONFIG_SERIAL_8250_PCI=y | 2555 | CONFIG_SERIAL_8250_PCI=y |
2483 | CONFIG_SERIAL_8250_PNP=y | ||
2484 | CONFIG_SERIAL_8250_NR_UARTS=16 | 2556 | CONFIG_SERIAL_8250_NR_UARTS=16 |
2485 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 2557 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 |
2486 | CONFIG_SERIAL_8250_EXTENDED=y | 2558 | CONFIG_SERIAL_8250_EXTENDED=y |
@@ -2488,18 +2560,20 @@ CONFIG_SERIAL_8250_MANY_PORTS=y | |||
2488 | CONFIG_SERIAL_8250_SHARE_IRQ=y | 2560 | CONFIG_SERIAL_8250_SHARE_IRQ=y |
2489 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set | 2561 | # CONFIG_SERIAL_8250_DETECT_IRQ is not set |
2490 | CONFIG_SERIAL_8250_RSA=y | 2562 | CONFIG_SERIAL_8250_RSA=y |
2563 | # CONFIG_SERIAL_8250_DW is not set | ||
2491 | 2564 | ||
2492 | # | 2565 | # |
2493 | # Non-8250 serial port support | 2566 | # Non-8250 serial port support |
2494 | # | 2567 | # |
2495 | CONFIG_SERIAL_MAX3100=m | 2568 | CONFIG_SERIAL_MAX3100=m |
2496 | CONFIG_SERIAL_MAX3107=m | 2569 | # CONFIG_SERIAL_MAX310X is not set |
2497 | CONFIG_SERIAL_MRST_MAX3110=m | 2570 | CONFIG_SERIAL_MRST_MAX3110=m |
2498 | CONFIG_SERIAL_MFD_HSU=m | 2571 | CONFIG_SERIAL_MFD_HSU=m |
2499 | # CONFIG_SERIAL_UARTLITE is not set | 2572 | # CONFIG_SERIAL_UARTLITE is not set |
2500 | CONFIG_SERIAL_CORE=y | 2573 | CONFIG_SERIAL_CORE=y |
2501 | CONFIG_SERIAL_CORE_CONSOLE=y | 2574 | CONFIG_SERIAL_CORE_CONSOLE=y |
2502 | CONFIG_SERIAL_JSM=m | 2575 | CONFIG_SERIAL_JSM=m |
2576 | # CONFIG_SERIAL_SCCNXP is not set | ||
2503 | CONFIG_SERIAL_TIMBERDALE=m | 2577 | CONFIG_SERIAL_TIMBERDALE=m |
2504 | CONFIG_SERIAL_ALTERA_JTAGUART=m | 2578 | CONFIG_SERIAL_ALTERA_JTAGUART=m |
2505 | CONFIG_SERIAL_ALTERA_UART=m | 2579 | CONFIG_SERIAL_ALTERA_UART=m |
@@ -2507,7 +2581,8 @@ CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 | |||
2507 | CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 | 2581 | CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 |
2508 | CONFIG_SERIAL_IFX6X60=m | 2582 | CONFIG_SERIAL_IFX6X60=m |
2509 | CONFIG_SERIAL_PCH_UART=m | 2583 | CONFIG_SERIAL_PCH_UART=m |
2510 | # CONFIG_SERIAL_XILINX_PS_UART is not set | 2584 | # CONFIG_SERIAL_ARC is not set |
2585 | # CONFIG_SERIAL_RP2 is not set | ||
2511 | # CONFIG_TTY_PRINTK is not set | 2586 | # CONFIG_TTY_PRINTK is not set |
2512 | CONFIG_PRINTER=m | 2587 | CONFIG_PRINTER=m |
2513 | # CONFIG_LP_CONSOLE is not set | 2588 | # CONFIG_LP_CONSOLE is not set |
@@ -2529,6 +2604,7 @@ CONFIG_HW_RANDOM_INTEL=m | |||
2529 | CONFIG_HW_RANDOM_AMD=m | 2604 | CONFIG_HW_RANDOM_AMD=m |
2530 | CONFIG_HW_RANDOM_VIA=m | 2605 | CONFIG_HW_RANDOM_VIA=m |
2531 | CONFIG_HW_RANDOM_VIRTIO=m | 2606 | CONFIG_HW_RANDOM_VIRTIO=m |
2607 | CONFIG_HW_RANDOM_TPM=m | ||
2532 | CONFIG_NVRAM=m | 2608 | CONFIG_NVRAM=m |
2533 | CONFIG_R3964=m | 2609 | CONFIG_R3964=m |
2534 | CONFIG_APPLICOM=m | 2610 | CONFIG_APPLICOM=m |
@@ -2540,12 +2616,13 @@ CONFIG_HPET_MMAP=y | |||
2540 | CONFIG_HANGCHECK_TIMER=m | 2616 | CONFIG_HANGCHECK_TIMER=m |
2541 | CONFIG_TCG_TPM=m | 2617 | CONFIG_TCG_TPM=m |
2542 | CONFIG_TCG_TIS=m | 2618 | CONFIG_TCG_TIS=m |
2619 | # CONFIG_TCG_TIS_I2C_INFINEON is not set | ||
2543 | CONFIG_TCG_NSC=m | 2620 | CONFIG_TCG_NSC=m |
2544 | CONFIG_TCG_ATMEL=m | 2621 | CONFIG_TCG_ATMEL=m |
2545 | CONFIG_TCG_INFINEON=m | 2622 | CONFIG_TCG_INFINEON=m |
2623 | # CONFIG_TCG_ST33_I2C is not set | ||
2546 | CONFIG_TELCLOCK=m | 2624 | CONFIG_TELCLOCK=m |
2547 | CONFIG_DEVPORT=y | 2625 | CONFIG_DEVPORT=y |
2548 | CONFIG_RAMOOPS=m | ||
2549 | CONFIG_I2C=m | 2626 | CONFIG_I2C=m |
2550 | CONFIG_I2C_BOARDINFO=y | 2627 | CONFIG_I2C_BOARDINFO=y |
2551 | CONFIG_I2C_COMPAT=y | 2628 | CONFIG_I2C_COMPAT=y |
@@ -2578,6 +2655,7 @@ CONFIG_I2C_AMD756_S4882=m | |||
2578 | CONFIG_I2C_AMD8111=m | 2655 | CONFIG_I2C_AMD8111=m |
2579 | CONFIG_I2C_I801=m | 2656 | CONFIG_I2C_I801=m |
2580 | CONFIG_I2C_ISCH=m | 2657 | CONFIG_I2C_ISCH=m |
2658 | # CONFIG_I2C_ISMT is not set | ||
2581 | CONFIG_I2C_PIIX4=m | 2659 | CONFIG_I2C_PIIX4=m |
2582 | CONFIG_I2C_NFORCE2=m | 2660 | CONFIG_I2C_NFORCE2=m |
2583 | CONFIG_I2C_NFORCE2_S4985=m | 2661 | CONFIG_I2C_NFORCE2_S4985=m |
@@ -2595,6 +2673,7 @@ CONFIG_I2C_SCMI=m | |||
2595 | # | 2673 | # |
2596 | # I2C system bus drivers (mostly embedded / system-on-chip) | 2674 | # I2C system bus drivers (mostly embedded / system-on-chip) |
2597 | # | 2675 | # |
2676 | # CONFIG_I2C_CBUS_GPIO is not set | ||
2598 | # CONFIG_I2C_DESIGNWARE_PCI is not set | 2677 | # CONFIG_I2C_DESIGNWARE_PCI is not set |
2599 | CONFIG_I2C_EG20T=m | 2678 | CONFIG_I2C_EG20T=m |
2600 | CONFIG_I2C_GPIO=m | 2679 | CONFIG_I2C_GPIO=m |
@@ -2634,8 +2713,11 @@ CONFIG_SPI_BUTTERFLY=m | |||
2634 | CONFIG_SPI_GPIO=m | 2713 | CONFIG_SPI_GPIO=m |
2635 | CONFIG_SPI_LM70_LLP=m | 2714 | CONFIG_SPI_LM70_LLP=m |
2636 | # CONFIG_SPI_OC_TINY is not set | 2715 | # CONFIG_SPI_OC_TINY is not set |
2716 | # CONFIG_SPI_PXA2XX is not set | ||
2637 | # CONFIG_SPI_PXA2XX_PCI is not set | 2717 | # CONFIG_SPI_PXA2XX_PCI is not set |
2718 | # CONFIG_SPI_SC18IS602 is not set | ||
2638 | CONFIG_SPI_TOPCLIFF_PCH=m | 2719 | CONFIG_SPI_TOPCLIFF_PCH=m |
2720 | # CONFIG_SPI_XCOMM is not set | ||
2639 | # CONFIG_SPI_XILINX is not set | 2721 | # CONFIG_SPI_XILINX is not set |
2640 | CONFIG_SPI_DESIGNWARE=m | 2722 | CONFIG_SPI_DESIGNWARE=m |
2641 | CONFIG_SPI_DW_PCI=m | 2723 | CONFIG_SPI_DW_PCI=m |
@@ -2645,26 +2727,41 @@ CONFIG_SPI_DW_PCI=m | |||
2645 | # | 2727 | # |
2646 | CONFIG_SPI_SPIDEV=m | 2728 | CONFIG_SPI_SPIDEV=m |
2647 | CONFIG_SPI_TLE62X0=m | 2729 | CONFIG_SPI_TLE62X0=m |
2730 | |||
2731 | # | ||
2732 | # Qualcomm MSM SSBI bus support | ||
2733 | # | ||
2734 | # CONFIG_SSBI is not set | ||
2648 | # CONFIG_HSI is not set | 2735 | # CONFIG_HSI is not set |
2649 | 2736 | ||
2650 | # | 2737 | # |
2651 | # PPS support | 2738 | # PPS support |
2652 | # | 2739 | # |
2653 | # CONFIG_PPS is not set | 2740 | CONFIG_PPS=m |
2741 | # CONFIG_PPS_DEBUG is not set | ||
2654 | 2742 | ||
2655 | # | 2743 | # |
2656 | # PPS generators support | 2744 | # PPS clients support |
2657 | # | 2745 | # |
2746 | # CONFIG_PPS_CLIENT_KTIMER is not set | ||
2747 | # CONFIG_PPS_CLIENT_LDISC is not set | ||
2748 | # CONFIG_PPS_CLIENT_PARPORT is not set | ||
2749 | # CONFIG_PPS_CLIENT_GPIO is not set | ||
2658 | 2750 | ||
2659 | # | 2751 | # |
2660 | # PTP clock support | 2752 | # PPS generators support |
2661 | # | 2753 | # |
2662 | 2754 | ||
2663 | # | 2755 | # |
2664 | # Enable Device Drivers -> PPS to see the PTP clock options. | 2756 | # PTP clock support |
2665 | # | 2757 | # |
2758 | CONFIG_PTP_1588_CLOCK=m | ||
2759 | # CONFIG_DP83640_PHY is not set | ||
2760 | CONFIG_PTP_1588_CLOCK_PCH=m | ||
2666 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | 2761 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y |
2762 | CONFIG_GPIO_DEVRES=y | ||
2667 | CONFIG_GPIOLIB=y | 2763 | CONFIG_GPIOLIB=y |
2764 | CONFIG_GPIO_ACPI=y | ||
2668 | # CONFIG_DEBUG_GPIO is not set | 2765 | # CONFIG_DEBUG_GPIO is not set |
2669 | # CONFIG_GPIO_SYSFS is not set | 2766 | # CONFIG_GPIO_SYSFS is not set |
2670 | CONFIG_GPIO_MAX730X=m | 2767 | CONFIG_GPIO_MAX730X=m |
@@ -2674,8 +2771,11 @@ CONFIG_GPIO_MAX730X=m | |||
2674 | # | 2771 | # |
2675 | # CONFIG_GPIO_GENERIC_PLATFORM is not set | 2772 | # CONFIG_GPIO_GENERIC_PLATFORM is not set |
2676 | CONFIG_GPIO_IT8761E=m | 2773 | CONFIG_GPIO_IT8761E=m |
2774 | # CONFIG_GPIO_TS5500 is not set | ||
2677 | CONFIG_GPIO_SCH=m | 2775 | CONFIG_GPIO_SCH=m |
2776 | # CONFIG_GPIO_ICH is not set | ||
2678 | CONFIG_GPIO_VX855=m | 2777 | CONFIG_GPIO_VX855=m |
2778 | # CONFIG_GPIO_LYNXPOINT is not set | ||
2679 | 2779 | ||
2680 | # | 2780 | # |
2681 | # I2C GPIO expanders: | 2781 | # I2C GPIO expanders: |
@@ -2691,6 +2791,7 @@ CONFIG_GPIO_ADP5588=m | |||
2691 | # | 2791 | # |
2692 | CONFIG_GPIO_CS5535=m | 2792 | CONFIG_GPIO_CS5535=m |
2693 | # CONFIG_GPIO_BT8XX is not set | 2793 | # CONFIG_GPIO_BT8XX is not set |
2794 | # CONFIG_GPIO_AMD8111 is not set | ||
2694 | # CONFIG_GPIO_LANGWELL is not set | 2795 | # CONFIG_GPIO_LANGWELL is not set |
2695 | CONFIG_GPIO_PCH=m | 2796 | CONFIG_GPIO_PCH=m |
2696 | CONFIG_GPIO_ML_IOH=m | 2797 | CONFIG_GPIO_ML_IOH=m |
@@ -2714,6 +2815,10 @@ CONFIG_GPIO_74X164=m | |||
2714 | # MODULbus GPIO expanders: | 2815 | # MODULbus GPIO expanders: |
2715 | # | 2816 | # |
2716 | # CONFIG_GPIO_JANZ_TTL is not set | 2817 | # CONFIG_GPIO_JANZ_TTL is not set |
2818 | |||
2819 | # | ||
2820 | # USB GPIO expanders: | ||
2821 | # | ||
2717 | # CONFIG_W1 is not set | 2822 | # CONFIG_W1 is not set |
2718 | CONFIG_POWER_SUPPLY=y | 2823 | CONFIG_POWER_SUPPLY=y |
2719 | # CONFIG_POWER_SUPPLY_DEBUG is not set | 2824 | # CONFIG_POWER_SUPPLY_DEBUG is not set |
@@ -2731,7 +2836,11 @@ CONFIG_POWER_SUPPLY=y | |||
2731 | # CONFIG_CHARGER_MAX8903 is not set | 2836 | # CONFIG_CHARGER_MAX8903 is not set |
2732 | # CONFIG_CHARGER_LP8727 is not set | 2837 | # CONFIG_CHARGER_LP8727 is not set |
2733 | # CONFIG_CHARGER_GPIO is not set | 2838 | # CONFIG_CHARGER_GPIO is not set |
2839 | # CONFIG_CHARGER_BQ2415X is not set | ||
2734 | # CONFIG_CHARGER_SMB347 is not set | 2840 | # CONFIG_CHARGER_SMB347 is not set |
2841 | # CONFIG_BATTERY_GOLDFISH is not set | ||
2842 | # CONFIG_POWER_RESET is not set | ||
2843 | # CONFIG_POWER_AVS is not set | ||
2735 | CONFIG_HWMON=m | 2844 | CONFIG_HWMON=m |
2736 | CONFIG_HWMON_VID=m | 2845 | CONFIG_HWMON_VID=m |
2737 | # CONFIG_HWMON_DEBUG_CHIP is not set | 2846 | # CONFIG_HWMON_DEBUG_CHIP is not set |
@@ -2751,6 +2860,8 @@ CONFIG_SENSORS_ADM1026=m | |||
2751 | CONFIG_SENSORS_ADM1029=m | 2860 | CONFIG_SENSORS_ADM1029=m |
2752 | CONFIG_SENSORS_ADM1031=m | 2861 | CONFIG_SENSORS_ADM1031=m |
2753 | CONFIG_SENSORS_ADM9240=m | 2862 | CONFIG_SENSORS_ADM9240=m |
2863 | # CONFIG_SENSORS_ADT7310 is not set | ||
2864 | # CONFIG_SENSORS_ADT7410 is not set | ||
2754 | CONFIG_SENSORS_ADT7411=m | 2865 | CONFIG_SENSORS_ADT7411=m |
2755 | CONFIG_SENSORS_ADT7462=m | 2866 | CONFIG_SENSORS_ADT7462=m |
2756 | CONFIG_SENSORS_ADT7470=m | 2867 | CONFIG_SENSORS_ADT7470=m |
@@ -2772,6 +2883,7 @@ CONFIG_SENSORS_G760A=m | |||
2772 | CONFIG_SENSORS_GL518SM=m | 2883 | CONFIG_SENSORS_GL518SM=m |
2773 | CONFIG_SENSORS_GL520SM=m | 2884 | CONFIG_SENSORS_GL520SM=m |
2774 | CONFIG_SENSORS_GPIO_FAN=m | 2885 | CONFIG_SENSORS_GPIO_FAN=m |
2886 | # CONFIG_SENSORS_HIH6130 is not set | ||
2775 | CONFIG_SENSORS_CORETEMP=m | 2887 | CONFIG_SENSORS_CORETEMP=m |
2776 | CONFIG_SENSORS_IBMAEM=m | 2888 | CONFIG_SENSORS_IBMAEM=m |
2777 | CONFIG_SENSORS_IBMPEX=m | 2889 | CONFIG_SENSORS_IBMPEX=m |
@@ -2795,16 +2907,20 @@ CONFIG_SENSORS_LTC4151=m | |||
2795 | CONFIG_SENSORS_LTC4215=m | 2907 | CONFIG_SENSORS_LTC4215=m |
2796 | CONFIG_SENSORS_LTC4245=m | 2908 | CONFIG_SENSORS_LTC4245=m |
2797 | CONFIG_SENSORS_LTC4261=m | 2909 | CONFIG_SENSORS_LTC4261=m |
2910 | # CONFIG_SENSORS_LM95234 is not set | ||
2798 | CONFIG_SENSORS_LM95241=m | 2911 | CONFIG_SENSORS_LM95241=m |
2799 | CONFIG_SENSORS_LM95245=m | 2912 | CONFIG_SENSORS_LM95245=m |
2800 | CONFIG_SENSORS_MAX1111=m | 2913 | CONFIG_SENSORS_MAX1111=m |
2801 | CONFIG_SENSORS_MAX16065=m | 2914 | CONFIG_SENSORS_MAX16065=m |
2802 | CONFIG_SENSORS_MAX1619=m | 2915 | CONFIG_SENSORS_MAX1619=m |
2803 | CONFIG_SENSORS_MAX1668=m | 2916 | CONFIG_SENSORS_MAX1668=m |
2917 | # CONFIG_SENSORS_MAX197 is not set | ||
2804 | CONFIG_SENSORS_MAX6639=m | 2918 | CONFIG_SENSORS_MAX6639=m |
2805 | CONFIG_SENSORS_MAX6642=m | 2919 | CONFIG_SENSORS_MAX6642=m |
2806 | CONFIG_SENSORS_MAX6650=m | 2920 | CONFIG_SENSORS_MAX6650=m |
2921 | # CONFIG_SENSORS_MAX6697 is not set | ||
2807 | CONFIG_SENSORS_MCP3021=m | 2922 | CONFIG_SENSORS_MCP3021=m |
2923 | # CONFIG_SENSORS_NCT6775 is not set | ||
2808 | CONFIG_SENSORS_NTC_THERMISTOR=m | 2924 | CONFIG_SENSORS_NTC_THERMISTOR=m |
2809 | CONFIG_SENSORS_PC87360=m | 2925 | CONFIG_SENSORS_PC87360=m |
2810 | CONFIG_SENSORS_PC87427=m | 2926 | CONFIG_SENSORS_PC87427=m |
@@ -2838,6 +2954,8 @@ CONFIG_SENSORS_ADS1015=m | |||
2838 | CONFIG_SENSORS_ADS7828=m | 2954 | CONFIG_SENSORS_ADS7828=m |
2839 | CONFIG_SENSORS_ADS7871=m | 2955 | CONFIG_SENSORS_ADS7871=m |
2840 | CONFIG_SENSORS_AMC6821=m | 2956 | CONFIG_SENSORS_AMC6821=m |
2957 | # CONFIG_SENSORS_INA209 is not set | ||
2958 | # CONFIG_SENSORS_INA2XX is not set | ||
2841 | CONFIG_SENSORS_THMC50=m | 2959 | CONFIG_SENSORS_THMC50=m |
2842 | CONFIG_SENSORS_TMP102=m | 2960 | CONFIG_SENSORS_TMP102=m |
2843 | CONFIG_SENSORS_TMP401=m | 2961 | CONFIG_SENSORS_TMP401=m |
@@ -2857,7 +2975,6 @@ CONFIG_SENSORS_W83L786NG=m | |||
2857 | CONFIG_SENSORS_W83627HF=m | 2975 | CONFIG_SENSORS_W83627HF=m |
2858 | CONFIG_SENSORS_W83627EHF=m | 2976 | CONFIG_SENSORS_W83627EHF=m |
2859 | CONFIG_SENSORS_APPLESMC=m | 2977 | CONFIG_SENSORS_APPLESMC=m |
2860 | # CONFIG_SENSORS_MC13783_ADC is not set | ||
2861 | 2978 | ||
2862 | # | 2979 | # |
2863 | # ACPI drivers | 2980 | # ACPI drivers |
@@ -2865,6 +2982,15 @@ CONFIG_SENSORS_APPLESMC=m | |||
2865 | CONFIG_SENSORS_ACPI_POWER=m | 2982 | CONFIG_SENSORS_ACPI_POWER=m |
2866 | CONFIG_SENSORS_ATK0110=m | 2983 | CONFIG_SENSORS_ATK0110=m |
2867 | CONFIG_THERMAL=y | 2984 | CONFIG_THERMAL=y |
2985 | CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y | ||
2986 | # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set | ||
2987 | # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set | ||
2988 | # CONFIG_THERMAL_GOV_FAIR_SHARE is not set | ||
2989 | CONFIG_THERMAL_GOV_STEP_WISE=y | ||
2990 | # CONFIG_THERMAL_GOV_USER_SPACE is not set | ||
2991 | # CONFIG_CPU_THERMAL is not set | ||
2992 | # CONFIG_THERMAL_EMULATION is not set | ||
2993 | # CONFIG_INTEL_POWERCLAMP is not set | ||
2868 | CONFIG_WATCHDOG=y | 2994 | CONFIG_WATCHDOG=y |
2869 | CONFIG_WATCHDOG_CORE=y | 2995 | CONFIG_WATCHDOG_CORE=y |
2870 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 2996 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
@@ -2887,6 +3013,7 @@ CONFIG_IB700_WDT=m | |||
2887 | CONFIG_IBMASR=m | 3013 | CONFIG_IBMASR=m |
2888 | CONFIG_WAFER_WDT=m | 3014 | CONFIG_WAFER_WDT=m |
2889 | CONFIG_I6300ESB_WDT=m | 3015 | CONFIG_I6300ESB_WDT=m |
3016 | # CONFIG_IE6XX_WDT is not set | ||
2890 | CONFIG_ITCO_WDT=m | 3017 | CONFIG_ITCO_WDT=m |
2891 | CONFIG_ITCO_VENDOR_SUPPORT=y | 3018 | CONFIG_ITCO_VENDOR_SUPPORT=y |
2892 | CONFIG_IT8712F_WDT=m | 3019 | CONFIG_IT8712F_WDT=m |
@@ -2937,6 +3064,7 @@ CONFIG_SSB_SDIOHOST=y | |||
2937 | # CONFIG_SSB_DEBUG is not set | 3064 | # CONFIG_SSB_DEBUG is not set |
2938 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y | 3065 | CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y |
2939 | CONFIG_SSB_DRIVER_PCICORE=y | 3066 | CONFIG_SSB_DRIVER_PCICORE=y |
3067 | # CONFIG_SSB_DRIVER_GPIO is not set | ||
2940 | CONFIG_BCMA_POSSIBLE=y | 3068 | CONFIG_BCMA_POSSIBLE=y |
2941 | 3069 | ||
2942 | # | 3070 | # |
@@ -2948,35 +3076,45 @@ CONFIG_BCMA_POSSIBLE=y | |||
2948 | # Multifunction device drivers | 3076 | # Multifunction device drivers |
2949 | # | 3077 | # |
2950 | CONFIG_MFD_CORE=m | 3078 | CONFIG_MFD_CORE=m |
2951 | CONFIG_MFD_SM501=m | 3079 | CONFIG_MFD_CS5535=m |
2952 | # CONFIG_MFD_SM501_GPIO is not set | 3080 | # CONFIG_MFD_CROS_EC is not set |
3081 | # CONFIG_MFD_DA9052_SPI is not set | ||
3082 | # CONFIG_MFD_MC13XXX_SPI is not set | ||
3083 | # CONFIG_MFD_MC13XXX_I2C is not set | ||
2953 | CONFIG_HTC_PASIC3=m | 3084 | CONFIG_HTC_PASIC3=m |
3085 | CONFIG_LPC_ICH=m | ||
3086 | CONFIG_LPC_SCH=m | ||
3087 | CONFIG_MFD_JANZ_CMODIO=m | ||
3088 | # CONFIG_EZX_PCAP is not set | ||
3089 | # CONFIG_MFD_VIPERBOARD is not set | ||
3090 | # CONFIG_MFD_RETU is not set | ||
3091 | CONFIG_MFD_PCF50633=m | ||
3092 | CONFIG_PCF50633_ADC=m | ||
3093 | CONFIG_PCF50633_GPIO=m | ||
2954 | CONFIG_UCB1400_CORE=m | 3094 | CONFIG_UCB1400_CORE=m |
3095 | CONFIG_MFD_RDC321X=m | ||
3096 | # CONFIG_MFD_RTSX_PCI is not set | ||
3097 | # CONFIG_MFD_SI476X_CORE is not set | ||
3098 | CONFIG_MFD_SM501=m | ||
3099 | # CONFIG_MFD_SM501_GPIO is not set | ||
3100 | CONFIG_ABX500_CORE=y | ||
3101 | # CONFIG_MFD_STMPE is not set | ||
3102 | # CONFIG_MFD_SYSCON is not set | ||
3103 | # CONFIG_MFD_TI_AM335X_TSCADC is not set | ||
2955 | # CONFIG_TPS6105X is not set | 3104 | # CONFIG_TPS6105X is not set |
2956 | CONFIG_TPS65010=m | 3105 | CONFIG_TPS65010=m |
2957 | CONFIG_TPS6507X=m | 3106 | CONFIG_TPS6507X=m |
2958 | # CONFIG_MFD_TPS65217 is not set | 3107 | # CONFIG_MFD_TPS65217 is not set |
3108 | # CONFIG_MFD_TPS65912 is not set | ||
2959 | # CONFIG_MFD_TPS65912_SPI is not set | 3109 | # CONFIG_MFD_TPS65912_SPI is not set |
2960 | # CONFIG_MFD_STMPE is not set | 3110 | CONFIG_MFD_WL1273_CORE=m |
2961 | # CONFIG_MFD_TMIO is not set | 3111 | # CONFIG_MFD_LM3533 is not set |
2962 | # CONFIG_MFD_DA9052_SPI is not set | ||
2963 | CONFIG_MFD_WM8400=m | ||
2964 | # CONFIG_MFD_WM831X_SPI is not set | ||
2965 | CONFIG_MFD_PCF50633=m | ||
2966 | CONFIG_PCF50633_ADC=m | ||
2967 | CONFIG_PCF50633_GPIO=m | ||
2968 | CONFIG_MFD_MC13783=m | ||
2969 | CONFIG_MFD_MC13XXX=m | ||
2970 | CONFIG_ABX500_CORE=y | ||
2971 | # CONFIG_EZX_PCAP is not set | ||
2972 | # CONFIG_AB8500_CORE is not set | ||
2973 | CONFIG_MFD_CS5535=m | ||
2974 | CONFIG_MFD_TIMBERDALE=m | 3112 | CONFIG_MFD_TIMBERDALE=m |
2975 | CONFIG_LPC_SCH=m | 3113 | # CONFIG_MFD_TMIO is not set |
2976 | CONFIG_MFD_RDC321X=m | ||
2977 | CONFIG_MFD_JANZ_CMODIO=m | ||
2978 | CONFIG_MFD_VX855=m | 3114 | CONFIG_MFD_VX855=m |
2979 | CONFIG_MFD_WL1273_CORE=m | 3115 | # CONFIG_MFD_ARIZONA_I2C is not set |
3116 | # CONFIG_MFD_ARIZONA_SPI is not set | ||
3117 | # CONFIG_MFD_WM831X_SPI is not set | ||
2980 | # CONFIG_REGULATOR is not set | 3118 | # CONFIG_REGULATOR is not set |
2981 | # CONFIG_MEDIA_SUPPORT is not set | 3119 | # CONFIG_MEDIA_SUPPORT is not set |
2982 | 3120 | ||
@@ -2995,19 +3133,21 @@ CONFIG_DRM=m | |||
2995 | CONFIG_DRM_KMS_HELPER=m | 3133 | CONFIG_DRM_KMS_HELPER=m |
2996 | # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set | 3134 | # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set |
2997 | CONFIG_DRM_TTM=m | 3135 | CONFIG_DRM_TTM=m |
2998 | CONFIG_DRM_TDFX=m | ||
2999 | CONFIG_DRM_R128=m | ||
3000 | CONFIG_DRM_RADEON=m | ||
3001 | # CONFIG_DRM_RADEON_KMS is not set | ||
3002 | CONFIG_DRM_NOUVEAU=m | ||
3003 | CONFIG_DRM_NOUVEAU_BACKLIGHT=y | ||
3004 | CONFIG_DRM_NOUVEAU_DEBUG=y | ||
3005 | 3136 | ||
3006 | # | 3137 | # |
3007 | # I2C encoder or helper chips | 3138 | # I2C encoder or helper chips |
3008 | # | 3139 | # |
3009 | # CONFIG_DRM_I2C_CH7006 is not set | 3140 | # CONFIG_DRM_I2C_CH7006 is not set |
3010 | CONFIG_DRM_I2C_SIL164=m | 3141 | CONFIG_DRM_I2C_SIL164=m |
3142 | # CONFIG_DRM_I2C_NXP_TDA998X is not set | ||
3143 | CONFIG_DRM_TDFX=m | ||
3144 | CONFIG_DRM_R128=m | ||
3145 | CONFIG_DRM_RADEON=m | ||
3146 | # CONFIG_DRM_RADEON_UMS is not set | ||
3147 | CONFIG_DRM_NOUVEAU=m | ||
3148 | CONFIG_NOUVEAU_DEBUG=5 | ||
3149 | CONFIG_NOUVEAU_DEBUG_DEFAULT=3 | ||
3150 | CONFIG_DRM_NOUVEAU_BACKLIGHT=y | ||
3011 | CONFIG_DRM_I810=m | 3151 | CONFIG_DRM_I810=m |
3012 | CONFIG_DRM_I915=m | 3152 | CONFIG_DRM_I915=m |
3013 | # CONFIG_DRM_I915_KMS is not set | 3153 | # CONFIG_DRM_I915_KMS is not set |
@@ -3016,13 +3156,18 @@ CONFIG_DRM_SIS=m | |||
3016 | CONFIG_DRM_VIA=m | 3156 | CONFIG_DRM_VIA=m |
3017 | CONFIG_DRM_SAVAGE=m | 3157 | CONFIG_DRM_SAVAGE=m |
3018 | CONFIG_DRM_VMWGFX=m | 3158 | CONFIG_DRM_VMWGFX=m |
3159 | # CONFIG_DRM_VMWGFX_FBCON is not set | ||
3019 | CONFIG_DRM_GMA500=m | 3160 | CONFIG_DRM_GMA500=m |
3020 | CONFIG_DRM_GMA600=y | 3161 | CONFIG_DRM_GMA600=y |
3021 | CONFIG_DRM_GMA3600=y | 3162 | CONFIG_DRM_GMA3600=y |
3022 | # CONFIG_DRM_UDL is not set | 3163 | # CONFIG_DRM_UDL is not set |
3023 | # CONFIG_STUB_POULSBO is not set | 3164 | # CONFIG_DRM_AST is not set |
3165 | # CONFIG_DRM_MGAG200 is not set | ||
3166 | CONFIG_DRM_CIRRUS_QEMU=m | ||
3167 | CONFIG_DRM_QXL=m | ||
3024 | CONFIG_VGASTATE=m | 3168 | CONFIG_VGASTATE=m |
3025 | CONFIG_VIDEO_OUTPUT_CONTROL=m | 3169 | CONFIG_VIDEO_OUTPUT_CONTROL=m |
3170 | CONFIG_HDMI=y | ||
3026 | CONFIG_FB=m | 3171 | CONFIG_FB=m |
3027 | # CONFIG_FIRMWARE_EDID is not set | 3172 | # CONFIG_FIRMWARE_EDID is not set |
3028 | CONFIG_FB_DDC=m | 3173 | CONFIG_FB_DDC=m |
@@ -3036,7 +3181,6 @@ CONFIG_FB_SYS_COPYAREA=m | |||
3036 | CONFIG_FB_SYS_IMAGEBLIT=m | 3181 | CONFIG_FB_SYS_IMAGEBLIT=m |
3037 | # CONFIG_FB_FOREIGN_ENDIAN is not set | 3182 | # CONFIG_FB_FOREIGN_ENDIAN is not set |
3038 | CONFIG_FB_SYS_FOPS=m | 3183 | CONFIG_FB_SYS_FOPS=m |
3039 | # CONFIG_FB_WMT_GE_ROPS is not set | ||
3040 | CONFIG_FB_DEFERRED_IO=y | 3184 | CONFIG_FB_DEFERRED_IO=y |
3041 | CONFIG_FB_HECUBA=m | 3185 | CONFIG_FB_HECUBA=m |
3042 | CONFIG_FB_SVGALIB=m | 3186 | CONFIG_FB_SVGALIB=m |
@@ -3123,6 +3267,7 @@ CONFIG_FB_TMIO_ACCELL=y | |||
3123 | # CONFIG_FB_SM501 is not set | 3267 | # CONFIG_FB_SM501 is not set |
3124 | # CONFIG_FB_SMSCUFX is not set | 3268 | # CONFIG_FB_SMSCUFX is not set |
3125 | # CONFIG_FB_UDL is not set | 3269 | # CONFIG_FB_UDL is not set |
3270 | # CONFIG_FB_GOLDFISH is not set | ||
3126 | # CONFIG_FB_VIRTUAL is not set | 3271 | # CONFIG_FB_VIRTUAL is not set |
3127 | CONFIG_XEN_FBDEV_FRONTEND=m | 3272 | CONFIG_XEN_FBDEV_FRONTEND=m |
3128 | CONFIG_FB_METRONOME=m | 3273 | CONFIG_FB_METRONOME=m |
@@ -3130,12 +3275,15 @@ CONFIG_FB_MB862XX=m | |||
3130 | CONFIG_FB_MB862XX_PCI_GDC=y | 3275 | CONFIG_FB_MB862XX_PCI_GDC=y |
3131 | CONFIG_FB_MB862XX_I2C=y | 3276 | CONFIG_FB_MB862XX_I2C=y |
3132 | CONFIG_FB_BROADSHEET=m | 3277 | CONFIG_FB_BROADSHEET=m |
3278 | # CONFIG_FB_AUO_K190X is not set | ||
3279 | CONFIG_FB_HYPERV=m | ||
3133 | # CONFIG_EXYNOS_VIDEO is not set | 3280 | # CONFIG_EXYNOS_VIDEO is not set |
3134 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 3281 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
3135 | CONFIG_LCD_CLASS_DEVICE=m | 3282 | CONFIG_LCD_CLASS_DEVICE=m |
3136 | CONFIG_LCD_L4F00242T03=m | 3283 | CONFIG_LCD_L4F00242T03=m |
3137 | CONFIG_LCD_LMS283GF05=m | 3284 | CONFIG_LCD_LMS283GF05=m |
3138 | CONFIG_LCD_LTV350QV=m | 3285 | CONFIG_LCD_LTV350QV=m |
3286 | # CONFIG_LCD_ILI922X is not set | ||
3139 | CONFIG_LCD_ILI9320=m | 3287 | CONFIG_LCD_ILI9320=m |
3140 | CONFIG_LCD_TDO24M=m | 3288 | CONFIG_LCD_TDO24M=m |
3141 | CONFIG_LCD_VGG2432A4=m | 3289 | CONFIG_LCD_VGG2432A4=m |
@@ -3143,15 +3291,18 @@ CONFIG_LCD_PLATFORM=m | |||
3143 | CONFIG_LCD_S6E63M0=m | 3291 | CONFIG_LCD_S6E63M0=m |
3144 | # CONFIG_LCD_LD9040 is not set | 3292 | # CONFIG_LCD_LD9040 is not set |
3145 | CONFIG_LCD_AMS369FG06=m | 3293 | CONFIG_LCD_AMS369FG06=m |
3294 | # CONFIG_LCD_LMS501KF03 is not set | ||
3295 | # CONFIG_LCD_HX8357 is not set | ||
3146 | CONFIG_BACKLIGHT_CLASS_DEVICE=m | 3296 | CONFIG_BACKLIGHT_CLASS_DEVICE=m |
3147 | CONFIG_BACKLIGHT_GENERIC=m | 3297 | CONFIG_BACKLIGHT_GENERIC=m |
3148 | CONFIG_BACKLIGHT_PROGEAR=m | ||
3149 | CONFIG_BACKLIGHT_CARILLO_RANCH=m | 3298 | CONFIG_BACKLIGHT_CARILLO_RANCH=m |
3150 | # CONFIG_BACKLIGHT_APPLE is not set | 3299 | # CONFIG_BACKLIGHT_APPLE is not set |
3151 | CONFIG_BACKLIGHT_SAHARA=m | 3300 | CONFIG_BACKLIGHT_SAHARA=m |
3152 | CONFIG_BACKLIGHT_ADP8860=m | 3301 | CONFIG_BACKLIGHT_ADP8860=m |
3153 | # CONFIG_BACKLIGHT_ADP8870 is not set | 3302 | # CONFIG_BACKLIGHT_ADP8870 is not set |
3154 | CONFIG_BACKLIGHT_PCF50633=m | 3303 | CONFIG_BACKLIGHT_PCF50633=m |
3304 | # CONFIG_BACKLIGHT_LM3630 is not set | ||
3305 | # CONFIG_BACKLIGHT_LM3639 is not set | ||
3155 | # CONFIG_BACKLIGHT_LP855X is not set | 3306 | # CONFIG_BACKLIGHT_LP855X is not set |
3156 | # CONFIG_BACKLIGHT_OT200 is not set | 3307 | # CONFIG_BACKLIGHT_OT200 is not set |
3157 | 3308 | ||
@@ -3176,6 +3327,7 @@ CONFIG_SND_TIMER=m | |||
3176 | CONFIG_SND_PCM=m | 3327 | CONFIG_SND_PCM=m |
3177 | CONFIG_SND_HWDEP=m | 3328 | CONFIG_SND_HWDEP=m |
3178 | CONFIG_SND_RAWMIDI=m | 3329 | CONFIG_SND_RAWMIDI=m |
3330 | CONFIG_SND_COMPRESS_OFFLOAD=m | ||
3179 | CONFIG_SND_JACK=y | 3331 | CONFIG_SND_JACK=y |
3180 | CONFIG_SND_SEQUENCER=m | 3332 | CONFIG_SND_SEQUENCER=m |
3181 | CONFIG_SND_SEQ_DUMMY=m | 3333 | CONFIG_SND_SEQ_DUMMY=m |
@@ -3273,7 +3425,6 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE=0 | |||
3273 | CONFIG_SND_HDA_INPUT_JACK=y | 3425 | CONFIG_SND_HDA_INPUT_JACK=y |
3274 | # CONFIG_SND_HDA_PATCH_LOADER is not set | 3426 | # CONFIG_SND_HDA_PATCH_LOADER is not set |
3275 | CONFIG_SND_HDA_CODEC_REALTEK=y | 3427 | CONFIG_SND_HDA_CODEC_REALTEK=y |
3276 | CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y | ||
3277 | CONFIG_SND_HDA_CODEC_ANALOG=y | 3428 | CONFIG_SND_HDA_CODEC_ANALOG=y |
3278 | CONFIG_SND_HDA_CODEC_SIGMATEL=y | 3429 | CONFIG_SND_HDA_CODEC_SIGMATEL=y |
3279 | CONFIG_SND_HDA_CODEC_VIA=y | 3430 | CONFIG_SND_HDA_CODEC_VIA=y |
@@ -3282,10 +3433,11 @@ CONFIG_SND_HDA_CODEC_CIRRUS=y | |||
3282 | CONFIG_SND_HDA_CODEC_CONEXANT=y | 3433 | CONFIG_SND_HDA_CODEC_CONEXANT=y |
3283 | CONFIG_SND_HDA_CODEC_CA0110=y | 3434 | CONFIG_SND_HDA_CODEC_CA0110=y |
3284 | CONFIG_SND_HDA_CODEC_CA0132=y | 3435 | CONFIG_SND_HDA_CODEC_CA0132=y |
3436 | # CONFIG_SND_HDA_CODEC_CA0132_DSP is not set | ||
3285 | CONFIG_SND_HDA_CODEC_CMEDIA=y | 3437 | CONFIG_SND_HDA_CODEC_CMEDIA=y |
3286 | CONFIG_SND_HDA_CODEC_SI3054=y | 3438 | CONFIG_SND_HDA_CODEC_SI3054=y |
3287 | CONFIG_SND_HDA_GENERIC=y | 3439 | CONFIG_SND_HDA_GENERIC=y |
3288 | # CONFIG_SND_HDA_POWER_SAVE is not set | 3440 | CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 |
3289 | CONFIG_SND_HDSP=m | 3441 | CONFIG_SND_HDSP=m |
3290 | CONFIG_SND_HDSPM=m | 3442 | CONFIG_SND_HDSPM=m |
3291 | CONFIG_SND_ICE1712=m | 3443 | CONFIG_SND_ICE1712=m |
@@ -3324,10 +3476,14 @@ CONFIG_SND_FIREWIRE=y | |||
3324 | CONFIG_SND_FIREWIRE_LIB=m | 3476 | CONFIG_SND_FIREWIRE_LIB=m |
3325 | CONFIG_SND_FIREWIRE_SPEAKERS=m | 3477 | CONFIG_SND_FIREWIRE_SPEAKERS=m |
3326 | CONFIG_SND_ISIGHT=m | 3478 | CONFIG_SND_ISIGHT=m |
3479 | # CONFIG_SND_SCS1X is not set | ||
3327 | CONFIG_SND_SOC=m | 3480 | CONFIG_SND_SOC=m |
3481 | # CONFIG_SND_ATMEL_SOC is not set | ||
3328 | CONFIG_SND_SOC_I2C_AND_SPI=m | 3482 | CONFIG_SND_SOC_I2C_AND_SPI=m |
3329 | CONFIG_SND_SOC_ALL_CODECS=m | 3483 | CONFIG_SND_SOC_ALL_CODECS=m |
3330 | CONFIG_SND_SOC_WM_HUBS=m | 3484 | CONFIG_SND_SOC_WM_HUBS=m |
3485 | CONFIG_SND_SOC_WM_ADSP=m | ||
3486 | CONFIG_SND_SOC_AB8500_CODEC=m | ||
3331 | CONFIG_SND_SOC_AD1836=m | 3487 | CONFIG_SND_SOC_AD1836=m |
3332 | CONFIG_SND_SOC_AD193X=m | 3488 | CONFIG_SND_SOC_AD193X=m |
3333 | CONFIG_SND_SOC_AD73311=m | 3489 | CONFIG_SND_SOC_AD73311=m |
@@ -3339,9 +3495,11 @@ CONFIG_SND_SOC_AK4535=m | |||
3339 | CONFIG_SND_SOC_AK4641=m | 3495 | CONFIG_SND_SOC_AK4641=m |
3340 | CONFIG_SND_SOC_AK4642=m | 3496 | CONFIG_SND_SOC_AK4642=m |
3341 | CONFIG_SND_SOC_AK4671=m | 3497 | CONFIG_SND_SOC_AK4671=m |
3498 | CONFIG_SND_SOC_AK5386=m | ||
3342 | CONFIG_SND_SOC_ALC5623=m | 3499 | CONFIG_SND_SOC_ALC5623=m |
3343 | CONFIG_SND_SOC_ALC5632=m | 3500 | CONFIG_SND_SOC_ALC5632=m |
3344 | CONFIG_SND_SOC_CS42L51=m | 3501 | CONFIG_SND_SOC_CS42L51=m |
3502 | CONFIG_SND_SOC_CS42L52=m | ||
3345 | CONFIG_SND_SOC_CS42L73=m | 3503 | CONFIG_SND_SOC_CS42L73=m |
3346 | CONFIG_SND_SOC_CS4270=m | 3504 | CONFIG_SND_SOC_CS4270=m |
3347 | CONFIG_SND_SOC_CS4271=m | 3505 | CONFIG_SND_SOC_CS4271=m |
@@ -3349,8 +3507,14 @@ CONFIG_SND_SOC_CX20442=m | |||
3349 | CONFIG_SND_SOC_JZ4740_CODEC=m | 3507 | CONFIG_SND_SOC_JZ4740_CODEC=m |
3350 | CONFIG_SND_SOC_L3=m | 3508 | CONFIG_SND_SOC_L3=m |
3351 | CONFIG_SND_SOC_DA7210=m | 3509 | CONFIG_SND_SOC_DA7210=m |
3510 | CONFIG_SND_SOC_DA7213=m | ||
3511 | CONFIG_SND_SOC_DA732X=m | ||
3512 | CONFIG_SND_SOC_DA9055=m | ||
3352 | CONFIG_SND_SOC_DFBMCS320=m | 3513 | CONFIG_SND_SOC_DFBMCS320=m |
3514 | CONFIG_SND_SOC_ISABELLE=m | ||
3515 | CONFIG_SND_SOC_LM49453=m | ||
3353 | CONFIG_SND_SOC_MAX98088=m | 3516 | CONFIG_SND_SOC_MAX98088=m |
3517 | CONFIG_SND_SOC_MAX98090=m | ||
3354 | CONFIG_SND_SOC_MAX98095=m | 3518 | CONFIG_SND_SOC_MAX98095=m |
3355 | CONFIG_SND_SOC_MAX9850=m | 3519 | CONFIG_SND_SOC_MAX9850=m |
3356 | CONFIG_SND_SOC_PCM3008=m | 3520 | CONFIG_SND_SOC_PCM3008=m |
@@ -3359,6 +3523,8 @@ CONFIG_SND_SOC_SGTL5000=m | |||
3359 | CONFIG_SND_SOC_SPDIF=m | 3523 | CONFIG_SND_SOC_SPDIF=m |
3360 | CONFIG_SND_SOC_SSM2602=m | 3524 | CONFIG_SND_SOC_SSM2602=m |
3361 | CONFIG_SND_SOC_STA32X=m | 3525 | CONFIG_SND_SOC_STA32X=m |
3526 | CONFIG_SND_SOC_STA529=m | ||
3527 | CONFIG_SND_SOC_TAS5086=m | ||
3362 | CONFIG_SND_SOC_TLV320AIC23=m | 3528 | CONFIG_SND_SOC_TLV320AIC23=m |
3363 | CONFIG_SND_SOC_TLV320AIC26=m | 3529 | CONFIG_SND_SOC_TLV320AIC26=m |
3364 | CONFIG_SND_SOC_TLV320AIC32X4=m | 3530 | CONFIG_SND_SOC_TLV320AIC32X4=m |
@@ -3367,11 +3533,11 @@ CONFIG_SND_SOC_TLV320DAC33=m | |||
3367 | CONFIG_SND_SOC_UDA134X=m | 3533 | CONFIG_SND_SOC_UDA134X=m |
3368 | CONFIG_SND_SOC_UDA1380=m | 3534 | CONFIG_SND_SOC_UDA1380=m |
3369 | CONFIG_SND_SOC_WL1273=m | 3535 | CONFIG_SND_SOC_WL1273=m |
3536 | CONFIG_SND_SOC_WM0010=m | ||
3370 | CONFIG_SND_SOC_WM1250_EV1=m | 3537 | CONFIG_SND_SOC_WM1250_EV1=m |
3371 | CONFIG_SND_SOC_WM2000=m | 3538 | CONFIG_SND_SOC_WM2000=m |
3372 | CONFIG_SND_SOC_WM2200=m | 3539 | CONFIG_SND_SOC_WM2200=m |
3373 | CONFIG_SND_SOC_WM5100=m | 3540 | CONFIG_SND_SOC_WM5100=m |
3374 | CONFIG_SND_SOC_WM8400=m | ||
3375 | CONFIG_SND_SOC_WM8510=m | 3541 | CONFIG_SND_SOC_WM8510=m |
3376 | CONFIG_SND_SOC_WM8523=m | 3542 | CONFIG_SND_SOC_WM8523=m |
3377 | CONFIG_SND_SOC_WM8580=m | 3543 | CONFIG_SND_SOC_WM8580=m |
@@ -3411,25 +3577,19 @@ CONFIG_SND_SOC_WM9090=m | |||
3411 | CONFIG_SND_SOC_LM4857=m | 3577 | CONFIG_SND_SOC_LM4857=m |
3412 | CONFIG_SND_SOC_MAX9768=m | 3578 | CONFIG_SND_SOC_MAX9768=m |
3413 | CONFIG_SND_SOC_MAX9877=m | 3579 | CONFIG_SND_SOC_MAX9877=m |
3580 | CONFIG_SND_SOC_ML26124=m | ||
3414 | CONFIG_SND_SOC_TPA6130A2=m | 3581 | CONFIG_SND_SOC_TPA6130A2=m |
3582 | # CONFIG_SND_SIMPLE_CARD is not set | ||
3415 | # CONFIG_SOUND_PRIME is not set | 3583 | # CONFIG_SOUND_PRIME is not set |
3416 | CONFIG_AC97_BUS=m | 3584 | CONFIG_AC97_BUS=m |
3417 | CONFIG_HID_SUPPORT=y | ||
3418 | CONFIG_HID=m | ||
3419 | CONFIG_HIDRAW=y | ||
3420 | 3585 | ||
3421 | # | 3586 | # |
3422 | # USB Input Devices | 3587 | # HID support |
3423 | # | ||
3424 | CONFIG_USB_HID=m | ||
3425 | # CONFIG_HID_PID is not set | ||
3426 | # CONFIG_USB_HIDDEV is not set | ||
3427 | |||
3428 | # | 3588 | # |
3429 | # USB HID Boot Protocol drivers | 3589 | CONFIG_HID=m |
3430 | # | 3590 | CONFIG_HIDRAW=y |
3431 | CONFIG_USB_KBD=m | 3591 | # CONFIG_UHID is not set |
3432 | CONFIG_USB_MOUSE=m | 3592 | CONFIG_HID_GENERIC=m |
3433 | 3593 | ||
3434 | # | 3594 | # |
3435 | # Special HID drivers | 3595 | # Special HID drivers |
@@ -3437,6 +3597,8 @@ CONFIG_USB_MOUSE=m | |||
3437 | # CONFIG_HID_A4TECH is not set | 3597 | # CONFIG_HID_A4TECH is not set |
3438 | # CONFIG_HID_ACRUX is not set | 3598 | # CONFIG_HID_ACRUX is not set |
3439 | CONFIG_HID_APPLE=m | 3599 | CONFIG_HID_APPLE=m |
3600 | # CONFIG_HID_APPLEIR is not set | ||
3601 | # CONFIG_HID_AUREAL is not set | ||
3440 | # CONFIG_HID_BELKIN is not set | 3602 | # CONFIG_HID_BELKIN is not set |
3441 | # CONFIG_HID_CHERRY is not set | 3603 | # CONFIG_HID_CHERRY is not set |
3442 | # CONFIG_HID_CHICONY is not set | 3604 | # CONFIG_HID_CHICONY is not set |
@@ -3452,9 +3614,11 @@ CONFIG_HID_KEYTOUCH=m | |||
3452 | # CONFIG_HID_UCLOGIC is not set | 3614 | # CONFIG_HID_UCLOGIC is not set |
3453 | # CONFIG_HID_WALTOP is not set | 3615 | # CONFIG_HID_WALTOP is not set |
3454 | # CONFIG_HID_GYRATION is not set | 3616 | # CONFIG_HID_GYRATION is not set |
3617 | # CONFIG_HID_ICADE is not set | ||
3455 | # CONFIG_HID_TWINHAN is not set | 3618 | # CONFIG_HID_TWINHAN is not set |
3456 | # CONFIG_HID_KENSINGTON is not set | 3619 | # CONFIG_HID_KENSINGTON is not set |
3457 | CONFIG_HID_LCPOWER=m | 3620 | CONFIG_HID_LCPOWER=m |
3621 | # CONFIG_HID_LENOVO_TPKBD is not set | ||
3458 | # CONFIG_HID_LOGITECH is not set | 3622 | # CONFIG_HID_LOGITECH is not set |
3459 | CONFIG_HID_MAGICMOUSE=m | 3623 | CONFIG_HID_MAGICMOUSE=m |
3460 | # CONFIG_HID_MICROSOFT is not set | 3624 | # CONFIG_HID_MICROSOFT is not set |
@@ -3470,22 +3634,44 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y | |||
3470 | CONFIG_HID_PICOLCD_LCD=y | 3634 | CONFIG_HID_PICOLCD_LCD=y |
3471 | CONFIG_HID_PICOLCD_LEDS=y | 3635 | CONFIG_HID_PICOLCD_LEDS=y |
3472 | CONFIG_HID_PRIMAX=m | 3636 | CONFIG_HID_PRIMAX=m |
3637 | # CONFIG_HID_PS3REMOTE is not set | ||
3473 | CONFIG_HID_ROCCAT=m | 3638 | CONFIG_HID_ROCCAT=m |
3474 | # CONFIG_HID_SAITEK is not set | 3639 | # CONFIG_HID_SAITEK is not set |
3475 | # CONFIG_HID_SAMSUNG is not set | 3640 | # CONFIG_HID_SAMSUNG is not set |
3476 | CONFIG_HID_SONY=m | 3641 | CONFIG_HID_SONY=m |
3477 | CONFIG_HID_SPEEDLINK=m | 3642 | CONFIG_HID_SPEEDLINK=m |
3643 | # CONFIG_HID_STEELSERIES is not set | ||
3478 | # CONFIG_HID_SUNPLUS is not set | 3644 | # CONFIG_HID_SUNPLUS is not set |
3479 | # CONFIG_HID_GREENASIA is not set | 3645 | # CONFIG_HID_GREENASIA is not set |
3480 | CONFIG_HID_HYPERV_MOUSE=m | 3646 | CONFIG_HID_HYPERV_MOUSE=m |
3481 | # CONFIG_HID_SMARTJOYPLUS is not set | 3647 | # CONFIG_HID_SMARTJOYPLUS is not set |
3482 | # CONFIG_HID_TIVO is not set | 3648 | # CONFIG_HID_TIVO is not set |
3483 | # CONFIG_HID_TOPSEED is not set | 3649 | # CONFIG_HID_TOPSEED is not set |
3650 | # CONFIG_HID_THINGM is not set | ||
3484 | # CONFIG_HID_THRUSTMASTER is not set | 3651 | # CONFIG_HID_THRUSTMASTER is not set |
3485 | # CONFIG_HID_WACOM is not set | 3652 | # CONFIG_HID_WACOM is not set |
3486 | # CONFIG_HID_WIIMOTE is not set | 3653 | # CONFIG_HID_WIIMOTE is not set |
3487 | # CONFIG_HID_ZEROPLUS is not set | 3654 | # CONFIG_HID_ZEROPLUS is not set |
3488 | CONFIG_HID_ZYDACRON=m | 3655 | CONFIG_HID_ZYDACRON=m |
3656 | # CONFIG_HID_SENSOR_HUB is not set | ||
3657 | |||
3658 | # | ||
3659 | # USB HID support | ||
3660 | # | ||
3661 | CONFIG_USB_HID=m | ||
3662 | # CONFIG_HID_PID is not set | ||
3663 | # CONFIG_USB_HIDDEV is not set | ||
3664 | |||
3665 | # | ||
3666 | # USB HID Boot Protocol drivers | ||
3667 | # | ||
3668 | CONFIG_USB_KBD=m | ||
3669 | CONFIG_USB_MOUSE=m | ||
3670 | |||
3671 | # | ||
3672 | # I2C HID support | ||
3673 | # | ||
3674 | # CONFIG_I2C_HID is not set | ||
3489 | CONFIG_USB_ARCH_HAS_OHCI=y | 3675 | CONFIG_USB_ARCH_HAS_OHCI=y |
3490 | CONFIG_USB_ARCH_HAS_EHCI=y | 3676 | CONFIG_USB_ARCH_HAS_EHCI=y |
3491 | CONFIG_USB_ARCH_HAS_XHCI=y | 3677 | CONFIG_USB_ARCH_HAS_XHCI=y |
@@ -3499,8 +3685,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | |||
3499 | # | 3685 | # |
3500 | # Miscellaneous USB options | 3686 | # Miscellaneous USB options |
3501 | # | 3687 | # |
3502 | CONFIG_USB_DEVICEFS=y | 3688 | CONFIG_USB_DEFAULT_PERSIST=y |
3503 | CONFIG_USB_DEVICE_CLASS=y | ||
3504 | # CONFIG_USB_DYNAMIC_MINORS is not set | 3689 | # CONFIG_USB_DYNAMIC_MINORS is not set |
3505 | # CONFIG_USB_OTG_WHITELIST is not set | 3690 | # CONFIG_USB_OTG_WHITELIST is not set |
3506 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | 3691 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set |
@@ -3517,6 +3702,8 @@ CONFIG_USB_XHCI_HCD=m | |||
3517 | CONFIG_USB_EHCI_HCD=m | 3702 | CONFIG_USB_EHCI_HCD=m |
3518 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 3703 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
3519 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | 3704 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set |
3705 | CONFIG_USB_EHCI_PCI=m | ||
3706 | CONFIG_USB_EHCI_HCD_PLATFORM=m | ||
3520 | CONFIG_USB_OXU210HP_HCD=m | 3707 | CONFIG_USB_OXU210HP_HCD=m |
3521 | CONFIG_USB_ISP116X_HCD=m | 3708 | CONFIG_USB_ISP116X_HCD=m |
3522 | CONFIG_USB_ISP1760_HCD=m | 3709 | CONFIG_USB_ISP1760_HCD=m |
@@ -3524,7 +3711,6 @@ CONFIG_USB_ISP1362_HCD=m | |||
3524 | CONFIG_USB_OHCI_HCD=m | 3711 | CONFIG_USB_OHCI_HCD=m |
3525 | CONFIG_USB_OHCI_HCD_SSB=y | 3712 | CONFIG_USB_OHCI_HCD_SSB=y |
3526 | CONFIG_USB_OHCI_HCD_PLATFORM=y | 3713 | CONFIG_USB_OHCI_HCD_PLATFORM=y |
3527 | CONFIG_USB_EHCI_HCD_PLATFORM=y | ||
3528 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | 3714 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set |
3529 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | 3715 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set |
3530 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | 3716 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y |
@@ -3533,6 +3719,7 @@ CONFIG_USB_U132_HCD=m | |||
3533 | CONFIG_USB_SL811_HCD=m | 3719 | CONFIG_USB_SL811_HCD=m |
3534 | CONFIG_USB_SL811_HCD_ISO=y | 3720 | CONFIG_USB_SL811_HCD_ISO=y |
3535 | CONFIG_USB_R8A66597_HCD=m | 3721 | CONFIG_USB_R8A66597_HCD=m |
3722 | CONFIG_USB_HCD_SSB=m | ||
3536 | 3723 | ||
3537 | # | 3724 | # |
3538 | # USB Device Class drivers | 3725 | # USB Device Class drivers |
@@ -3564,20 +3751,20 @@ CONFIG_USB_STORAGE_ONETOUCH=m | |||
3564 | CONFIG_USB_STORAGE_KARMA=m | 3751 | CONFIG_USB_STORAGE_KARMA=m |
3565 | CONFIG_USB_STORAGE_CYPRESS_ATACB=m | 3752 | CONFIG_USB_STORAGE_CYPRESS_ATACB=m |
3566 | CONFIG_USB_STORAGE_ENE_UB6250=m | 3753 | CONFIG_USB_STORAGE_ENE_UB6250=m |
3567 | CONFIG_USB_LIBUSUAL=y | ||
3568 | 3754 | ||
3569 | # | 3755 | # |
3570 | # USB Imaging devices | 3756 | # USB Imaging devices |
3571 | # | 3757 | # |
3572 | # CONFIG_USB_MDC800 is not set | 3758 | # CONFIG_USB_MDC800 is not set |
3573 | # CONFIG_USB_MICROTEK is not set | 3759 | # CONFIG_USB_MICROTEK is not set |
3760 | # CONFIG_USB_DWC3 is not set | ||
3761 | # CONFIG_USB_CHIPIDEA is not set | ||
3574 | 3762 | ||
3575 | # | 3763 | # |
3576 | # USB port drivers | 3764 | # USB port drivers |
3577 | # | 3765 | # |
3578 | CONFIG_USB_USS720=m | 3766 | CONFIG_USB_USS720=m |
3579 | CONFIG_USB_SERIAL=m | 3767 | CONFIG_USB_SERIAL=m |
3580 | CONFIG_USB_EZUSB=y | ||
3581 | CONFIG_USB_SERIAL_GENERIC=y | 3768 | CONFIG_USB_SERIAL_GENERIC=y |
3582 | CONFIG_USB_SERIAL_AIRCABLE=m | 3769 | CONFIG_USB_SERIAL_AIRCABLE=m |
3583 | CONFIG_USB_SERIAL_ARK3116=m | 3770 | CONFIG_USB_SERIAL_ARK3116=m |
@@ -3629,8 +3816,12 @@ CONFIG_USB_SERIAL_OPTION=m | |||
3629 | CONFIG_USB_SERIAL_OMNINET=m | 3816 | CONFIG_USB_SERIAL_OMNINET=m |
3630 | CONFIG_USB_SERIAL_OPTICON=m | 3817 | CONFIG_USB_SERIAL_OPTICON=m |
3631 | CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m | 3818 | CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m |
3819 | # CONFIG_USB_SERIAL_XSENS_MT is not set | ||
3632 | CONFIG_USB_SERIAL_ZIO=m | 3820 | CONFIG_USB_SERIAL_ZIO=m |
3821 | # CONFIG_USB_SERIAL_WISHBONE is not set | ||
3822 | # CONFIG_USB_SERIAL_ZTE is not set | ||
3633 | # CONFIG_USB_SERIAL_SSU100 is not set | 3823 | # CONFIG_USB_SERIAL_SSU100 is not set |
3824 | # CONFIG_USB_SERIAL_QT2 is not set | ||
3634 | CONFIG_USB_SERIAL_DEBUG=m | 3825 | CONFIG_USB_SERIAL_DEBUG=m |
3635 | 3826 | ||
3636 | # | 3827 | # |
@@ -3657,19 +3848,24 @@ CONFIG_USB_IOWARRIOR=m | |||
3657 | CONFIG_USB_TEST=m | 3848 | CONFIG_USB_TEST=m |
3658 | CONFIG_USB_ISIGHTFW=m | 3849 | CONFIG_USB_ISIGHTFW=m |
3659 | # CONFIG_USB_YUREX is not set | 3850 | # CONFIG_USB_YUREX is not set |
3851 | CONFIG_USB_EZUSB_FX2=m | ||
3852 | # CONFIG_USB_HSIC_USB3503 is not set | ||
3660 | CONFIG_USB_ATM=m | 3853 | CONFIG_USB_ATM=m |
3661 | CONFIG_USB_SPEEDTOUCH=m | 3854 | CONFIG_USB_SPEEDTOUCH=m |
3662 | CONFIG_USB_CXACRU=m | 3855 | CONFIG_USB_CXACRU=m |
3663 | CONFIG_USB_UEAGLEATM=m | 3856 | CONFIG_USB_UEAGLEATM=m |
3664 | CONFIG_USB_XUSBATM=m | 3857 | CONFIG_USB_XUSBATM=m |
3665 | # CONFIG_USB_GADGET is not set | 3858 | CONFIG_USB_PHY=y |
3666 | |||
3667 | # | ||
3668 | # OTG and related infrastructure | ||
3669 | # | ||
3670 | CONFIG_USB_OTG_UTILS=y | ||
3671 | CONFIG_USB_GPIO_VBUS=m | ||
3672 | CONFIG_NOP_USB_XCEIV=m | 3859 | CONFIG_NOP_USB_XCEIV=m |
3860 | # CONFIG_OMAP_CONTROL_USB is not set | ||
3861 | # CONFIG_OMAP_USB3 is not set | ||
3862 | # CONFIG_SAMSUNG_USBPHY is not set | ||
3863 | # CONFIG_SAMSUNG_USB2PHY is not set | ||
3864 | # CONFIG_SAMSUNG_USB3PHY is not set | ||
3865 | CONFIG_USB_GPIO_VBUS=m | ||
3866 | # CONFIG_USB_ISP1301 is not set | ||
3867 | # CONFIG_USB_RCAR_PHY is not set | ||
3868 | # CONFIG_USB_GADGET is not set | ||
3673 | # CONFIG_UWB is not set | 3869 | # CONFIG_UWB is not set |
3674 | CONFIG_MMC=m | 3870 | CONFIG_MMC=m |
3675 | # CONFIG_MMC_DEBUG is not set | 3871 | # CONFIG_MMC_DEBUG is not set |
@@ -3691,6 +3887,7 @@ CONFIG_MMC_TEST=m | |||
3691 | CONFIG_MMC_SDHCI=m | 3887 | CONFIG_MMC_SDHCI=m |
3692 | CONFIG_MMC_SDHCI_PCI=m | 3888 | CONFIG_MMC_SDHCI_PCI=m |
3693 | CONFIG_MMC_RICOH_MMC=y | 3889 | CONFIG_MMC_RICOH_MMC=y |
3890 | # CONFIG_MMC_SDHCI_ACPI is not set | ||
3694 | CONFIG_MMC_SDHCI_PLTFM=m | 3891 | CONFIG_MMC_SDHCI_PLTFM=m |
3695 | CONFIG_MMC_WBSD=m | 3892 | CONFIG_MMC_WBSD=m |
3696 | CONFIG_MMC_TIFM_SD=m | 3893 | CONFIG_MMC_TIFM_SD=m |
@@ -3721,12 +3918,14 @@ CONFIG_LEDS_CLASS=y | |||
3721 | # LED drivers | 3918 | # LED drivers |
3722 | # | 3919 | # |
3723 | CONFIG_LEDS_LM3530=m | 3920 | CONFIG_LEDS_LM3530=m |
3921 | # CONFIG_LEDS_LM3642 is not set | ||
3724 | CONFIG_LEDS_PCA9532=m | 3922 | CONFIG_LEDS_PCA9532=m |
3725 | # CONFIG_LEDS_PCA9532_GPIO is not set | 3923 | # CONFIG_LEDS_PCA9532_GPIO is not set |
3726 | CONFIG_LEDS_GPIO=m | 3924 | CONFIG_LEDS_GPIO=m |
3727 | CONFIG_LEDS_LP3944=m | 3925 | CONFIG_LEDS_LP3944=m |
3728 | # CONFIG_LEDS_LP5521 is not set | 3926 | # CONFIG_LEDS_LP5521 is not set |
3729 | # CONFIG_LEDS_LP5523 is not set | 3927 | # CONFIG_LEDS_LP5523 is not set |
3928 | # CONFIG_LEDS_LP5562 is not set | ||
3730 | CONFIG_LEDS_CLEVO_MAIL=m | 3929 | CONFIG_LEDS_CLEVO_MAIL=m |
3731 | CONFIG_LEDS_PCA955X=m | 3930 | CONFIG_LEDS_PCA955X=m |
3732 | # CONFIG_LEDS_PCA9633 is not set | 3931 | # CONFIG_LEDS_PCA9633 is not set |
@@ -3735,23 +3934,28 @@ CONFIG_LEDS_BD2802=m | |||
3735 | CONFIG_LEDS_INTEL_SS4200=m | 3934 | CONFIG_LEDS_INTEL_SS4200=m |
3736 | CONFIG_LEDS_LT3593=m | 3935 | CONFIG_LEDS_LT3593=m |
3737 | CONFIG_LEDS_DELL_NETBOOKS=m | 3936 | CONFIG_LEDS_DELL_NETBOOKS=m |
3738 | # CONFIG_LEDS_MC13783 is not set | ||
3739 | # CONFIG_LEDS_TCA6507 is not set | 3937 | # CONFIG_LEDS_TCA6507 is not set |
3938 | # CONFIG_LEDS_LM355x is not set | ||
3740 | # CONFIG_LEDS_OT200 is not set | 3939 | # CONFIG_LEDS_OT200 is not set |
3741 | CONFIG_LEDS_TRIGGERS=y | 3940 | # CONFIG_LEDS_BLINKM is not set |
3742 | 3941 | ||
3743 | # | 3942 | # |
3744 | # LED Triggers | 3943 | # LED Triggers |
3745 | # | 3944 | # |
3945 | CONFIG_LEDS_TRIGGERS=y | ||
3746 | CONFIG_LEDS_TRIGGER_TIMER=m | 3946 | CONFIG_LEDS_TRIGGER_TIMER=m |
3947 | # CONFIG_LEDS_TRIGGER_ONESHOT is not set | ||
3747 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m | 3948 | CONFIG_LEDS_TRIGGER_HEARTBEAT=m |
3748 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m | 3949 | CONFIG_LEDS_TRIGGER_BACKLIGHT=m |
3950 | # CONFIG_LEDS_TRIGGER_CPU is not set | ||
3749 | CONFIG_LEDS_TRIGGER_GPIO=m | 3951 | CONFIG_LEDS_TRIGGER_GPIO=m |
3750 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m | 3952 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=m |
3751 | 3953 | ||
3752 | # | 3954 | # |
3753 | # iptables trigger is under Netfilter config (LED target) | 3955 | # iptables trigger is under Netfilter config (LED target) |
3754 | # | 3956 | # |
3957 | # CONFIG_LEDS_TRIGGER_TRANSIENT is not set | ||
3958 | # CONFIG_LEDS_TRIGGER_CAMERA is not set | ||
3755 | CONFIG_ACCESSIBILITY=y | 3959 | CONFIG_ACCESSIBILITY=y |
3756 | # CONFIG_A11Y_BRAILLE_CONSOLE is not set | 3960 | # CONFIG_A11Y_BRAILLE_CONSOLE is not set |
3757 | CONFIG_INFINIBAND=m | 3961 | CONFIG_INFINIBAND=m |
@@ -3771,16 +3975,19 @@ CONFIG_INFINIBAND_CXGB4=m | |||
3771 | CONFIG_MLX4_INFINIBAND=m | 3975 | CONFIG_MLX4_INFINIBAND=m |
3772 | CONFIG_INFINIBAND_NES=m | 3976 | CONFIG_INFINIBAND_NES=m |
3773 | # CONFIG_INFINIBAND_NES_DEBUG is not set | 3977 | # CONFIG_INFINIBAND_NES_DEBUG is not set |
3978 | # CONFIG_INFINIBAND_OCRDMA is not set | ||
3774 | CONFIG_INFINIBAND_IPOIB=m | 3979 | CONFIG_INFINIBAND_IPOIB=m |
3775 | # CONFIG_INFINIBAND_IPOIB_CM is not set | 3980 | # CONFIG_INFINIBAND_IPOIB_CM is not set |
3776 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 3981 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set |
3777 | CONFIG_INFINIBAND_SRP=m | 3982 | CONFIG_INFINIBAND_SRP=m |
3778 | CONFIG_INFINIBAND_SRPT=m | 3983 | CONFIG_INFINIBAND_SRPT=m |
3779 | CONFIG_INFINIBAND_ISER=m | 3984 | CONFIG_INFINIBAND_ISER=m |
3985 | CONFIG_INFINIBAND_ISERT=m | ||
3780 | # CONFIG_EDAC is not set | 3986 | # CONFIG_EDAC is not set |
3781 | CONFIG_RTC_LIB=y | 3987 | CONFIG_RTC_LIB=y |
3782 | CONFIG_RTC_CLASS=y | 3988 | CONFIG_RTC_CLASS=y |
3783 | CONFIG_RTC_HCTOSYS=y | 3989 | CONFIG_RTC_HCTOSYS=y |
3990 | CONFIG_RTC_SYSTOHC=y | ||
3784 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | 3991 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" |
3785 | # CONFIG_RTC_DEBUG is not set | 3992 | # CONFIG_RTC_DEBUG is not set |
3786 | 3993 | ||
@@ -3805,6 +4012,7 @@ CONFIG_RTC_DRV_RS5C372=m | |||
3805 | CONFIG_RTC_DRV_ISL1208=m | 4012 | CONFIG_RTC_DRV_ISL1208=m |
3806 | # CONFIG_RTC_DRV_ISL12022 is not set | 4013 | # CONFIG_RTC_DRV_ISL12022 is not set |
3807 | CONFIG_RTC_DRV_X1205=m | 4014 | CONFIG_RTC_DRV_X1205=m |
4015 | # CONFIG_RTC_DRV_PCF8523 is not set | ||
3808 | CONFIG_RTC_DRV_PCF8563=m | 4016 | CONFIG_RTC_DRV_PCF8563=m |
3809 | CONFIG_RTC_DRV_PCF8583=m | 4017 | CONFIG_RTC_DRV_PCF8583=m |
3810 | CONFIG_RTC_DRV_M41T80=m | 4018 | CONFIG_RTC_DRV_M41T80=m |
@@ -3829,6 +4037,7 @@ CONFIG_RTC_DRV_R9701=m | |||
3829 | CONFIG_RTC_DRV_RS5C348=m | 4037 | CONFIG_RTC_DRV_RS5C348=m |
3830 | CONFIG_RTC_DRV_DS3234=m | 4038 | CONFIG_RTC_DRV_DS3234=m |
3831 | CONFIG_RTC_DRV_PCF2123=m | 4039 | CONFIG_RTC_DRV_PCF2123=m |
4040 | # CONFIG_RTC_DRV_RX4581 is not set | ||
3832 | 4041 | ||
3833 | # | 4042 | # |
3834 | # Platform RTC drivers | 4043 | # Platform RTC drivers |
@@ -3846,12 +4055,17 @@ CONFIG_RTC_DRV_MSM6242=m | |||
3846 | CONFIG_RTC_DRV_BQ4802=m | 4055 | CONFIG_RTC_DRV_BQ4802=m |
3847 | CONFIG_RTC_DRV_RP5C01=m | 4056 | CONFIG_RTC_DRV_RP5C01=m |
3848 | CONFIG_RTC_DRV_V3020=m | 4057 | CONFIG_RTC_DRV_V3020=m |
4058 | # CONFIG_RTC_DRV_DS2404 is not set | ||
3849 | # CONFIG_RTC_DRV_PCF50633 is not set | 4059 | # CONFIG_RTC_DRV_PCF50633 is not set |
3850 | 4060 | ||
3851 | # | 4061 | # |
3852 | # on-CPU RTC drivers | 4062 | # on-CPU RTC drivers |
3853 | # | 4063 | # |
3854 | # CONFIG_RTC_DRV_MC13XXX is not set | 4064 | |
4065 | # | ||
4066 | # HID Sensor RTC drivers | ||
4067 | # | ||
4068 | # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set | ||
3855 | CONFIG_DMADEVICES=y | 4069 | CONFIG_DMADEVICES=y |
3856 | # CONFIG_DMADEVICES_DEBUG is not set | 4070 | # CONFIG_DMADEVICES_DEBUG is not set |
3857 | 4071 | ||
@@ -3860,9 +4074,11 @@ CONFIG_DMADEVICES=y | |||
3860 | # | 4074 | # |
3861 | # CONFIG_INTEL_MID_DMAC is not set | 4075 | # CONFIG_INTEL_MID_DMAC is not set |
3862 | CONFIG_INTEL_IOATDMA=m | 4076 | CONFIG_INTEL_IOATDMA=m |
4077 | # CONFIG_DW_DMAC is not set | ||
3863 | CONFIG_TIMB_DMA=m | 4078 | CONFIG_TIMB_DMA=m |
3864 | CONFIG_PCH_DMA=m | 4079 | CONFIG_PCH_DMA=m |
3865 | CONFIG_DMA_ENGINE=y | 4080 | CONFIG_DMA_ENGINE=y |
4081 | CONFIG_DMA_ACPI=y | ||
3866 | 4082 | ||
3867 | # | 4083 | # |
3868 | # DMA Clients | 4084 | # DMA Clients |
@@ -3881,12 +4097,14 @@ CONFIG_UIO=m | |||
3881 | CONFIG_UIO_CIF=m | 4097 | CONFIG_UIO_CIF=m |
3882 | CONFIG_UIO_PDRV=m | 4098 | CONFIG_UIO_PDRV=m |
3883 | CONFIG_UIO_PDRV_GENIRQ=m | 4099 | CONFIG_UIO_PDRV_GENIRQ=m |
4100 | # CONFIG_UIO_DMEM_GENIRQ is not set | ||
3884 | CONFIG_UIO_AEC=m | 4101 | CONFIG_UIO_AEC=m |
3885 | CONFIG_UIO_SERCOS3=m | 4102 | CONFIG_UIO_SERCOS3=m |
3886 | CONFIG_UIO_PCI_GENERIC=m | 4103 | CONFIG_UIO_PCI_GENERIC=m |
3887 | CONFIG_UIO_NETX=m | 4104 | CONFIG_UIO_NETX=m |
4105 | # CONFIG_VFIO is not set | ||
4106 | CONFIG_VIRT_DRIVERS=y | ||
3888 | CONFIG_VIRTIO=m | 4107 | CONFIG_VIRTIO=m |
3889 | CONFIG_VIRTIO_RING=m | ||
3890 | 4108 | ||
3891 | # | 4109 | # |
3892 | # Virtio drivers | 4110 | # Virtio drivers |
@@ -3894,12 +4112,14 @@ CONFIG_VIRTIO_RING=m | |||
3894 | CONFIG_VIRTIO_PCI=m | 4112 | CONFIG_VIRTIO_PCI=m |
3895 | CONFIG_VIRTIO_BALLOON=m | 4113 | CONFIG_VIRTIO_BALLOON=m |
3896 | CONFIG_VIRTIO_MMIO=m | 4114 | CONFIG_VIRTIO_MMIO=m |
4115 | # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set | ||
3897 | 4116 | ||
3898 | # | 4117 | # |
3899 | # Microsoft Hyper-V guest support | 4118 | # Microsoft Hyper-V guest support |
3900 | # | 4119 | # |
3901 | CONFIG_HYPERV=m | 4120 | CONFIG_HYPERV=m |
3902 | CONFIG_HYPERV_UTILS=m | 4121 | CONFIG_HYPERV_UTILS=m |
4122 | CONFIG_HYPERV_BALLOON=m | ||
3903 | 4123 | ||
3904 | # | 4124 | # |
3905 | # Xen driver support | 4125 | # Xen driver support |
@@ -3918,6 +4138,7 @@ CONFIG_SWIOTLB_XEN=y | |||
3918 | CONFIG_XEN_PCIDEV_BACKEND=m | 4138 | CONFIG_XEN_PCIDEV_BACKEND=m |
3919 | CONFIG_XEN_PRIVCMD=m | 4139 | CONFIG_XEN_PRIVCMD=m |
3920 | CONFIG_XEN_ACPI_PROCESSOR=m | 4140 | CONFIG_XEN_ACPI_PROCESSOR=m |
4141 | CONFIG_XEN_HAVE_PVMMU=y | ||
3921 | CONFIG_STAGING=y | 4142 | CONFIG_STAGING=y |
3922 | # CONFIG_ET131X is not set | 4143 | # CONFIG_ET131X is not set |
3923 | # CONFIG_SLICOSS is not set | 4144 | # CONFIG_SLICOSS is not set |
@@ -3932,19 +4153,14 @@ CONFIG_STAGING=y | |||
3932 | # CONFIG_RTL8192U is not set | 4153 | # CONFIG_RTL8192U is not set |
3933 | # CONFIG_RTLLIB is not set | 4154 | # CONFIG_RTLLIB is not set |
3934 | # CONFIG_R8712U is not set | 4155 | # CONFIG_R8712U is not set |
3935 | # CONFIG_RTS_PSTOR is not set | ||
3936 | # CONFIG_RTS5139 is not set | 4156 | # CONFIG_RTS5139 is not set |
3937 | # CONFIG_TRANZPORT is not set | 4157 | # CONFIG_TRANZPORT is not set |
3938 | # CONFIG_IDE_PHISON is not set | 4158 | # CONFIG_IDE_PHISON is not set |
3939 | # CONFIG_LINE6_USB is not set | 4159 | # CONFIG_LINE6_USB is not set |
3940 | # CONFIG_USB_SERIAL_QUATECH2 is not set | 4160 | # CONFIG_USB_SERIAL_QUATECH2 is not set |
3941 | # CONFIG_USB_SERIAL_QUATECH_USB2 is not set | ||
3942 | # CONFIG_VT6655 is not set | 4161 | # CONFIG_VT6655 is not set |
3943 | # CONFIG_VT6656 is not set | 4162 | # CONFIG_VT6656 is not set |
3944 | # CONFIG_VME_BUS is not set | ||
3945 | # CONFIG_DX_SEP is not set | 4163 | # CONFIG_DX_SEP is not set |
3946 | # CONFIG_IIO is not set | ||
3947 | # CONFIG_ZRAM is not set | ||
3948 | # CONFIG_ZSMALLOC is not set | 4164 | # CONFIG_ZSMALLOC is not set |
3949 | # CONFIG_FB_SM7XX is not set | 4165 | # CONFIG_FB_SM7XX is not set |
3950 | # CONFIG_CRYSTALHD is not set | 4166 | # CONFIG_CRYSTALHD is not set |
@@ -3962,19 +4178,27 @@ CONFIG_STAGING=y | |||
3962 | # CONFIG_SPEAKUP is not set | 4178 | # CONFIG_SPEAKUP is not set |
3963 | # CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set | 4179 | # CONFIG_TOUCHSCREEN_CLEARPAD_TM1217 is not set |
3964 | # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set | 4180 | # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set |
3965 | # CONFIG_INTEL_MEI is not set | ||
3966 | # CONFIG_STAGING_MEDIA is not set | 4181 | # CONFIG_STAGING_MEDIA is not set |
3967 | 4182 | ||
3968 | # | 4183 | # |
3969 | # Android | 4184 | # Android |
3970 | # | 4185 | # |
3971 | # CONFIG_ANDROID is not set | 4186 | # CONFIG_ANDROID is not set |
3972 | # CONFIG_PHONE is not set | ||
3973 | # CONFIG_USB_WPAN_HCD is not set | 4187 | # CONFIG_USB_WPAN_HCD is not set |
4188 | # CONFIG_WIMAX_GDM72XX is not set | ||
4189 | # CONFIG_CSR_WIFI is not set | ||
4190 | CONFIG_NET_VENDOR_SILICOM=y | ||
4191 | # CONFIG_SBYPASS is not set | ||
4192 | # CONFIG_BPCTL is not set | ||
4193 | # CONFIG_CED1401 is not set | ||
4194 | # CONFIG_DGRP is not set | ||
4195 | # CONFIG_FIREWIRE_SERIAL is not set | ||
4196 | # CONFIG_USB_DWC2 is not set | ||
3974 | CONFIG_X86_PLATFORM_DEVICES=y | 4197 | CONFIG_X86_PLATFORM_DEVICES=y |
3975 | # CONFIG_ACER_WMI is not set | 4198 | # CONFIG_ACER_WMI is not set |
3976 | # CONFIG_ACERHDF is not set | 4199 | # CONFIG_ACERHDF is not set |
3977 | # CONFIG_ASUS_LAPTOP is not set | 4200 | # CONFIG_ASUS_LAPTOP is not set |
4201 | # CONFIG_CHROMEOS_LAPTOP is not set | ||
3978 | # CONFIG_DELL_LAPTOP is not set | 4202 | # CONFIG_DELL_LAPTOP is not set |
3979 | CONFIG_DELL_WMI=m | 4203 | CONFIG_DELL_WMI=m |
3980 | CONFIG_DELL_WMI_AIO=m | 4204 | CONFIG_DELL_WMI_AIO=m |
@@ -4009,6 +4233,7 @@ CONFIG_MXM_WMI=m | |||
4009 | # CONFIG_INTEL_OAKTRAIL is not set | 4233 | # CONFIG_INTEL_OAKTRAIL is not set |
4010 | # CONFIG_SAMSUNG_Q10 is not set | 4234 | # CONFIG_SAMSUNG_Q10 is not set |
4011 | # CONFIG_APPLE_GMUX is not set | 4235 | # CONFIG_APPLE_GMUX is not set |
4236 | CONFIG_PVPANIC=m | ||
4012 | 4237 | ||
4013 | # | 4238 | # |
4014 | # Hardware Spinlock drivers | 4239 | # Hardware Spinlock drivers |
@@ -4016,6 +4241,7 @@ CONFIG_MXM_WMI=m | |||
4016 | CONFIG_CLKEVT_I8253=y | 4241 | CONFIG_CLKEVT_I8253=y |
4017 | CONFIG_I8253_LOCK=y | 4242 | CONFIG_I8253_LOCK=y |
4018 | CONFIG_CLKBLD_I8253=y | 4243 | CONFIG_CLKBLD_I8253=y |
4244 | # CONFIG_MAILBOX is not set | ||
4019 | CONFIG_IOMMU_API=y | 4245 | CONFIG_IOMMU_API=y |
4020 | CONFIG_IOMMU_SUPPORT=y | 4246 | CONFIG_IOMMU_SUPPORT=y |
4021 | CONFIG_AMD_IOMMU=y | 4247 | CONFIG_AMD_IOMMU=y |
@@ -4028,14 +4254,22 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y | |||
4028 | CONFIG_IRQ_REMAP=y | 4254 | CONFIG_IRQ_REMAP=y |
4029 | 4255 | ||
4030 | # | 4256 | # |
4031 | # Remoteproc drivers (EXPERIMENTAL) | 4257 | # Remoteproc drivers |
4032 | # | 4258 | # |
4259 | # CONFIG_STE_MODEM_RPROC is not set | ||
4033 | 4260 | ||
4034 | # | 4261 | # |
4035 | # Rpmsg drivers (EXPERIMENTAL) | 4262 | # Rpmsg drivers |
4036 | # | 4263 | # |
4037 | CONFIG_VIRT_DRIVERS=y | ||
4038 | # CONFIG_PM_DEVFREQ is not set | 4264 | # CONFIG_PM_DEVFREQ is not set |
4265 | # CONFIG_EXTCON is not set | ||
4266 | # CONFIG_MEMORY is not set | ||
4267 | # CONFIG_IIO is not set | ||
4268 | # CONFIG_NTB is not set | ||
4269 | # CONFIG_VME_BUS is not set | ||
4270 | # CONFIG_PWM is not set | ||
4271 | # CONFIG_IPACK_BUS is not set | ||
4272 | # CONFIG_RESET_CONTROLLER is not set | ||
4039 | 4273 | ||
4040 | # | 4274 | # |
4041 | # Firmware Drivers | 4275 | # Firmware Drivers |
@@ -4065,7 +4299,6 @@ CONFIG_EXT3_FS_XATTR=y | |||
4065 | CONFIG_EXT3_FS_POSIX_ACL=y | 4299 | CONFIG_EXT3_FS_POSIX_ACL=y |
4066 | CONFIG_EXT3_FS_SECURITY=y | 4300 | CONFIG_EXT3_FS_SECURITY=y |
4067 | CONFIG_EXT4_FS=m | 4301 | CONFIG_EXT4_FS=m |
4068 | CONFIG_EXT4_FS_XATTR=y | ||
4069 | CONFIG_EXT4_FS_POSIX_ACL=y | 4302 | CONFIG_EXT4_FS_POSIX_ACL=y |
4070 | CONFIG_EXT4_FS_SECURITY=y | 4303 | CONFIG_EXT4_FS_SECURITY=y |
4071 | # CONFIG_EXT4_DEBUG is not set | 4304 | # CONFIG_EXT4_DEBUG is not set |
@@ -4098,6 +4331,8 @@ CONFIG_OCFS2_DEBUG_MASKLOG=y | |||
4098 | CONFIG_BTRFS_FS=m | 4331 | CONFIG_BTRFS_FS=m |
4099 | CONFIG_BTRFS_FS_POSIX_ACL=y | 4332 | CONFIG_BTRFS_FS_POSIX_ACL=y |
4100 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set | 4333 | # CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set |
4334 | # CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set | ||
4335 | # CONFIG_BTRFS_DEBUG is not set | ||
4101 | CONFIG_NILFS2_FS=m | 4336 | CONFIG_NILFS2_FS=m |
4102 | CONFIG_FS_POSIX_ACL=y | 4337 | CONFIG_FS_POSIX_ACL=y |
4103 | CONFIG_EXPORTFS=m | 4338 | CONFIG_EXPORTFS=m |
@@ -4171,6 +4406,7 @@ CONFIG_MISC_FILESYSTEMS=y | |||
4171 | # CONFIG_ADFS_FS is not set | 4406 | # CONFIG_ADFS_FS is not set |
4172 | # CONFIG_AFFS_FS is not set | 4407 | # CONFIG_AFFS_FS is not set |
4173 | CONFIG_ECRYPT_FS=m | 4408 | CONFIG_ECRYPT_FS=m |
4409 | # CONFIG_ECRYPT_FS_MESSAGING is not set | ||
4174 | CONFIG_HFS_FS=m | 4410 | CONFIG_HFS_FS=m |
4175 | CONFIG_HFSPLUS_FS=m | 4411 | CONFIG_HFSPLUS_FS=m |
4176 | # CONFIG_BEFS_FS is not set | 4412 | # CONFIG_BEFS_FS is not set |
@@ -4194,11 +4430,9 @@ CONFIG_JFFS2_CMODE_PRIORITY=y | |||
4194 | # CONFIG_JFFS2_CMODE_SIZE is not set | 4430 | # CONFIG_JFFS2_CMODE_SIZE is not set |
4195 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set | 4431 | # CONFIG_JFFS2_CMODE_FAVOURLZO is not set |
4196 | CONFIG_UBIFS_FS=m | 4432 | CONFIG_UBIFS_FS=m |
4197 | CONFIG_UBIFS_FS_XATTR=y | ||
4198 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set | 4433 | # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set |
4199 | CONFIG_UBIFS_FS_LZO=y | 4434 | CONFIG_UBIFS_FS_LZO=y |
4200 | CONFIG_UBIFS_FS_ZLIB=y | 4435 | CONFIG_UBIFS_FS_ZLIB=y |
4201 | # CONFIG_UBIFS_FS_DEBUG is not set | ||
4202 | CONFIG_LOGFS=m | 4436 | CONFIG_LOGFS=m |
4203 | CONFIG_CRAMFS=m | 4437 | CONFIG_CRAMFS=m |
4204 | CONFIG_SQUASHFS=m | 4438 | CONFIG_SQUASHFS=m |
@@ -4221,18 +4455,26 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y | |||
4221 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set | 4455 | # CONFIG_ROMFS_BACKED_BY_BOTH is not set |
4222 | CONFIG_ROMFS_ON_BLOCK=y | 4456 | CONFIG_ROMFS_ON_BLOCK=y |
4223 | CONFIG_PSTORE=y | 4457 | CONFIG_PSTORE=y |
4458 | # CONFIG_PSTORE_CONSOLE is not set | ||
4459 | # CONFIG_PSTORE_RAM is not set | ||
4224 | CONFIG_SYSV_FS=m | 4460 | CONFIG_SYSV_FS=m |
4225 | CONFIG_UFS_FS=m | 4461 | CONFIG_UFS_FS=m |
4226 | # CONFIG_UFS_FS_WRITE is not set | 4462 | # CONFIG_UFS_FS_WRITE is not set |
4227 | # CONFIG_UFS_DEBUG is not set | 4463 | # CONFIG_UFS_DEBUG is not set |
4228 | CONFIG_EXOFS_FS=m | 4464 | CONFIG_EXOFS_FS=m |
4229 | # CONFIG_EXOFS_DEBUG is not set | 4465 | # CONFIG_EXOFS_DEBUG is not set |
4466 | CONFIG_F2FS_FS=m | ||
4467 | CONFIG_F2FS_STAT_FS=y | ||
4468 | CONFIG_F2FS_FS_XATTR=y | ||
4469 | CONFIG_F2FS_FS_POSIX_ACL=y | ||
4230 | CONFIG_ORE=m | 4470 | CONFIG_ORE=m |
4231 | CONFIG_NETWORK_FILESYSTEMS=y | 4471 | CONFIG_NETWORK_FILESYSTEMS=y |
4232 | CONFIG_NFS_FS=m | 4472 | CONFIG_NFS_FS=m |
4233 | CONFIG_NFS_V3=y | 4473 | CONFIG_NFS_V2=m |
4474 | CONFIG_NFS_V3=m | ||
4234 | # CONFIG_NFS_V3_ACL is not set | 4475 | # CONFIG_NFS_V3_ACL is not set |
4235 | CONFIG_NFS_V4=y | 4476 | CONFIG_NFS_V4=m |
4477 | # CONFIG_NFS_SWAP is not set | ||
4236 | # CONFIG_NFS_V4_1 is not set | 4478 | # CONFIG_NFS_V4_1 is not set |
4237 | # CONFIG_NFS_FSCACHE is not set | 4479 | # CONFIG_NFS_FSCACHE is not set |
4238 | # CONFIG_NFS_USE_LEGACY_DNS is not set | 4480 | # CONFIG_NFS_USE_LEGACY_DNS is not set |
@@ -4258,10 +4500,12 @@ CONFIG_CIFS=m | |||
4258 | # CONFIG_CIFS_UPCALL is not set | 4500 | # CONFIG_CIFS_UPCALL is not set |
4259 | CONFIG_CIFS_XATTR=y | 4501 | CONFIG_CIFS_XATTR=y |
4260 | CONFIG_CIFS_POSIX=y | 4502 | CONFIG_CIFS_POSIX=y |
4503 | CONFIG_CIFS_ACL=y | ||
4504 | CONFIG_CIFS_DEBUG=y | ||
4261 | # CONFIG_CIFS_DEBUG2 is not set | 4505 | # CONFIG_CIFS_DEBUG2 is not set |
4262 | CONFIG_CIFS_DFS_UPCALL=y | 4506 | CONFIG_CIFS_DFS_UPCALL=y |
4507 | # CONFIG_CIFS_SMB2 is not set | ||
4263 | # CONFIG_CIFS_FSCACHE is not set | 4508 | # CONFIG_CIFS_FSCACHE is not set |
4264 | CONFIG_CIFS_ACL=y | ||
4265 | # CONFIG_NCP_FS is not set | 4509 | # CONFIG_NCP_FS is not set |
4266 | # CONFIG_CODA_FS is not set | 4510 | # CONFIG_CODA_FS is not set |
4267 | # CONFIG_AFS_FS is not set | 4511 | # CONFIG_AFS_FS is not set |
@@ -4307,6 +4551,17 @@ CONFIG_NLS_ISO8859_14=m | |||
4307 | CONFIG_NLS_ISO8859_15=m | 4551 | CONFIG_NLS_ISO8859_15=m |
4308 | CONFIG_NLS_KOI8_R=m | 4552 | CONFIG_NLS_KOI8_R=m |
4309 | CONFIG_NLS_KOI8_U=m | 4553 | CONFIG_NLS_KOI8_U=m |
4554 | CONFIG_NLS_MAC_ROMAN=m | ||
4555 | CONFIG_NLS_MAC_CELTIC=m | ||
4556 | CONFIG_NLS_MAC_CENTEURO=m | ||
4557 | CONFIG_NLS_MAC_CROATIAN=m | ||
4558 | CONFIG_NLS_MAC_CYRILLIC=m | ||
4559 | CONFIG_NLS_MAC_GAELIC=m | ||
4560 | CONFIG_NLS_MAC_GREEK=m | ||
4561 | CONFIG_NLS_MAC_ICELAND=m | ||
4562 | CONFIG_NLS_MAC_INUIT=m | ||
4563 | CONFIG_NLS_MAC_ROMANIAN=m | ||
4564 | CONFIG_NLS_MAC_TURKISH=m | ||
4310 | CONFIG_NLS_UTF8=m | 4565 | CONFIG_NLS_UTF8=m |
4311 | CONFIG_DLM=m | 4566 | CONFIG_DLM=m |
4312 | # CONFIG_DLM_DEBUG is not set | 4567 | # CONFIG_DLM_DEBUG is not set |
@@ -4322,6 +4577,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
4322 | CONFIG_FRAME_WARN=1024 | 4577 | CONFIG_FRAME_WARN=1024 |
4323 | CONFIG_MAGIC_SYSRQ=y | 4578 | CONFIG_MAGIC_SYSRQ=y |
4324 | # CONFIG_STRIP_ASM_SYMS is not set | 4579 | # CONFIG_STRIP_ASM_SYMS is not set |
4580 | # CONFIG_READABLE_ASM is not set | ||
4325 | # CONFIG_UNUSED_SYMBOLS is not set | 4581 | # CONFIG_UNUSED_SYMBOLS is not set |
4326 | CONFIG_DEBUG_FS=y | 4582 | CONFIG_DEBUG_FS=y |
4327 | # CONFIG_HEADERS_CHECK is not set | 4583 | # CONFIG_HEADERS_CHECK is not set |
@@ -4334,12 +4590,15 @@ CONFIG_HARDLOCKUP_DETECTOR=y | |||
4334 | CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 | 4590 | CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 |
4335 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | 4591 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set |
4336 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | 4592 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 |
4593 | # CONFIG_PANIC_ON_OOPS is not set | ||
4594 | CONFIG_PANIC_ON_OOPS_VALUE=0 | ||
4337 | # CONFIG_DETECT_HUNG_TASK is not set | 4595 | # CONFIG_DETECT_HUNG_TASK is not set |
4338 | CONFIG_SCHED_DEBUG=y | 4596 | CONFIG_SCHED_DEBUG=y |
4339 | CONFIG_SCHEDSTATS=y | 4597 | CONFIG_SCHEDSTATS=y |
4340 | CONFIG_TIMER_STATS=y | 4598 | CONFIG_TIMER_STATS=y |
4341 | # CONFIG_DEBUG_OBJECTS is not set | 4599 | # CONFIG_DEBUG_OBJECTS is not set |
4342 | # CONFIG_SLUB_STATS is not set | 4600 | # CONFIG_SLUB_STATS is not set |
4601 | CONFIG_HAVE_DEBUG_KMEMLEAK=y | ||
4343 | # CONFIG_DEBUG_KMEMLEAK is not set | 4602 | # CONFIG_DEBUG_KMEMLEAK is not set |
4344 | # CONFIG_DEBUG_RT_MUTEXES is not set | 4603 | # CONFIG_DEBUG_RT_MUTEXES is not set |
4345 | # CONFIG_RT_MUTEX_TESTER is not set | 4604 | # CONFIG_RT_MUTEX_TESTER is not set |
@@ -4347,7 +4606,6 @@ CONFIG_TIMER_STATS=y | |||
4347 | # CONFIG_DEBUG_MUTEXES is not set | 4606 | # CONFIG_DEBUG_MUTEXES is not set |
4348 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 4607 | # CONFIG_DEBUG_LOCK_ALLOC is not set |
4349 | # CONFIG_PROVE_LOCKING is not set | 4608 | # CONFIG_PROVE_LOCKING is not set |
4350 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
4351 | # CONFIG_LOCK_STAT is not set | 4609 | # CONFIG_LOCK_STAT is not set |
4352 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set | 4610 | # CONFIG_DEBUG_ATOMIC_SLEEP is not set |
4353 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 4611 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
@@ -4368,6 +4626,11 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
4368 | CONFIG_ARCH_WANT_FRAME_POINTERS=y | 4626 | CONFIG_ARCH_WANT_FRAME_POINTERS=y |
4369 | CONFIG_FRAME_POINTER=y | 4627 | CONFIG_FRAME_POINTER=y |
4370 | # CONFIG_BOOT_PRINTK_DELAY is not set | 4628 | # CONFIG_BOOT_PRINTK_DELAY is not set |
4629 | |||
4630 | # | ||
4631 | # RCU Debugging | ||
4632 | # | ||
4633 | # CONFIG_SPARSE_RCU_POINTER is not set | ||
4371 | # CONFIG_RCU_TORTURE_TEST is not set | 4634 | # CONFIG_RCU_TORTURE_TEST is not set |
4372 | CONFIG_RCU_CPU_STALL_TIMEOUT=60 | 4635 | CONFIG_RCU_CPU_STALL_TIMEOUT=60 |
4373 | # CONFIG_RCU_CPU_STALL_INFO is not set | 4636 | # CONFIG_RCU_CPU_STALL_INFO is not set |
@@ -4378,9 +4641,11 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 | |||
4378 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 4641 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
4379 | # CONFIG_DEBUG_PER_CPU_MAPS is not set | 4642 | # CONFIG_DEBUG_PER_CPU_MAPS is not set |
4380 | # CONFIG_LKDTM is not set | 4643 | # CONFIG_LKDTM is not set |
4381 | # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set | 4644 | # CONFIG_NOTIFIER_ERROR_INJECTION is not set |
4382 | # CONFIG_FAULT_INJECTION is not set | 4645 | # CONFIG_FAULT_INJECTION is not set |
4383 | CONFIG_LATENCYTOP=y | 4646 | CONFIG_LATENCYTOP=y |
4647 | CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y | ||
4648 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
4384 | # CONFIG_DEBUG_PAGEALLOC is not set | 4649 | # CONFIG_DEBUG_PAGEALLOC is not set |
4385 | CONFIG_USER_STACKTRACE_SUPPORT=y | 4650 | CONFIG_USER_STACKTRACE_SUPPORT=y |
4386 | CONFIG_HAVE_FUNCTION_TRACER=y | 4651 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -4388,13 +4653,18 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | |||
4388 | CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y | 4653 | CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y |
4389 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 4654 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
4390 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 4655 | CONFIG_HAVE_DYNAMIC_FTRACE=y |
4656 | CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y | ||
4391 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | 4657 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |
4392 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | 4658 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |
4659 | CONFIG_HAVE_FENTRY=y | ||
4393 | CONFIG_HAVE_C_RECORDMCOUNT=y | 4660 | CONFIG_HAVE_C_RECORDMCOUNT=y |
4661 | CONFIG_TRACE_CLOCK=y | ||
4394 | CONFIG_RING_BUFFER=y | 4662 | CONFIG_RING_BUFFER=y |
4395 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | 4663 | CONFIG_RING_BUFFER_ALLOW_SWAP=y |
4396 | CONFIG_TRACING_SUPPORT=y | 4664 | CONFIG_TRACING_SUPPORT=y |
4397 | # CONFIG_FTRACE is not set | 4665 | # CONFIG_FTRACE is not set |
4666 | # CONFIG_RBTREE_TEST is not set | ||
4667 | # CONFIG_INTERVAL_TREE_TEST is not set | ||
4398 | # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set | 4668 | # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set |
4399 | # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set | 4669 | # CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set |
4400 | # CONFIG_DYNAMIC_DEBUG is not set | 4670 | # CONFIG_DYNAMIC_DEBUG is not set |
@@ -4405,6 +4675,7 @@ CONFIG_TRACING_SUPPORT=y | |||
4405 | CONFIG_HAVE_ARCH_KGDB=y | 4675 | CONFIG_HAVE_ARCH_KGDB=y |
4406 | # CONFIG_KGDB is not set | 4676 | # CONFIG_KGDB is not set |
4407 | CONFIG_HAVE_ARCH_KMEMCHECK=y | 4677 | CONFIG_HAVE_ARCH_KMEMCHECK=y |
4678 | # CONFIG_TEST_STRING_HELPERS is not set | ||
4408 | CONFIG_TEST_KSTRTOX=m | 4679 | CONFIG_TEST_KSTRTOX=m |
4409 | CONFIG_STRICT_DEVMEM=y | 4680 | CONFIG_STRICT_DEVMEM=y |
4410 | # CONFIG_X86_VERBOSE_BOOTUP is not set | 4681 | # CONFIG_X86_VERBOSE_BOOTUP is not set |
@@ -4415,6 +4686,7 @@ CONFIG_DEBUG_RODATA=y | |||
4415 | # CONFIG_DEBUG_RODATA_TEST is not set | 4686 | # CONFIG_DEBUG_RODATA_TEST is not set |
4416 | CONFIG_DEBUG_SET_MODULE_RONX=y | 4687 | CONFIG_DEBUG_SET_MODULE_RONX=y |
4417 | CONFIG_DEBUG_NX_TEST=m | 4688 | CONFIG_DEBUG_NX_TEST=m |
4689 | # CONFIG_DEBUG_TLBFLUSH is not set | ||
4418 | # CONFIG_IOMMU_DEBUG is not set | 4690 | # CONFIG_IOMMU_DEBUG is not set |
4419 | # CONFIG_IOMMU_STRESS is not set | 4691 | # CONFIG_IOMMU_STRESS is not set |
4420 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y | 4692 | CONFIG_HAVE_MMIOTRACE_SUPPORT=y |
@@ -4431,17 +4703,13 @@ CONFIG_DEFAULT_IO_DELAY_TYPE=0 | |||
4431 | CONFIG_DEBUG_BOOT_PARAMS=y | 4703 | CONFIG_DEBUG_BOOT_PARAMS=y |
4432 | # CONFIG_CPA_DEBUG is not set | 4704 | # CONFIG_CPA_DEBUG is not set |
4433 | # CONFIG_OPTIMIZE_INLINING is not set | 4705 | # CONFIG_OPTIMIZE_INLINING is not set |
4434 | # CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set | ||
4435 | CONFIG_DEBUG_NMI_SELFTEST=y | 4706 | CONFIG_DEBUG_NMI_SELFTEST=y |
4436 | 4707 | ||
4437 | # | 4708 | # |
4438 | # Linux VServer | 4709 | # Linux VServer |
4439 | # | 4710 | # |
4440 | CONFIG_VSERVER_AUTO_LBACK=y | 4711 | CONFIG_VSERVER_AUTO_LBACK=y |
4441 | CONFIG_VSERVER_AUTO_SINGLE=y | ||
4442 | # CONFIG_VSERVER_COWBL is not set | 4712 | # CONFIG_VSERVER_COWBL is not set |
4443 | # CONFIG_VSERVER_VTIME is not set | ||
4444 | # CONFIG_VSERVER_DEVICE is not set | ||
4445 | CONFIG_VSERVER_PROC_SECURE=y | 4713 | CONFIG_VSERVER_PROC_SECURE=y |
4446 | # CONFIG_TAGGING_NONE is not set | 4714 | # CONFIG_TAGGING_NONE is not set |
4447 | # CONFIG_TAGGING_UID16 is not set | 4715 | # CONFIG_TAGGING_UID16 is not set |
@@ -4454,6 +4722,7 @@ CONFIG_VSERVER_CONTEXTS=768 | |||
4454 | CONFIG_VSERVER_WARN=y | 4722 | CONFIG_VSERVER_WARN=y |
4455 | CONFIG_VSERVER_WARN_DEVPTS=y | 4723 | CONFIG_VSERVER_WARN_DEVPTS=y |
4456 | # CONFIG_VSERVER_DEBUG is not set | 4724 | # CONFIG_VSERVER_DEBUG is not set |
4725 | # CONFIG_VSERVER_EXTRA_MNT_CHECK is not set | ||
4457 | CONFIG_QUOTES_ISO8859=y | 4726 | CONFIG_QUOTES_ISO8859=y |
4458 | # CONFIG_QUOTES_UTF8 is not set | 4727 | # CONFIG_QUOTES_UTF8 is not set |
4459 | # CONFIG_QUOTES_ASCII is not set | 4728 | # CONFIG_QUOTES_ASCII is not set |
@@ -4474,6 +4743,7 @@ CONFIG_SECURITYFS=y | |||
4474 | # CONFIG_SECURITY_NETWORK is not set | 4743 | # CONFIG_SECURITY_NETWORK is not set |
4475 | # CONFIG_SECURITY_PATH is not set | 4744 | # CONFIG_SECURITY_PATH is not set |
4476 | # CONFIG_INTEL_TXT is not set | 4745 | # CONFIG_INTEL_TXT is not set |
4746 | # CONFIG_SECURITY_SMACK is not set | ||
4477 | # CONFIG_SECURITY_TOMOYO is not set | 4747 | # CONFIG_SECURITY_TOMOYO is not set |
4478 | # CONFIG_SECURITY_APPARMOR is not set | 4748 | # CONFIG_SECURITY_APPARMOR is not set |
4479 | # CONFIG_SECURITY_YAMA is not set | 4749 | # CONFIG_SECURITY_YAMA is not set |
@@ -4486,8 +4756,6 @@ CONFIG_ASYNC_MEMCPY=m | |||
4486 | CONFIG_ASYNC_XOR=m | 4756 | CONFIG_ASYNC_XOR=m |
4487 | CONFIG_ASYNC_PQ=m | 4757 | CONFIG_ASYNC_PQ=m |
4488 | CONFIG_ASYNC_RAID6_RECOV=m | 4758 | CONFIG_ASYNC_RAID6_RECOV=m |
4489 | CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y | ||
4490 | CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y | ||
4491 | CONFIG_CRYPTO=y | 4759 | CONFIG_CRYPTO=y |
4492 | 4760 | ||
4493 | # | 4761 | # |
@@ -4516,6 +4784,8 @@ CONFIG_CRYPTO_WORKQUEUE=y | |||
4516 | CONFIG_CRYPTO_CRYPTD=m | 4784 | CONFIG_CRYPTO_CRYPTD=m |
4517 | CONFIG_CRYPTO_AUTHENC=m | 4785 | CONFIG_CRYPTO_AUTHENC=m |
4518 | CONFIG_CRYPTO_TEST=m | 4786 | CONFIG_CRYPTO_TEST=m |
4787 | CONFIG_CRYPTO_ABLK_HELPER_X86=m | ||
4788 | CONFIG_CRYPTO_GLUE_HELPER_X86=m | ||
4519 | 4789 | ||
4520 | # | 4790 | # |
4521 | # Authenticated Encryption with Associated Data | 4791 | # Authenticated Encryption with Associated Data |
@@ -4538,6 +4808,7 @@ CONFIG_CRYPTO_XTS=m | |||
4538 | # | 4808 | # |
4539 | # Hash modes | 4809 | # Hash modes |
4540 | # | 4810 | # |
4811 | CONFIG_CRYPTO_CMAC=m | ||
4541 | CONFIG_CRYPTO_HMAC=m | 4812 | CONFIG_CRYPTO_HMAC=m |
4542 | CONFIG_CRYPTO_XCBC=m | 4813 | CONFIG_CRYPTO_XCBC=m |
4543 | CONFIG_CRYPTO_VMAC=m | 4814 | CONFIG_CRYPTO_VMAC=m |
@@ -4547,6 +4818,8 @@ CONFIG_CRYPTO_VMAC=m | |||
4547 | # | 4818 | # |
4548 | CONFIG_CRYPTO_CRC32C=m | 4819 | CONFIG_CRYPTO_CRC32C=m |
4549 | CONFIG_CRYPTO_CRC32C_INTEL=m | 4820 | CONFIG_CRYPTO_CRC32C_INTEL=m |
4821 | CONFIG_CRYPTO_CRC32=m | ||
4822 | CONFIG_CRYPTO_CRC32_PCLMUL=m | ||
4550 | CONFIG_CRYPTO_GHASH=m | 4823 | CONFIG_CRYPTO_GHASH=m |
4551 | CONFIG_CRYPTO_MD4=m | 4824 | CONFIG_CRYPTO_MD4=m |
4552 | CONFIG_CRYPTO_MD5=y | 4825 | CONFIG_CRYPTO_MD5=y |
@@ -4557,6 +4830,8 @@ CONFIG_CRYPTO_RMD256=m | |||
4557 | CONFIG_CRYPTO_RMD320=m | 4830 | CONFIG_CRYPTO_RMD320=m |
4558 | CONFIG_CRYPTO_SHA1=m | 4831 | CONFIG_CRYPTO_SHA1=m |
4559 | CONFIG_CRYPTO_SHA1_SSSE3=m | 4832 | CONFIG_CRYPTO_SHA1_SSSE3=m |
4833 | CONFIG_CRYPTO_SHA256_SSSE3=m | ||
4834 | CONFIG_CRYPTO_SHA512_SSSE3=m | ||
4560 | CONFIG_CRYPTO_SHA256=y | 4835 | CONFIG_CRYPTO_SHA256=y |
4561 | CONFIG_CRYPTO_SHA512=m | 4836 | CONFIG_CRYPTO_SHA512=m |
4562 | CONFIG_CRYPTO_TGR192=m | 4837 | CONFIG_CRYPTO_TGR192=m |
@@ -4566,7 +4841,7 @@ CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m | |||
4566 | # | 4841 | # |
4567 | # Ciphers | 4842 | # Ciphers |
4568 | # | 4843 | # |
4569 | CONFIG_CRYPTO_AES=m | 4844 | CONFIG_CRYPTO_AES=y |
4570 | CONFIG_CRYPTO_AES_X86_64=m | 4845 | CONFIG_CRYPTO_AES_X86_64=m |
4571 | CONFIG_CRYPTO_AES_NI_INTEL=m | 4846 | CONFIG_CRYPTO_AES_NI_INTEL=m |
4572 | CONFIG_CRYPTO_ANUBIS=m | 4847 | CONFIG_CRYPTO_ANUBIS=m |
@@ -4576,8 +4851,13 @@ CONFIG_CRYPTO_BLOWFISH_COMMON=m | |||
4576 | CONFIG_CRYPTO_BLOWFISH_X86_64=m | 4851 | CONFIG_CRYPTO_BLOWFISH_X86_64=m |
4577 | CONFIG_CRYPTO_CAMELLIA=m | 4852 | CONFIG_CRYPTO_CAMELLIA=m |
4578 | CONFIG_CRYPTO_CAMELLIA_X86_64=m | 4853 | CONFIG_CRYPTO_CAMELLIA_X86_64=m |
4854 | CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m | ||
4855 | CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m | ||
4856 | CONFIG_CRYPTO_CAST_COMMON=m | ||
4579 | CONFIG_CRYPTO_CAST5=m | 4857 | CONFIG_CRYPTO_CAST5=m |
4858 | CONFIG_CRYPTO_CAST5_AVX_X86_64=m | ||
4580 | CONFIG_CRYPTO_CAST6=m | 4859 | CONFIG_CRYPTO_CAST6=m |
4860 | CONFIG_CRYPTO_CAST6_AVX_X86_64=m | ||
4581 | CONFIG_CRYPTO_DES=m | 4861 | CONFIG_CRYPTO_DES=m |
4582 | CONFIG_CRYPTO_FCRYPT=m | 4862 | CONFIG_CRYPTO_FCRYPT=m |
4583 | CONFIG_CRYPTO_KHAZAD=m | 4863 | CONFIG_CRYPTO_KHAZAD=m |
@@ -4586,11 +4866,14 @@ CONFIG_CRYPTO_SALSA20_X86_64=m | |||
4586 | CONFIG_CRYPTO_SEED=m | 4866 | CONFIG_CRYPTO_SEED=m |
4587 | CONFIG_CRYPTO_SERPENT=m | 4867 | CONFIG_CRYPTO_SERPENT=m |
4588 | CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m | 4868 | CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m |
4869 | CONFIG_CRYPTO_SERPENT_AVX_X86_64=m | ||
4870 | CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m | ||
4589 | CONFIG_CRYPTO_TEA=m | 4871 | CONFIG_CRYPTO_TEA=m |
4590 | CONFIG_CRYPTO_TWOFISH=m | 4872 | CONFIG_CRYPTO_TWOFISH=m |
4591 | CONFIG_CRYPTO_TWOFISH_COMMON=m | 4873 | CONFIG_CRYPTO_TWOFISH_COMMON=m |
4592 | CONFIG_CRYPTO_TWOFISH_X86_64=m | 4874 | CONFIG_CRYPTO_TWOFISH_X86_64=m |
4593 | CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m | 4875 | CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m |
4876 | CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m | ||
4594 | 4877 | ||
4595 | # | 4878 | # |
4596 | # Compression | 4879 | # Compression |
@@ -4610,17 +4893,24 @@ CONFIG_CRYPTO_HW=y | |||
4610 | CONFIG_CRYPTO_DEV_PADLOCK=m | 4893 | CONFIG_CRYPTO_DEV_PADLOCK=m |
4611 | CONFIG_CRYPTO_DEV_PADLOCK_AES=m | 4894 | CONFIG_CRYPTO_DEV_PADLOCK_AES=m |
4612 | CONFIG_CRYPTO_DEV_PADLOCK_SHA=m | 4895 | CONFIG_CRYPTO_DEV_PADLOCK_SHA=m |
4896 | CONFIG_ASYMMETRIC_KEY_TYPE=m | ||
4897 | CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m | ||
4898 | CONFIG_PUBLIC_KEY_ALGO_RSA=m | ||
4899 | CONFIG_X509_CERTIFICATE_PARSER=m | ||
4613 | CONFIG_HAVE_KVM=y | 4900 | CONFIG_HAVE_KVM=y |
4614 | CONFIG_HAVE_KVM_IRQCHIP=y | 4901 | CONFIG_HAVE_KVM_IRQCHIP=y |
4902 | CONFIG_HAVE_KVM_IRQ_ROUTING=y | ||
4615 | CONFIG_HAVE_KVM_EVENTFD=y | 4903 | CONFIG_HAVE_KVM_EVENTFD=y |
4616 | CONFIG_KVM_APIC_ARCHITECTURE=y | 4904 | CONFIG_KVM_APIC_ARCHITECTURE=y |
4617 | CONFIG_KVM_MMIO=y | 4905 | CONFIG_KVM_MMIO=y |
4618 | CONFIG_KVM_ASYNC_PF=y | 4906 | CONFIG_KVM_ASYNC_PF=y |
4907 | CONFIG_HAVE_KVM_MSI=y | ||
4908 | CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y | ||
4619 | CONFIG_VIRTUALIZATION=y | 4909 | CONFIG_VIRTUALIZATION=y |
4620 | CONFIG_KVM=m | 4910 | CONFIG_KVM=m |
4621 | CONFIG_KVM_INTEL=m | 4911 | CONFIG_KVM_INTEL=m |
4622 | CONFIG_KVM_AMD=m | 4912 | CONFIG_KVM_AMD=m |
4623 | CONFIG_VHOST_NET=m | 4913 | CONFIG_KVM_DEVICE_ASSIGNMENT=y |
4624 | # CONFIG_BINARY_PRINTF is not set | 4914 | # CONFIG_BINARY_PRINTF is not set |
4625 | 4915 | ||
4626 | # | 4916 | # |
@@ -4628,6 +4918,8 @@ CONFIG_VHOST_NET=m | |||
4628 | # | 4918 | # |
4629 | CONFIG_RAID6_PQ=m | 4919 | CONFIG_RAID6_PQ=m |
4630 | CONFIG_BITREVERSE=y | 4920 | CONFIG_BITREVERSE=y |
4921 | CONFIG_GENERIC_STRNCPY_FROM_USER=y | ||
4922 | CONFIG_GENERIC_STRNLEN_USER=y | ||
4631 | CONFIG_GENERIC_FIND_FIRST_BIT=y | 4923 | CONFIG_GENERIC_FIND_FIRST_BIT=y |
4632 | CONFIG_GENERIC_PCI_IOMAP=y | 4924 | CONFIG_GENERIC_PCI_IOMAP=y |
4633 | CONFIG_GENERIC_IOMAP=y | 4925 | CONFIG_GENERIC_IOMAP=y |
@@ -4678,6 +4970,11 @@ CONFIG_CHECK_SIGNATURE=y | |||
4678 | CONFIG_CPU_RMAP=y | 4970 | CONFIG_CPU_RMAP=y |
4679 | CONFIG_DQL=y | 4971 | CONFIG_DQL=y |
4680 | CONFIG_NLATTR=y | 4972 | CONFIG_NLATTR=y |
4973 | CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y | ||
4681 | CONFIG_LRU_CACHE=m | 4974 | CONFIG_LRU_CACHE=m |
4682 | CONFIG_AVERAGE=y | 4975 | CONFIG_AVERAGE=y |
4976 | CONFIG_CLZ_TAB=y | ||
4683 | CONFIG_CORDIC=m | 4977 | CONFIG_CORDIC=m |
4978 | # CONFIG_DDR is not set | ||
4979 | CONFIG_MPILIB=m | ||
4980 | CONFIG_OID_REGISTRY=m | ||
diff --git a/main/linux-vserver/patch-3.4.65-vs2.3.3.9.diff b/main/linux-vserver/patch-3.10.18-vs2.3.6.6.diff index 3a56542dff..56fb76ac9b 100644 --- a/main/linux-vserver/patch-3.4.65-vs2.3.3.9.diff +++ b/main/linux-vserver/patch-3.10.18-vs2.3.6.6.diff | |||
@@ -1,6 +1,6 @@ | |||
1 | diff -NurpP --minimal linux-3.4.57/Documentation/vserver/debug.txt linux-3.4.57-vs2.3.3.9/Documentation/vserver/debug.txt | 1 | diff -NurpP --minimal linux-3.10.17/Documentation/vserver/debug.txt linux-3.10.17-vs2.3.6.6/Documentation/vserver/debug.txt |
2 | --- linux-3.4.57/Documentation/vserver/debug.txt 1970-01-01 00:00:00.000000000 +0000 | 2 | --- linux-3.10.17/Documentation/vserver/debug.txt 1970-01-01 00:00:00.000000000 +0000 |
3 | +++ linux-3.4.57-vs2.3.3.9/Documentation/vserver/debug.txt 2012-05-21 16:15:04.000000000 +0000 | 3 | +++ linux-3.10.17-vs2.3.6.6/Documentation/vserver/debug.txt 2013-08-22 20:29:59.000000000 +0000 |
4 | @@ -0,0 +1,154 @@ | 4 | @@ -0,0 +1,154 @@ |
5 | + | 5 | + |
6 | +debug_cvirt: | 6 | +debug_cvirt: |
@@ -156,22 +156,22 @@ diff -NurpP --minimal linux-3.4.57/Documentation/vserver/debug.txt linux-3.4.57- | |||
156 | + m 2^m "vx_acc_page[%5d,%s,%2d]: %5d%s" | 156 | + m 2^m "vx_acc_page[%5d,%s,%2d]: %5d%s" |
157 | + "vx_acc_pages[%5d,%s,%2d]: %5d += %5d" | 157 | + "vx_acc_pages[%5d,%s,%2d]: %5d += %5d" |
158 | + "vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d" | 158 | + "vx_pages_avail[%5d,%s,%2d]: %5ld > %5d + %5d" |
159 | diff -NurpP --minimal linux-3.4.57/Makefile linux-3.4.57-vs2.3.3.9/Makefile | 159 | diff -NurpP --minimal linux-3.10.17/Makefile linux-3.10.17-vs2.3.6.6/Makefile |
160 | --- linux-3.4.57/Makefile 2013-08-13 14:12:47.000000000 +0000 | 160 | --- linux-3.10.17/Makefile 2013-10-25 15:17:23.000000000 +0000 |
161 | +++ linux-3.4.57-vs2.3.3.9/Makefile 2013-08-13 17:53:16.000000000 +0000 | 161 | +++ linux-3.10.17-vs2.3.6.6/Makefile 2013-10-26 18:35:12.000000000 +0000 |
162 | @@ -1,7 +1,7 @@ | 162 | @@ -1,7 +1,7 @@ |
163 | VERSION = 3 | 163 | VERSION = 3 |
164 | PATCHLEVEL = 4 | 164 | PATCHLEVEL = 10 |
165 | SUBLEVEL = 65 | 165 | SUBLEVEL = 18 |
166 | -EXTRAVERSION = | 166 | -EXTRAVERSION = |
167 | +EXTRAVERSION = -vs2.3.3.9 | 167 | +EXTRAVERSION = -vs2.3.6.6 |
168 | NAME = Saber-toothed Squirrel | 168 | NAME = TOSSUG Baby Fish |
169 | 169 | ||
170 | # *DOCUMENTATION* | 170 | # *DOCUMENTATION* |
171 | diff -NurpP --minimal linux-3.4.57/arch/alpha/Kconfig linux-3.4.57-vs2.3.3.9/arch/alpha/Kconfig | 171 | diff -NurpP --minimal linux-3.10.17/arch/alpha/Kconfig linux-3.10.17-vs2.3.6.6/arch/alpha/Kconfig |
172 | --- linux-3.4.57/arch/alpha/Kconfig 2012-05-21 16:06:12.000000000 +0000 | 172 | --- linux-3.10.17/arch/alpha/Kconfig 2013-07-14 17:00:13.000000000 +0000 |
173 | +++ linux-3.4.57-vs2.3.3.9/arch/alpha/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 173 | +++ linux-3.10.17-vs2.3.6.6/arch/alpha/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
174 | @@ -662,6 +662,8 @@ config DUMMY_CONSOLE | 174 | @@ -665,6 +665,8 @@ config DUMMY_CONSOLE |
175 | depends on VGA_HOSE | 175 | depends on VGA_HOSE |
176 | default y | 176 | default y |
177 | 177 | ||
@@ -180,55 +180,9 @@ diff -NurpP --minimal linux-3.4.57/arch/alpha/Kconfig linux-3.4.57-vs2.3.3.9/arc | |||
180 | source "security/Kconfig" | 180 | source "security/Kconfig" |
181 | 181 | ||
182 | source "crypto/Kconfig" | 182 | source "crypto/Kconfig" |
183 | diff -NurpP --minimal linux-3.4.57/arch/alpha/kernel/entry.S linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/entry.S | 183 | diff -NurpP --minimal linux-3.10.17/arch/alpha/kernel/systbls.S linux-3.10.17-vs2.3.6.6/arch/alpha/kernel/systbls.S |
184 | --- linux-3.4.57/arch/alpha/kernel/entry.S 2010-10-21 11:06:45.000000000 +0000 | 184 | --- linux-3.10.17/arch/alpha/kernel/systbls.S 2013-02-19 13:56:11.000000000 +0000 |
185 | +++ linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/entry.S 2012-05-21 16:15:04.000000000 +0000 | 185 | +++ linux-3.10.17-vs2.3.6.6/arch/alpha/kernel/systbls.S 2013-08-22 20:29:59.000000000 +0000 |
186 | @@ -860,24 +860,15 @@ sys_getxgid: | ||
187 | .globl sys_getxpid | ||
188 | .ent sys_getxpid | ||
189 | sys_getxpid: | ||
190 | + lda $sp, -16($sp) | ||
191 | + stq $26, 0($sp) | ||
192 | .prologue 0 | ||
193 | - ldq $2, TI_TASK($8) | ||
194 | |||
195 | - /* See linux/kernel/timer.c sys_getppid for discussion | ||
196 | - about this loop. */ | ||
197 | - ldq $3, TASK_GROUP_LEADER($2) | ||
198 | - ldq $4, TASK_REAL_PARENT($3) | ||
199 | - ldl $0, TASK_TGID($2) | ||
200 | -1: ldl $1, TASK_TGID($4) | ||
201 | -#ifdef CONFIG_SMP | ||
202 | - mov $4, $5 | ||
203 | - mb | ||
204 | - ldq $3, TASK_GROUP_LEADER($2) | ||
205 | - ldq $4, TASK_REAL_PARENT($3) | ||
206 | - cmpeq $4, $5, $5 | ||
207 | - beq $5, 1b | ||
208 | -#endif | ||
209 | - stq $1, 80($sp) | ||
210 | + lda $16, 96($sp) | ||
211 | + jsr $26, do_getxpid | ||
212 | + ldq $26, 0($sp) | ||
213 | + | ||
214 | + lda $sp, 16($sp) | ||
215 | ret | ||
216 | .end sys_getxpid | ||
217 | |||
218 | diff -NurpP --minimal linux-3.4.57/arch/alpha/kernel/ptrace.c linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/ptrace.c | ||
219 | --- linux-3.4.57/arch/alpha/kernel/ptrace.c 2012-05-21 16:06:12.000000000 +0000 | ||
220 | +++ linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 | ||
221 | @@ -13,6 +13,7 @@ | ||
222 | #include <linux/user.h> | ||
223 | #include <linux/security.h> | ||
224 | #include <linux/signal.h> | ||
225 | +#include <linux/vs_base.h> | ||
226 | |||
227 | #include <asm/uaccess.h> | ||
228 | #include <asm/pgtable.h> | ||
229 | diff -NurpP --minimal linux-3.4.57/arch/alpha/kernel/systbls.S linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/systbls.S | ||
230 | --- linux-3.4.57/arch/alpha/kernel/systbls.S 2012-01-09 15:13:54.000000000 +0000 | ||
231 | +++ linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/systbls.S 2012-05-21 16:15:04.000000000 +0000 | ||
232 | @@ -446,7 +446,7 @@ sys_call_table: | 186 | @@ -446,7 +446,7 @@ sys_call_table: |
233 | .quad sys_stat64 /* 425 */ | 187 | .quad sys_stat64 /* 425 */ |
234 | .quad sys_lstat64 | 188 | .quad sys_lstat64 |
@@ -238,23 +192,23 @@ diff -NurpP --minimal linux-3.4.57/arch/alpha/kernel/systbls.S linux-3.4.57-vs2. | |||
238 | .quad sys_ni_syscall /* sys_mbind */ | 192 | .quad sys_ni_syscall /* sys_mbind */ |
239 | .quad sys_ni_syscall /* sys_get_mempolicy */ | 193 | .quad sys_ni_syscall /* sys_get_mempolicy */ |
240 | .quad sys_ni_syscall /* sys_set_mempolicy */ | 194 | .quad sys_ni_syscall /* sys_set_mempolicy */ |
241 | diff -NurpP --minimal linux-3.4.57/arch/alpha/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/traps.c | 195 | diff -NurpP --minimal linux-3.10.17/arch/alpha/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/alpha/kernel/traps.c |
242 | --- linux-3.4.57/arch/alpha/kernel/traps.c 2012-05-21 16:06:12.000000000 +0000 | 196 | --- linux-3.10.17/arch/alpha/kernel/traps.c 2013-07-14 17:00:13.000000000 +0000 |
243 | +++ linux-3.4.57-vs2.3.3.9/arch/alpha/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 | 197 | +++ linux-3.10.17-vs2.3.6.6/arch/alpha/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
244 | @@ -184,7 +184,8 @@ die_if_kernel(char * str, struct pt_regs | 198 | @@ -177,7 +177,8 @@ die_if_kernel(char * str, struct pt_regs |
245 | #ifdef CONFIG_SMP | 199 | #ifdef CONFIG_SMP |
246 | printk("CPU %d ", hard_smp_processor_id()); | 200 | printk("CPU %d ", hard_smp_processor_id()); |
247 | #endif | 201 | #endif |
248 | - printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err); | 202 | - printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err); |
249 | + printk("%s(%d[#%u]): %s %ld\n", current->comm, | 203 | + printk("%s(%d:#%u): %s %ld\n", current->comm, |
250 | + task_pid_nr(current), current->xid, str, err); | 204 | + task_pid_nr(current), current->xid, str, err); |
251 | dik_show_regs(regs, r9_15); | 205 | dik_show_regs(regs, r9_15); |
252 | add_taint(TAINT_DIE); | 206 | add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE); |
253 | dik_show_trace((unsigned long *)(regs+1)); | 207 | dik_show_trace((unsigned long *)(regs+1)); |
254 | diff -NurpP --minimal linux-3.4.57/arch/arm/Kconfig linux-3.4.57-vs2.3.3.9/arch/arm/Kconfig | 208 | diff -NurpP --minimal linux-3.10.17/arch/arm/Kconfig linux-3.10.17-vs2.3.6.6/arch/arm/Kconfig |
255 | --- linux-3.4.57/arch/arm/Kconfig 2013-08-13 14:12:47.000000000 +0000 | 209 | --- linux-3.10.17/arch/arm/Kconfig 2013-10-25 15:17:23.000000000 +0000 |
256 | +++ linux-3.4.57-vs2.3.3.9/arch/arm/Kconfig 2012-12-11 11:42:38.000000000 +0000 | 210 | +++ linux-3.10.17-vs2.3.6.6/arch/arm/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
257 | @@ -2311,6 +2311,8 @@ source "fs/Kconfig" | 211 | @@ -2238,6 +2238,8 @@ source "fs/Kconfig" |
258 | 212 | ||
259 | source "arch/arm/Kconfig.debug" | 213 | source "arch/arm/Kconfig.debug" |
260 | 214 | ||
@@ -263,9 +217,9 @@ diff -NurpP --minimal linux-3.4.57/arch/arm/Kconfig linux-3.4.57-vs2.3.3.9/arch/ | |||
263 | source "security/Kconfig" | 217 | source "security/Kconfig" |
264 | 218 | ||
265 | source "crypto/Kconfig" | 219 | source "crypto/Kconfig" |
266 | diff -NurpP --minimal linux-3.4.57/arch/arm/kernel/calls.S linux-3.4.57-vs2.3.3.9/arch/arm/kernel/calls.S | 220 | diff -NurpP --minimal linux-3.10.17/arch/arm/kernel/calls.S linux-3.10.17-vs2.3.6.6/arch/arm/kernel/calls.S |
267 | --- linux-3.4.57/arch/arm/kernel/calls.S 2012-01-09 15:13:54.000000000 +0000 | 221 | --- linux-3.10.17/arch/arm/kernel/calls.S 2013-05-31 13:44:29.000000000 +0000 |
268 | +++ linux-3.4.57-vs2.3.3.9/arch/arm/kernel/calls.S 2012-05-21 16:15:04.000000000 +0000 | 222 | +++ linux-3.10.17-vs2.3.6.6/arch/arm/kernel/calls.S 2013-08-22 20:29:59.000000000 +0000 |
269 | @@ -322,7 +322,7 @@ | 223 | @@ -322,7 +322,7 @@ |
270 | /* 310 */ CALL(sys_request_key) | 224 | /* 310 */ CALL(sys_request_key) |
271 | CALL(sys_keyctl) | 225 | CALL(sys_keyctl) |
@@ -275,37 +229,24 @@ diff -NurpP --minimal linux-3.4.57/arch/arm/kernel/calls.S linux-3.4.57-vs2.3.3. | |||
275 | CALL(sys_ioprio_set) | 229 | CALL(sys_ioprio_set) |
276 | /* 315 */ CALL(sys_ioprio_get) | 230 | /* 315 */ CALL(sys_ioprio_get) |
277 | CALL(sys_inotify_init) | 231 | CALL(sys_inotify_init) |
278 | diff -NurpP --minimal linux-3.4.57/arch/arm/kernel/process.c linux-3.4.57-vs2.3.3.9/arch/arm/kernel/process.c | 232 | diff -NurpP --minimal linux-3.10.17/arch/arm/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/arm/kernel/traps.c |
279 | --- linux-3.4.57/arch/arm/kernel/process.c 2013-08-13 14:12:48.000000000 +0000 | 233 | --- linux-3.10.17/arch/arm/kernel/traps.c 2013-10-25 15:17:23.000000000 +0000 |
280 | +++ linux-3.4.57-vs2.3.3.9/arch/arm/kernel/process.c 2012-09-01 08:50:48.000000000 +0000 | 234 | +++ linux-3.10.17-vs2.3.6.6/arch/arm/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
281 | @@ -357,7 +357,8 @@ void __show_regs(struct pt_regs *regs) | 235 | @@ -240,8 +240,8 @@ static int __die(const char *str, int er |
282 | void show_regs(struct pt_regs * regs) | ||
283 | { | ||
284 | printk("\n"); | ||
285 | - printk("Pid: %d, comm: %20s\n", task_pid_nr(current), current->comm); | ||
286 | + printk("Pid: %d[#%u], comm: %20s\n", | ||
287 | + task_pid_nr(current), current->xid, current->comm); | ||
288 | __show_regs(regs); | ||
289 | dump_stack(); | ||
290 | } | ||
291 | diff -NurpP --minimal linux-3.4.57/arch/arm/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/arm/kernel/traps.c | ||
292 | --- linux-3.4.57/arch/arm/kernel/traps.c 2013-08-13 14:12:48.000000000 +0000 | ||
293 | +++ linux-3.4.57-vs2.3.3.9/arch/arm/kernel/traps.c 2012-10-22 13:09:53.000000000 +0000 | ||
294 | @@ -249,8 +249,8 @@ static int __die(const char *str, int er | ||
295 | 236 | ||
296 | print_modules(); | 237 | print_modules(); |
297 | __show_regs(regs); | 238 | __show_regs(regs); |
298 | - printk(KERN_EMERG "Process %.*s (pid: %d, stack limit = 0x%p)\n", | 239 | - printk(KERN_EMERG "Process %.*s (pid: %d, stack limit = 0x%p)\n", |
299 | - TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), thread + 1); | 240 | - TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), end_of_stack(tsk)); |
300 | + printk(KERN_EMERG "Process %.*s (pid: %d:#%u, stack limit = 0x%p)\n", | 241 | + printk(KERN_EMERG "Process %.*s (pid: %d:#%u, stack limit = 0x%p)\n", |
301 | + TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), tsk->xid, thread + 1); | 242 | + TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), tsk->xid, end_of_stack(tsk)); |
302 | 243 | ||
303 | if (!user_mode(regs) || in_interrupt()) { | 244 | if (!user_mode(regs) || in_interrupt()) { |
304 | dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp, | 245 | dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp, |
305 | diff -NurpP --minimal linux-3.4.57/arch/cris/Kconfig linux-3.4.57-vs2.3.3.9/arch/cris/Kconfig | 246 | diff -NurpP --minimal linux-3.10.17/arch/cris/Kconfig linux-3.10.17-vs2.3.6.6/arch/cris/Kconfig |
306 | --- linux-3.4.57/arch/cris/Kconfig 2012-03-19 18:46:39.000000000 +0000 | 247 | --- linux-3.10.17/arch/cris/Kconfig 2013-07-14 17:00:25.000000000 +0000 |
307 | +++ linux-3.4.57-vs2.3.3.9/arch/cris/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 248 | +++ linux-3.10.17-vs2.3.6.6/arch/cris/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
308 | @@ -675,6 +675,8 @@ source "drivers/staging/Kconfig" | 249 | @@ -673,6 +673,8 @@ source "drivers/staging/Kconfig" |
309 | 250 | ||
310 | source "arch/cris/Kconfig.debug" | 251 | source "arch/cris/Kconfig.debug" |
311 | 252 | ||
@@ -314,22 +255,10 @@ diff -NurpP --minimal linux-3.4.57/arch/cris/Kconfig linux-3.4.57-vs2.3.3.9/arch | |||
314 | source "security/Kconfig" | 255 | source "security/Kconfig" |
315 | 256 | ||
316 | source "crypto/Kconfig" | 257 | source "crypto/Kconfig" |
317 | diff -NurpP --minimal linux-3.4.57/arch/frv/kernel/kernel_thread.S linux-3.4.57-vs2.3.3.9/arch/frv/kernel/kernel_thread.S | 258 | diff -NurpP --minimal linux-3.10.17/arch/h8300/Kconfig linux-3.10.17-vs2.3.6.6/arch/h8300/Kconfig |
318 | --- linux-3.4.57/arch/frv/kernel/kernel_thread.S 2008-12-24 23:26:37.000000000 +0000 | 259 | --- linux-3.10.17/arch/h8300/Kconfig 2013-07-14 17:00:25.000000000 +0000 |
319 | +++ linux-3.4.57-vs2.3.3.9/arch/frv/kernel/kernel_thread.S 2012-05-21 16:15:04.000000000 +0000 | 260 | +++ linux-3.10.17-vs2.3.6.6/arch/h8300/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
320 | @@ -37,7 +37,7 @@ kernel_thread: | 261 | @@ -218,6 +218,8 @@ source "fs/Kconfig" |
321 | |||
322 | # start by forking the current process, but with shared VM | ||
323 | setlos.p #__NR_clone,gr7 ; syscall number | ||
324 | - ori gr10,#CLONE_VM,gr8 ; first syscall arg [clone_flags] | ||
325 | + ori gr10,#CLONE_KT,gr8 ; first syscall arg [clone_flags] | ||
326 | sethi.p #0xe4e4,gr9 ; second syscall arg [newsp] | ||
327 | setlo #0xe4e4,gr9 | ||
328 | setlos.p #0,gr10 ; third syscall arg [parent_tidptr] | ||
329 | diff -NurpP --minimal linux-3.4.57/arch/h8300/Kconfig linux-3.4.57-vs2.3.3.9/arch/h8300/Kconfig | ||
330 | --- linux-3.4.57/arch/h8300/Kconfig 2012-03-19 18:46:39.000000000 +0000 | ||
331 | +++ linux-3.4.57-vs2.3.3.9/arch/h8300/Kconfig 2012-05-21 16:15:04.000000000 +0000 | ||
332 | @@ -214,6 +214,8 @@ source "fs/Kconfig" | ||
333 | 262 | ||
334 | source "arch/h8300/Kconfig.debug" | 263 | source "arch/h8300/Kconfig.debug" |
335 | 264 | ||
@@ -338,10 +267,10 @@ diff -NurpP --minimal linux-3.4.57/arch/h8300/Kconfig linux-3.4.57-vs2.3.3.9/arc | |||
338 | source "security/Kconfig" | 267 | source "security/Kconfig" |
339 | 268 | ||
340 | source "crypto/Kconfig" | 269 | source "crypto/Kconfig" |
341 | diff -NurpP --minimal linux-3.4.57/arch/ia64/Kconfig linux-3.4.57-vs2.3.3.9/arch/ia64/Kconfig | 270 | diff -NurpP --minimal linux-3.10.17/arch/ia64/Kconfig linux-3.10.17-vs2.3.6.6/arch/ia64/Kconfig |
342 | --- linux-3.4.57/arch/ia64/Kconfig 2012-03-19 18:46:39.000000000 +0000 | 271 | --- linux-3.10.17/arch/ia64/Kconfig 2013-07-14 17:00:25.000000000 +0000 |
343 | +++ linux-3.4.57-vs2.3.3.9/arch/ia64/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 272 | +++ linux-3.10.17-vs2.3.6.6/arch/ia64/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
344 | @@ -654,6 +654,8 @@ source "fs/Kconfig" | 273 | @@ -643,6 +643,8 @@ source "fs/Kconfig" |
345 | 274 | ||
346 | source "arch/ia64/Kconfig.debug" | 275 | source "arch/ia64/Kconfig.debug" |
347 | 276 | ||
@@ -350,10 +279,10 @@ diff -NurpP --minimal linux-3.4.57/arch/ia64/Kconfig linux-3.4.57-vs2.3.3.9/arch | |||
350 | source "security/Kconfig" | 279 | source "security/Kconfig" |
351 | 280 | ||
352 | source "crypto/Kconfig" | 281 | source "crypto/Kconfig" |
353 | diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/entry.S linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/entry.S | 282 | diff -NurpP --minimal linux-3.10.17/arch/ia64/kernel/entry.S linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/entry.S |
354 | --- linux-3.4.57/arch/ia64/kernel/entry.S 2012-03-19 18:46:40.000000000 +0000 | 283 | --- linux-3.10.17/arch/ia64/kernel/entry.S 2013-05-31 13:44:38.000000000 +0000 |
355 | +++ linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/entry.S 2012-05-21 16:15:04.000000000 +0000 | 284 | +++ linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/entry.S 2013-08-22 20:29:59.000000000 +0000 |
356 | @@ -1714,7 +1714,7 @@ sys_call_table: | 285 | @@ -1719,7 +1719,7 @@ sys_call_table: |
357 | data8 sys_mq_notify | 286 | data8 sys_mq_notify |
358 | data8 sys_mq_getsetattr | 287 | data8 sys_mq_getsetattr |
359 | data8 sys_kexec_load | 288 | data8 sys_kexec_load |
@@ -362,23 +291,9 @@ diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/entry.S linux-3.4.57-vs2.3.3 | |||
362 | data8 sys_waitid // 1270 | 291 | data8 sys_waitid // 1270 |
363 | data8 sys_add_key | 292 | data8 sys_add_key |
364 | data8 sys_request_key | 293 | data8 sys_request_key |
365 | diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/process.c linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/process.c | 294 | diff -NurpP --minimal linux-3.10.17/arch/ia64/kernel/ptrace.c linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/ptrace.c |
366 | --- linux-3.4.57/arch/ia64/kernel/process.c 2013-08-13 14:12:49.000000000 +0000 | 295 | --- linux-3.10.17/arch/ia64/kernel/ptrace.c 2013-02-19 13:56:51.000000000 +0000 |
367 | +++ linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/process.c 2012-10-22 13:09:53.000000000 +0000 | 296 | +++ linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/ptrace.c 2013-08-22 20:29:59.000000000 +0000 |
368 | @@ -111,8 +111,8 @@ show_regs (struct pt_regs *regs) | ||
369 | unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri; | ||
370 | |||
371 | print_modules(); | ||
372 | - printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current), | ||
373 | - smp_processor_id(), current->comm); | ||
374 | + printk("\nPid: %d[#%u], CPU %d, comm: %20s\n", task_pid_nr(current), | ||
375 | + current->xid, smp_processor_id(), current->comm); | ||
376 | printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n", | ||
377 | regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(), | ||
378 | init_utsname()->release); | ||
379 | diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/ptrace.c linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/ptrace.c | ||
380 | --- linux-3.4.57/arch/ia64/kernel/ptrace.c 2012-05-21 16:06:26.000000000 +0000 | ||
381 | +++ linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 | ||
382 | @@ -21,6 +21,7 @@ | 297 | @@ -21,6 +21,7 @@ |
383 | #include <linux/regset.h> | 298 | #include <linux/regset.h> |
384 | #include <linux/elf.h> | 299 | #include <linux/elf.h> |
@@ -387,16 +302,16 @@ diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/ptrace.c linux-3.4.57-vs2.3. | |||
387 | 302 | ||
388 | #include <asm/pgtable.h> | 303 | #include <asm/pgtable.h> |
389 | #include <asm/processor.h> | 304 | #include <asm/processor.h> |
390 | diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/traps.c | 305 | diff -NurpP --minimal linux-3.10.17/arch/ia64/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/traps.c |
391 | --- linux-3.4.57/arch/ia64/kernel/traps.c 2012-05-21 16:06:26.000000000 +0000 | 306 | --- linux-3.10.17/arch/ia64/kernel/traps.c 2013-05-31 13:44:38.000000000 +0000 |
392 | +++ linux-3.4.57-vs2.3.3.9/arch/ia64/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 | 307 | +++ linux-3.10.17-vs2.3.6.6/arch/ia64/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
393 | @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re | 308 | @@ -60,8 +60,9 @@ die (const char *str, struct pt_regs *re |
394 | put_cpu(); | 309 | put_cpu(); |
395 | 310 | ||
396 | if (++die.lock_owner_depth < 3) { | 311 | if (++die.lock_owner_depth < 3) { |
397 | - printk("%s[%d]: %s %ld [%d]\n", | 312 | - printk("%s[%d]: %s %ld [%d]\n", |
398 | - current->comm, task_pid_nr(current), str, err, ++die_counter); | 313 | - current->comm, task_pid_nr(current), str, err, ++die_counter); |
399 | + printk("%s[%d[#%u]]: %s %ld [%d]\n", | 314 | + printk("%s[%d:#%u]: %s %ld [%d]\n", |
400 | + current->comm, task_pid_nr(current), current->xid, | 315 | + current->comm, task_pid_nr(current), current->xid, |
401 | + str, err, ++die_counter); | 316 | + str, err, ++die_counter); |
402 | if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV) | 317 | if (notify_die(DIE_OOPS, str, regs, err, 255, SIGSEGV) |
@@ -408,31 +323,31 @@ diff -NurpP --minimal linux-3.4.57/arch/ia64/kernel/traps.c linux-3.4.57-vs2.3.3 | |||
408 | printk(KERN_WARNING | 323 | printk(KERN_WARNING |
409 | - "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n", | 324 | - "%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n", |
410 | - current->comm, task_pid_nr(current), regs->cr_iip + ia64_psr(regs)->ri, isr); | 325 | - current->comm, task_pid_nr(current), regs->cr_iip + ia64_psr(regs)->ri, isr); |
411 | + "%s(%d[#%u]): floating-point assist fault at ip %016lx, isr %016lx\n", | 326 | + "%s(%d:#%u): floating-point assist fault at ip %016lx, isr %016lx\n", |
412 | + current->comm, task_pid_nr(current), current->xid, | 327 | + current->comm, task_pid_nr(current), current->xid, |
413 | + regs->cr_iip + ia64_psr(regs)->ri, isr); | 328 | + regs->cr_iip + ia64_psr(regs)->ri, isr); |
414 | } | 329 | } |
415 | } | 330 | } |
416 | } | 331 | } |
417 | diff -NurpP --minimal linux-3.4.57/arch/m32r/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/m32r/kernel/traps.c | 332 | diff -NurpP --minimal linux-3.10.17/arch/m32r/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/m32r/kernel/traps.c |
418 | --- linux-3.4.57/arch/m32r/kernel/traps.c 2012-05-21 16:06:26.000000000 +0000 | 333 | --- linux-3.10.17/arch/m32r/kernel/traps.c 2013-07-14 17:00:26.000000000 +0000 |
419 | +++ linux-3.4.57-vs2.3.3.9/arch/m32r/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 | 334 | +++ linux-3.10.17-vs2.3.6.6/arch/m32r/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
420 | @@ -195,8 +195,9 @@ static void show_registers(struct pt_reg | 335 | @@ -184,8 +184,9 @@ static void show_registers(struct pt_reg |
421 | } else { | 336 | } else { |
422 | printk("SPI: %08lx\n", sp); | 337 | printk("SPI: %08lx\n", sp); |
423 | } | 338 | } |
424 | - printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)", | 339 | - printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)", |
425 | - current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current); | 340 | - current->comm, task_pid_nr(current), 0xffff & i, 4096+(unsigned long)current); |
426 | + printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)", | 341 | + printk("Process %s (pid: %d:#%u, process nr: %d, stackpage=%08lx)", |
427 | + current->comm, task_pid_nr(current), current->xid, | 342 | + current->comm, task_pid_nr(current), current->xid, |
428 | + 0xffff & i, 4096+(unsigned long)current); | 343 | + 0xffff & i, 4096+(unsigned long)current); |
429 | 344 | ||
430 | /* | 345 | /* |
431 | * When in-kernel, we also print out the stack and code at the | 346 | * When in-kernel, we also print out the stack and code at the |
432 | diff -NurpP --minimal linux-3.4.57/arch/m68k/Kconfig linux-3.4.57-vs2.3.3.9/arch/m68k/Kconfig | 347 | diff -NurpP --minimal linux-3.10.17/arch/m68k/Kconfig linux-3.10.17-vs2.3.6.6/arch/m68k/Kconfig |
433 | --- linux-3.4.57/arch/m68k/Kconfig 2012-05-21 16:06:26.000000000 +0000 | 348 | --- linux-3.10.17/arch/m68k/Kconfig 2013-07-14 17:00:26.000000000 +0000 |
434 | +++ linux-3.4.57-vs2.3.3.9/arch/m68k/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 349 | +++ linux-3.10.17-vs2.3.6.6/arch/m68k/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
435 | @@ -146,6 +146,8 @@ source "fs/Kconfig" | 350 | @@ -134,6 +134,8 @@ source "fs/Kconfig" |
436 | 351 | ||
437 | source "arch/m68k/Kconfig.debug" | 352 | source "arch/m68k/Kconfig.debug" |
438 | 353 | ||
@@ -441,10 +356,10 @@ diff -NurpP --minimal linux-3.4.57/arch/m68k/Kconfig linux-3.4.57-vs2.3.3.9/arch | |||
441 | source "security/Kconfig" | 356 | source "security/Kconfig" |
442 | 357 | ||
443 | source "crypto/Kconfig" | 358 | source "crypto/Kconfig" |
444 | diff -NurpP --minimal linux-3.4.57/arch/mips/Kconfig linux-3.4.57-vs2.3.3.9/arch/mips/Kconfig | 359 | diff -NurpP --minimal linux-3.10.17/arch/mips/Kconfig linux-3.10.17-vs2.3.6.6/arch/mips/Kconfig |
445 | --- linux-3.4.57/arch/mips/Kconfig 2012-05-21 16:06:27.000000000 +0000 | 360 | --- linux-3.10.17/arch/mips/Kconfig 2013-10-25 15:17:24.000000000 +0000 |
446 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 361 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
447 | @@ -2516,6 +2516,8 @@ source "fs/Kconfig" | 362 | @@ -2583,6 +2583,8 @@ source "fs/Kconfig" |
448 | 363 | ||
449 | source "arch/mips/Kconfig.debug" | 364 | source "arch/mips/Kconfig.debug" |
450 | 365 | ||
@@ -453,9 +368,9 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/Kconfig linux-3.4.57-vs2.3.3.9/arch | |||
453 | source "security/Kconfig" | 368 | source "security/Kconfig" |
454 | 369 | ||
455 | source "crypto/Kconfig" | 370 | source "crypto/Kconfig" |
456 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/ptrace.c linux-3.4.57-vs2.3.3.9/arch/mips/kernel/ptrace.c | 371 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/ptrace.c linux-3.10.17-vs2.3.6.6/arch/mips/kernel/ptrace.c |
457 | --- linux-3.4.57/arch/mips/kernel/ptrace.c 2012-05-21 16:06:27.000000000 +0000 | 372 | --- linux-3.10.17/arch/mips/kernel/ptrace.c 2013-05-31 13:44:42.000000000 +0000 |
458 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 | 373 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/ptrace.c 2013-08-22 20:29:59.000000000 +0000 |
459 | @@ -25,6 +25,7 @@ | 374 | @@ -25,6 +25,7 @@ |
460 | #include <linux/security.h> | 375 | #include <linux/security.h> |
461 | #include <linux/audit.h> | 376 | #include <linux/audit.h> |
@@ -474,10 +389,10 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/ptrace.c linux-3.4.57-vs2.3. | |||
474 | switch (request) { | 389 | switch (request) { |
475 | /* when I and D space are separate, these will need to be fixed. */ | 390 | /* when I and D space are separate, these will need to be fixed. */ |
476 | case PTRACE_PEEKTEXT: /* read word at location addr. */ | 391 | case PTRACE_PEEKTEXT: /* read word at location addr. */ |
477 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall32-o32.S linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall32-o32.S | 392 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/scall32-o32.S linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall32-o32.S |
478 | --- linux-3.4.57/arch/mips/kernel/scall32-o32.S 2012-01-09 15:14:05.000000000 +0000 | 393 | --- linux-3.10.17/arch/mips/kernel/scall32-o32.S 2013-07-14 17:00:28.000000000 +0000 |
479 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall32-o32.S 2012-05-21 16:15:04.000000000 +0000 | 394 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall32-o32.S 2013-08-22 20:29:59.000000000 +0000 |
480 | @@ -523,7 +523,7 @@ einval: li v0, -ENOSYS | 395 | @@ -521,7 +521,7 @@ einval: li v0, -ENOSYS |
481 | sys sys_mq_timedreceive 5 | 396 | sys sys_mq_timedreceive 5 |
482 | sys sys_mq_notify 2 /* 4275 */ | 397 | sys sys_mq_notify 2 /* 4275 */ |
483 | sys sys_mq_getsetattr 3 | 398 | sys sys_mq_getsetattr 3 |
@@ -486,10 +401,10 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall32-o32.S linux-3.4.57-v | |||
486 | sys sys_waitid 5 | 401 | sys sys_waitid 5 |
487 | sys sys_ni_syscall 0 /* available, was setaltroot */ | 402 | sys sys_ni_syscall 0 /* available, was setaltroot */ |
488 | sys sys_add_key 5 /* 4280 */ | 403 | sys sys_add_key 5 /* 4280 */ |
489 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall64-64.S linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-64.S | 404 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/scall64-64.S linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-64.S |
490 | --- linux-3.4.57/arch/mips/kernel/scall64-64.S 2012-01-09 15:14:05.000000000 +0000 | 405 | --- linux-3.10.17/arch/mips/kernel/scall64-64.S 2013-07-14 17:00:28.000000000 +0000 |
491 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-64.S 2012-05-21 16:15:04.000000000 +0000 | 406 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-64.S 2013-08-22 20:29:59.000000000 +0000 |
492 | @@ -362,7 +362,7 @@ sys_call_table: | 407 | @@ -351,7 +351,7 @@ sys_call_table: |
493 | PTR sys_mq_timedreceive | 408 | PTR sys_mq_timedreceive |
494 | PTR sys_mq_notify | 409 | PTR sys_mq_notify |
495 | PTR sys_mq_getsetattr /* 5235 */ | 410 | PTR sys_mq_getsetattr /* 5235 */ |
@@ -498,10 +413,10 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall64-64.S linux-3.4.57-vs | |||
498 | PTR sys_waitid | 413 | PTR sys_waitid |
499 | PTR sys_ni_syscall /* available, was setaltroot */ | 414 | PTR sys_ni_syscall /* available, was setaltroot */ |
500 | PTR sys_add_key | 415 | PTR sys_add_key |
501 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall64-n32.S linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-n32.S | 416 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/scall64-n32.S linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-n32.S |
502 | --- linux-3.4.57/arch/mips/kernel/scall64-n32.S 2012-01-09 15:14:05.000000000 +0000 | 417 | --- linux-3.10.17/arch/mips/kernel/scall64-n32.S 2013-07-14 17:00:28.000000000 +0000 |
503 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-n32.S 2012-05-21 16:15:04.000000000 +0000 | 418 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-n32.S 2013-08-22 20:29:59.000000000 +0000 |
504 | @@ -361,7 +361,7 @@ EXPORT(sysn32_call_table) | 419 | @@ -344,7 +344,7 @@ EXPORT(sysn32_call_table) |
505 | PTR compat_sys_mq_timedreceive | 420 | PTR compat_sys_mq_timedreceive |
506 | PTR compat_sys_mq_notify | 421 | PTR compat_sys_mq_notify |
507 | PTR compat_sys_mq_getsetattr | 422 | PTR compat_sys_mq_getsetattr |
@@ -510,22 +425,22 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall64-n32.S linux-3.4.57-v | |||
510 | PTR compat_sys_waitid | 425 | PTR compat_sys_waitid |
511 | PTR sys_ni_syscall /* available, was setaltroot */ | 426 | PTR sys_ni_syscall /* available, was setaltroot */ |
512 | PTR sys_add_key | 427 | PTR sys_add_key |
513 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/scall64-o32.S linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-o32.S | 428 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/scall64-o32.S linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-o32.S |
514 | --- linux-3.4.57/arch/mips/kernel/scall64-o32.S 2012-01-09 15:14:05.000000000 +0000 | 429 | --- linux-3.10.17/arch/mips/kernel/scall64-o32.S 2013-07-14 17:00:28.000000000 +0000 |
515 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/scall64-o32.S 2012-05-21 16:15:04.000000000 +0000 | 430 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/scall64-o32.S 2013-08-22 20:29:59.000000000 +0000 |
516 | @@ -480,7 +480,7 @@ sys_call_table: | 431 | @@ -469,7 +469,7 @@ sys_call_table: |
517 | PTR compat_sys_mq_timedreceive | 432 | PTR compat_sys_mq_timedreceive |
518 | PTR compat_sys_mq_notify /* 4275 */ | 433 | PTR compat_sys_mq_notify /* 4275 */ |
519 | PTR compat_sys_mq_getsetattr | 434 | PTR compat_sys_mq_getsetattr |
520 | - PTR sys_ni_syscall /* sys_vserver */ | 435 | - PTR sys_ni_syscall /* sys_vserver */ |
521 | + PTR sys32_vserver | 436 | + PTR sys32_vserver |
522 | PTR sys_32_waitid | 437 | PTR compat_sys_waitid |
523 | PTR sys_ni_syscall /* available, was setaltroot */ | 438 | PTR sys_ni_syscall /* available, was setaltroot */ |
524 | PTR sys_add_key /* 4280 */ | 439 | PTR sys_add_key /* 4280 */ |
525 | diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/mips/kernel/traps.c | 440 | diff -NurpP --minimal linux-3.10.17/arch/mips/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/mips/kernel/traps.c |
526 | --- linux-3.4.57/arch/mips/kernel/traps.c 2012-05-21 16:06:27.000000000 +0000 | 441 | --- linux-3.10.17/arch/mips/kernel/traps.c 2013-07-14 17:00:28.000000000 +0000 |
527 | +++ linux-3.4.57-vs2.3.3.9/arch/mips/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 | 442 | +++ linux-3.10.17-vs2.3.6.6/arch/mips/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
528 | @@ -343,9 +343,10 @@ void show_registers(struct pt_regs *regs | 443 | @@ -331,9 +331,10 @@ void show_registers(struct pt_regs *regs |
529 | 444 | ||
530 | __show_regs(regs); | 445 | __show_regs(regs); |
531 | print_modules(); | 446 | print_modules(); |
@@ -539,10 +454,10 @@ diff -NurpP --minimal linux-3.4.57/arch/mips/kernel/traps.c linux-3.4.57-vs2.3.3 | |||
539 | if (cpu_has_userlocal) { | 454 | if (cpu_has_userlocal) { |
540 | unsigned long tls; | 455 | unsigned long tls; |
541 | 456 | ||
542 | diff -NurpP --minimal linux-3.4.57/arch/parisc/Kconfig linux-3.4.57-vs2.3.3.9/arch/parisc/Kconfig | 457 | diff -NurpP --minimal linux-3.10.17/arch/parisc/Kconfig linux-3.10.17-vs2.3.6.6/arch/parisc/Kconfig |
543 | --- linux-3.4.57/arch/parisc/Kconfig 2012-03-19 18:46:44.000000000 +0000 | 458 | --- linux-3.10.17/arch/parisc/Kconfig 2013-07-14 17:00:29.000000000 +0000 |
544 | +++ linux-3.4.57-vs2.3.3.9/arch/parisc/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 459 | +++ linux-3.10.17-vs2.3.6.6/arch/parisc/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
545 | @@ -279,6 +279,8 @@ source "fs/Kconfig" | 460 | @@ -318,6 +318,8 @@ source "fs/Kconfig" |
546 | 461 | ||
547 | source "arch/parisc/Kconfig.debug" | 462 | source "arch/parisc/Kconfig.debug" |
548 | 463 | ||
@@ -551,10 +466,10 @@ diff -NurpP --minimal linux-3.4.57/arch/parisc/Kconfig linux-3.4.57-vs2.3.3.9/ar | |||
551 | source "security/Kconfig" | 466 | source "security/Kconfig" |
552 | 467 | ||
553 | source "crypto/Kconfig" | 468 | source "crypto/Kconfig" |
554 | diff -NurpP --minimal linux-3.4.57/arch/parisc/kernel/syscall_table.S linux-3.4.57-vs2.3.3.9/arch/parisc/kernel/syscall_table.S | 469 | diff -NurpP --minimal linux-3.10.17/arch/parisc/kernel/syscall_table.S linux-3.10.17-vs2.3.6.6/arch/parisc/kernel/syscall_table.S |
555 | --- linux-3.4.57/arch/parisc/kernel/syscall_table.S 2011-10-24 16:45:00.000000000 +0000 | 470 | --- linux-3.10.17/arch/parisc/kernel/syscall_table.S 2013-07-14 17:00:31.000000000 +0000 |
556 | +++ linux-3.4.57-vs2.3.3.9/arch/parisc/kernel/syscall_table.S 2012-05-21 16:15:04.000000000 +0000 | 471 | +++ linux-3.10.17-vs2.3.6.6/arch/parisc/kernel/syscall_table.S 2013-08-22 20:29:59.000000000 +0000 |
557 | @@ -361,7 +361,7 @@ | 472 | @@ -358,7 +358,7 @@ |
558 | ENTRY_COMP(mbind) /* 260 */ | 473 | ENTRY_COMP(mbind) /* 260 */ |
559 | ENTRY_COMP(get_mempolicy) | 474 | ENTRY_COMP(get_mempolicy) |
560 | ENTRY_COMP(set_mempolicy) | 475 | ENTRY_COMP(set_mempolicy) |
@@ -563,10 +478,10 @@ diff -NurpP --minimal linux-3.4.57/arch/parisc/kernel/syscall_table.S linux-3.4. | |||
563 | ENTRY_SAME(add_key) | 478 | ENTRY_SAME(add_key) |
564 | ENTRY_SAME(request_key) /* 265 */ | 479 | ENTRY_SAME(request_key) /* 265 */ |
565 | ENTRY_SAME(keyctl) | 480 | ENTRY_SAME(keyctl) |
566 | diff -NurpP --minimal linux-3.4.57/arch/parisc/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/parisc/kernel/traps.c | 481 | diff -NurpP --minimal linux-3.10.17/arch/parisc/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/parisc/kernel/traps.c |
567 | --- linux-3.4.57/arch/parisc/kernel/traps.c 2012-05-21 16:06:28.000000000 +0000 | 482 | --- linux-3.10.17/arch/parisc/kernel/traps.c 2013-10-25 15:17:24.000000000 +0000 |
568 | +++ linux-3.4.57-vs2.3.3.9/arch/parisc/kernel/traps.c 2012-05-21 16:15:04.000000000 +0000 | 483 | +++ linux-3.10.17-vs2.3.6.6/arch/parisc/kernel/traps.c 2013-10-26 18:03:16.000000000 +0000 |
569 | @@ -235,8 +235,9 @@ void die_if_kernel(char *str, struct pt_ | 484 | @@ -229,8 +229,9 @@ void die_if_kernel(char *str, struct pt_ |
570 | if (err == 0) | 485 | if (err == 0) |
571 | return; /* STFU */ | 486 | return; /* STFU */ |
572 | 487 | ||
@@ -578,7 +493,7 @@ diff -NurpP --minimal linux-3.4.57/arch/parisc/kernel/traps.c linux-3.4.57-vs2.3 | |||
578 | #ifdef PRINT_USER_FAULTS | 493 | #ifdef PRINT_USER_FAULTS |
579 | /* XXX for debugging only */ | 494 | /* XXX for debugging only */ |
580 | show_regs(regs); | 495 | show_regs(regs); |
581 | @@ -269,8 +270,8 @@ void die_if_kernel(char *str, struct pt_ | 496 | @@ -263,8 +264,8 @@ void die_if_kernel(char *str, struct pt_ |
582 | pdc_console_restart(); | 497 | pdc_console_restart(); |
583 | 498 | ||
584 | if (err) | 499 | if (err) |
@@ -589,10 +504,10 @@ diff -NurpP --minimal linux-3.4.57/arch/parisc/kernel/traps.c linux-3.4.57-vs2.3 | |||
589 | 504 | ||
590 | /* Wot's wrong wif bein' racy? */ | 505 | /* Wot's wrong wif bein' racy? */ |
591 | if (current->thread.flags & PARISC_KERNEL_DEATH) { | 506 | if (current->thread.flags & PARISC_KERNEL_DEATH) { |
592 | diff -NurpP --minimal linux-3.4.57/arch/parisc/mm/fault.c linux-3.4.57-vs2.3.3.9/arch/parisc/mm/fault.c | 507 | diff -NurpP --minimal linux-3.10.17/arch/parisc/mm/fault.c linux-3.10.17-vs2.3.6.6/arch/parisc/mm/fault.c |
593 | --- linux-3.4.57/arch/parisc/mm/fault.c 2010-08-02 14:52:06.000000000 +0000 | 508 | --- linux-3.10.17/arch/parisc/mm/fault.c 2013-05-31 13:44:44.000000000 +0000 |
594 | +++ linux-3.4.57-vs2.3.3.9/arch/parisc/mm/fault.c 2012-05-21 16:15:04.000000000 +0000 | 509 | +++ linux-3.10.17-vs2.3.6.6/arch/parisc/mm/fault.c 2013-08-22 20:29:59.000000000 +0000 |
595 | @@ -237,8 +237,9 @@ bad_area: | 510 | @@ -257,8 +257,9 @@ bad_area: |
596 | 511 | ||
597 | #ifdef PRINT_USER_FAULTS | 512 | #ifdef PRINT_USER_FAULTS |
598 | printk(KERN_DEBUG "\n"); | 513 | printk(KERN_DEBUG "\n"); |
@@ -604,10 +519,10 @@ diff -NurpP --minimal linux-3.4.57/arch/parisc/mm/fault.c linux-3.4.57-vs2.3.3.9 | |||
604 | if (vma) { | 519 | if (vma) { |
605 | printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n", | 520 | printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n", |
606 | vma->vm_start, vma->vm_end); | 521 | vma->vm_start, vma->vm_end); |
607 | diff -NurpP --minimal linux-3.4.57/arch/powerpc/Kconfig linux-3.4.57-vs2.3.3.9/arch/powerpc/Kconfig | 522 | diff -NurpP --minimal linux-3.10.17/arch/powerpc/Kconfig linux-3.10.17-vs2.3.6.6/arch/powerpc/Kconfig |
608 | --- linux-3.4.57/arch/powerpc/Kconfig 2012-05-21 16:06:28.000000000 +0000 | 523 | --- linux-3.10.17/arch/powerpc/Kconfig 2013-10-25 15:17:24.000000000 +0000 |
609 | +++ linux-3.4.57-vs2.3.3.9/arch/powerpc/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 524 | +++ linux-3.10.17-vs2.3.6.6/arch/powerpc/Kconfig 2013-10-09 17:37:21.000000000 +0000 |
610 | @@ -1002,6 +1002,8 @@ source "lib/Kconfig" | 525 | @@ -1010,6 +1010,8 @@ source "lib/Kconfig" |
611 | 526 | ||
612 | source "arch/powerpc/Kconfig.debug" | 527 | source "arch/powerpc/Kconfig.debug" |
613 | 528 | ||
@@ -616,9 +531,9 @@ diff -NurpP --minimal linux-3.4.57/arch/powerpc/Kconfig linux-3.4.57-vs2.3.3.9/a | |||
616 | source "security/Kconfig" | 531 | source "security/Kconfig" |
617 | 532 | ||
618 | config KEYS_COMPAT | 533 | config KEYS_COMPAT |
619 | diff -NurpP --minimal linux-3.4.57/arch/powerpc/include/asm/unistd.h linux-3.4.57-vs2.3.3.9/arch/powerpc/include/asm/unistd.h | 534 | diff -NurpP --minimal linux-3.10.17/arch/powerpc/include/uapi/asm/unistd.h linux-3.10.17-vs2.3.6.6/arch/powerpc/include/uapi/asm/unistd.h |
620 | --- linux-3.4.57/arch/powerpc/include/asm/unistd.h 2012-01-09 15:14:05.000000000 +0000 | 535 | --- linux-3.10.17/arch/powerpc/include/uapi/asm/unistd.h 2013-05-31 13:44:44.000000000 +0000 |
621 | +++ linux-3.4.57-vs2.3.3.9/arch/powerpc/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 | 536 | +++ linux-3.10.17-vs2.3.6.6/arch/powerpc/include/uapi/asm/unistd.h 2013-08-22 20:29:59.000000000 +0000 |
622 | @@ -275,7 +275,7 @@ | 537 | @@ -275,7 +275,7 @@ |
623 | #endif | 538 | #endif |
624 | #define __NR_rtas 255 | 539 | #define __NR_rtas 255 |
@@ -628,40 +543,25 @@ diff -NurpP --minimal linux-3.4.57/arch/powerpc/include/asm/unistd.h linux-3.4.5 | |||
628 | #define __NR_migrate_pages 258 | 543 | #define __NR_migrate_pages 258 |
629 | #define __NR_mbind 259 | 544 | #define __NR_mbind 259 |
630 | #define __NR_get_mempolicy 260 | 545 | #define __NR_get_mempolicy 260 |
631 | diff -NurpP --minimal linux-3.4.57/arch/powerpc/kernel/process.c linux-3.4.57-vs2.3.3.9/arch/powerpc/kernel/process.c | 546 | diff -NurpP --minimal linux-3.10.17/arch/powerpc/kernel/traps.c linux-3.10.17-vs2.3.6.6/arch/powerpc/kernel/traps.c |
632 | --- linux-3.4.57/arch/powerpc/kernel/process.c 2013-08-13 14:12:50.000000000 +0000 | 547 | --- linux-3.10.17/arch/powerpc/kernel/traps.c 2013-10-25 15:17:24.000000000 +0000 |
633 | +++ linux-3.4.57-vs2.3.3.9/arch/powerpc/kernel/process.c 2013-07-14 13:38:26.000000000 +0000 | 548 | +++ linux-3.10.17-vs2.3.6.6/arch/powerpc/kernel/traps.c 2013-08-22 20:29:59.000000000 +0000 |
634 | @@ -661,8 +661,9 @@ void show_regs(struct pt_regs * regs) | 549 | @@ -1231,8 +1231,9 @@ void nonrecoverable_exception(struct pt_ |
635 | #else | ||
636 | printk("DAR: "REG", DSISR: %08lx\n", regs->dar, regs->dsisr); | ||
637 | #endif | ||
638 | - printk("TASK = %p[%d] '%s' THREAD: %p", | ||
639 | - current, task_pid_nr(current), current->comm, task_thread_info(current)); | ||
640 | + printk("TASK = %p[%d,#%u] '%s' THREAD: %p", | ||
641 | + current, task_pid_nr(current), current->xid, | ||
642 | + current->comm, task_thread_info(current)); | ||
643 | |||
644 | #ifdef CONFIG_SMP | ||
645 | printk(" CPU: %d", raw_smp_processor_id()); | ||
646 | diff -NurpP --minimal linux-3.4.57/arch/powerpc/kernel/traps.c linux-3.4.57-vs2.3.3.9/arch/powerpc/kernel/traps.c | ||
647 | --- linux-3.4.57/arch/powerpc/kernel/traps.c 2013-08-13 14:12:50.000000000 +0000 | ||
648 | +++ linux-3.4.57-vs2.3.3.9/arch/powerpc/kernel/traps.c 2013-07-14 13:38:26.000000000 +0000 | ||
649 | @@ -1125,8 +1125,9 @@ void nonrecoverable_exception(struct pt_ | ||
650 | 550 | ||
651 | void trace_syscall(struct pt_regs *regs) | 551 | void trace_syscall(struct pt_regs *regs) |
652 | { | 552 | { |
653 | - printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", | 553 | - printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", |
654 | - current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0], | 554 | - current, task_pid_nr(current), regs->nip, regs->link, regs->gpr[0], |
655 | + printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", | 555 | + printk("Task: %p(%d:#%u), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld %s\n", |
656 | + current, task_pid_nr(current), current->xid, | 556 | + current, task_pid_nr(current), current->xid, |
657 | + regs->nip, regs->link, regs->gpr[0], | 557 | + regs->nip, regs->link, regs->gpr[0], |
658 | regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted()); | 558 | regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted()); |
659 | } | 559 | } |
660 | 560 | ||
661 | diff -NurpP --minimal linux-3.4.57/arch/s390/Kconfig linux-3.4.57-vs2.3.3.9/arch/s390/Kconfig | 561 | diff -NurpP --minimal linux-3.10.17/arch/s390/Kconfig linux-3.10.17-vs2.3.6.6/arch/s390/Kconfig |
662 | --- linux-3.4.57/arch/s390/Kconfig 2012-05-21 16:06:32.000000000 +0000 | 562 | --- linux-3.10.17/arch/s390/Kconfig 2013-10-25 15:17:25.000000000 +0000 |
663 | +++ linux-3.4.57-vs2.3.3.9/arch/s390/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 563 | +++ linux-3.10.17-vs2.3.6.6/arch/s390/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
664 | @@ -639,6 +639,8 @@ source "fs/Kconfig" | 564 | @@ -579,6 +579,8 @@ source "fs/Kconfig" |
665 | 565 | ||
666 | source "arch/s390/Kconfig.debug" | 566 | source "arch/s390/Kconfig.debug" |
667 | 567 | ||
@@ -670,9 +570,9 @@ diff -NurpP --minimal linux-3.4.57/arch/s390/Kconfig linux-3.4.57-vs2.3.3.9/arch | |||
670 | source "security/Kconfig" | 570 | source "security/Kconfig" |
671 | 571 | ||
672 | source "crypto/Kconfig" | 572 | source "crypto/Kconfig" |
673 | diff -NurpP --minimal linux-3.4.57/arch/s390/include/asm/tlb.h linux-3.4.57-vs2.3.3.9/arch/s390/include/asm/tlb.h | 573 | diff -NurpP --minimal linux-3.10.17/arch/s390/include/asm/tlb.h linux-3.10.17-vs2.3.6.6/arch/s390/include/asm/tlb.h |
674 | --- linux-3.4.57/arch/s390/include/asm/tlb.h 2012-05-21 16:06:32.000000000 +0000 | 574 | --- linux-3.10.17/arch/s390/include/asm/tlb.h 2013-10-25 15:17:25.000000000 +0000 |
675 | +++ linux-3.4.57-vs2.3.3.9/arch/s390/include/asm/tlb.h 2012-05-21 16:15:04.000000000 +0000 | 575 | +++ linux-3.10.17-vs2.3.6.6/arch/s390/include/asm/tlb.h 2013-08-22 20:29:59.000000000 +0000 |
676 | @@ -24,6 +24,7 @@ | 576 | @@ -24,6 +24,7 @@ |
677 | #include <linux/mm.h> | 577 | #include <linux/mm.h> |
678 | #include <linux/pagemap.h> | 578 | #include <linux/pagemap.h> |
@@ -681,10 +581,10 @@ diff -NurpP --minimal linux-3.4.57/arch/s390/include/asm/tlb.h linux-3.4.57-vs2. | |||
681 | #include <asm/processor.h> | 581 | #include <asm/processor.h> |
682 | #include <asm/pgalloc.h> | 582 | #include <asm/pgalloc.h> |
683 | #include <asm/tlbflush.h> | 583 | #include <asm/tlbflush.h> |
684 | diff -NurpP --minimal linux-3.4.57/arch/s390/include/asm/unistd.h linux-3.4.57-vs2.3.3.9/arch/s390/include/asm/unistd.h | 584 | diff -NurpP --minimal linux-3.10.17/arch/s390/include/uapi/asm/unistd.h linux-3.10.17-vs2.3.6.6/arch/s390/include/uapi/asm/unistd.h |
685 | --- linux-3.4.57/arch/s390/include/asm/unistd.h 2012-03-19 18:46:48.000000000 +0000 | 585 | --- linux-3.10.17/arch/s390/include/uapi/asm/unistd.h 2013-02-19 13:57:16.000000000 +0000 |
686 | +++ linux-3.4.57-vs2.3.3.9/arch/s390/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 | 586 | +++ linux-3.10.17-vs2.3.6.6/arch/s390/include/uapi/asm/unistd.h 2013-08-22 20:29:59.000000000 +0000 |
687 | @@ -202,7 +202,7 @@ | 587 | @@ -200,7 +200,7 @@ |
688 | #define __NR_clock_gettime (__NR_timer_create+6) | 588 | #define __NR_clock_gettime (__NR_timer_create+6) |
689 | #define __NR_clock_getres (__NR_timer_create+7) | 589 | #define __NR_clock_getres (__NR_timer_create+7) |
690 | #define __NR_clock_nanosleep (__NR_timer_create+8) | 590 | #define __NR_clock_nanosleep (__NR_timer_create+8) |
@@ -693,9 +593,9 @@ diff -NurpP --minimal linux-3.4.57/arch/s390/include/asm/unistd.h linux-3.4.57-v | |||
693 | #define __NR_statfs64 265 | 593 | #define __NR_statfs64 265 |
694 | #define __NR_fstatfs64 266 | 594 | #define __NR_fstatfs64 266 |
695 | #define __NR_remap_file_pages 267 | 595 | #define __NR_remap_file_pages 267 |
696 | diff -NurpP --minimal linux-3.4.57/arch/s390/kernel/ptrace.c linux-3.4.57-vs2.3.3.9/arch/s390/kernel/ptrace.c | 596 | diff -NurpP --minimal linux-3.10.17/arch/s390/kernel/ptrace.c linux-3.10.17-vs2.3.6.6/arch/s390/kernel/ptrace.c |
697 | --- linux-3.4.57/arch/s390/kernel/ptrace.c 2012-05-21 16:06:32.000000000 +0000 | 597 | --- linux-3.10.17/arch/s390/kernel/ptrace.c 2012-12-11 03:30:57.000000000 +0000 |
698 | +++ linux-3.4.57-vs2.3.3.9/arch/s390/kernel/ptrace.c 2012-05-21 16:15:04.000000000 +0000 | 598 | +++ linux-3.10.17-vs2.3.6.6/arch/s390/kernel/ptrace.c 2013-08-22 20:29:59.000000000 +0000 |
699 | @@ -21,6 +21,7 @@ | 599 | @@ -21,6 +21,7 @@ |
700 | #include <linux/tracehook.h> | 600 | #include <linux/tracehook.h> |
701 | #include <linux/seccomp.h> | 601 | #include <linux/seccomp.h> |
@@ -704,9 +604,9 @@ diff -NurpP --minimal linux-3.4.57/arch/s390/kernel/ptrace.c linux-3.4.57-vs2.3. | |||
704 | #include <trace/syscall.h> | 604 | #include <trace/syscall.h> |
705 | #include <asm/segment.h> | 605 | #include <asm/segment.h> |
706 | #include <asm/page.h> | 606 | #include <asm/page.h> |
707 | diff -NurpP --minimal linux-3.4.57/arch/s390/kernel/syscalls.S linux-3.4.57-vs2.3.3.9/arch/s390/kernel/syscalls.S | 607 | diff -NurpP --minimal linux-3.10.17/arch/s390/kernel/syscalls.S linux-3.10.17-vs2.3.6.6/arch/s390/kernel/syscalls.S |
708 | --- linux-3.4.57/arch/s390/kernel/syscalls.S 2012-01-09 15:14:06.000000000 +0000 | 608 | --- linux-3.10.17/arch/s390/kernel/syscalls.S 2013-07-14 17:00:34.000000000 +0000 |
709 | +++ linux-3.4.57-vs2.3.3.9/arch/s390/kernel/syscalls.S 2012-05-21 16:15:04.000000000 +0000 | 609 | +++ linux-3.10.17-vs2.3.6.6/arch/s390/kernel/syscalls.S 2013-08-22 20:29:59.000000000 +0000 |
710 | @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett | 610 | @@ -271,7 +271,7 @@ SYSCALL(sys_clock_settime,sys_clock_sett |
711 | SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */ | 611 | SYSCALL(sys_clock_gettime,sys_clock_gettime,sys32_clock_gettime_wrapper) /* 260 */ |
712 | SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper) | 612 | SYSCALL(sys_clock_getres,sys_clock_getres,sys32_clock_getres_wrapper) |
@@ -716,10 +616,10 @@ diff -NurpP --minimal linux-3.4.57/arch/s390/kernel/syscalls.S linux-3.4.57-vs2. | |||
716 | SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper) | 616 | SYSCALL(sys_s390_fadvise64_64,sys_ni_syscall,sys32_fadvise64_64_wrapper) |
717 | SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) | 617 | SYSCALL(sys_statfs64,sys_statfs64,compat_sys_statfs64_wrapper) |
718 | SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) | 618 | SYSCALL(sys_fstatfs64,sys_fstatfs64,compat_sys_fstatfs64_wrapper) |
719 | diff -NurpP --minimal linux-3.4.57/arch/sh/Kconfig linux-3.4.57-vs2.3.3.9/arch/sh/Kconfig | 619 | diff -NurpP --minimal linux-3.10.17/arch/sh/Kconfig linux-3.10.17-vs2.3.6.6/arch/sh/Kconfig |
720 | --- linux-3.4.57/arch/sh/Kconfig 2012-05-21 16:06:33.000000000 +0000 | 620 | --- linux-3.10.17/arch/sh/Kconfig 2013-07-14 17:00:35.000000000 +0000 |
721 | +++ linux-3.4.57-vs2.3.3.9/arch/sh/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 621 | +++ linux-3.10.17-vs2.3.6.6/arch/sh/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
722 | @@ -905,6 +905,8 @@ source "fs/Kconfig" | 622 | @@ -928,6 +928,8 @@ source "fs/Kconfig" |
723 | 623 | ||
724 | source "arch/sh/Kconfig.debug" | 624 | source "arch/sh/Kconfig.debug" |
725 | 625 | ||
@@ -728,9 +628,9 @@ diff -NurpP --minimal linux-3.4.57/arch/sh/Kconfig linux-3.4.57-vs2.3.3.9/arch/s | |||
728 | source "security/Kconfig" | 628 | source "security/Kconfig" |
729 | 629 | ||
730 | source "crypto/Kconfig" | 630 | source "crypto/Kconfig" |
731 | diff -NurpP --minimal linux-3.4.57/arch/sh/kernel/irq.c linux-3.4.57-vs2.3.3.9/arch/sh/kernel/irq.c | 631 | diff -NurpP --minimal linux-3.10.17/arch/sh/kernel/irq.c linux-3.10.17-vs2.3.6.6/arch/sh/kernel/irq.c |
732 | --- linux-3.4.57/arch/sh/kernel/irq.c 2011-07-22 09:17:41.000000000 +0000 | 632 | --- linux-3.10.17/arch/sh/kernel/irq.c 2012-12-11 03:30:57.000000000 +0000 |
733 | +++ linux-3.4.57-vs2.3.3.9/arch/sh/kernel/irq.c 2012-05-21 16:15:04.000000000 +0000 | 633 | +++ linux-3.10.17-vs2.3.6.6/arch/sh/kernel/irq.c 2013-08-22 20:29:59.000000000 +0000 |
734 | @@ -14,6 +14,7 @@ | 634 | @@ -14,6 +14,7 @@ |
735 | #include <linux/ftrace.h> | 635 | #include <linux/ftrace.h> |
736 | #include <linux/delay.h> | 636 | #include <linux/delay.h> |
@@ -739,10 +639,10 @@ diff -NurpP --minimal linux-3.4.57/arch/sh/kernel/irq.c linux-3.4.57-vs2.3.3.9/a | |||
739 | #include <asm/processor.h> | 639 | #include <asm/processor.h> |
740 | #include <asm/machvec.h> | 640 | #include <asm/machvec.h> |
741 | #include <asm/uaccess.h> | 641 | #include <asm/uaccess.h> |
742 | diff -NurpP --minimal linux-3.4.57/arch/sparc/Kconfig linux-3.4.57-vs2.3.3.9/arch/sparc/Kconfig | 642 | diff -NurpP --minimal linux-3.10.17/arch/sparc/Kconfig linux-3.10.17-vs2.3.6.6/arch/sparc/Kconfig |
743 | --- linux-3.4.57/arch/sparc/Kconfig 2013-08-13 14:12:51.000000000 +0000 | 643 | --- linux-3.10.17/arch/sparc/Kconfig 2013-07-14 17:00:35.000000000 +0000 |
744 | +++ linux-3.4.57-vs2.3.3.9/arch/sparc/Kconfig 2012-06-08 13:57:24.000000000 +0000 | 644 | +++ linux-3.10.17-vs2.3.6.6/arch/sparc/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
745 | @@ -599,6 +599,8 @@ source "fs/Kconfig" | 645 | @@ -550,6 +550,8 @@ source "fs/Kconfig" |
746 | 646 | ||
747 | source "arch/sparc/Kconfig.debug" | 647 | source "arch/sparc/Kconfig.debug" |
748 | 648 | ||
@@ -751,10 +651,10 @@ diff -NurpP --minimal linux-3.4.57/arch/sparc/Kconfig linux-3.4.57-vs2.3.3.9/arc | |||
751 | source "security/Kconfig" | 651 | source "security/Kconfig" |
752 | 652 | ||
753 | source "crypto/Kconfig" | 653 | source "crypto/Kconfig" |
754 | diff -NurpP --minimal linux-3.4.57/arch/sparc/include/asm/unistd.h linux-3.4.57-vs2.3.3.9/arch/sparc/include/asm/unistd.h | 654 | diff -NurpP --minimal linux-3.10.17/arch/sparc/include/uapi/asm/unistd.h linux-3.10.17-vs2.3.6.6/arch/sparc/include/uapi/asm/unistd.h |
755 | --- linux-3.4.57/arch/sparc/include/asm/unistd.h 2012-01-09 15:14:07.000000000 +0000 | 655 | --- linux-3.10.17/arch/sparc/include/uapi/asm/unistd.h 2013-02-19 13:57:17.000000000 +0000 |
756 | +++ linux-3.4.57-vs2.3.3.9/arch/sparc/include/asm/unistd.h 2012-05-21 16:15:04.000000000 +0000 | 656 | +++ linux-3.10.17-vs2.3.6.6/arch/sparc/include/uapi/asm/unistd.h 2013-08-22 20:29:59.000000000 +0000 |
757 | @@ -335,7 +335,7 @@ | 657 | @@ -332,7 +332,7 @@ |
758 | #define __NR_timer_getoverrun 264 | 658 | #define __NR_timer_getoverrun 264 |
759 | #define __NR_timer_delete 265 | 659 | #define __NR_timer_delete 265 |
760 | #define __NR_timer_create 266 | 660 | #define __NR_timer_create 266 |
@@ -763,9 +663,9 @@ diff -NurpP --minimal linux-3.4.57/arch/sparc/include/asm/unistd.h linux-3.4.57- | |||
763 | #define __NR_io_setup 268 | 663 | #define __NR_io_setup 268 |
764 | #define __NR_io_destroy 269 | 664 | #define __NR_io_destroy 269 |
765 | #define __NR_io_submit 270 | 665 | #define __NR_io_submit 270 |
766 | diff -NurpP --minimal linux-3.4.57/arch/sparc/kernel/systbls_32.S linux-3.4.57-vs2.3.3.9/arch/sparc/kernel/systbls_32.S | 666 | diff -NurpP --minimal linux-3.10.17/arch/sparc/kernel/systbls_32.S linux-3.10.17-vs2.3.6.6/arch/sparc/kernel/systbls_32.S |
767 | --- linux-3.4.57/arch/sparc/kernel/systbls_32.S 2012-01-09 15:14:09.000000000 +0000 | 667 | --- linux-3.10.17/arch/sparc/kernel/systbls_32.S 2013-05-31 13:44:48.000000000 +0000 |
768 | +++ linux-3.4.57-vs2.3.3.9/arch/sparc/kernel/systbls_32.S 2012-05-21 16:15:04.000000000 +0000 | 668 | +++ linux-3.10.17-vs2.3.6.6/arch/sparc/kernel/systbls_32.S 2013-08-22 20:29:59.000000000 +0000 |
769 | @@ -70,7 +70,7 @@ sys_call_table: | 669 | @@ -70,7 +70,7 @@ sys_call_table: |
770 | /*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_ni_syscall | 670 | /*250*/ .long sys_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_ni_syscall |
771 | /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep | 671 | /*255*/ .long sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep |
@@ -775,19 +675,19 @@ diff -NurpP --minimal linux-3.4.57/arch/sparc/kernel/systbls_32.S linux-3.4.57-v | |||
775 | /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink | 675 | /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink |
776 | /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid | 676 | /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid |
777 | /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat | 677 | /*280*/ .long sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat |
778 | diff -NurpP --minimal linux-3.4.57/arch/sparc/kernel/systbls_64.S linux-3.4.57-vs2.3.3.9/arch/sparc/kernel/systbls_64.S | 678 | diff -NurpP --minimal linux-3.10.17/arch/sparc/kernel/systbls_64.S linux-3.10.17-vs2.3.6.6/arch/sparc/kernel/systbls_64.S |
779 | --- linux-3.4.57/arch/sparc/kernel/systbls_64.S 2013-08-13 14:12:51.000000000 +0000 | 679 | --- linux-3.10.17/arch/sparc/kernel/systbls_64.S 2013-07-14 17:00:35.000000000 +0000 |
780 | +++ linux-3.4.57-vs2.3.3.9/arch/sparc/kernel/systbls_64.S 2012-06-08 13:57:24.000000000 +0000 | 680 | +++ linux-3.10.17-vs2.3.6.6/arch/sparc/kernel/systbls_64.S 2013-08-22 20:29:59.000000000 +0000 |
781 | @@ -71,7 +71,7 @@ sys_call_table32: | 681 | @@ -71,7 +71,7 @@ sys_call_table32: |
782 | /*250*/ .word sys_mremap, compat_sys_sysctl, sys32_getsid, sys_fdatasync, sys_nis_syscall | 682 | /*250*/ .word sys_mremap, compat_sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall |
783 | .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep | 683 | .word sys32_sync_file_range, compat_sys_clock_settime, compat_sys_clock_gettime, compat_sys_clock_getres, sys32_clock_nanosleep |
784 | /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun | 684 | /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_sys_timer_gettime, sys_timer_getoverrun |
785 | - .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy | 685 | - .word sys_timer_delete, compat_sys_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy |
786 | + .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy | 686 | + .word sys_timer_delete, compat_sys_timer_create, sys32_vserver, compat_sys_io_setup, sys_io_destroy |
787 | /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink | 687 | /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink |
788 | .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid | 688 | .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid |
789 | /*280*/ .word sys32_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat | 689 | /*280*/ .word sys_tee, sys_add_key, sys_request_key, compat_sys_keyctl, compat_sys_openat |
790 | @@ -148,7 +148,7 @@ sys_call_table: | 690 | @@ -149,7 +149,7 @@ sys_call_table: |
791 | /*250*/ .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall | 691 | /*250*/ .word sys_64_mremap, sys_sysctl, sys_getsid, sys_fdatasync, sys_nis_syscall |
792 | .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep | 692 | .word sys_sync_file_range, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep |
793 | /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun | 693 | /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun |
@@ -796,9 +696,9 @@ diff -NurpP --minimal linux-3.4.57/arch/sparc/kernel/systbls_64.S linux-3.4.57-v | |||
796 | /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink | 696 | /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink |
797 | .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid | 697 | .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid |
798 | /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat | 698 | /*280*/ .word sys_tee, sys_add_key, sys_request_key, sys_keyctl, sys_openat |
799 | diff -NurpP --minimal linux-3.4.57/arch/um/Kconfig.rest linux-3.4.57-vs2.3.3.9/arch/um/Kconfig.rest | 699 | diff -NurpP --minimal linux-3.10.17/arch/um/Kconfig.rest linux-3.10.17-vs2.3.6.6/arch/um/Kconfig.rest |
800 | --- linux-3.4.57/arch/um/Kconfig.rest 2012-01-09 15:14:09.000000000 +0000 | 700 | --- linux-3.10.17/arch/um/Kconfig.rest 2012-12-11 03:30:57.000000000 +0000 |
801 | +++ linux-3.4.57-vs2.3.3.9/arch/um/Kconfig.rest 2012-05-21 16:15:04.000000000 +0000 | 701 | +++ linux-3.10.17-vs2.3.6.6/arch/um/Kconfig.rest 2013-08-22 20:29:59.000000000 +0000 |
802 | @@ -12,6 +12,8 @@ source "arch/um/Kconfig.net" | 702 | @@ -12,6 +12,8 @@ source "arch/um/Kconfig.net" |
803 | 703 | ||
804 | source "fs/Kconfig" | 704 | source "fs/Kconfig" |
@@ -808,10 +708,10 @@ diff -NurpP --minimal linux-3.4.57/arch/um/Kconfig.rest linux-3.4.57-vs2.3.3.9/a | |||
808 | source "security/Kconfig" | 708 | source "security/Kconfig" |
809 | 709 | ||
810 | source "crypto/Kconfig" | 710 | source "crypto/Kconfig" |
811 | diff -NurpP --minimal linux-3.4.57/arch/x86/Kconfig linux-3.4.57-vs2.3.3.9/arch/x86/Kconfig | 711 | diff -NurpP --minimal linux-3.10.17/arch/x86/Kconfig linux-3.10.17-vs2.3.6.6/arch/x86/Kconfig |
812 | --- linux-3.4.57/arch/x86/Kconfig 2013-08-13 14:12:51.000000000 +0000 | 712 | --- linux-3.10.17/arch/x86/Kconfig 2013-07-14 17:00:36.000000000 +0000 |
813 | +++ linux-3.4.57-vs2.3.3.9/arch/x86/Kconfig 2013-03-02 15:26:44.000000000 +0000 | 713 | +++ linux-3.10.17-vs2.3.6.6/arch/x86/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
814 | @@ -2221,6 +2221,8 @@ source "fs/Kconfig" | 714 | @@ -2339,6 +2339,8 @@ source "fs/Kconfig" |
815 | 715 | ||
816 | source "arch/x86/Kconfig.debug" | 716 | source "arch/x86/Kconfig.debug" |
817 | 717 | ||
@@ -820,9 +720,9 @@ diff -NurpP --minimal linux-3.4.57/arch/x86/Kconfig linux-3.4.57-vs2.3.3.9/arch/ | |||
820 | source "security/Kconfig" | 720 | source "security/Kconfig" |
821 | 721 | ||
822 | source "crypto/Kconfig" | 722 | source "crypto/Kconfig" |
823 | diff -NurpP --minimal linux-3.4.57/arch/x86/syscalls/syscall_32.tbl linux-3.4.57-vs2.3.3.9/arch/x86/syscalls/syscall_32.tbl | 723 | diff -NurpP --minimal linux-3.10.17/arch/x86/syscalls/syscall_32.tbl linux-3.10.17-vs2.3.6.6/arch/x86/syscalls/syscall_32.tbl |
824 | --- linux-3.4.57/arch/x86/syscalls/syscall_32.tbl 2012-05-21 16:06:42.000000000 +0000 | 724 | --- linux-3.10.17/arch/x86/syscalls/syscall_32.tbl 2013-07-14 17:00:37.000000000 +0000 |
825 | +++ linux-3.4.57-vs2.3.3.9/arch/x86/syscalls/syscall_32.tbl 2012-05-21 16:15:04.000000000 +0000 | 725 | +++ linux-3.10.17-vs2.3.6.6/arch/x86/syscalls/syscall_32.tbl 2013-08-22 20:29:59.000000000 +0000 |
826 | @@ -279,7 +279,7 @@ | 726 | @@ -279,7 +279,7 @@ |
827 | 270 i386 tgkill sys_tgkill | 727 | 270 i386 tgkill sys_tgkill |
828 | 271 i386 utimes sys_utimes compat_sys_utimes | 728 | 271 i386 utimes sys_utimes compat_sys_utimes |
@@ -832,9 +732,9 @@ diff -NurpP --minimal linux-3.4.57/arch/x86/syscalls/syscall_32.tbl linux-3.4.57 | |||
832 | 274 i386 mbind sys_mbind | 732 | 274 i386 mbind sys_mbind |
833 | 275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy | 733 | 275 i386 get_mempolicy sys_get_mempolicy compat_sys_get_mempolicy |
834 | 276 i386 set_mempolicy sys_set_mempolicy | 734 | 276 i386 set_mempolicy sys_set_mempolicy |
835 | diff -NurpP --minimal linux-3.4.57/arch/x86/syscalls/syscall_64.tbl linux-3.4.57-vs2.3.3.9/arch/x86/syscalls/syscall_64.tbl | 735 | diff -NurpP --minimal linux-3.10.17/arch/x86/syscalls/syscall_64.tbl linux-3.10.17-vs2.3.6.6/arch/x86/syscalls/syscall_64.tbl |
836 | --- linux-3.4.57/arch/x86/syscalls/syscall_64.tbl 2013-08-13 14:12:52.000000000 +0000 | 736 | --- linux-3.10.17/arch/x86/syscalls/syscall_64.tbl 2013-05-31 13:44:50.000000000 +0000 |
837 | +++ linux-3.4.57-vs2.3.3.9/arch/x86/syscalls/syscall_64.tbl 2012-09-16 18:49:11.000000000 +0000 | 737 | +++ linux-3.10.17-vs2.3.6.6/arch/x86/syscalls/syscall_64.tbl 2013-08-22 20:29:59.000000000 +0000 |
838 | @@ -242,7 +242,7 @@ | 738 | @@ -242,7 +242,7 @@ |
839 | 233 common epoll_ctl sys_epoll_ctl | 739 | 233 common epoll_ctl sys_epoll_ctl |
840 | 234 common tgkill sys_tgkill | 740 | 234 common tgkill sys_tgkill |
@@ -844,10 +744,10 @@ diff -NurpP --minimal linux-3.4.57/arch/x86/syscalls/syscall_64.tbl linux-3.4.57 | |||
844 | 237 common mbind sys_mbind | 744 | 237 common mbind sys_mbind |
845 | 238 common set_mempolicy sys_set_mempolicy | 745 | 238 common set_mempolicy sys_set_mempolicy |
846 | 239 common get_mempolicy sys_get_mempolicy | 746 | 239 common get_mempolicy sys_get_mempolicy |
847 | diff -NurpP --minimal linux-3.4.57/drivers/block/Kconfig linux-3.4.57-vs2.3.3.9/drivers/block/Kconfig | 747 | diff -NurpP --minimal linux-3.10.17/drivers/block/Kconfig linux-3.10.17-vs2.3.6.6/drivers/block/Kconfig |
848 | --- linux-3.4.57/drivers/block/Kconfig 2012-05-21 16:06:43.000000000 +0000 | 748 | --- linux-3.10.17/drivers/block/Kconfig 2013-05-31 13:44:51.000000000 +0000 |
849 | +++ linux-3.4.57-vs2.3.3.9/drivers/block/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 749 | +++ linux-3.10.17-vs2.3.6.6/drivers/block/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
850 | @@ -290,6 +290,13 @@ config BLK_DEV_CRYPTOLOOP | 750 | @@ -278,6 +278,13 @@ config BLK_DEV_CRYPTOLOOP |
851 | 751 | ||
852 | source "drivers/block/drbd/Kconfig" | 752 | source "drivers/block/drbd/Kconfig" |
853 | 753 | ||
@@ -861,20 +761,20 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/Kconfig linux-3.4.57-vs2.3.3.9/ | |||
861 | config BLK_DEV_NBD | 761 | config BLK_DEV_NBD |
862 | tristate "Network block device support" | 762 | tristate "Network block device support" |
863 | depends on NET | 763 | depends on NET |
864 | diff -NurpP --minimal linux-3.4.57/drivers/block/Makefile linux-3.4.57-vs2.3.3.9/drivers/block/Makefile | 764 | diff -NurpP --minimal linux-3.10.17/drivers/block/Makefile linux-3.10.17-vs2.3.6.6/drivers/block/Makefile |
865 | --- linux-3.4.57/drivers/block/Makefile 2012-03-19 18:46:52.000000000 +0000 | 765 | --- linux-3.10.17/drivers/block/Makefile 2013-07-14 17:00:41.000000000 +0000 |
866 | +++ linux-3.4.57-vs2.3.3.9/drivers/block/Makefile 2012-05-21 16:15:04.000000000 +0000 | 766 | +++ linux-3.10.17-vs2.3.6.6/drivers/block/Makefile 2013-08-22 20:29:59.000000000 +0000 |
867 | @@ -35,6 +35,7 @@ obj-$(CONFIG_VIODASD) += viodasd.o | 767 | @@ -33,6 +33,7 @@ obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o |
768 | obj-$(CONFIG_VIODASD) += viodasd.o | ||
868 | obj-$(CONFIG_BLK_DEV_SX8) += sx8.o | 769 | obj-$(CONFIG_BLK_DEV_SX8) += sx8.o |
869 | obj-$(CONFIG_BLK_DEV_UB) += ub.o | ||
870 | obj-$(CONFIG_BLK_DEV_HD) += hd.o | 770 | obj-$(CONFIG_BLK_DEV_HD) += hd.o |
871 | +obj-$(CONFIG_BLK_DEV_VROOT) += vroot.o | 771 | +obj-$(CONFIG_BLK_DEV_VROOT) += vroot.o |
872 | 772 | ||
873 | obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o | 773 | obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o |
874 | obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/ | 774 | obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/ |
875 | diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/drivers/block/loop.c | 775 | diff -NurpP --minimal linux-3.10.17/drivers/block/loop.c linux-3.10.17-vs2.3.6.6/drivers/block/loop.c |
876 | --- linux-3.4.57/drivers/block/loop.c 2013-08-13 14:12:54.000000000 +0000 | 776 | --- linux-3.10.17/drivers/block/loop.c 2013-07-14 17:00:41.000000000 +0000 |
877 | +++ linux-3.4.57-vs2.3.3.9/drivers/block/loop.c 2013-07-14 13:38:28.000000000 +0000 | 777 | +++ linux-3.10.17-vs2.3.6.6/drivers/block/loop.c 2013-08-22 20:29:59.000000000 +0000 |
878 | @@ -76,6 +76,7 @@ | 778 | @@ -76,6 +76,7 @@ |
879 | #include <linux/sysfs.h> | 779 | #include <linux/sysfs.h> |
880 | #include <linux/miscdevice.h> | 780 | #include <linux/miscdevice.h> |
@@ -883,7 +783,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/d | |||
883 | 783 | ||
884 | #include <asm/uaccess.h> | 784 | #include <asm/uaccess.h> |
885 | 785 | ||
886 | @@ -869,6 +870,7 @@ static int loop_set_fd(struct loop_devic | 786 | @@ -884,6 +885,7 @@ static int loop_set_fd(struct loop_devic |
887 | lo->lo_blocksize = lo_blocksize; | 787 | lo->lo_blocksize = lo_blocksize; |
888 | lo->lo_device = bdev; | 788 | lo->lo_device = bdev; |
889 | lo->lo_flags = lo_flags; | 789 | lo->lo_flags = lo_flags; |
@@ -891,7 +791,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/d | |||
891 | lo->lo_backing_file = file; | 791 | lo->lo_backing_file = file; |
892 | lo->transfer = transfer_none; | 792 | lo->transfer = transfer_none; |
893 | lo->ioctl = NULL; | 793 | lo->ioctl = NULL; |
894 | @@ -1006,6 +1008,7 @@ static int loop_clr_fd(struct loop_devic | 794 | @@ -1035,6 +1037,7 @@ static int loop_clr_fd(struct loop_devic |
895 | lo->lo_sizelimit = 0; | 795 | lo->lo_sizelimit = 0; |
896 | lo->lo_encrypt_key_size = 0; | 796 | lo->lo_encrypt_key_size = 0; |
897 | lo->lo_thread = NULL; | 797 | lo->lo_thread = NULL; |
@@ -899,16 +799,16 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/d | |||
899 | memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE); | 799 | memset(lo->lo_encrypt_key, 0, LO_KEY_SIZE); |
900 | memset(lo->lo_crypt_name, 0, LO_NAME_SIZE); | 800 | memset(lo->lo_crypt_name, 0, LO_NAME_SIZE); |
901 | memset(lo->lo_file_name, 0, LO_NAME_SIZE); | 801 | memset(lo->lo_file_name, 0, LO_NAME_SIZE); |
902 | @@ -1049,7 +1052,7 @@ loop_set_status(struct loop_device *lo, | 802 | @@ -1078,7 +1081,7 @@ loop_set_status(struct loop_device *lo, |
903 | 803 | ||
904 | if (lo->lo_encrypt_key_size && | 804 | if (lo->lo_encrypt_key_size && |
905 | lo->lo_key_owner != uid && | 805 | !uid_eq(lo->lo_key_owner, uid) && |
906 | - !capable(CAP_SYS_ADMIN)) | 806 | - !capable(CAP_SYS_ADMIN)) |
907 | + !vx_capable(CAP_SYS_ADMIN, VXC_ADMIN_CLOOP)) | 807 | + !vx_capable(CAP_SYS_ADMIN, VXC_ADMIN_CLOOP)) |
908 | return -EPERM; | 808 | return -EPERM; |
909 | if (lo->lo_state != Lo_bound) | 809 | if (lo->lo_state != Lo_bound) |
910 | return -ENXIO; | 810 | return -ENXIO; |
911 | @@ -1139,7 +1142,8 @@ loop_get_status(struct loop_device *lo, | 811 | @@ -1168,7 +1171,8 @@ loop_get_status(struct loop_device *lo, |
912 | memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE); | 812 | memcpy(info->lo_crypt_name, lo->lo_crypt_name, LO_NAME_SIZE); |
913 | info->lo_encrypt_type = | 813 | info->lo_encrypt_type = |
914 | lo->lo_encryption ? lo->lo_encryption->number : 0; | 814 | lo->lo_encryption ? lo->lo_encryption->number : 0; |
@@ -918,7 +818,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/d | |||
918 | info->lo_encrypt_key_size = lo->lo_encrypt_key_size; | 818 | info->lo_encrypt_key_size = lo->lo_encrypt_key_size; |
919 | memcpy(info->lo_encrypt_key, lo->lo_encrypt_key, | 819 | memcpy(info->lo_encrypt_key, lo->lo_encrypt_key, |
920 | lo->lo_encrypt_key_size); | 820 | lo->lo_encrypt_key_size); |
921 | @@ -1497,6 +1501,11 @@ static int lo_open(struct block_device * | 821 | @@ -1510,6 +1514,11 @@ static int lo_open(struct block_device * |
922 | goto out; | 822 | goto out; |
923 | } | 823 | } |
924 | 824 | ||
@@ -930,10 +830,10 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/loop.c linux-3.4.57-vs2.3.3.9/d | |||
930 | mutex_lock(&lo->lo_ctl_mutex); | 830 | mutex_lock(&lo->lo_ctl_mutex); |
931 | lo->lo_refcnt++; | 831 | lo->lo_refcnt++; |
932 | mutex_unlock(&lo->lo_ctl_mutex); | 832 | mutex_unlock(&lo->lo_ctl_mutex); |
933 | diff -NurpP --minimal linux-3.4.57/drivers/block/vroot.c linux-3.4.57-vs2.3.3.9/drivers/block/vroot.c | 833 | diff -NurpP --minimal linux-3.10.17/drivers/block/vroot.c linux-3.10.17-vs2.3.6.6/drivers/block/vroot.c |
934 | --- linux-3.4.57/drivers/block/vroot.c 1970-01-01 00:00:00.000000000 +0000 | 834 | --- linux-3.10.17/drivers/block/vroot.c 1970-01-01 00:00:00.000000000 +0000 |
935 | +++ linux-3.4.57-vs2.3.3.9/drivers/block/vroot.c 2012-05-21 16:15:04.000000000 +0000 | 835 | +++ linux-3.10.17-vs2.3.6.6/drivers/block/vroot.c 2013-08-23 00:23:45.000000000 +0000 |
936 | @@ -0,0 +1,291 @@ | 836 | @@ -0,0 +1,290 @@ |
937 | +/* | 837 | +/* |
938 | + * linux/drivers/block/vroot.c | 838 | + * linux/drivers/block/vroot.c |
939 | + * | 839 | + * |
@@ -1064,14 +964,13 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/vroot.c linux-3.4.57-vs2.3.3.9/ | |||
1064 | + return 0; | 964 | + return 0; |
1065 | +} | 965 | +} |
1066 | + | 966 | + |
1067 | +static int vr_release(struct gendisk *disk, fmode_t mode) | 967 | +static void vr_release(struct gendisk *disk, fmode_t mode) |
1068 | +{ | 968 | +{ |
1069 | + struct vroot_device *vr = disk->private_data; | 969 | + struct vroot_device *vr = disk->private_data; |
1070 | + | 970 | + |
1071 | + down(&vr->vr_ctl_mutex); | 971 | + down(&vr->vr_ctl_mutex); |
1072 | + --vr->vr_refcnt; | 972 | + --vr->vr_refcnt; |
1073 | + up(&vr->vr_ctl_mutex); | 973 | + up(&vr->vr_ctl_mutex); |
1074 | + return 0; | ||
1075 | +} | 974 | +} |
1076 | + | 975 | + |
1077 | +static struct block_device_operations vr_fops = { | 976 | +static struct block_device_operations vr_fops = { |
@@ -1225,9 +1124,9 @@ diff -NurpP --minimal linux-3.4.57/drivers/block/vroot.c linux-3.4.57-vs2.3.3.9/ | |||
1225 | + | 1124 | + |
1226 | +#endif | 1125 | +#endif |
1227 | + | 1126 | + |
1228 | diff -NurpP --minimal linux-3.4.57/drivers/infiniband/Kconfig linux-3.4.57-vs2.3.3.9/drivers/infiniband/Kconfig | 1127 | diff -NurpP --minimal linux-3.10.17/drivers/infiniband/Kconfig linux-3.10.17-vs2.3.6.6/drivers/infiniband/Kconfig |
1229 | --- linux-3.4.57/drivers/infiniband/Kconfig 2012-03-19 18:46:54.000000000 +0000 | 1128 | --- linux-3.10.17/drivers/infiniband/Kconfig 2013-07-14 17:00:49.000000000 +0000 |
1230 | +++ linux-3.4.57-vs2.3.3.9/drivers/infiniband/Kconfig 2012-05-21 16:15:04.000000000 +0000 | 1129 | +++ linux-3.10.17-vs2.3.6.6/drivers/infiniband/Kconfig 2013-08-22 20:29:59.000000000 +0000 |
1231 | @@ -39,7 +39,7 @@ config INFINIBAND_USER_MEM | 1130 | @@ -39,7 +39,7 @@ config INFINIBAND_USER_MEM |
1232 | config INFINIBAND_ADDR_TRANS | 1131 | config INFINIBAND_ADDR_TRANS |
1233 | bool | 1132 | bool |
@@ -1237,10 +1136,10 @@ diff -NurpP --minimal linux-3.4.57/drivers/infiniband/Kconfig linux-3.4.57-vs2.3 | |||
1237 | default y | 1136 | default y |
1238 | 1137 | ||
1239 | source "drivers/infiniband/hw/mthca/Kconfig" | 1138 | source "drivers/infiniband/hw/mthca/Kconfig" |
1240 | diff -NurpP --minimal linux-3.4.57/drivers/infiniband/core/addr.c linux-3.4.57-vs2.3.3.9/drivers/infiniband/core/addr.c | 1139 | diff -NurpP --minimal linux-3.10.17/drivers/infiniband/core/addr.c linux-3.10.17-vs2.3.6.6/drivers/infiniband/core/addr.c |
1241 | --- linux-3.4.57/drivers/infiniband/core/addr.c 2012-05-21 16:06:46.000000000 +0000 | 1140 | --- linux-3.10.17/drivers/infiniband/core/addr.c 2012-12-11 03:30:57.000000000 +0000 |
1242 | +++ linux-3.4.57-vs2.3.3.9/drivers/infiniband/core/addr.c 2012-05-21 16:15:04.000000000 +0000 | 1141 | +++ linux-3.10.17-vs2.3.6.6/drivers/infiniband/core/addr.c 2013-08-22 20:29:59.000000000 +0000 |
1243 | @@ -263,7 +263,7 @@ static int addr6_resolve(struct sockaddr | 1142 | @@ -261,7 +261,7 @@ static int addr6_resolve(struct sockaddr |
1244 | 1143 | ||
1245 | if (ipv6_addr_any(&fl6.saddr)) { | 1144 | if (ipv6_addr_any(&fl6.saddr)) { |
1246 | ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev, | 1145 | ret = ipv6_dev_get_saddr(&init_net, ip6_dst_idev(dst)->dev, |
@@ -1249,9 +1148,9 @@ diff -NurpP --minimal linux-3.4.57/drivers/infiniband/core/addr.c linux-3.4.57-v | |||
1249 | if (ret) | 1148 | if (ret) |
1250 | goto put; | 1149 | goto put; |
1251 | 1150 | ||
1252 | diff -NurpP --minimal linux-3.4.57/drivers/md/dm-ioctl.c linux-3.4.57-vs2.3.3.9/drivers/md/dm-ioctl.c | 1151 | diff -NurpP --minimal linux-3.10.17/drivers/md/dm-ioctl.c linux-3.10.17-vs2.3.6.6/drivers/md/dm-ioctl.c |
1253 | --- linux-3.4.57/drivers/md/dm-ioctl.c 2013-08-13 14:13:03.000000000 +0000 | 1152 | --- linux-3.10.17/drivers/md/dm-ioctl.c 2013-10-25 15:17:34.000000000 +0000 |
1254 | +++ linux-3.4.57-vs2.3.3.9/drivers/md/dm-ioctl.c 2013-02-11 23:37:30.000000000 +0000 | 1153 | +++ linux-3.10.17-vs2.3.6.6/drivers/md/dm-ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
1255 | @@ -16,6 +16,7 @@ | 1154 | @@ -16,6 +16,7 @@ |
1256 | #include <linux/dm-ioctl.h> | 1155 | #include <linux/dm-ioctl.h> |
1257 | #include <linux/hdreg.h> | 1156 | #include <linux/hdreg.h> |
@@ -1326,9 +1225,9 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm-ioctl.c linux-3.4.57-vs2.3.3.9/ | |||
1326 | if (old_nl) | 1225 | if (old_nl) |
1327 | old_nl->next = (uint32_t) ((void *) nl - | 1226 | old_nl->next = (uint32_t) ((void *) nl - |
1328 | (void *) old_nl); | 1227 | (void *) old_nl); |
1329 | @@ -1624,8 +1636,8 @@ static int ctl_ioctl(uint command, struc | 1228 | @@ -1725,8 +1737,8 @@ static int ctl_ioctl(uint command, struc |
1330 | ioctl_fn fn = NULL; | ||
1331 | size_t input_param_size; | 1229 | size_t input_param_size; |
1230 | struct dm_ioctl param_kernel; | ||
1332 | 1231 | ||
1333 | - /* only root can play with this */ | 1232 | - /* only root can play with this */ |
1334 | - if (!capable(CAP_SYS_ADMIN)) | 1233 | - if (!capable(CAP_SYS_ADMIN)) |
@@ -1337,9 +1236,9 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm-ioctl.c linux-3.4.57-vs2.3.3.9/ | |||
1337 | return -EACCES; | 1236 | return -EACCES; |
1338 | 1237 | ||
1339 | if (_IOC_TYPE(command) != DM_IOCTL) | 1238 | if (_IOC_TYPE(command) != DM_IOCTL) |
1340 | diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/drivers/md/dm.c | 1239 | diff -NurpP --minimal linux-3.10.17/drivers/md/dm.c linux-3.10.17-vs2.3.6.6/drivers/md/dm.c |
1341 | --- linux-3.4.57/drivers/md/dm.c 2013-08-13 14:13:03.000000000 +0000 | 1240 | --- linux-3.10.17/drivers/md/dm.c 2013-10-25 15:17:34.000000000 +0000 |
1342 | +++ linux-3.4.57-vs2.3.3.9/drivers/md/dm.c 2012-12-08 00:53:53.000000000 +0000 | 1241 | +++ linux-3.10.17-vs2.3.6.6/drivers/md/dm.c 2013-10-09 17:37:21.000000000 +0000 |
1343 | @@ -19,6 +19,7 @@ | 1242 | @@ -19,6 +19,7 @@ |
1344 | #include <linux/idr.h> | 1243 | #include <linux/idr.h> |
1345 | #include <linux/hdreg.h> | 1244 | #include <linux/hdreg.h> |
@@ -1348,15 +1247,15 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/driver | |||
1348 | 1247 | ||
1349 | #include <trace/events/block.h> | 1248 | #include <trace/events/block.h> |
1350 | 1249 | ||
1351 | @@ -131,6 +132,7 @@ struct mapped_device { | 1250 | @@ -125,6 +126,7 @@ struct mapped_device { |
1352 | rwlock_t map_lock; | 1251 | rwlock_t map_lock; |
1353 | atomic_t holders; | 1252 | atomic_t holders; |
1354 | atomic_t open_count; | 1253 | atomic_t open_count; |
1355 | + xid_t xid; | 1254 | + vxid_t xid; |
1356 | 1255 | ||
1357 | unsigned long flags; | 1256 | unsigned long flags; |
1358 | 1257 | ||
1359 | @@ -343,6 +345,7 @@ int dm_deleting_md(struct mapped_device | 1258 | @@ -317,6 +319,7 @@ int dm_deleting_md(struct mapped_device |
1360 | static int dm_blk_open(struct block_device *bdev, fmode_t mode) | 1259 | static int dm_blk_open(struct block_device *bdev, fmode_t mode) |
1361 | { | 1260 | { |
1362 | struct mapped_device *md; | 1261 | struct mapped_device *md; |
@@ -1364,7 +1263,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/driver | |||
1364 | 1263 | ||
1365 | spin_lock(&_minor_lock); | 1264 | spin_lock(&_minor_lock); |
1366 | 1265 | ||
1367 | @@ -351,18 +354,19 @@ static int dm_blk_open(struct block_devi | 1266 | @@ -325,18 +328,19 @@ static int dm_blk_open(struct block_devi |
1368 | goto out; | 1267 | goto out; |
1369 | 1268 | ||
1370 | if (test_bit(DMF_FREEING, &md->flags) || | 1269 | if (test_bit(DMF_FREEING, &md->flags) || |
@@ -1389,15 +1288,15 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/driver | |||
1389 | + return ret; | 1288 | + return ret; |
1390 | } | 1289 | } |
1391 | 1290 | ||
1392 | static int dm_blk_close(struct gendisk *disk, fmode_t mode) | 1291 | static void dm_blk_close(struct gendisk *disk, fmode_t mode) |
1393 | @@ -583,6 +587,14 @@ int dm_set_geometry(struct mapped_device | 1292 | @@ -552,6 +556,14 @@ int dm_set_geometry(struct mapped_device |
1394 | return 0; | 1293 | return 0; |
1395 | } | 1294 | } |
1396 | 1295 | ||
1397 | +/* | 1296 | +/* |
1398 | + * Get the xid associated with a dm device | 1297 | + * Get the xid associated with a dm device |
1399 | + */ | 1298 | + */ |
1400 | +xid_t dm_get_xid(struct mapped_device *md) | 1299 | +vxid_t dm_get_xid(struct mapped_device *md) |
1401 | +{ | 1300 | +{ |
1402 | + return md->xid; | 1301 | + return md->xid; |
1403 | +} | 1302 | +} |
@@ -1405,7 +1304,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/driver | |||
1405 | /*----------------------------------------------------------------- | 1304 | /*----------------------------------------------------------------- |
1406 | * CRUD START: | 1305 | * CRUD START: |
1407 | * A more elegant soln is in the works that uses the queue | 1306 | * A more elegant soln is in the works that uses the queue |
1408 | @@ -1876,6 +1888,7 @@ static struct mapped_device *alloc_dev(i | 1307 | @@ -1889,6 +1901,7 @@ static struct mapped_device *alloc_dev(i |
1409 | INIT_LIST_HEAD(&md->uevent_list); | 1308 | INIT_LIST_HEAD(&md->uevent_list); |
1410 | spin_lock_init(&md->uevent_lock); | 1309 | spin_lock_init(&md->uevent_lock); |
1411 | 1310 | ||
@@ -1413,21 +1312,21 @@ diff -NurpP --minimal linux-3.4.57/drivers/md/dm.c linux-3.4.57-vs2.3.3.9/driver | |||
1413 | md->queue = blk_alloc_queue(GFP_KERNEL); | 1312 | md->queue = blk_alloc_queue(GFP_KERNEL); |
1414 | if (!md->queue) | 1313 | if (!md->queue) |
1415 | goto bad_queue; | 1314 | goto bad_queue; |
1416 | diff -NurpP --minimal linux-3.4.57/drivers/md/dm.h linux-3.4.57-vs2.3.3.9/drivers/md/dm.h | 1315 | diff -NurpP --minimal linux-3.10.17/drivers/md/dm.h linux-3.10.17-vs2.3.6.6/drivers/md/dm.h |
1417 | --- linux-3.4.57/drivers/md/dm.h 2012-01-09 15:14:21.000000000 +0000 | 1316 | --- linux-3.10.17/drivers/md/dm.h 2013-02-19 13:57:51.000000000 +0000 |
1418 | +++ linux-3.4.57-vs2.3.3.9/drivers/md/dm.h 2012-05-21 16:15:04.000000000 +0000 | 1317 | +++ linux-3.10.17-vs2.3.6.6/drivers/md/dm.h 2013-08-22 20:29:59.000000000 +0000 |
1419 | @@ -41,6 +41,8 @@ struct dm_dev_internal { | 1318 | @@ -46,6 +46,8 @@ struct dm_dev_internal { |
1420 | struct dm_table; | 1319 | struct dm_table; |
1421 | struct dm_md_mempools; | 1320 | struct dm_md_mempools; |
1422 | 1321 | ||
1423 | +xid_t dm_get_xid(struct mapped_device *md); | 1322 | +vxid_t dm_get_xid(struct mapped_device *md); |
1424 | + | 1323 | + |
1425 | /*----------------------------------------------------------------- | 1324 | /*----------------------------------------------------------------- |
1426 | * Internal table functions. | 1325 | * Internal table functions. |
1427 | *---------------------------------------------------------------*/ | 1326 | *---------------------------------------------------------------*/ |
1428 | diff -NurpP --minimal linux-3.4.57/drivers/net/tun.c linux-3.4.57-vs2.3.3.9/drivers/net/tun.c | 1327 | diff -NurpP --minimal linux-3.10.17/drivers/net/tun.c linux-3.10.17-vs2.3.6.6/drivers/net/tun.c |
1429 | --- linux-3.4.57/drivers/net/tun.c 2013-08-13 14:13:14.000000000 +0000 | 1328 | --- linux-3.10.17/drivers/net/tun.c 2013-10-25 15:17:36.000000000 +0000 |
1430 | +++ linux-3.4.57-vs2.3.3.9/drivers/net/tun.c 2013-03-30 21:29:17.000000000 +0000 | 1329 | +++ linux-3.10.17-vs2.3.6.6/drivers/net/tun.c 2013-10-26 18:03:16.000000000 +0000 |
1431 | @@ -64,6 +64,7 @@ | 1330 | @@ -64,6 +64,7 @@ |
1432 | #include <linux/nsproxy.h> | 1331 | #include <linux/nsproxy.h> |
1433 | #include <linux/virtio_net.h> | 1332 | #include <linux/virtio_net.h> |
@@ -1436,52 +1335,51 @@ diff -NurpP --minimal linux-3.4.57/drivers/net/tun.c linux-3.4.57-vs2.3.3.9/driv | |||
1436 | #include <net/net_namespace.h> | 1335 | #include <net/net_namespace.h> |
1437 | #include <net/netns/generic.h> | 1336 | #include <net/netns/generic.h> |
1438 | #include <net/rtnetlink.h> | 1337 | #include <net/rtnetlink.h> |
1439 | @@ -120,6 +121,7 @@ struct tun_struct { | 1338 | @@ -164,6 +165,7 @@ struct tun_struct { |
1440 | unsigned int flags; | 1339 | unsigned int flags; |
1441 | uid_t owner; | 1340 | kuid_t owner; |
1442 | gid_t group; | 1341 | kgid_t group; |
1443 | + nid_t nid; | 1342 | + vnid_t nid; |
1444 | 1343 | ||
1445 | struct net_device *dev; | 1344 | struct net_device *dev; |
1446 | netdev_features_t set_features; | 1345 | netdev_features_t set_features; |
1447 | @@ -912,6 +914,7 @@ static void tun_setup(struct net_device | 1346 | @@ -380,6 +382,7 @@ static inline bool tun_not_capable(struc |
1347 | return ((uid_valid(tun->owner) && !uid_eq(cred->euid, tun->owner)) || | ||
1348 | (gid_valid(tun->group) && !in_egroup_p(tun->group))) && | ||
1349 | !ns_capable(net->user_ns, CAP_NET_ADMIN); | ||
1350 | + /* !cap_raised(current_cap(), CAP_NET_ADMIN) */ | ||
1351 | } | ||
1352 | |||
1353 | static void tun_set_real_num_queues(struct tun_struct *tun) | ||
1354 | @@ -1425,6 +1428,7 @@ static void tun_setup(struct net_device | ||
1448 | 1355 | ||
1449 | tun->owner = -1; | 1356 | tun->owner = INVALID_UID; |
1450 | tun->group = -1; | 1357 | tun->group = INVALID_GID; |
1451 | + tun->nid = current->nid; | 1358 | + tun->nid = nx_current_nid(); |
1452 | 1359 | ||
1453 | dev->ethtool_ops = &tun_ethtool_ops; | 1360 | dev->ethtool_ops = &tun_ethtool_ops; |
1454 | dev->destructor = tun_free_netdev; | 1361 | dev->destructor = tun_free_netdev; |
1455 | @@ -1070,7 +1073,7 @@ static int tun_set_iff(struct net *net, | 1362 | @@ -1616,6 +1620,9 @@ static int tun_set_iff(struct net *net, |
1456 | |||
1457 | if (((tun->owner != -1 && cred->euid != tun->owner) || | ||
1458 | (tun->group != -1 && !in_egroup_p(tun->group))) && | ||
1459 | - !capable(CAP_NET_ADMIN)) | ||
1460 | + !cap_raised(current_cap(), CAP_NET_ADMIN)) | ||
1461 | return -EPERM; | ||
1462 | err = security_tun_dev_attach(tun->socket.sk); | ||
1463 | if (err < 0) | ||
1464 | @@ -1084,7 +1087,7 @@ static int tun_set_iff(struct net *net, | ||
1465 | char *name; | ||
1466 | unsigned long flags = 0; | ||
1467 | |||
1468 | - if (!capable(CAP_NET_ADMIN)) | ||
1469 | + if (!nx_capable(CAP_NET_ADMIN, NXC_TUN_CREATE)) | ||
1470 | return -EPERM; | ||
1471 | err = security_tun_dev_create(); | ||
1472 | if (err < 0) | 1363 | if (err < 0) |
1473 | @@ -1154,6 +1157,9 @@ static int tun_set_iff(struct net *net, | 1364 | return err; |
1474 | |||
1475 | sk->sk_destruct = tun_sock_destruct; | ||
1476 | 1365 | ||
1477 | + if (!nx_check(tun->nid, VS_IDENT | VS_HOSTID | VS_ADMIN_P)) | 1366 | + if (!nx_check(tun->nid, VS_IDENT | VS_HOSTID | VS_ADMIN_P)) |
1478 | + return -EPERM; | 1367 | + return -EPERM; |
1479 | + | 1368 | + |
1480 | err = tun_attach(tun, file); | 1369 | err = tun_attach(tun, file); |
1481 | if (err < 0) | 1370 | if (err < 0) |
1482 | goto failed; | 1371 | return err; |
1483 | @@ -1337,6 +1343,16 @@ static long __tun_chr_ioctl(struct file | 1372 | @@ -1634,7 +1641,7 @@ static int tun_set_iff(struct net *net, |
1484 | tun_debug(KERN_INFO, tun, "group set to %d\n", tun->group); | 1373 | int queues = ifr->ifr_flags & IFF_MULTI_QUEUE ? |
1374 | MAX_TAP_QUEUES : 1; | ||
1375 | |||
1376 | - if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) | ||
1377 | + if (!vx_ns_capable(net->user_ns, CAP_NET_ADMIN, NXC_TUN_CREATE)) | ||
1378 | return -EPERM; | ||
1379 | err = security_tun_dev_create(); | ||
1380 | if (err < 0) | ||
1381 | @@ -1985,6 +1992,16 @@ static long __tun_chr_ioctl(struct file | ||
1382 | from_kgid(&init_user_ns, tun->group)); | ||
1485 | break; | 1383 | break; |
1486 | 1384 | ||
1487 | + case TUNSETNID: | 1385 | + case TUNSETNID: |
@@ -1489,7 +1387,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/net/tun.c linux-3.4.57-vs2.3.3.9/driv | |||
1489 | + return -EPERM; | 1387 | + return -EPERM; |
1490 | + | 1388 | + |
1491 | + /* Set nid owner of the device */ | 1389 | + /* Set nid owner of the device */ |
1492 | + tun->nid = (nid_t) arg; | 1390 | + tun->nid = (vnid_t) arg; |
1493 | + | 1391 | + |
1494 | + tun_debug(KERN_INFO, tun, "nid owner set to %u\n", tun->nid); | 1392 | + tun_debug(KERN_INFO, tun, "nid owner set to %u\n", tun->nid); |
1495 | + break; | 1393 | + break; |
@@ -1497,18 +1395,18 @@ diff -NurpP --minimal linux-3.4.57/drivers/net/tun.c linux-3.4.57-vs2.3.3.9/driv | |||
1497 | case TUNSETLINK: | 1395 | case TUNSETLINK: |
1498 | /* Only allow setting the type when the interface is down */ | 1396 | /* Only allow setting the type when the interface is down */ |
1499 | if (tun->dev->flags & IFF_UP) { | 1397 | if (tun->dev->flags & IFF_UP) { |
1500 | diff -NurpP --minimal linux-3.4.57/drivers/tty/sysrq.c linux-3.4.57-vs2.3.3.9/drivers/tty/sysrq.c | 1398 | diff -NurpP --minimal linux-3.10.17/drivers/tty/sysrq.c linux-3.10.17-vs2.3.6.6/drivers/tty/sysrq.c |
1501 | --- linux-3.4.57/drivers/tty/sysrq.c 2012-05-21 16:07:16.000000000 +0000 | 1399 | --- linux-3.10.17/drivers/tty/sysrq.c 2013-07-14 17:01:22.000000000 +0000 |
1502 | +++ linux-3.4.57-vs2.3.3.9/drivers/tty/sysrq.c 2012-05-21 16:15:04.000000000 +0000 | 1400 | +++ linux-3.10.17-vs2.3.6.6/drivers/tty/sysrq.c 2013-08-22 20:58:35.000000000 +0000 |
1503 | @@ -41,6 +41,7 @@ | 1401 | @@ -44,6 +44,7 @@ |
1504 | #include <linux/slab.h> | ||
1505 | #include <linux/input.h> | ||
1506 | #include <linux/uaccess.h> | 1402 | #include <linux/uaccess.h> |
1403 | #include <linux/moduleparam.h> | ||
1404 | #include <linux/jiffies.h> | ||
1507 | +#include <linux/vserver/debug.h> | 1405 | +#include <linux/vserver/debug.h> |
1508 | 1406 | ||
1509 | #include <asm/ptrace.h> | 1407 | #include <asm/ptrace.h> |
1510 | #include <asm/irq_regs.h> | 1408 | #include <asm/irq_regs.h> |
1511 | @@ -398,6 +399,21 @@ static struct sysrq_key_op sysrq_unrt_op | 1409 | @@ -405,6 +406,21 @@ static struct sysrq_key_op sysrq_unrt_op |
1512 | .enable_mask = SYSRQ_ENABLE_RTNICE, | 1410 | .enable_mask = SYSRQ_ENABLE_RTNICE, |
1513 | }; | 1411 | }; |
1514 | 1412 | ||
@@ -1530,10 +1428,10 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/sysrq.c linux-3.4.57-vs2.3.3.9/dr | |||
1530 | /* Key Operations table and lock */ | 1428 | /* Key Operations table and lock */ |
1531 | static DEFINE_SPINLOCK(sysrq_key_table_lock); | 1429 | static DEFINE_SPINLOCK(sysrq_key_table_lock); |
1532 | 1430 | ||
1533 | @@ -452,7 +468,11 @@ static struct sysrq_key_op *sysrq_key_ta | 1431 | @@ -460,7 +476,11 @@ static struct sysrq_key_op *sysrq_key_ta |
1534 | NULL, /* v */ | ||
1535 | &sysrq_showstate_blocked_op, /* w */ | 1432 | &sysrq_showstate_blocked_op, /* w */ |
1536 | /* x: May be registered on ppc/powerpc for xmon */ | 1433 | /* x: May be registered on ppc/powerpc for xmon */ |
1434 | /* x: May be registered on sparc64 for global PMU dump */ | ||
1537 | +#ifdef CONFIG_VSERVER_DEBUG | 1435 | +#ifdef CONFIG_VSERVER_DEBUG |
1538 | + &sysrq_showvxinfo_op, /* x */ | 1436 | + &sysrq_showvxinfo_op, /* x */ |
1539 | +#else | 1437 | +#else |
@@ -1542,7 +1440,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/sysrq.c linux-3.4.57-vs2.3.3.9/dr | |||
1542 | /* y: May be registered on sparc64 for global register dump */ | 1440 | /* y: May be registered on sparc64 for global register dump */ |
1543 | NULL, /* y */ | 1441 | NULL, /* y */ |
1544 | &sysrq_ftrace_dump_op, /* z */ | 1442 | &sysrq_ftrace_dump_op, /* z */ |
1545 | @@ -467,6 +487,8 @@ static int sysrq_key_table_key2index(int | 1443 | @@ -475,6 +495,8 @@ static int sysrq_key_table_key2index(int |
1546 | retval = key - '0'; | 1444 | retval = key - '0'; |
1547 | else if ((key >= 'a') && (key <= 'z')) | 1445 | else if ((key >= 'a') && (key <= 'z')) |
1548 | retval = key + 10 - 'a'; | 1446 | retval = key + 10 - 'a'; |
@@ -1551,9 +1449,9 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/sysrq.c linux-3.4.57-vs2.3.3.9/dr | |||
1551 | else | 1449 | else |
1552 | retval = -1; | 1450 | retval = -1; |
1553 | return retval; | 1451 | return retval; |
1554 | diff -NurpP --minimal linux-3.4.57/drivers/tty/tty_io.c linux-3.4.57-vs2.3.3.9/drivers/tty/tty_io.c | 1452 | diff -NurpP --minimal linux-3.10.17/drivers/tty/tty_io.c linux-3.10.17-vs2.3.6.6/drivers/tty/tty_io.c |
1555 | --- linux-3.4.57/drivers/tty/tty_io.c 2013-08-13 14:13:26.000000000 +0000 | 1453 | --- linux-3.10.17/drivers/tty/tty_io.c 2013-10-25 15:17:41.000000000 +0000 |
1556 | +++ linux-3.4.57-vs2.3.3.9/drivers/tty/tty_io.c 2013-07-14 13:38:33.000000000 +0000 | 1454 | +++ linux-3.10.17-vs2.3.6.6/drivers/tty/tty_io.c 2013-10-09 17:37:22.000000000 +0000 |
1557 | @@ -104,6 +104,7 @@ | 1455 | @@ -104,6 +104,7 @@ |
1558 | 1456 | ||
1559 | #include <linux/kmod.h> | 1457 | #include <linux/kmod.h> |
@@ -1562,7 +1460,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/tty_io.c linux-3.4.57-vs2.3.3.9/d | |||
1562 | 1460 | ||
1563 | #undef TTY_DEBUG_HANGUP | 1461 | #undef TTY_DEBUG_HANGUP |
1564 | 1462 | ||
1565 | @@ -2128,7 +2129,8 @@ static int tiocsti(struct tty_struct *tt | 1463 | @@ -2213,7 +2214,8 @@ static int tiocsti(struct tty_struct *tt |
1566 | char ch, mbz = 0; | 1464 | char ch, mbz = 0; |
1567 | struct tty_ldisc *ld; | 1465 | struct tty_ldisc *ld; |
1568 | 1466 | ||
@@ -1572,7 +1470,7 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/tty_io.c linux-3.4.57-vs2.3.3.9/d | |||
1572 | return -EPERM; | 1470 | return -EPERM; |
1573 | if (get_user(ch, p)) | 1471 | if (get_user(ch, p)) |
1574 | return -EFAULT; | 1472 | return -EFAULT; |
1575 | @@ -2416,6 +2418,7 @@ static int tiocspgrp(struct tty_struct * | 1473 | @@ -2501,6 +2503,7 @@ static int tiocspgrp(struct tty_struct * |
1576 | return -ENOTTY; | 1474 | return -ENOTTY; |
1577 | if (get_user(pgrp_nr, p)) | 1475 | if (get_user(pgrp_nr, p)) |
1578 | return -EFAULT; | 1476 | return -EFAULT; |
@@ -1580,20 +1478,20 @@ diff -NurpP --minimal linux-3.4.57/drivers/tty/tty_io.c linux-3.4.57-vs2.3.3.9/d | |||
1580 | if (pgrp_nr < 0) | 1478 | if (pgrp_nr < 0) |
1581 | return -EINVAL; | 1479 | return -EINVAL; |
1582 | rcu_read_lock(); | 1480 | rcu_read_lock(); |
1583 | diff -NurpP --minimal linux-3.4.57/fs/attr.c linux-3.4.57-vs2.3.3.9/fs/attr.c | 1481 | diff -NurpP --minimal linux-3.10.17/fs/attr.c linux-3.10.17-vs2.3.6.6/fs/attr.c |
1584 | --- linux-3.4.57/fs/attr.c 2013-08-13 14:13:31.000000000 +0000 | 1482 | --- linux-3.10.17/fs/attr.c 2013-02-19 13:58:46.000000000 +0000 |
1585 | +++ linux-3.4.57-vs2.3.3.9/fs/attr.c 2012-06-28 14:45:07.000000000 +0000 | 1483 | +++ linux-3.10.17-vs2.3.6.6/fs/attr.c 2013-08-22 20:29:59.000000000 +0000 |
1586 | @@ -14,6 +14,9 @@ | 1484 | @@ -15,6 +15,9 @@ |
1587 | #include <linux/fcntl.h> | ||
1588 | #include <linux/security.h> | 1485 | #include <linux/security.h> |
1589 | #include <linux/evm.h> | 1486 | #include <linux/evm.h> |
1487 | #include <linux/ima.h> | ||
1590 | +#include <linux/proc_fs.h> | 1488 | +#include <linux/proc_fs.h> |
1591 | +#include <linux/devpts_fs.h> | 1489 | +#include <linux/devpts_fs.h> |
1592 | +#include <linux/vs_tag.h> | 1490 | +#include <linux/vs_tag.h> |
1593 | 1491 | ||
1594 | /** | 1492 | /** |
1595 | * inode_change_ok - check if attribute changes to an inode are allowed | 1493 | * inode_change_ok - check if attribute changes to an inode are allowed |
1596 | @@ -74,6 +77,10 @@ int inode_change_ok(const struct inode * | 1494 | @@ -77,6 +80,10 @@ int inode_change_ok(const struct inode * |
1597 | return -EPERM; | 1495 | return -EPERM; |
1598 | } | 1496 | } |
1599 | 1497 | ||
@@ -1604,7 +1502,7 @@ diff -NurpP --minimal linux-3.4.57/fs/attr.c linux-3.4.57-vs2.3.3.9/fs/attr.c | |||
1604 | return 0; | 1502 | return 0; |
1605 | } | 1503 | } |
1606 | EXPORT_SYMBOL(inode_change_ok); | 1504 | EXPORT_SYMBOL(inode_change_ok); |
1607 | @@ -144,6 +151,8 @@ void setattr_copy(struct inode *inode, c | 1505 | @@ -147,6 +154,8 @@ void setattr_copy(struct inode *inode, c |
1608 | inode->i_uid = attr->ia_uid; | 1506 | inode->i_uid = attr->ia_uid; |
1609 | if (ia_valid & ATTR_GID) | 1507 | if (ia_valid & ATTR_GID) |
1610 | inode->i_gid = attr->ia_gid; | 1508 | inode->i_gid = attr->ia_gid; |
@@ -1613,9 +1511,9 @@ diff -NurpP --minimal linux-3.4.57/fs/attr.c linux-3.4.57-vs2.3.3.9/fs/attr.c | |||
1613 | if (ia_valid & ATTR_ATIME) | 1511 | if (ia_valid & ATTR_ATIME) |
1614 | inode->i_atime = timespec_trunc(attr->ia_atime, | 1512 | inode->i_atime = timespec_trunc(attr->ia_atime, |
1615 | inode->i_sb->s_time_gran); | 1513 | inode->i_sb->s_time_gran); |
1616 | @@ -171,7 +180,8 @@ int notify_change(struct dentry * dentry | 1514 | @@ -177,7 +186,8 @@ int notify_change(struct dentry * dentry |
1617 | struct timespec now; | 1515 | |
1618 | unsigned int ia_valid = attr->ia_valid; | 1516 | WARN_ON_ONCE(!mutex_is_locked(&inode->i_mutex)); |
1619 | 1517 | ||
1620 | - if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID | ATTR_TIMES_SET)) { | 1518 | - if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID | ATTR_TIMES_SET)) { |
1621 | + if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID | | 1519 | + if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID | |
@@ -1623,18 +1521,18 @@ diff -NurpP --minimal linux-3.4.57/fs/attr.c linux-3.4.57-vs2.3.3.9/fs/attr.c | |||
1623 | if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) | 1521 | if (IS_IMMUTABLE(inode) || IS_APPEND(inode)) |
1624 | return -EPERM; | 1522 | return -EPERM; |
1625 | } | 1523 | } |
1626 | diff -NurpP --minimal linux-3.4.57/fs/block_dev.c linux-3.4.57-vs2.3.3.9/fs/block_dev.c | 1524 | diff -NurpP --minimal linux-3.10.17/fs/block_dev.c linux-3.10.17-vs2.3.6.6/fs/block_dev.c |
1627 | --- linux-3.4.57/fs/block_dev.c 2013-08-13 14:13:31.000000000 +0000 | 1525 | --- linux-3.10.17/fs/block_dev.c 2013-10-25 15:17:42.000000000 +0000 |
1628 | +++ linux-3.4.57-vs2.3.3.9/fs/block_dev.c 2013-08-13 17:07:36.000000000 +0000 | 1526 | +++ linux-3.10.17-vs2.3.6.6/fs/block_dev.c 2013-08-22 21:20:35.000000000 +0000 |
1629 | @@ -27,6 +27,7 @@ | 1527 | @@ -28,6 +28,7 @@ |
1630 | #include <linux/namei.h> | ||
1631 | #include <linux/log2.h> | 1528 | #include <linux/log2.h> |
1632 | #include <linux/cleancache.h> | 1529 | #include <linux/cleancache.h> |
1530 | #include <linux/aio.h> | ||
1633 | +#include <linux/vs_device.h> | 1531 | +#include <linux/vs_device.h> |
1634 | #include <asm/uaccess.h> | 1532 | #include <asm/uaccess.h> |
1635 | #include "internal.h" | 1533 | #include "internal.h" |
1636 | 1534 | ||
1637 | @@ -588,6 +589,7 @@ struct block_device *bdget(dev_t dev) | 1535 | @@ -536,6 +537,7 @@ struct block_device *bdget(dev_t dev) |
1638 | bdev->bd_invalidated = 0; | 1536 | bdev->bd_invalidated = 0; |
1639 | inode->i_mode = S_IFBLK; | 1537 | inode->i_mode = S_IFBLK; |
1640 | inode->i_rdev = dev; | 1538 | inode->i_rdev = dev; |
@@ -1642,7 +1540,7 @@ diff -NurpP --minimal linux-3.4.57/fs/block_dev.c linux-3.4.57-vs2.3.3.9/fs/bloc | |||
1642 | inode->i_bdev = bdev; | 1540 | inode->i_bdev = bdev; |
1643 | inode->i_data.a_ops = &def_blk_aops; | 1541 | inode->i_data.a_ops = &def_blk_aops; |
1644 | mapping_set_gfp_mask(&inode->i_data, GFP_USER); | 1542 | mapping_set_gfp_mask(&inode->i_data, GFP_USER); |
1645 | @@ -635,6 +637,11 @@ EXPORT_SYMBOL(bdput); | 1543 | @@ -583,6 +585,11 @@ EXPORT_SYMBOL(bdput); |
1646 | static struct block_device *bd_acquire(struct inode *inode) | 1544 | static struct block_device *bd_acquire(struct inode *inode) |
1647 | { | 1545 | { |
1648 | struct block_device *bdev; | 1546 | struct block_device *bdev; |
@@ -1654,7 +1552,7 @@ diff -NurpP --minimal linux-3.4.57/fs/block_dev.c linux-3.4.57-vs2.3.3.9/fs/bloc | |||
1654 | 1552 | ||
1655 | spin_lock(&bdev_lock); | 1553 | spin_lock(&bdev_lock); |
1656 | bdev = inode->i_bdev; | 1554 | bdev = inode->i_bdev; |
1657 | @@ -645,7 +652,7 @@ static struct block_device *bd_acquire(s | 1555 | @@ -593,7 +600,7 @@ static struct block_device *bd_acquire(s |
1658 | } | 1556 | } |
1659 | spin_unlock(&bdev_lock); | 1557 | spin_unlock(&bdev_lock); |
1660 | 1558 | ||
@@ -1663,10 +1561,10 @@ diff -NurpP --minimal linux-3.4.57/fs/block_dev.c linux-3.4.57-vs2.3.3.9/fs/bloc | |||
1663 | if (bdev) { | 1561 | if (bdev) { |
1664 | spin_lock(&bdev_lock); | 1562 | spin_lock(&bdev_lock); |
1665 | if (!inode->i_bdev) { | 1563 | if (!inode->i_bdev) { |
1666 | diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/btrfs/ctree.h | 1564 | diff -NurpP --minimal linux-3.10.17/fs/btrfs/ctree.h linux-3.10.17-vs2.3.6.6/fs/btrfs/ctree.h |
1667 | --- linux-3.4.57/fs/btrfs/ctree.h 2012-05-21 16:07:18.000000000 +0000 | 1565 | --- linux-3.10.17/fs/btrfs/ctree.h 2013-07-14 17:01:26.000000000 +0000 |
1668 | +++ linux-3.4.57-vs2.3.3.9/fs/btrfs/ctree.h 2012-05-21 16:15:04.000000000 +0000 | 1566 | +++ linux-3.10.17-vs2.3.6.6/fs/btrfs/ctree.h 2013-08-22 20:29:59.000000000 +0000 |
1669 | @@ -668,11 +668,14 @@ struct btrfs_inode_item { | 1567 | @@ -707,11 +707,14 @@ struct btrfs_inode_item { |
1670 | /* modification sequence number for NFS */ | 1568 | /* modification sequence number for NFS */ |
1671 | __le64 sequence; | 1569 | __le64 sequence; |
1672 | 1570 | ||
@@ -1682,7 +1580,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/bt | |||
1682 | struct btrfs_timespec atime; | 1580 | struct btrfs_timespec atime; |
1683 | struct btrfs_timespec ctime; | 1581 | struct btrfs_timespec ctime; |
1684 | struct btrfs_timespec mtime; | 1582 | struct btrfs_timespec mtime; |
1685 | @@ -1542,6 +1545,8 @@ struct btrfs_ioctl_defrag_range_args { | 1583 | @@ -1928,6 +1931,8 @@ struct btrfs_ioctl_defrag_range_args { |
1686 | #define BTRFS_MOUNT_CHECK_INTEGRITY_INCLUDING_EXTENT_DATA (1 << 21) | 1584 | #define BTRFS_MOUNT_CHECK_INTEGRITY_INCLUDING_EXTENT_DATA (1 << 21) |
1687 | #define BTRFS_MOUNT_PANIC_ON_FATAL_ERROR (1 << 22) | 1585 | #define BTRFS_MOUNT_PANIC_ON_FATAL_ERROR (1 << 22) |
1688 | 1586 | ||
@@ -1690,8 +1588,8 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/bt | |||
1690 | + | 1588 | + |
1691 | #define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt) | 1589 | #define btrfs_clear_opt(o, opt) ((o) &= ~BTRFS_MOUNT_##opt) |
1692 | #define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt) | 1590 | #define btrfs_set_opt(o, opt) ((o) |= BTRFS_MOUNT_##opt) |
1693 | #define btrfs_test_opt(root, opt) ((root)->fs_info->mount_opt & \ | 1591 | #define btrfs_raw_test_opt(o, opt) ((o) & BTRFS_MOUNT_##opt) |
1694 | @@ -1762,6 +1767,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st | 1592 | @@ -2197,6 +2202,7 @@ BTRFS_SETGET_FUNCS(inode_block_group, st |
1695 | BTRFS_SETGET_FUNCS(inode_nlink, struct btrfs_inode_item, nlink, 32); | 1593 | BTRFS_SETGET_FUNCS(inode_nlink, struct btrfs_inode_item, nlink, 32); |
1696 | BTRFS_SETGET_FUNCS(inode_uid, struct btrfs_inode_item, uid, 32); | 1594 | BTRFS_SETGET_FUNCS(inode_uid, struct btrfs_inode_item, uid, 32); |
1697 | BTRFS_SETGET_FUNCS(inode_gid, struct btrfs_inode_item, gid, 32); | 1595 | BTRFS_SETGET_FUNCS(inode_gid, struct btrfs_inode_item, gid, 32); |
@@ -1699,7 +1597,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/bt | |||
1699 | BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32); | 1597 | BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32); |
1700 | BTRFS_SETGET_FUNCS(inode_rdev, struct btrfs_inode_item, rdev, 64); | 1598 | BTRFS_SETGET_FUNCS(inode_rdev, struct btrfs_inode_item, rdev, 64); |
1701 | BTRFS_SETGET_FUNCS(inode_flags, struct btrfs_inode_item, flags, 64); | 1599 | BTRFS_SETGET_FUNCS(inode_flags, struct btrfs_inode_item, flags, 64); |
1702 | @@ -1815,6 +1821,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct | 1600 | @@ -2250,6 +2256,10 @@ BTRFS_SETGET_FUNCS(extent_flags, struct |
1703 | 1601 | ||
1704 | BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32); | 1602 | BTRFS_SETGET_FUNCS(extent_refs_v0, struct btrfs_extent_item_v0, refs, 32); |
1705 | 1603 | ||
@@ -1710,7 +1608,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/bt | |||
1710 | 1608 | ||
1711 | BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8); | 1609 | BTRFS_SETGET_FUNCS(tree_block_level, struct btrfs_tree_block_info, level, 8); |
1712 | 1610 | ||
1713 | @@ -2959,6 +2969,7 @@ extern const struct dentry_operations bt | 1611 | @@ -3578,6 +3588,7 @@ extern const struct dentry_operations bt |
1714 | long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); | 1612 | long btrfs_ioctl(struct file *file, unsigned int cmd, unsigned long arg); |
1715 | void btrfs_update_iflags(struct inode *inode); | 1613 | void btrfs_update_iflags(struct inode *inode); |
1716 | void btrfs_inherit_iflags(struct inode *inode, struct inode *dir); | 1614 | void btrfs_inherit_iflags(struct inode *inode, struct inode *dir); |
@@ -1718,10 +1616,10 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ctree.h linux-3.4.57-vs2.3.3.9/fs/bt | |||
1718 | int btrfs_defrag_file(struct inode *inode, struct file *file, | 1616 | int btrfs_defrag_file(struct inode *inode, struct file *file, |
1719 | struct btrfs_ioctl_defrag_range_args *range, | 1617 | struct btrfs_ioctl_defrag_range_args *range, |
1720 | u64 newer_than, unsigned long max_pages); | 1618 | u64 newer_than, unsigned long max_pages); |
1721 | diff -NurpP --minimal linux-3.4.57/fs/btrfs/disk-io.c linux-3.4.57-vs2.3.3.9/fs/btrfs/disk-io.c | 1619 | diff -NurpP --minimal linux-3.10.17/fs/btrfs/disk-io.c linux-3.10.17-vs2.3.6.6/fs/btrfs/disk-io.c |
1722 | --- linux-3.4.57/fs/btrfs/disk-io.c 2012-05-21 16:07:18.000000000 +0000 | 1620 | --- linux-3.10.17/fs/btrfs/disk-io.c 2013-07-14 17:01:26.000000000 +0000 |
1723 | +++ linux-3.4.57-vs2.3.3.9/fs/btrfs/disk-io.c 2012-05-21 16:15:04.000000000 +0000 | 1621 | +++ linux-3.10.17-vs2.3.6.6/fs/btrfs/disk-io.c 2013-08-22 20:29:59.000000000 +0000 |
1724 | @@ -2083,6 +2083,9 @@ int open_ctree(struct super_block *sb, | 1622 | @@ -2360,6 +2360,9 @@ int open_ctree(struct super_block *sb, |
1725 | goto fail_alloc; | 1623 | goto fail_alloc; |
1726 | } | 1624 | } |
1727 | 1625 | ||
@@ -1731,60 +1629,66 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/disk-io.c linux-3.4.57-vs2.3.3.9/fs/ | |||
1731 | features = btrfs_super_incompat_flags(disk_super) & | 1629 | features = btrfs_super_incompat_flags(disk_super) & |
1732 | ~BTRFS_FEATURE_INCOMPAT_SUPP; | 1630 | ~BTRFS_FEATURE_INCOMPAT_SUPP; |
1733 | if (features) { | 1631 | if (features) { |
1734 | diff -NurpP --minimal linux-3.4.57/fs/btrfs/inode.c linux-3.4.57-vs2.3.3.9/fs/btrfs/inode.c | 1632 | diff -NurpP --minimal linux-3.10.17/fs/btrfs/inode.c linux-3.10.17-vs2.3.6.6/fs/btrfs/inode.c |
1735 | --- linux-3.4.57/fs/btrfs/inode.c 2013-08-13 14:13:31.000000000 +0000 | 1633 | --- linux-3.10.17/fs/btrfs/inode.c 2013-10-25 15:17:42.000000000 +0000 |
1736 | +++ linux-3.4.57-vs2.3.3.9/fs/btrfs/inode.c 2013-07-14 13:38:34.000000000 +0000 | 1634 | +++ linux-3.10.17-vs2.3.6.6/fs/btrfs/inode.c 2013-10-26 18:03:16.000000000 +0000 |
1737 | @@ -39,6 +39,7 @@ | 1635 | @@ -42,6 +42,7 @@ |
1738 | #include <linux/slab.h> | ||
1739 | #include <linux/ratelimit.h> | ||
1740 | #include <linux/mount.h> | 1636 | #include <linux/mount.h> |
1637 | #include <linux/btrfs.h> | ||
1638 | #include <linux/blkdev.h> | ||
1741 | +#include <linux/vs_tag.h> | 1639 | +#include <linux/vs_tag.h> |
1742 | #include "compat.h" | 1640 | #include "compat.h" |
1743 | #include "ctree.h" | 1641 | #include "ctree.h" |
1744 | #include "disk-io.h" | 1642 | #include "disk-io.h" |
1745 | @@ -2482,6 +2483,8 @@ static void btrfs_read_locked_inode(stru | 1643 | @@ -3327,6 +3328,9 @@ static void btrfs_read_locked_inode(stru |
1746 | struct btrfs_key location; | 1644 | struct btrfs_key location; |
1747 | int maybe_acls; | 1645 | int maybe_acls; |
1748 | u32 rdev; | 1646 | u32 rdev; |
1749 | + uid_t uid; | 1647 | + kuid_t kuid; |
1750 | + gid_t gid; | 1648 | + kgid_t kgid; |
1649 | + ktag_t ktag; | ||
1751 | int ret; | 1650 | int ret; |
1752 | bool filled = false; | 1651 | bool filled = false; |
1753 | 1652 | ||
1754 | @@ -2509,8 +2512,13 @@ static void btrfs_read_locked_inode(stru | 1653 | @@ -3354,8 +3358,14 @@ static void btrfs_read_locked_inode(stru |
1755 | struct btrfs_inode_item); | 1654 | struct btrfs_inode_item); |
1756 | inode->i_mode = btrfs_inode_mode(leaf, inode_item); | 1655 | inode->i_mode = btrfs_inode_mode(leaf, inode_item); |
1757 | set_nlink(inode, btrfs_inode_nlink(leaf, inode_item)); | 1656 | set_nlink(inode, btrfs_inode_nlink(leaf, inode_item)); |
1758 | - inode->i_uid = btrfs_inode_uid(leaf, inode_item); | 1657 | - i_uid_write(inode, btrfs_inode_uid(leaf, inode_item)); |
1759 | - inode->i_gid = btrfs_inode_gid(leaf, inode_item); | 1658 | - i_gid_write(inode, btrfs_inode_gid(leaf, inode_item)); |
1760 | + | 1659 | + |
1761 | + uid = btrfs_inode_uid(leaf, inode_item); | 1660 | + kuid = make_kuid(&init_user_ns, btrfs_inode_uid(leaf, inode_item)); |
1762 | + gid = btrfs_inode_gid(leaf, inode_item); | 1661 | + kgid = make_kgid(&init_user_ns, btrfs_inode_gid(leaf, inode_item)); |
1763 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 1662 | + ktag = make_ktag(&init_user_ns, btrfs_inode_tag(leaf, inode_item)); |
1764 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 1663 | + |
1765 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, | 1664 | + inode->i_uid = INOTAG_KUID(DX_TAG(inode), kuid, kgid); |
1766 | + btrfs_inode_tag(leaf, inode_item)); | 1665 | + inode->i_gid = INOTAG_KGID(DX_TAG(inode), kuid, kgid); |
1666 | + inode->i_tag = INOTAG_KTAG(DX_TAG(inode), kuid, kgid, ktag); | ||
1767 | btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item)); | 1667 | btrfs_i_size_write(inode, btrfs_inode_size(leaf, inode_item)); |
1768 | 1668 | ||
1769 | tspec = btrfs_inode_atime(inode_item); | 1669 | tspec = btrfs_inode_atime(inode_item); |
1770 | @@ -2588,8 +2596,14 @@ static void fill_inode_item(struct btrfs | 1670 | @@ -3446,11 +3456,18 @@ static void fill_inode_item(struct btrfs |
1771 | struct btrfs_inode_item *item, | ||
1772 | struct inode *inode) | 1671 | struct inode *inode) |
1773 | { | 1672 | { |
1774 | - btrfs_set_inode_uid(leaf, item, inode->i_uid); | 1673 | struct btrfs_map_token token; |
1775 | - btrfs_set_inode_gid(leaf, item, inode->i_gid); | 1674 | + uid_t uid = from_kuid(&init_user_ns, |
1776 | + uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | 1675 | + TAGINO_KUID(DX_TAG(inode), inode->i_uid, inode->i_tag)); |
1777 | + gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | 1676 | + gid_t gid = from_kgid(&init_user_ns, |
1778 | + | 1677 | + TAGINO_KGID(DX_TAG(inode), inode->i_gid, inode->i_tag)); |
1779 | + btrfs_set_inode_uid(leaf, item, uid); | 1678 | |
1780 | + btrfs_set_inode_gid(leaf, item, gid); | 1679 | btrfs_init_map_token(&token); |
1680 | |||
1681 | - btrfs_set_token_inode_uid(leaf, item, i_uid_read(inode), &token); | ||
1682 | - btrfs_set_token_inode_gid(leaf, item, i_gid_read(inode), &token); | ||
1683 | + btrfs_set_token_inode_uid(leaf, item, uid, &token); | ||
1684 | + btrfs_set_token_inode_gid(leaf, item, gid, &token); | ||
1781 | +#ifdef CONFIG_TAGGING_INTERN | 1685 | +#ifdef CONFIG_TAGGING_INTERN |
1782 | + btrfs_set_inode_tag(leaf, item, inode->i_tag); | 1686 | + btrfs_set_token_inode_tag(leaf, item, i_tag_read(inode), &token); |
1783 | +#endif | 1687 | +#endif |
1784 | btrfs_set_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size); | 1688 | btrfs_set_token_inode_size(leaf, item, BTRFS_I(inode)->disk_i_size, |
1785 | btrfs_set_inode_mode(leaf, item, inode->i_mode); | 1689 | &token); |
1786 | btrfs_set_inode_nlink(leaf, item, inode->i_nlink); | 1690 | btrfs_set_token_inode_mode(leaf, item, inode->i_mode, &token); |
1787 | @@ -7590,11 +7604,13 @@ static const struct inode_operations btr | 1691 | @@ -8720,11 +8737,13 @@ static const struct inode_operations btr |
1788 | .listxattr = btrfs_listxattr, | 1692 | .listxattr = btrfs_listxattr, |
1789 | .removexattr = btrfs_removexattr, | 1693 | .removexattr = btrfs_removexattr, |
1790 | .permission = btrfs_permission, | 1694 | .permission = btrfs_permission, |
@@ -1798,10 +1702,10 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/inode.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1798 | .get_acl = btrfs_get_acl, | 1702 | .get_acl = btrfs_get_acl, |
1799 | }; | 1703 | }; |
1800 | 1704 | ||
1801 | diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/btrfs/ioctl.c | 1705 | diff -NurpP --minimal linux-3.10.17/fs/btrfs/ioctl.c linux-3.10.17-vs2.3.6.6/fs/btrfs/ioctl.c |
1802 | --- linux-3.4.57/fs/btrfs/ioctl.c 2013-08-13 14:13:31.000000000 +0000 | 1706 | --- linux-3.10.17/fs/btrfs/ioctl.c 2013-10-25 15:17:42.000000000 +0000 |
1803 | +++ linux-3.4.57-vs2.3.3.9/fs/btrfs/ioctl.c 2013-07-14 13:38:34.000000000 +0000 | 1707 | +++ linux-3.10.17-vs2.3.6.6/fs/btrfs/ioctl.c 2013-10-09 17:37:22.000000000 +0000 |
1804 | @@ -71,10 +71,13 @@ static unsigned int btrfs_flags_to_ioctl | 1708 | @@ -75,10 +75,13 @@ static unsigned int btrfs_flags_to_ioctl |
1805 | { | 1709 | { |
1806 | unsigned int iflags = 0; | 1710 | unsigned int iflags = 0; |
1807 | 1711 | ||
@@ -1817,7 +1721,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1817 | if (flags & BTRFS_INODE_APPEND) | 1721 | if (flags & BTRFS_INODE_APPEND) |
1818 | iflags |= FS_APPEND_FL; | 1722 | iflags |= FS_APPEND_FL; |
1819 | if (flags & BTRFS_INODE_NODUMP) | 1723 | if (flags & BTRFS_INODE_NODUMP) |
1820 | @@ -91,28 +94,78 @@ static unsigned int btrfs_flags_to_ioctl | 1724 | @@ -95,28 +98,78 @@ static unsigned int btrfs_flags_to_ioctl |
1821 | else if (flags & BTRFS_INODE_NOCOMPRESS) | 1725 | else if (flags & BTRFS_INODE_NOCOMPRESS) |
1822 | iflags |= FS_NOCOMP_FL; | 1726 | iflags |= FS_NOCOMP_FL; |
1823 | 1727 | ||
@@ -1900,7 +1804,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1900 | } | 1804 | } |
1901 | 1805 | ||
1902 | /* | 1806 | /* |
1903 | @@ -128,6 +181,7 @@ void btrfs_inherit_iflags(struct inode * | 1807 | @@ -132,6 +185,7 @@ void btrfs_inherit_iflags(struct inode * |
1904 | return; | 1808 | return; |
1905 | 1809 | ||
1906 | flags = BTRFS_I(dir)->flags; | 1810 | flags = BTRFS_I(dir)->flags; |
@@ -1908,7 +1812,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1908 | 1812 | ||
1909 | if (flags & BTRFS_INODE_NOCOMPRESS) { | 1813 | if (flags & BTRFS_INODE_NOCOMPRESS) { |
1910 | BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS; | 1814 | BTRFS_I(inode)->flags &= ~BTRFS_INODE_COMPRESS; |
1911 | @@ -143,6 +197,30 @@ void btrfs_inherit_iflags(struct inode * | 1815 | @@ -150,6 +204,30 @@ void btrfs_inherit_iflags(struct inode * |
1912 | btrfs_update_iflags(inode); | 1816 | btrfs_update_iflags(inode); |
1913 | } | 1817 | } |
1914 | 1818 | ||
@@ -1938,8 +1842,8 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1938 | + | 1842 | + |
1939 | static int btrfs_ioctl_getflags(struct file *file, void __user *arg) | 1843 | static int btrfs_ioctl_getflags(struct file *file, void __user *arg) |
1940 | { | 1844 | { |
1941 | struct btrfs_inode *ip = BTRFS_I(file->f_path.dentry->d_inode); | 1845 | struct btrfs_inode *ip = BTRFS_I(file_inode(file)); |
1942 | @@ -199,7 +277,8 @@ static int btrfs_ioctl_setflags(struct f | 1846 | @@ -212,21 +290,27 @@ static int btrfs_ioctl_setflags(struct f |
1943 | 1847 | ||
1944 | flags = btrfs_mask_flags(inode->i_mode, flags); | 1848 | flags = btrfs_mask_flags(inode->i_mode, flags); |
1945 | oldflags = btrfs_flags_to_ioctl(ip->flags); | 1849 | oldflags = btrfs_flags_to_ioctl(ip->flags); |
@@ -1949,9 +1853,8 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1949 | if (!capable(CAP_LINUX_IMMUTABLE)) { | 1853 | if (!capable(CAP_LINUX_IMMUTABLE)) { |
1950 | ret = -EPERM; | 1854 | ret = -EPERM; |
1951 | goto out_unlock; | 1855 | goto out_unlock; |
1952 | @@ -210,14 +289,19 @@ static int btrfs_ioctl_setflags(struct f | 1856 | } |
1953 | if (ret) | 1857 | } |
1954 | goto out_unlock; | ||
1955 | 1858 | ||
1956 | - if (flags & FS_SYNC_FL) | 1859 | - if (flags & FS_SYNC_FL) |
1957 | - ip->flags |= BTRFS_INODE_SYNC; | 1860 | - ip->flags |= BTRFS_INODE_SYNC; |
@@ -1973,10 +1876,10 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1973 | if (flags & FS_APPEND_FL) | 1876 | if (flags & FS_APPEND_FL) |
1974 | ip->flags |= BTRFS_INODE_APPEND; | 1877 | ip->flags |= BTRFS_INODE_APPEND; |
1975 | else | 1878 | else |
1976 | diff -NurpP --minimal linux-3.4.57/fs/btrfs/super.c linux-3.4.57-vs2.3.3.9/fs/btrfs/super.c | 1879 | diff -NurpP --minimal linux-3.10.17/fs/btrfs/super.c linux-3.10.17-vs2.3.6.6/fs/btrfs/super.c |
1977 | --- linux-3.4.57/fs/btrfs/super.c 2012-05-21 16:07:19.000000000 +0000 | 1880 | --- linux-3.10.17/fs/btrfs/super.c 2013-07-14 17:01:26.000000000 +0000 |
1978 | +++ linux-3.4.57-vs2.3.3.9/fs/btrfs/super.c 2012-05-21 16:15:04.000000000 +0000 | 1881 | +++ linux-3.10.17-vs2.3.6.6/fs/btrfs/super.c 2013-08-22 20:29:59.000000000 +0000 |
1979 | @@ -279,7 +279,7 @@ enum { | 1882 | @@ -319,7 +319,7 @@ enum { |
1980 | Opt_no_space_cache, Opt_recovery, Opt_skip_balance, | 1883 | Opt_no_space_cache, Opt_recovery, Opt_skip_balance, |
1981 | Opt_check_integrity, Opt_check_integrity_including_extent_data, | 1884 | Opt_check_integrity, Opt_check_integrity_including_extent_data, |
1982 | Opt_check_integrity_print_mask, Opt_fatal_errors, | 1885 | Opt_check_integrity_print_mask, Opt_fatal_errors, |
@@ -1985,7 +1888,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/super.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1985 | }; | 1888 | }; |
1986 | 1889 | ||
1987 | static match_table_t tokens = { | 1890 | static match_table_t tokens = { |
1988 | @@ -319,6 +319,9 @@ static match_table_t tokens = { | 1891 | @@ -359,6 +359,9 @@ static match_table_t tokens = { |
1989 | {Opt_check_integrity_including_extent_data, "check_int_data"}, | 1892 | {Opt_check_integrity_including_extent_data, "check_int_data"}, |
1990 | {Opt_check_integrity_print_mask, "check_int_print_mask=%d"}, | 1893 | {Opt_check_integrity_print_mask, "check_int_print_mask=%d"}, |
1991 | {Opt_fatal_errors, "fatal_errors=%s"}, | 1894 | {Opt_fatal_errors, "fatal_errors=%s"}, |
@@ -1995,7 +1898,7 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/super.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
1995 | {Opt_err, NULL}, | 1898 | {Opt_err, NULL}, |
1996 | }; | 1899 | }; |
1997 | 1900 | ||
1998 | @@ -564,6 +567,22 @@ int btrfs_parse_options(struct btrfs_roo | 1901 | @@ -624,6 +627,22 @@ int btrfs_parse_options(struct btrfs_roo |
1999 | goto out; | 1902 | goto out; |
2000 | } | 1903 | } |
2001 | break; | 1904 | break; |
@@ -2018,9 +1921,9 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/super.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
2018 | case Opt_err: | 1921 | case Opt_err: |
2019 | printk(KERN_INFO "btrfs: unrecognized mount option " | 1922 | printk(KERN_INFO "btrfs: unrecognized mount option " |
2020 | "'%s'\n", p); | 1923 | "'%s'\n", p); |
2021 | @@ -1137,6 +1156,12 @@ static int btrfs_remount(struct super_bl | 1924 | @@ -1251,6 +1270,12 @@ static int btrfs_remount(struct super_bl |
2022 | goto restore; | 1925 | btrfs_resize_thread_pool(fs_info, |
2023 | } | 1926 | fs_info->thread_pool_size, old_thread_pool_size); |
2024 | 1927 | ||
2025 | + if (btrfs_test_opt(root, TAGGED) && !(sb->s_flags & MS_TAGGED)) { | 1928 | + if (btrfs_test_opt(root, TAGGED) && !(sb->s_flags & MS_TAGGED)) { |
2026 | + printk("btrfs: %s: tagging not permitted on remount.\n", | 1929 | + printk("btrfs: %s: tagging not permitted on remount.\n", |
@@ -2029,11 +1932,11 @@ diff -NurpP --minimal linux-3.4.57/fs/btrfs/super.c linux-3.4.57-vs2.3.3.9/fs/bt | |||
2029 | + } | 1932 | + } |
2030 | + | 1933 | + |
2031 | if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) | 1934 | if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) |
2032 | return 0; | 1935 | goto out; |
2033 | 1936 | ||
2034 | diff -NurpP --minimal linux-3.4.57/fs/char_dev.c linux-3.4.57-vs2.3.3.9/fs/char_dev.c | 1937 | diff -NurpP --minimal linux-3.10.17/fs/char_dev.c linux-3.10.17-vs2.3.6.6/fs/char_dev.c |
2035 | --- linux-3.4.57/fs/char_dev.c 2012-03-19 18:47:25.000000000 +0000 | 1938 | --- linux-3.10.17/fs/char_dev.c 2012-12-11 03:30:57.000000000 +0000 |
2036 | +++ linux-3.4.57-vs2.3.3.9/fs/char_dev.c 2012-05-21 16:15:04.000000000 +0000 | 1939 | +++ linux-3.10.17-vs2.3.6.6/fs/char_dev.c 2013-08-22 20:29:59.000000000 +0000 |
2037 | @@ -21,6 +21,8 @@ | 1940 | @@ -21,6 +21,8 @@ |
2038 | #include <linux/mutex.h> | 1941 | #include <linux/mutex.h> |
2039 | #include <linux/backing-dev.h> | 1942 | #include <linux/backing-dev.h> |
@@ -2066,9 +1969,9 @@ diff -NurpP --minimal linux-3.4.57/fs/char_dev.c linux-3.4.57-vs2.3.3.9/fs/char_ | |||
2066 | if (!kobj) | 1969 | if (!kobj) |
2067 | return -ENXIO; | 1970 | return -ENXIO; |
2068 | new = container_of(kobj, struct cdev, kobj); | 1971 | new = container_of(kobj, struct cdev, kobj); |
2069 | diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache.c | 1972 | diff -NurpP --minimal linux-3.10.17/fs/dcache.c linux-3.10.17-vs2.3.6.6/fs/dcache.c |
2070 | --- linux-3.4.57/fs/dcache.c 2013-08-13 14:13:32.000000000 +0000 | 1973 | --- linux-3.10.17/fs/dcache.c 2013-10-25 15:17:42.000000000 +0000 |
2071 | +++ linux-3.4.57-vs2.3.3.9/fs/dcache.c 2013-07-14 13:38:34.000000000 +0000 | 1974 | +++ linux-3.10.17-vs2.3.6.6/fs/dcache.c 2013-10-26 18:03:16.000000000 +0000 |
2072 | @@ -37,6 +37,7 @@ | 1975 | @@ -37,6 +37,7 @@ |
2073 | #include <linux/rculist_bl.h> | 1976 | #include <linux/rculist_bl.h> |
2074 | #include <linux/prefetch.h> | 1977 | #include <linux/prefetch.h> |
@@ -2077,7 +1980,7 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2077 | #include "internal.h" | 1980 | #include "internal.h" |
2078 | #include "mount.h" | 1981 | #include "mount.h" |
2079 | 1982 | ||
2080 | @@ -601,6 +602,8 @@ int d_invalidate(struct dentry * dentry) | 1983 | @@ -578,6 +579,8 @@ int d_invalidate(struct dentry * dentry) |
2081 | spin_lock(&dentry->d_lock); | 1984 | spin_lock(&dentry->d_lock); |
2082 | } | 1985 | } |
2083 | 1986 | ||
@@ -2086,7 +1989,7 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2086 | /* | 1989 | /* |
2087 | * Somebody else still using it? | 1990 | * Somebody else still using it? |
2088 | * | 1991 | * |
2089 | @@ -630,6 +633,7 @@ EXPORT_SYMBOL(d_invalidate); | 1992 | @@ -607,6 +610,7 @@ EXPORT_SYMBOL(d_invalidate); |
2090 | static inline void __dget_dlock(struct dentry *dentry) | 1993 | static inline void __dget_dlock(struct dentry *dentry) |
2091 | { | 1994 | { |
2092 | dentry->d_count++; | 1995 | dentry->d_count++; |
@@ -2094,7 +1997,7 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2094 | } | 1997 | } |
2095 | 1998 | ||
2096 | static inline void __dget(struct dentry *dentry) | 1999 | static inline void __dget(struct dentry *dentry) |
2097 | @@ -1260,6 +1264,9 @@ struct dentry *__d_alloc(struct super_bl | 2000 | @@ -1239,6 +1243,9 @@ struct dentry *__d_alloc(struct super_bl |
2098 | struct dentry *dentry; | 2001 | struct dentry *dentry; |
2099 | char *dname; | 2002 | char *dname; |
2100 | 2003 | ||
@@ -2104,7 +2007,7 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2104 | dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL); | 2007 | dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL); |
2105 | if (!dentry) | 2008 | if (!dentry) |
2106 | return NULL; | 2009 | return NULL; |
2107 | @@ -1282,6 +1289,7 @@ struct dentry *__d_alloc(struct super_bl | 2010 | @@ -1271,6 +1278,7 @@ struct dentry *__d_alloc(struct super_bl |
2108 | 2011 | ||
2109 | dentry->d_count = 1; | 2012 | dentry->d_count = 1; |
2110 | dentry->d_flags = 0; | 2013 | dentry->d_flags = 0; |
@@ -2112,7 +2015,7 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2112 | spin_lock_init(&dentry->d_lock); | 2015 | spin_lock_init(&dentry->d_lock); |
2113 | seqcount_init(&dentry->d_seq); | 2016 | seqcount_init(&dentry->d_seq); |
2114 | dentry->d_inode = NULL; | 2017 | dentry->d_inode = NULL; |
2115 | @@ -1943,6 +1951,7 @@ struct dentry *__d_lookup(struct dentry | 2018 | @@ -1971,6 +1979,7 @@ struct dentry *__d_lookup(const struct d |
2116 | } | 2019 | } |
2117 | 2020 | ||
2118 | dentry->d_count++; | 2021 | dentry->d_count++; |
@@ -2120,9 +2023,9 @@ diff -NurpP --minimal linux-3.4.57/fs/dcache.c linux-3.4.57-vs2.3.3.9/fs/dcache. | |||
2120 | found = dentry; | 2023 | found = dentry; |
2121 | spin_unlock(&dentry->d_lock); | 2024 | spin_unlock(&dentry->d_lock); |
2122 | break; | 2025 | break; |
2123 | diff -NurpP --minimal linux-3.4.57/fs/devpts/inode.c linux-3.4.57-vs2.3.3.9/fs/devpts/inode.c | 2026 | diff -NurpP --minimal linux-3.10.17/fs/devpts/inode.c linux-3.10.17-vs2.3.6.6/fs/devpts/inode.c |
2124 | --- linux-3.4.57/fs/devpts/inode.c 2012-05-21 16:07:20.000000000 +0000 | 2027 | --- linux-3.10.17/fs/devpts/inode.c 2013-05-31 13:45:23.000000000 +0000 |
2125 | +++ linux-3.4.57-vs2.3.3.9/fs/devpts/inode.c 2012-05-21 16:15:04.000000000 +0000 | 2028 | +++ linux-3.10.17-vs2.3.6.6/fs/devpts/inode.c 2013-08-22 20:29:59.000000000 +0000 |
2126 | @@ -25,6 +25,7 @@ | 2029 | @@ -25,6 +25,7 @@ |
2127 | #include <linux/parser.h> | 2030 | #include <linux/parser.h> |
2128 | #include <linux/fsnotify.h> | 2031 | #include <linux/fsnotify.h> |
@@ -2140,7 +2043,7 @@ diff -NurpP --minimal linux-3.4.57/fs/devpts/inode.c linux-3.4.57-vs2.3.3.9/fs/d | |||
2140 | + int ret = -EACCES; | 2043 | + int ret = -EACCES; |
2141 | + | 2044 | + |
2142 | + /* devpts is xid tagged */ | 2045 | + /* devpts is xid tagged */ |
2143 | + if (vx_check((xid_t)inode->i_tag, VS_WATCH_P | VS_IDENT)) | 2046 | + if (vx_check((vxid_t)i_tag_read(inode), VS_WATCH_P | VS_IDENT)) |
2144 | + ret = generic_permission(inode, mask); | 2047 | + ret = generic_permission(inode, mask); |
2145 | + return ret; | 2048 | + return ret; |
2146 | +} | 2049 | +} |
@@ -2153,17 +2056,17 @@ diff -NurpP --minimal linux-3.4.57/fs/devpts/inode.c linux-3.4.57-vs2.3.3.9/fs/d | |||
2153 | /* | 2056 | /* |
2154 | * sysctl support for setting limits on the number of Unix98 ptys allocated. | 2057 | * sysctl support for setting limits on the number of Unix98 ptys allocated. |
2155 | * Otherwise one can eat up all kernel memory by opening /dev/ptmx repeatedly. | 2058 | * Otherwise one can eat up all kernel memory by opening /dev/ptmx repeatedly. |
2156 | @@ -328,6 +344,34 @@ static int devpts_show_options(struct se | 2059 | @@ -345,6 +361,34 @@ static int devpts_show_options(struct se |
2157 | return 0; | 2060 | return 0; |
2158 | } | 2061 | } |
2159 | 2062 | ||
2160 | +static int devpts_filter(struct dentry *de) | 2063 | +static int devpts_filter(struct dentry *de) |
2161 | +{ | 2064 | +{ |
2162 | + xid_t xid = 0; | 2065 | + vxid_t xid = 0; |
2163 | + | 2066 | + |
2164 | + /* devpts is xid tagged */ | 2067 | + /* devpts is xid tagged */ |
2165 | + if (de && de->d_inode) | 2068 | + if (de && de->d_inode) |
2166 | + xid = (xid_t)de->d_inode->i_tag; | 2069 | + xid = (vxid_t)i_tag_read(de->d_inode); |
2167 | +#ifdef CONFIG_VSERVER_WARN_DEVPTS | 2070 | +#ifdef CONFIG_VSERVER_WARN_DEVPTS |
2168 | + else | 2071 | + else |
2169 | + vxwprintk_task(1, "devpts " VS_Q("%.*s") " without inode.", | 2072 | + vxwprintk_task(1, "devpts " VS_Q("%.*s") " without inode.", |
@@ -2188,7 +2091,7 @@ diff -NurpP --minimal linux-3.4.57/fs/devpts/inode.c linux-3.4.57-vs2.3.3.9/fs/d | |||
2188 | static const struct super_operations devpts_sops = { | 2091 | static const struct super_operations devpts_sops = { |
2189 | .statfs = simple_statfs, | 2092 | .statfs = simple_statfs, |
2190 | .remount_fs = devpts_remount, | 2093 | .remount_fs = devpts_remount, |
2191 | @@ -371,8 +415,10 @@ devpts_fill_super(struct super_block *s, | 2094 | @@ -388,8 +432,10 @@ devpts_fill_super(struct super_block *s, |
2192 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | 2095 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
2193 | inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; | 2096 | inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; |
2194 | inode->i_op = &simple_dir_inode_operations; | 2097 | inode->i_op = &simple_dir_inode_operations; |
@@ -2196,24 +2099,24 @@ diff -NurpP --minimal linux-3.4.57/fs/devpts/inode.c linux-3.4.57-vs2.3.3.9/fs/d | |||
2196 | + inode->i_fop = &devpts_dir_operations; | 2099 | + inode->i_fop = &devpts_dir_operations; |
2197 | set_nlink(inode, 2); | 2100 | set_nlink(inode, 2); |
2198 | + /* devpts is xid tagged */ | 2101 | + /* devpts is xid tagged */ |
2199 | + inode->i_tag = (tag_t)vx_current_xid(); | 2102 | + i_tag_write(inode, (vtag_t)vx_current_xid()); |
2200 | 2103 | ||
2201 | s->s_root = d_make_root(inode); | 2104 | s->s_root = d_make_root(inode); |
2202 | if (s->s_root) | 2105 | if (s->s_root) |
2203 | @@ -564,6 +610,9 @@ int devpts_pty_new(struct inode *ptmx_in | 2106 | @@ -592,6 +638,9 @@ struct inode *devpts_pty_new(struct inod |
2204 | inode->i_gid = opts->setgid ? opts->gid : current_fsgid(); | 2107 | inode->i_gid = opts->setgid ? opts->gid : current_fsgid(); |
2205 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | 2108 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
2206 | init_special_inode(inode, S_IFCHR|opts->mode, device); | 2109 | init_special_inode(inode, S_IFCHR|opts->mode, device); |
2207 | + /* devpts is xid tagged */ | 2110 | + /* devpts is xid tagged */ |
2208 | + inode->i_tag = (tag_t)vx_current_xid(); | 2111 | + i_tag_write(inode, (vtag_t)vx_current_xid()); |
2209 | + inode->i_op = &devpts_file_inode_operations; | 2112 | + inode->i_op = &devpts_file_inode_operations; |
2210 | inode->i_private = tty; | 2113 | inode->i_private = priv; |
2211 | tty->driver_data = inode; | ||
2212 | 2114 | ||
2213 | diff -NurpP --minimal linux-3.4.57/fs/ext2/balloc.c linux-3.4.57-vs2.3.3.9/fs/ext2/balloc.c | 2115 | sprintf(s, "%d", index); |
2214 | --- linux-3.4.57/fs/ext2/balloc.c 2012-01-09 15:14:54.000000000 +0000 | 2116 | diff -NurpP --minimal linux-3.10.17/fs/ext2/balloc.c linux-3.10.17-vs2.3.6.6/fs/ext2/balloc.c |
2215 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/balloc.c 2012-05-21 16:15:04.000000000 +0000 | 2117 | --- linux-3.10.17/fs/ext2/balloc.c 2013-05-31 13:45:23.000000000 +0000 |
2216 | @@ -701,7 +701,6 @@ ext2_try_to_allocate(struct super_block | 2118 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/balloc.c 2013-08-22 20:29:59.000000000 +0000 |
2119 | @@ -693,7 +693,6 @@ ext2_try_to_allocate(struct super_block | ||
2217 | start = 0; | 2120 | start = 0; |
2218 | end = EXT2_BLOCKS_PER_GROUP(sb); | 2121 | end = EXT2_BLOCKS_PER_GROUP(sb); |
2219 | } | 2122 | } |
@@ -2221,9 +2124,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/balloc.c linux-3.4.57-vs2.3.3.9/fs/ex | |||
2221 | BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb)); | 2124 | BUG_ON(start > EXT2_BLOCKS_PER_GROUP(sb)); |
2222 | 2125 | ||
2223 | repeat: | 2126 | repeat: |
2224 | diff -NurpP --minimal linux-3.4.57/fs/ext2/ext2.h linux-3.4.57-vs2.3.3.9/fs/ext2/ext2.h | 2127 | diff -NurpP --minimal linux-3.10.17/fs/ext2/ext2.h linux-3.10.17-vs2.3.6.6/fs/ext2/ext2.h |
2225 | --- linux-3.4.57/fs/ext2/ext2.h 2012-05-21 16:07:20.000000000 +0000 | 2128 | --- linux-3.10.17/fs/ext2/ext2.h 2012-12-11 03:30:57.000000000 +0000 |
2226 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/ext2.h 2012-05-21 16:15:05.000000000 +0000 | 2129 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/ext2.h 2013-08-22 20:29:59.000000000 +0000 |
2227 | @@ -244,8 +244,12 @@ struct ext2_group_desc | 2130 | @@ -244,8 +244,12 @@ struct ext2_group_desc |
2228 | #define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ | 2131 | #define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ |
2229 | #define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ | 2132 | #define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ |
@@ -2271,18 +2174,18 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/ext2.h linux-3.4.57-vs2.3.3.9/fs/ext2 | |||
2271 | 2174 | ||
2272 | /* ioctl.c */ | 2175 | /* ioctl.c */ |
2273 | extern long ext2_ioctl(struct file *, unsigned int, unsigned long); | 2176 | extern long ext2_ioctl(struct file *, unsigned int, unsigned long); |
2274 | diff -NurpP --minimal linux-3.4.57/fs/ext2/file.c linux-3.4.57-vs2.3.3.9/fs/ext2/file.c | 2177 | diff -NurpP --minimal linux-3.10.17/fs/ext2/file.c linux-3.10.17-vs2.3.6.6/fs/ext2/file.c |
2275 | --- linux-3.4.57/fs/ext2/file.c 2011-10-24 16:45:27.000000000 +0000 | 2178 | --- linux-3.10.17/fs/ext2/file.c 2012-12-11 03:30:57.000000000 +0000 |
2276 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/file.c 2012-05-21 16:15:05.000000000 +0000 | 2179 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/file.c 2013-08-22 20:29:59.000000000 +0000 |
2277 | @@ -104,4 +104,5 @@ const struct inode_operations ext2_file_ | 2180 | @@ -104,4 +104,5 @@ const struct inode_operations ext2_file_ |
2278 | .setattr = ext2_setattr, | 2181 | .setattr = ext2_setattr, |
2279 | .get_acl = ext2_get_acl, | 2182 | .get_acl = ext2_get_acl, |
2280 | .fiemap = ext2_fiemap, | 2183 | .fiemap = ext2_fiemap, |
2281 | + .sync_flags = ext2_sync_flags, | 2184 | + .sync_flags = ext2_sync_flags, |
2282 | }; | 2185 | }; |
2283 | diff -NurpP --minimal linux-3.4.57/fs/ext2/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ext2/ialloc.c | 2186 | diff -NurpP --minimal linux-3.10.17/fs/ext2/ialloc.c linux-3.10.17-vs2.3.6.6/fs/ext2/ialloc.c |
2284 | --- linux-3.4.57/fs/ext2/ialloc.c 2012-03-19 18:47:25.000000000 +0000 | 2187 | --- linux-3.10.17/fs/ext2/ialloc.c 2013-05-31 13:45:23.000000000 +0000 |
2285 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/ialloc.c 2012-05-21 16:15:05.000000000 +0000 | 2188 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/ialloc.c 2013-08-22 20:29:59.000000000 +0000 |
2286 | @@ -17,6 +17,7 @@ | 2189 | @@ -17,6 +17,7 @@ |
2287 | #include <linux/backing-dev.h> | 2190 | #include <linux/backing-dev.h> |
2288 | #include <linux/buffer_head.h> | 2191 | #include <linux/buffer_head.h> |
@@ -2291,26 +2194,26 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ex | |||
2291 | #include "ext2.h" | 2194 | #include "ext2.h" |
2292 | #include "xattr.h" | 2195 | #include "xattr.h" |
2293 | #include "acl.h" | 2196 | #include "acl.h" |
2294 | @@ -549,6 +550,7 @@ got: | 2197 | @@ -546,6 +547,7 @@ got: |
2295 | inode->i_mode = mode; | 2198 | inode->i_mode = mode; |
2296 | inode->i_uid = current_fsuid(); | 2199 | inode->i_uid = current_fsuid(); |
2297 | inode->i_gid = dir->i_gid; | 2200 | inode->i_gid = dir->i_gid; |
2298 | + inode->i_tag = dx_current_fstag(sb); | 2201 | + i_tag_write(inode, dx_current_fstag(sb)); |
2299 | } else | 2202 | } else |
2300 | inode_init_owner(inode, dir, mode); | 2203 | inode_init_owner(inode, dir, mode); |
2301 | 2204 | ||
2302 | diff -NurpP --minimal linux-3.4.57/fs/ext2/inode.c linux-3.4.57-vs2.3.3.9/fs/ext2/inode.c | 2205 | diff -NurpP --minimal linux-3.10.17/fs/ext2/inode.c linux-3.10.17-vs2.3.6.6/fs/ext2/inode.c |
2303 | --- linux-3.4.57/fs/ext2/inode.c 2012-03-19 18:47:25.000000000 +0000 | 2206 | --- linux-3.10.17/fs/ext2/inode.c 2013-07-14 17:01:27.000000000 +0000 |
2304 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/inode.c 2012-05-21 16:15:05.000000000 +0000 | 2207 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/inode.c 2013-08-22 21:46:54.000000000 +0000 |
2305 | @@ -31,6 +31,7 @@ | 2208 | @@ -32,6 +32,7 @@ |
2306 | #include <linux/mpage.h> | ||
2307 | #include <linux/fiemap.h> | 2209 | #include <linux/fiemap.h> |
2308 | #include <linux/namei.h> | 2210 | #include <linux/namei.h> |
2211 | #include <linux/aio.h> | ||
2309 | +#include <linux/vs_tag.h> | 2212 | +#include <linux/vs_tag.h> |
2310 | #include "ext2.h" | 2213 | #include "ext2.h" |
2311 | #include "acl.h" | 2214 | #include "acl.h" |
2312 | #include "xip.h" | 2215 | #include "xip.h" |
2313 | @@ -1162,7 +1163,7 @@ static void ext2_truncate_blocks(struct | 2216 | @@ -1180,7 +1181,7 @@ static void ext2_truncate_blocks(struct |
2314 | return; | 2217 | return; |
2315 | if (ext2_inode_is_fast_symlink(inode)) | 2218 | if (ext2_inode_is_fast_symlink(inode)) |
2316 | return; | 2219 | return; |
@@ -2319,7 +2222,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2319 | return; | 2222 | return; |
2320 | __ext2_truncate_blocks(inode, offset); | 2223 | __ext2_truncate_blocks(inode, offset); |
2321 | } | 2224 | } |
2322 | @@ -1253,36 +1254,61 @@ void ext2_set_inode_flags(struct inode * | 2225 | @@ -1271,36 +1272,61 @@ void ext2_set_inode_flags(struct inode * |
2323 | { | 2226 | { |
2324 | unsigned int flags = EXT2_I(inode)->i_flags; | 2227 | unsigned int flags = EXT2_I(inode)->i_flags; |
2325 | 2228 | ||
@@ -2388,70 +2291,55 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2388 | } | 2291 | } |
2389 | 2292 | ||
2390 | struct inode *ext2_iget (struct super_block *sb, unsigned long ino) | 2293 | struct inode *ext2_iget (struct super_block *sb, unsigned long ino) |
2391 | @@ -1292,6 +1318,8 @@ struct inode *ext2_iget (struct super_bl | 2294 | @@ -1336,8 +1362,10 @@ struct inode *ext2_iget (struct super_bl |
2392 | struct ext2_inode *raw_inode; | 2295 | i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; |
2393 | struct inode *inode; | 2296 | i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; |
2394 | long ret = -EIO; | ||
2395 | + uid_t uid; | ||
2396 | + gid_t gid; | ||
2397 | int n; | ||
2398 | |||
2399 | inode = iget_locked(sb, ino); | ||
2400 | @@ -1310,12 +1338,16 @@ struct inode *ext2_iget (struct super_bl | ||
2401 | } | ||
2402 | |||
2403 | inode->i_mode = le16_to_cpu(raw_inode->i_mode); | ||
2404 | - inode->i_uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
2405 | - inode->i_gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
2406 | + uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
2407 | + gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
2408 | if (!(test_opt (inode->i_sb, NO_UID32))) { | ||
2409 | - inode->i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
2410 | - inode->i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
2411 | + uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
2412 | + gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
2413 | } | 2297 | } |
2414 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 2298 | - i_uid_write(inode, i_uid); |
2415 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 2299 | - i_gid_write(inode, i_gid); |
2416 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, | 2300 | + i_uid_write(inode, INOTAG_UID(DX_TAG(inode), i_uid, i_gid)); |
2417 | + le16_to_cpu(raw_inode->i_raw_tag)); | 2301 | + i_gid_write(inode, INOTAG_GID(DX_TAG(inode), i_uid, i_gid)); |
2302 | + i_tag_write(inode, INOTAG_TAG(DX_TAG(inode), i_uid, i_gid, | ||
2303 | + le16_to_cpu(raw_inode->i_raw_tag))); | ||
2418 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); | 2304 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); |
2419 | inode->i_size = le32_to_cpu(raw_inode->i_size); | 2305 | inode->i_size = le32_to_cpu(raw_inode->i_size); |
2420 | inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); | 2306 | inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); |
2421 | @@ -1413,8 +1445,8 @@ static int __ext2_write_inode(struct ino | 2307 | @@ -1435,8 +1463,10 @@ static int __ext2_write_inode(struct ino |
2422 | struct ext2_inode_info *ei = EXT2_I(inode); | 2308 | struct ext2_inode_info *ei = EXT2_I(inode); |
2423 | struct super_block *sb = inode->i_sb; | 2309 | struct super_block *sb = inode->i_sb; |
2424 | ino_t ino = inode->i_ino; | 2310 | ino_t ino = inode->i_ino; |
2425 | - uid_t uid = inode->i_uid; | 2311 | - uid_t uid = i_uid_read(inode); |
2426 | - gid_t gid = inode->i_gid; | 2312 | - gid_t gid = i_gid_read(inode); |
2427 | + uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | 2313 | + uid_t uid = from_kuid(&init_user_ns, |
2428 | + gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | 2314 | + TAGINO_KUID(DX_TAG(inode), inode->i_uid, inode->i_tag)); |
2315 | + gid_t gid = from_kgid(&init_user_ns, | ||
2316 | + TAGINO_KGID(DX_TAG(inode), inode->i_gid, inode->i_tag)); | ||
2429 | struct buffer_head * bh; | 2317 | struct buffer_head * bh; |
2430 | struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh); | 2318 | struct ext2_inode * raw_inode = ext2_get_inode(sb, ino, &bh); |
2431 | int n; | 2319 | int n; |
2432 | @@ -1450,6 +1482,9 @@ static int __ext2_write_inode(struct ino | 2320 | @@ -1472,6 +1502,9 @@ static int __ext2_write_inode(struct ino |
2433 | raw_inode->i_uid_high = 0; | 2321 | raw_inode->i_uid_high = 0; |
2434 | raw_inode->i_gid_high = 0; | 2322 | raw_inode->i_gid_high = 0; |
2435 | } | 2323 | } |
2436 | +#ifdef CONFIG_TAGGING_INTERN | 2324 | +#ifdef CONFIG_TAGGING_INTERN |
2437 | + raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); | 2325 | + raw_inode->i_raw_tag = cpu_to_le16(i_tag_read(inode)); |
2438 | +#endif | 2326 | +#endif |
2439 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); | 2327 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); |
2440 | raw_inode->i_size = cpu_to_le32(inode->i_size); | 2328 | raw_inode->i_size = cpu_to_le32(inode->i_size); |
2441 | raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec); | 2329 | raw_inode->i_atime = cpu_to_le32(inode->i_atime.tv_sec); |
2442 | @@ -1530,7 +1565,8 @@ int ext2_setattr(struct dentry *dentry, | 2330 | @@ -1552,7 +1585,8 @@ int ext2_setattr(struct dentry *dentry, |
2443 | if (is_quota_modification(inode, iattr)) | 2331 | if (is_quota_modification(inode, iattr)) |
2444 | dquot_initialize(inode); | 2332 | dquot_initialize(inode); |
2445 | if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || | 2333 | if ((iattr->ia_valid & ATTR_UID && !uid_eq(iattr->ia_uid, inode->i_uid)) || |
2446 | - (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) { | 2334 | - (iattr->ia_valid & ATTR_GID && !gid_eq(iattr->ia_gid, inode->i_gid))) { |
2447 | + (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid) || | 2335 | + (iattr->ia_valid & ATTR_GID && !gid_eq(iattr->ia_gid, inode->i_gid)) || |
2448 | + (iattr->ia_valid & ATTR_TAG && iattr->ia_tag != inode->i_tag)) { | 2336 | + (iattr->ia_valid & ATTR_TAG && !tag_eq(iattr->ia_tag, inode->i_tag))) { |
2449 | error = dquot_transfer(inode, iattr); | 2337 | error = dquot_transfer(inode, iattr); |
2450 | if (error) | 2338 | if (error) |
2451 | return error; | 2339 | return error; |
2452 | diff -NurpP --minimal linux-3.4.57/fs/ext2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext2/ioctl.c | 2340 | diff -NurpP --minimal linux-3.10.17/fs/ext2/ioctl.c linux-3.10.17-vs2.3.6.6/fs/ext2/ioctl.c |
2453 | --- linux-3.4.57/fs/ext2/ioctl.c 2012-03-19 18:47:25.000000000 +0000 | 2341 | --- linux-3.10.17/fs/ext2/ioctl.c 2013-05-31 13:45:23.000000000 +0000 |
2454 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 2342 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
2455 | @@ -17,6 +17,16 @@ | 2343 | @@ -17,6 +17,16 @@ |
2456 | #include <asm/uaccess.h> | 2344 | #include <asm/uaccess.h> |
2457 | 2345 | ||
@@ -2468,7 +2356,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2468 | + | 2356 | + |
2469 | long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 2357 | long ext2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
2470 | { | 2358 | { |
2471 | struct inode *inode = filp->f_dentry->d_inode; | 2359 | struct inode *inode = file_inode(filp); |
2472 | @@ -51,6 +61,11 @@ long ext2_ioctl(struct file *filp, unsig | 2360 | @@ -51,6 +61,11 @@ long ext2_ioctl(struct file *filp, unsig |
2473 | 2361 | ||
2474 | flags = ext2_mask_flags(inode->i_mode, flags); | 2362 | flags = ext2_mask_flags(inode->i_mode, flags); |
@@ -2501,9 +2389,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2501 | flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE; | 2389 | flags |= oldflags & ~EXT2_FL_USER_MODIFIABLE; |
2502 | ei->i_flags = flags; | 2390 | ei->i_flags = flags; |
2503 | 2391 | ||
2504 | diff -NurpP --minimal linux-3.4.57/fs/ext2/namei.c linux-3.4.57-vs2.3.3.9/fs/ext2/namei.c | 2392 | diff -NurpP --minimal linux-3.10.17/fs/ext2/namei.c linux-3.10.17-vs2.3.6.6/fs/ext2/namei.c |
2505 | --- linux-3.4.57/fs/ext2/namei.c 2012-05-21 16:07:20.000000000 +0000 | 2393 | --- linux-3.10.17/fs/ext2/namei.c 2012-12-11 03:30:57.000000000 +0000 |
2506 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/namei.c 2012-05-21 16:15:05.000000000 +0000 | 2394 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/namei.c 2013-08-22 20:29:59.000000000 +0000 |
2507 | @@ -32,6 +32,7 @@ | 2395 | @@ -32,6 +32,7 @@ |
2508 | 2396 | ||
2509 | #include <linux/pagemap.h> | 2397 | #include <linux/pagemap.h> |
@@ -2528,10 +2416,10 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2528 | .get_acl = ext2_get_acl, | 2416 | .get_acl = ext2_get_acl, |
2529 | }; | 2417 | }; |
2530 | 2418 | ||
2531 | diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext2/super.c | 2419 | diff -NurpP --minimal linux-3.10.17/fs/ext2/super.c linux-3.10.17-vs2.3.6.6/fs/ext2/super.c |
2532 | --- linux-3.4.57/fs/ext2/super.c 2012-05-21 16:07:20.000000000 +0000 | 2420 | --- linux-3.10.17/fs/ext2/super.c 2013-05-31 13:45:23.000000000 +0000 |
2533 | +++ linux-3.4.57-vs2.3.3.9/fs/ext2/super.c 2012-05-21 16:15:05.000000000 +0000 | 2421 | +++ linux-3.10.17-vs2.3.6.6/fs/ext2/super.c 2013-08-22 20:29:59.000000000 +0000 |
2534 | @@ -393,7 +393,8 @@ enum { | 2422 | @@ -395,7 +395,8 @@ enum { |
2535 | Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug, | 2423 | Opt_err_ro, Opt_nouid32, Opt_nocheck, Opt_debug, |
2536 | Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr, | 2424 | Opt_oldalloc, Opt_orlov, Opt_nobh, Opt_user_xattr, Opt_nouser_xattr, |
2537 | Opt_acl, Opt_noacl, Opt_xip, Opt_ignore, Opt_err, Opt_quota, | 2425 | Opt_acl, Opt_noacl, Opt_xip, Opt_ignore, Opt_err, Opt_quota, |
@@ -2541,7 +2429,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2541 | }; | 2429 | }; |
2542 | 2430 | ||
2543 | static const match_table_t tokens = { | 2431 | static const match_table_t tokens = { |
2544 | @@ -421,6 +422,9 @@ static const match_table_t tokens = { | 2432 | @@ -423,6 +424,9 @@ static const match_table_t tokens = { |
2545 | {Opt_acl, "acl"}, | 2433 | {Opt_acl, "acl"}, |
2546 | {Opt_noacl, "noacl"}, | 2434 | {Opt_noacl, "noacl"}, |
2547 | {Opt_xip, "xip"}, | 2435 | {Opt_xip, "xip"}, |
@@ -2551,7 +2439,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2551 | {Opt_grpquota, "grpquota"}, | 2439 | {Opt_grpquota, "grpquota"}, |
2552 | {Opt_ignore, "noquota"}, | 2440 | {Opt_ignore, "noquota"}, |
2553 | {Opt_quota, "quota"}, | 2441 | {Opt_quota, "quota"}, |
2554 | @@ -491,6 +495,20 @@ static int parse_options(char *options, | 2442 | @@ -506,6 +510,20 @@ static int parse_options(char *options, |
2555 | case Opt_nouid32: | 2443 | case Opt_nouid32: |
2556 | set_opt (sbi->s_mount_opt, NO_UID32); | 2444 | set_opt (sbi->s_mount_opt, NO_UID32); |
2557 | break; | 2445 | break; |
@@ -2572,7 +2460,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2572 | case Opt_nocheck: | 2460 | case Opt_nocheck: |
2573 | clear_opt (sbi->s_mount_opt, CHECK); | 2461 | clear_opt (sbi->s_mount_opt, CHECK); |
2574 | break; | 2462 | break; |
2575 | @@ -849,6 +867,8 @@ static int ext2_fill_super(struct super_ | 2463 | @@ -864,6 +882,8 @@ static int ext2_fill_super(struct super_ |
2576 | if (!parse_options((char *) data, sb)) | 2464 | if (!parse_options((char *) data, sb)) |
2577 | goto failed_mount; | 2465 | goto failed_mount; |
2578 | 2466 | ||
@@ -2581,7 +2469,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2581 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 2469 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
2582 | ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? | 2470 | ((EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? |
2583 | MS_POSIXACL : 0); | 2471 | MS_POSIXACL : 0); |
2584 | @@ -1222,6 +1242,14 @@ static int ext2_remount (struct super_bl | 2472 | @@ -1269,6 +1289,14 @@ static int ext2_remount (struct super_bl |
2585 | err = -EINVAL; | 2473 | err = -EINVAL; |
2586 | goto restore_opts; | 2474 | goto restore_opts; |
2587 | } | 2475 | } |
@@ -2596,9 +2484,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext2/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2596 | 2484 | ||
2597 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 2485 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
2598 | ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0); | 2486 | ((sbi->s_mount_opt & EXT2_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0); |
2599 | diff -NurpP --minimal linux-3.4.57/fs/ext3/ext3.h linux-3.4.57-vs2.3.3.9/fs/ext3/ext3.h | 2487 | diff -NurpP --minimal linux-3.10.17/fs/ext3/ext3.h linux-3.10.17-vs2.3.6.6/fs/ext3/ext3.h |
2600 | --- linux-3.4.57/fs/ext3/ext3.h 2012-05-21 16:07:20.000000000 +0000 | 2488 | --- linux-3.10.17/fs/ext3/ext3.h 2012-12-11 03:30:57.000000000 +0000 |
2601 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/ext3.h 2012-05-21 17:13:31.000000000 +0000 | 2489 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/ext3.h 2013-08-22 20:29:59.000000000 +0000 |
2602 | @@ -151,10 +151,14 @@ struct ext3_group_desc | 2490 | @@ -151,10 +151,14 @@ struct ext3_group_desc |
2603 | #define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */ | 2491 | #define EXT3_NOTAIL_FL 0x00008000 /* file tail should not be merged */ |
2604 | #define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */ | 2492 | #define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */ |
@@ -2642,7 +2530,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/ext3.h linux-3.4.57-vs2.3.3.9/fs/ext3 | |||
2642 | 2530 | ||
2643 | /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ | 2531 | /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ |
2644 | #ifndef _LINUX_EXT2_FS_H | 2532 | #ifndef _LINUX_EXT2_FS_H |
2645 | @@ -1057,6 +1064,7 @@ extern void ext3_get_inode_flags(struct | 2533 | @@ -1061,6 +1068,7 @@ extern void ext3_get_inode_flags(struct |
2646 | extern void ext3_set_aops(struct inode *inode); | 2534 | extern void ext3_set_aops(struct inode *inode); |
2647 | extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | 2535 | extern int ext3_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, |
2648 | u64 start, u64 len); | 2536 | u64 start, u64 len); |
@@ -2650,9 +2538,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/ext3.h linux-3.4.57-vs2.3.3.9/fs/ext3 | |||
2650 | 2538 | ||
2651 | /* ioctl.c */ | 2539 | /* ioctl.c */ |
2652 | extern long ext3_ioctl(struct file *, unsigned int, unsigned long); | 2540 | extern long ext3_ioctl(struct file *, unsigned int, unsigned long); |
2653 | diff -NurpP --minimal linux-3.4.57/fs/ext3/file.c linux-3.4.57-vs2.3.3.9/fs/ext3/file.c | 2541 | diff -NurpP --minimal linux-3.10.17/fs/ext3/file.c linux-3.10.17-vs2.3.6.6/fs/ext3/file.c |
2654 | --- linux-3.4.57/fs/ext3/file.c 2012-05-21 16:07:20.000000000 +0000 | 2542 | --- linux-3.10.17/fs/ext3/file.c 2012-12-11 03:30:57.000000000 +0000 |
2655 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/file.c 2012-05-21 16:15:05.000000000 +0000 | 2543 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/file.c 2013-08-22 20:29:59.000000000 +0000 |
2656 | @@ -76,5 +76,6 @@ const struct inode_operations ext3_file_ | 2544 | @@ -76,5 +76,6 @@ const struct inode_operations ext3_file_ |
2657 | #endif | 2545 | #endif |
2658 | .get_acl = ext3_get_acl, | 2546 | .get_acl = ext3_get_acl, |
@@ -2660,9 +2548,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/file.c linux-3.4.57-vs2.3.3.9/fs/ext3 | |||
2660 | + .sync_flags = ext3_sync_flags, | 2548 | + .sync_flags = ext3_sync_flags, |
2661 | }; | 2549 | }; |
2662 | 2550 | ||
2663 | diff -NurpP --minimal linux-3.4.57/fs/ext3/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ext3/ialloc.c | 2551 | diff -NurpP --minimal linux-3.10.17/fs/ext3/ialloc.c linux-3.10.17-vs2.3.6.6/fs/ext3/ialloc.c |
2664 | --- linux-3.4.57/fs/ext3/ialloc.c 2012-05-21 16:07:20.000000000 +0000 | 2552 | --- linux-3.10.17/fs/ext3/ialloc.c 2012-12-11 03:30:57.000000000 +0000 |
2665 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/ialloc.c 2012-05-21 16:15:05.000000000 +0000 | 2553 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/ialloc.c 2013-08-22 20:29:59.000000000 +0000 |
2666 | @@ -14,6 +14,7 @@ | 2554 | @@ -14,6 +14,7 @@ |
2667 | 2555 | ||
2668 | #include <linux/quotaops.h> | 2556 | #include <linux/quotaops.h> |
@@ -2671,27 +2559,27 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ex | |||
2671 | 2559 | ||
2672 | #include "ext3.h" | 2560 | #include "ext3.h" |
2673 | #include "xattr.h" | 2561 | #include "xattr.h" |
2674 | @@ -485,6 +486,7 @@ got: | 2562 | @@ -469,6 +470,7 @@ got: |
2675 | inode->i_mode = mode; | 2563 | inode->i_mode = mode; |
2676 | inode->i_uid = current_fsuid(); | 2564 | inode->i_uid = current_fsuid(); |
2677 | inode->i_gid = dir->i_gid; | 2565 | inode->i_gid = dir->i_gid; |
2678 | + inode->i_tag = dx_current_fstag(sb); | 2566 | + i_tag_write(inode, dx_current_fstag(sb)); |
2679 | } else | 2567 | } else |
2680 | inode_init_owner(inode, dir, mode); | 2568 | inode_init_owner(inode, dir, mode); |
2681 | 2569 | ||
2682 | diff -NurpP --minimal linux-3.4.57/fs/ext3/inode.c linux-3.4.57-vs2.3.3.9/fs/ext3/inode.c | 2570 | diff -NurpP --minimal linux-3.10.17/fs/ext3/inode.c linux-3.10.17-vs2.3.6.6/fs/ext3/inode.c |
2683 | --- linux-3.4.57/fs/ext3/inode.c 2013-08-13 14:13:32.000000000 +0000 | 2571 | --- linux-3.10.17/fs/ext3/inode.c 2013-07-14 17:01:27.000000000 +0000 |
2684 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/inode.c 2013-08-13 17:07:36.000000000 +0000 | 2572 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/inode.c 2013-08-22 21:21:18.000000000 +0000 |
2685 | @@ -27,6 +27,8 @@ | 2573 | @@ -28,6 +28,8 @@ |
2686 | #include <linux/writeback.h> | ||
2687 | #include <linux/mpage.h> | 2574 | #include <linux/mpage.h> |
2688 | #include <linux/namei.h> | 2575 | #include <linux/namei.h> |
2576 | #include <linux/aio.h> | ||
2689 | +#include <linux/vs_tag.h> | 2577 | +#include <linux/vs_tag.h> |
2690 | + | 2578 | + |
2691 | #include "ext3.h" | 2579 | #include "ext3.h" |
2692 | #include "xattr.h" | 2580 | #include "xattr.h" |
2693 | #include "acl.h" | 2581 | #include "acl.h" |
2694 | @@ -2849,36 +2851,60 @@ void ext3_set_inode_flags(struct inode * | 2582 | @@ -2853,36 +2855,60 @@ void ext3_set_inode_flags(struct inode * |
2695 | { | 2583 | { |
2696 | unsigned int flags = EXT3_I(inode)->i_flags; | 2584 | unsigned int flags = EXT3_I(inode)->i_flags; |
2697 | 2585 | ||
@@ -2759,95 +2647,53 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2759 | } | 2647 | } |
2760 | 2648 | ||
2761 | struct inode *ext3_iget(struct super_block *sb, unsigned long ino) | 2649 | struct inode *ext3_iget(struct super_block *sb, unsigned long ino) |
2762 | @@ -2892,6 +2918,8 @@ struct inode *ext3_iget(struct super_blo | 2650 | @@ -2920,8 +2946,10 @@ struct inode *ext3_iget(struct super_blo |
2763 | transaction_t *transaction; | 2651 | i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; |
2764 | long ret; | 2652 | i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; |
2765 | int block; | ||
2766 | + uid_t uid; | ||
2767 | + gid_t gid; | ||
2768 | |||
2769 | inode = iget_locked(sb, ino); | ||
2770 | if (!inode) | ||
2771 | @@ -2908,12 +2936,16 @@ struct inode *ext3_iget(struct super_blo | ||
2772 | bh = iloc.bh; | ||
2773 | raw_inode = ext3_raw_inode(&iloc); | ||
2774 | inode->i_mode = le16_to_cpu(raw_inode->i_mode); | ||
2775 | - inode->i_uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
2776 | - inode->i_gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
2777 | + uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
2778 | + gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
2779 | if(!(test_opt (inode->i_sb, NO_UID32))) { | ||
2780 | - inode->i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
2781 | - inode->i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
2782 | + uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
2783 | + gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
2784 | } | 2653 | } |
2785 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 2654 | - i_uid_write(inode, i_uid); |
2786 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 2655 | - i_gid_write(inode, i_gid); |
2787 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, | 2656 | + i_uid_write(inode, INOTAG_UID(DX_TAG(inode), i_uid, i_gid)); |
2788 | + le16_to_cpu(raw_inode->i_raw_tag)); | 2657 | + i_gid_write(inode, INOTAG_GID(DX_TAG(inode), i_uid, i_gid)); |
2658 | + i_tag_write(inode, INOTAG_TAG(DX_TAG(inode), i_uid, i_gid, | ||
2659 | + le16_to_cpu(raw_inode->i_raw_tag))); | ||
2789 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); | 2660 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); |
2790 | inode->i_size = le32_to_cpu(raw_inode->i_size); | 2661 | inode->i_size = le32_to_cpu(raw_inode->i_size); |
2791 | inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); | 2662 | inode->i_atime.tv_sec = (signed)le32_to_cpu(raw_inode->i_atime); |
2792 | @@ -3068,6 +3100,8 @@ static int ext3_do_update_inode(handle_t | 2663 | @@ -3093,8 +3121,10 @@ again: |
2793 | struct ext3_inode *raw_inode = ext3_raw_inode(iloc); | 2664 | |
2794 | struct ext3_inode_info *ei = EXT3_I(inode); | ||
2795 | struct buffer_head *bh = iloc->bh; | ||
2796 | + uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | ||
2797 | + gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | ||
2798 | int err = 0, rc, block; | ||
2799 | int need_datasync = 0; | ||
2800 | __le32 disksize; | ||
2801 | @@ -3084,29 +3118,32 @@ again: | ||
2802 | ext3_get_inode_flags(ei); | 2665 | ext3_get_inode_flags(ei); |
2803 | raw_inode->i_mode = cpu_to_le16(inode->i_mode); | 2666 | raw_inode->i_mode = cpu_to_le16(inode->i_mode); |
2667 | - i_uid = i_uid_read(inode); | ||
2668 | - i_gid = i_gid_read(inode); | ||
2669 | + i_uid = from_kuid(&init_user_ns, | ||
2670 | + TAGINO_KUID(DX_TAG(inode), inode->i_uid, inode->i_tag)); | ||
2671 | + i_gid = from_kgid(&init_user_ns, | ||
2672 | + TAGINO_KGID(DX_TAG(inode), inode->i_gid, inode->i_tag)); | ||
2804 | if(!(test_opt(inode->i_sb, NO_UID32))) { | 2673 | if(!(test_opt(inode->i_sb, NO_UID32))) { |
2805 | - raw_inode->i_uid_low = cpu_to_le16(low_16_bits(inode->i_uid)); | 2674 | raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid)); |
2806 | - raw_inode->i_gid_low = cpu_to_le16(low_16_bits(inode->i_gid)); | 2675 | raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid)); |
2807 | + raw_inode->i_uid_low = cpu_to_le16(low_16_bits(uid)); | 2676 | @@ -3119,6 +3149,9 @@ again: |
2808 | + raw_inode->i_gid_low = cpu_to_le16(low_16_bits(gid)); | ||
2809 | /* | ||
2810 | * Fix up interoperability with old kernels. Otherwise, old inodes get | ||
2811 | * re-used with the upper 16 bits of the uid/gid intact | ||
2812 | */ | ||
2813 | if(!ei->i_dtime) { | ||
2814 | raw_inode->i_uid_high = | ||
2815 | - cpu_to_le16(high_16_bits(inode->i_uid)); | ||
2816 | + cpu_to_le16(high_16_bits(uid)); | ||
2817 | raw_inode->i_gid_high = | ||
2818 | - cpu_to_le16(high_16_bits(inode->i_gid)); | ||
2819 | + cpu_to_le16(high_16_bits(gid)); | ||
2820 | } else { | ||
2821 | raw_inode->i_uid_high = 0; | ||
2822 | raw_inode->i_gid_high = 0; | ||
2823 | } | ||
2824 | } else { | ||
2825 | raw_inode->i_uid_low = | ||
2826 | - cpu_to_le16(fs_high2lowuid(inode->i_uid)); | ||
2827 | + cpu_to_le16(fs_high2lowuid(uid)); | ||
2828 | raw_inode->i_gid_low = | ||
2829 | - cpu_to_le16(fs_high2lowgid(inode->i_gid)); | ||
2830 | + cpu_to_le16(fs_high2lowgid(gid)); | ||
2831 | raw_inode->i_uid_high = 0; | 2677 | raw_inode->i_uid_high = 0; |
2832 | raw_inode->i_gid_high = 0; | 2678 | raw_inode->i_gid_high = 0; |
2833 | } | 2679 | } |
2834 | +#ifdef CONFIG_TAGGING_INTERN | 2680 | +#ifdef CONFIG_TAGGING_INTERN |
2835 | + raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); | 2681 | + raw_inode->i_raw_tag = cpu_to_le16(i_tag_read(inode)); |
2836 | +#endif | 2682 | +#endif |
2837 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); | 2683 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); |
2838 | disksize = cpu_to_le32(ei->i_disksize); | 2684 | disksize = cpu_to_le32(ei->i_disksize); |
2839 | if (disksize != raw_inode->i_size) { | 2685 | if (disksize != raw_inode->i_size) { |
2840 | @@ -3275,7 +3312,8 @@ int ext3_setattr(struct dentry *dentry, | 2686 | @@ -3287,7 +3320,8 @@ int ext3_setattr(struct dentry *dentry, |
2841 | if (is_quota_modification(inode, attr)) | 2687 | if (is_quota_modification(inode, attr)) |
2842 | dquot_initialize(inode); | 2688 | dquot_initialize(inode); |
2843 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || | 2689 | if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || |
2844 | - (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { | 2690 | - (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { |
2845 | + (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid) || | 2691 | + (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid)) || |
2846 | + (ia_valid & ATTR_TAG && attr->ia_tag != inode->i_tag)) { | 2692 | + (ia_valid & ATTR_TAG && !tag_eq(attr->ia_tag, inode->i_tag))) { |
2847 | handle_t *handle; | 2693 | handle_t *handle; |
2848 | 2694 | ||
2849 | /* (user+group)*(old+new) structure, inode write (sb, | 2695 | /* (user+group)*(old+new) structure, inode write (sb, |
2850 | @@ -3297,6 +3335,8 @@ int ext3_setattr(struct dentry *dentry, | 2696 | @@ -3309,6 +3343,8 @@ int ext3_setattr(struct dentry *dentry, |
2851 | inode->i_uid = attr->ia_uid; | 2697 | inode->i_uid = attr->ia_uid; |
2852 | if (attr->ia_valid & ATTR_GID) | 2698 | if (attr->ia_valid & ATTR_GID) |
2853 | inode->i_gid = attr->ia_gid; | 2699 | inode->i_gid = attr->ia_gid; |
@@ -2856,9 +2702,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2856 | error = ext3_mark_inode_dirty(handle, inode); | 2702 | error = ext3_mark_inode_dirty(handle, inode); |
2857 | ext3_journal_stop(handle); | 2703 | ext3_journal_stop(handle); |
2858 | } | 2704 | } |
2859 | diff -NurpP --minimal linux-3.4.57/fs/ext3/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext3/ioctl.c | 2705 | diff -NurpP --minimal linux-3.10.17/fs/ext3/ioctl.c linux-3.10.17-vs2.3.6.6/fs/ext3/ioctl.c |
2860 | --- linux-3.4.57/fs/ext3/ioctl.c 2012-05-21 16:07:20.000000000 +0000 | 2706 | --- linux-3.10.17/fs/ext3/ioctl.c 2013-05-31 13:45:23.000000000 +0000 |
2861 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 2707 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
2862 | @@ -12,6 +12,34 @@ | 2708 | @@ -12,6 +12,34 @@ |
2863 | #include <asm/uaccess.h> | 2709 | #include <asm/uaccess.h> |
2864 | #include "ext3.h" | 2710 | #include "ext3.h" |
@@ -2893,7 +2739,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2893 | + | 2739 | + |
2894 | long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 2740 | long ext3_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
2895 | { | 2741 | { |
2896 | struct inode *inode = filp->f_dentry->d_inode; | 2742 | struct inode *inode = file_inode(filp); |
2897 | @@ -45,6 +73,11 @@ long ext3_ioctl(struct file *filp, unsig | 2743 | @@ -45,6 +73,11 @@ long ext3_ioctl(struct file *filp, unsig |
2898 | 2744 | ||
2899 | flags = ext3_mask_flags(inode->i_mode, flags); | 2745 | flags = ext3_mask_flags(inode->i_mode, flags); |
@@ -2926,9 +2772,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2926 | flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE; | 2772 | flags |= oldflags & ~EXT3_FL_USER_MODIFIABLE; |
2927 | ei->i_flags = flags; | 2773 | ei->i_flags = flags; |
2928 | 2774 | ||
2929 | diff -NurpP --minimal linux-3.4.57/fs/ext3/namei.c linux-3.4.57-vs2.3.3.9/fs/ext3/namei.c | 2775 | diff -NurpP --minimal linux-3.10.17/fs/ext3/namei.c linux-3.10.17-vs2.3.6.6/fs/ext3/namei.c |
2930 | --- linux-3.4.57/fs/ext3/namei.c 2013-08-13 14:13:32.000000000 +0000 | 2776 | --- linux-3.10.17/fs/ext3/namei.c 2013-10-25 15:17:43.000000000 +0000 |
2931 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/namei.c 2013-08-13 17:07:36.000000000 +0000 | 2777 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/namei.c 2013-08-22 20:29:59.000000000 +0000 |
2932 | @@ -25,6 +25,8 @@ | 2778 | @@ -25,6 +25,8 @@ |
2933 | */ | 2779 | */ |
2934 | 2780 | ||
@@ -2938,7 +2784,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2938 | #include "ext3.h" | 2784 | #include "ext3.h" |
2939 | #include "namei.h" | 2785 | #include "namei.h" |
2940 | #include "xattr.h" | 2786 | #include "xattr.h" |
2941 | @@ -912,6 +914,7 @@ restart: | 2787 | @@ -915,6 +917,7 @@ restart: |
2942 | submit_bh(READ | REQ_META | REQ_PRIO, | 2788 | submit_bh(READ | REQ_META | REQ_PRIO, |
2943 | bh); | 2789 | bh); |
2944 | } | 2790 | } |
@@ -2946,7 +2792,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2946 | } | 2792 | } |
2947 | } | 2793 | } |
2948 | if ((bh = bh_use[ra_ptr++]) == NULL) | 2794 | if ((bh = bh_use[ra_ptr++]) == NULL) |
2949 | @@ -2523,6 +2526,7 @@ const struct inode_operations ext3_dir_i | 2795 | @@ -2524,6 +2527,7 @@ const struct inode_operations ext3_dir_i |
2950 | .listxattr = ext3_listxattr, | 2796 | .listxattr = ext3_listxattr, |
2951 | .removexattr = generic_removexattr, | 2797 | .removexattr = generic_removexattr, |
2952 | #endif | 2798 | #endif |
@@ -2954,10 +2800,10 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2954 | .get_acl = ext3_get_acl, | 2800 | .get_acl = ext3_get_acl, |
2955 | }; | 2801 | }; |
2956 | 2802 | ||
2957 | diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext3/super.c | 2803 | diff -NurpP --minimal linux-3.10.17/fs/ext3/super.c linux-3.10.17-vs2.3.6.6/fs/ext3/super.c |
2958 | --- linux-3.4.57/fs/ext3/super.c 2013-08-13 14:13:32.000000000 +0000 | 2804 | --- linux-3.10.17/fs/ext3/super.c 2013-07-14 17:01:27.000000000 +0000 |
2959 | +++ linux-3.4.57-vs2.3.3.9/fs/ext3/super.c 2013-03-30 21:29:17.000000000 +0000 | 2805 | +++ linux-3.10.17-vs2.3.6.6/fs/ext3/super.c 2013-08-22 20:29:59.000000000 +0000 |
2960 | @@ -820,7 +820,8 @@ enum { | 2806 | @@ -813,7 +813,8 @@ enum { |
2961 | Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, | 2807 | Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, |
2962 | Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota, | 2808 | Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota, |
2963 | Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err, | 2809 | Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err, |
@@ -2967,7 +2813,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2967 | }; | 2813 | }; |
2968 | 2814 | ||
2969 | static const match_table_t tokens = { | 2815 | static const match_table_t tokens = { |
2970 | @@ -877,6 +878,9 @@ static const match_table_t tokens = { | 2816 | @@ -870,6 +871,9 @@ static const match_table_t tokens = { |
2971 | {Opt_barrier, "barrier"}, | 2817 | {Opt_barrier, "barrier"}, |
2972 | {Opt_nobarrier, "nobarrier"}, | 2818 | {Opt_nobarrier, "nobarrier"}, |
2973 | {Opt_resize, "resize"}, | 2819 | {Opt_resize, "resize"}, |
@@ -2977,7 +2823,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2977 | {Opt_err, NULL}, | 2823 | {Opt_err, NULL}, |
2978 | }; | 2824 | }; |
2979 | 2825 | ||
2980 | @@ -1029,6 +1033,20 @@ static int parse_options (char *options, | 2826 | @@ -1037,6 +1041,20 @@ static int parse_options (char *options, |
2981 | case Opt_nouid32: | 2827 | case Opt_nouid32: |
2982 | set_opt (sbi->s_mount_opt, NO_UID32); | 2828 | set_opt (sbi->s_mount_opt, NO_UID32); |
2983 | break; | 2829 | break; |
@@ -2998,7 +2844,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
2998 | case Opt_nocheck: | 2844 | case Opt_nocheck: |
2999 | clear_opt (sbi->s_mount_opt, CHECK); | 2845 | clear_opt (sbi->s_mount_opt, CHECK); |
3000 | break; | 2846 | break; |
3001 | @@ -1727,6 +1745,9 @@ static int ext3_fill_super (struct super | 2847 | @@ -1734,6 +1752,9 @@ static int ext3_fill_super (struct super |
3002 | NULL, 0)) | 2848 | NULL, 0)) |
3003 | goto failed_mount; | 2849 | goto failed_mount; |
3004 | 2850 | ||
@@ -3008,7 +2854,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3008 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 2854 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
3009 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); | 2855 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); |
3010 | 2856 | ||
3011 | @@ -2608,6 +2629,14 @@ static int ext3_remount (struct super_bl | 2857 | @@ -2629,6 +2650,14 @@ static int ext3_remount (struct super_bl |
3012 | if (test_opt(sb, ABORT)) | 2858 | if (test_opt(sb, ABORT)) |
3013 | ext3_abort(sb, __func__, "Abort forced by user"); | 2859 | ext3_abort(sb, __func__, "Abort forced by user"); |
3014 | 2860 | ||
@@ -3023,41 +2869,38 @@ diff -NurpP --minimal linux-3.4.57/fs/ext3/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3023 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 2869 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
3024 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); | 2870 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); |
3025 | 2871 | ||
3026 | diff -NurpP --minimal linux-3.4.57/fs/ext4/ext4.h linux-3.4.57-vs2.3.3.9/fs/ext4/ext4.h | 2872 | diff -NurpP --minimal linux-3.10.17/fs/ext4/ext4.h linux-3.10.17-vs2.3.6.6/fs/ext4/ext4.h |
3027 | --- linux-3.4.57/fs/ext4/ext4.h 2013-08-13 14:13:32.000000000 +0000 | 2873 | --- linux-3.10.17/fs/ext4/ext4.h 2013-07-14 17:01:27.000000000 +0000 |
3028 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/ext4.h 2013-07-14 13:38:34.000000000 +0000 | 2874 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/ext4.h 2013-08-22 20:29:59.000000000 +0000 |
3029 | @@ -380,8 +380,12 @@ struct flex_groups { | 2875 | @@ -387,7 +387,10 @@ struct flex_groups { |
3030 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ | 2876 | #define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ |
3031 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ | 2877 | #define EXT4_EA_INODE_FL 0x00200000 /* Inode used for large EA */ |
3032 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ | 2878 | #define EXT4_EOFBLOCKS_FL 0x00400000 /* Blocks allocated beyond EOF */ |
2879 | +#define EXT4_BARRIER_FL 0x04000000 /* Barrier for chroot() */ | ||
3033 | +#define EXT4_IXUNLINK_FL 0x08000000 /* Immutable invert on unlink */ | 2880 | +#define EXT4_IXUNLINK_FL 0x08000000 /* Immutable invert on unlink */ |
2881 | #define EXT4_INLINE_DATA_FL 0x10000000 /* Inode has inline data. */ | ||
2882 | +#define EXT4_COW_FL 0x20000000 /* Copy on Write marker */ | ||
3034 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ | 2883 | #define EXT4_RESERVED_FL 0x80000000 /* reserved for ext4 lib */ |
3035 | 2884 | ||
3036 | +#define EXT4_BARRIER_FL 0x04000000 /* Barrier for chroot() */ | ||
3037 | +#define EXT4_COW_FL 0x20000000 /* Copy on Write marker */ | ||
3038 | + | ||
3039 | #define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ | 2885 | #define EXT4_FL_USER_VISIBLE 0x004BDFFF /* User visible flags */ |
3040 | #define EXT4_FL_USER_MODIFIABLE 0x004B80FF /* User modifiable flags */ | 2886 | @@ -663,7 +666,7 @@ struct ext4_inode { |
3041 | |||
3042 | @@ -650,7 +654,8 @@ struct ext4_inode { | ||
3043 | __le16 l_i_file_acl_high; | ||
3044 | __le16 l_i_uid_high; /* these 2 fields */ | 2887 | __le16 l_i_uid_high; /* these 2 fields */ |
3045 | __le16 l_i_gid_high; /* were reserved2[0] */ | 2888 | __le16 l_i_gid_high; /* were reserved2[0] */ |
3046 | - __u32 l_i_reserved2; | 2889 | __le16 l_i_checksum_lo;/* crc32c(uuid+inum+inode) LE */ |
2890 | - __le16 l_i_reserved; | ||
3047 | + __le16 l_i_tag; /* Context Tag */ | 2891 | + __le16 l_i_tag; /* Context Tag */ |
3048 | + __u16 l_i_reserved2; | ||
3049 | } linux2; | 2892 | } linux2; |
3050 | struct { | 2893 | struct { |
3051 | __le16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ | 2894 | __le16 h_i_reserved1; /* Obsoleted fragment number/size which are removed in ext4 */ |
3052 | @@ -768,6 +773,7 @@ do { \ | 2895 | @@ -781,6 +784,7 @@ do { \ |
3053 | #define i_gid_low i_gid | 2896 | #define i_gid_low i_gid |
3054 | #define i_uid_high osd2.linux2.l_i_uid_high | 2897 | #define i_uid_high osd2.linux2.l_i_uid_high |
3055 | #define i_gid_high osd2.linux2.l_i_gid_high | 2898 | #define i_gid_high osd2.linux2.l_i_gid_high |
3056 | +#define i_raw_tag osd2.linux2.l_i_tag | 2899 | +#define i_raw_tag osd2.linux2.l_i_tag |
3057 | #define i_reserved2 osd2.linux2.l_i_reserved2 | 2900 | #define i_checksum_lo osd2.linux2.l_i_checksum_lo |
3058 | 2901 | ||
3059 | #elif defined(__GNU__) | 2902 | #elif defined(__GNU__) |
3060 | @@ -945,6 +951,7 @@ struct ext4_inode_info { | 2903 | @@ -958,6 +962,7 @@ struct ext4_inode_info { |
3061 | #define EXT4_MOUNT_POSIX_ACL 0x08000 /* POSIX Access Control Lists */ | 2904 | #define EXT4_MOUNT_POSIX_ACL 0x08000 /* POSIX Access Control Lists */ |
3062 | #define EXT4_MOUNT_NO_AUTO_DA_ALLOC 0x10000 /* No auto delalloc mapping */ | 2905 | #define EXT4_MOUNT_NO_AUTO_DA_ALLOC 0x10000 /* No auto delalloc mapping */ |
3063 | #define EXT4_MOUNT_BARRIER 0x20000 /* Use block barriers */ | 2906 | #define EXT4_MOUNT_BARRIER 0x20000 /* Use block barriers */ |
@@ -3065,27 +2908,27 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ext4.h linux-3.4.57-vs2.3.3.9/fs/ext4 | |||
3065 | #define EXT4_MOUNT_QUOTA 0x80000 /* Some quota option set */ | 2908 | #define EXT4_MOUNT_QUOTA 0x80000 /* Some quota option set */ |
3066 | #define EXT4_MOUNT_USRQUOTA 0x100000 /* "old" user quota */ | 2909 | #define EXT4_MOUNT_USRQUOTA 0x100000 /* "old" user quota */ |
3067 | #define EXT4_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */ | 2910 | #define EXT4_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */ |
3068 | @@ -2294,6 +2301,7 @@ extern int ext4_map_blocks(handle_t *han | 2911 | @@ -2538,6 +2543,7 @@ extern struct buffer_head *ext4_get_firs |
3069 | struct ext4_map_blocks *map, int flags); | 2912 | extern int ext4_inline_data_fiemap(struct inode *inode, |
3070 | extern int ext4_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, | 2913 | struct fiemap_extent_info *fieinfo, |
3071 | __u64 start, __u64 len); | 2914 | int *has_inline); |
3072 | +extern int ext4_sync_flags(struct inode *, int, int); | 2915 | +extern int ext4_sync_flags(struct inode *, int, int); |
3073 | /* move_extent.c */ | 2916 | extern int ext4_try_to_evict_inline_data(handle_t *handle, |
3074 | extern int ext4_move_extents(struct file *o_filp, struct file *d_filp, | 2917 | struct inode *inode, |
3075 | __u64 start_orig, __u64 start_donor, | 2918 | int needed); |
3076 | diff -NurpP --minimal linux-3.4.57/fs/ext4/file.c linux-3.4.57-vs2.3.3.9/fs/ext4/file.c | 2919 | diff -NurpP --minimal linux-3.10.17/fs/ext4/file.c linux-3.10.17-vs2.3.6.6/fs/ext4/file.c |
3077 | --- linux-3.4.57/fs/ext4/file.c 2012-01-09 15:14:54.000000000 +0000 | 2920 | --- linux-3.10.17/fs/ext4/file.c 2013-10-25 15:17:43.000000000 +0000 |
3078 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/file.c 2012-05-21 16:15:05.000000000 +0000 | 2921 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/file.c 2013-08-22 20:29:59.000000000 +0000 |
3079 | @@ -258,5 +258,6 @@ const struct inode_operations ext4_file_ | 2922 | @@ -651,5 +651,6 @@ const struct inode_operations ext4_file_ |
3080 | #endif | 2923 | .removexattr = generic_removexattr, |
3081 | .get_acl = ext4_get_acl, | 2924 | .get_acl = ext4_get_acl, |
3082 | .fiemap = ext4_fiemap, | 2925 | .fiemap = ext4_fiemap, |
3083 | + .sync_flags = ext4_sync_flags, | 2926 | + .sync_flags = ext4_sync_flags, |
3084 | }; | 2927 | }; |
3085 | 2928 | ||
3086 | diff -NurpP --minimal linux-3.4.57/fs/ext4/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ext4/ialloc.c | 2929 | diff -NurpP --minimal linux-3.10.17/fs/ext4/ialloc.c linux-3.10.17-vs2.3.6.6/fs/ext4/ialloc.c |
3087 | --- linux-3.4.57/fs/ext4/ialloc.c 2013-08-13 14:13:32.000000000 +0000 | 2930 | --- linux-3.10.17/fs/ext4/ialloc.c 2013-10-25 15:17:43.000000000 +0000 |
3088 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/ialloc.c 2013-07-14 13:38:34.000000000 +0000 | 2931 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/ialloc.c 2013-08-22 20:29:59.000000000 +0000 |
3089 | @@ -22,6 +22,7 @@ | 2932 | @@ -22,6 +22,7 @@ |
3090 | #include <linux/random.h> | 2933 | #include <linux/random.h> |
3091 | #include <linux/bitops.h> | 2934 | #include <linux/bitops.h> |
@@ -3094,26 +2937,26 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ialloc.c linux-3.4.57-vs2.3.3.9/fs/ex | |||
3094 | #include <asm/byteorder.h> | 2937 | #include <asm/byteorder.h> |
3095 | 2938 | ||
3096 | #include "ext4.h" | 2939 | #include "ext4.h" |
3097 | @@ -815,6 +816,7 @@ got: | 2940 | @@ -679,6 +680,7 @@ struct inode *__ext4_new_inode(handle_t |
3098 | inode->i_mode = mode; | 2941 | inode->i_mode = mode; |
3099 | inode->i_uid = current_fsuid(); | 2942 | inode->i_uid = current_fsuid(); |
3100 | inode->i_gid = dir->i_gid; | 2943 | inode->i_gid = dir->i_gid; |
3101 | + inode->i_tag = dx_current_fstag(sb); | 2944 | + i_tag_write(inode, dx_current_fstag(sb)); |
3102 | } else | 2945 | } else |
3103 | inode_init_owner(inode, dir, mode); | 2946 | inode_init_owner(inode, dir, mode); |
3104 | 2947 | dquot_initialize(inode); | |
3105 | diff -NurpP --minimal linux-3.4.57/fs/ext4/inode.c linux-3.4.57-vs2.3.3.9/fs/ext4/inode.c | 2948 | diff -NurpP --minimal linux-3.10.17/fs/ext4/inode.c linux-3.10.17-vs2.3.6.6/fs/ext4/inode.c |
3106 | --- linux-3.4.57/fs/ext4/inode.c 2013-08-13 14:13:32.000000000 +0000 | 2949 | --- linux-3.10.17/fs/ext4/inode.c 2013-10-25 15:17:43.000000000 +0000 |
3107 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/inode.c 2013-08-13 17:07:36.000000000 +0000 | 2950 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/inode.c 2013-10-09 17:37:22.000000000 +0000 |
3108 | @@ -37,6 +37,7 @@ | 2951 | @@ -38,6 +38,7 @@ |
3109 | #include <linux/printk.h> | ||
3110 | #include <linux/slab.h> | 2952 | #include <linux/slab.h> |
3111 | #include <linux/ratelimit.h> | 2953 | #include <linux/ratelimit.h> |
2954 | #include <linux/aio.h> | ||
3112 | +#include <linux/vs_tag.h> | 2955 | +#include <linux/vs_tag.h> |
3113 | 2956 | ||
3114 | #include "ext4_jbd2.h" | 2957 | #include "ext4_jbd2.h" |
3115 | #include "xattr.h" | 2958 | #include "xattr.h" |
3116 | @@ -3585,41 +3586,64 @@ void ext4_set_inode_flags(struct inode * | 2959 | @@ -4057,41 +4058,64 @@ void ext4_set_inode_flags(struct inode * |
3117 | { | 2960 | { |
3118 | unsigned int flags = EXT4_I(inode)->i_flags; | 2961 | unsigned int flags = EXT4_I(inode)->i_flags; |
3119 | 2962 | ||
@@ -3185,95 +3028,53 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3185 | } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl); | 3028 | } while (cmpxchg(&ei->i_flags, old_fl, new_fl) != old_fl); |
3186 | } | 3029 | } |
3187 | 3030 | ||
3188 | @@ -3655,6 +3679,8 @@ struct inode *ext4_iget(struct super_blo | 3031 | @@ -4196,8 +4220,10 @@ struct inode *ext4_iget(struct super_blo |
3189 | journal_t *journal = EXT4_SB(sb)->s_journal; | 3032 | i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; |
3190 | long ret; | 3033 | i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; |
3191 | int block; | ||
3192 | + uid_t uid; | ||
3193 | + gid_t gid; | ||
3194 | |||
3195 | inode = iget_locked(sb, ino); | ||
3196 | if (!inode) | ||
3197 | @@ -3670,12 +3696,16 @@ struct inode *ext4_iget(struct super_blo | ||
3198 | goto bad_inode; | ||
3199 | raw_inode = ext4_raw_inode(&iloc); | ||
3200 | inode->i_mode = le16_to_cpu(raw_inode->i_mode); | ||
3201 | - inode->i_uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
3202 | - inode->i_gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
3203 | + uid = (uid_t)le16_to_cpu(raw_inode->i_uid_low); | ||
3204 | + gid = (gid_t)le16_to_cpu(raw_inode->i_gid_low); | ||
3205 | if (!(test_opt(inode->i_sb, NO_UID32))) { | ||
3206 | - inode->i_uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
3207 | - inode->i_gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
3208 | + uid |= le16_to_cpu(raw_inode->i_uid_high) << 16; | ||
3209 | + gid |= le16_to_cpu(raw_inode->i_gid_high) << 16; | ||
3210 | } | 3034 | } |
3211 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 3035 | - i_uid_write(inode, i_uid); |
3212 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 3036 | - i_gid_write(inode, i_gid); |
3213 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, | 3037 | + i_uid_write(inode, INOTAG_UID(DX_TAG(inode), i_uid, i_gid)); |
3214 | + le16_to_cpu(raw_inode->i_raw_tag)); | 3038 | + i_gid_write(inode, INOTAG_GID(DX_TAG(inode), i_uid, i_gid)); |
3039 | + i_tag_write(inode, INOTAG_TAG(DX_TAG(inode), i_uid, i_gid, | ||
3040 | + le16_to_cpu(raw_inode->i_raw_tag))); | ||
3215 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); | 3041 | set_nlink(inode, le16_to_cpu(raw_inode->i_links_count)); |
3216 | 3042 | ||
3217 | ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ | 3043 | ext4_clear_state_flags(ei); /* Only relevant on 32-bit archs */ |
3218 | @@ -3894,6 +3924,8 @@ static int ext4_do_update_inode(handle_t | 3044 | @@ -4425,8 +4451,10 @@ static int ext4_do_update_inode(handle_t |
3219 | struct ext4_inode *raw_inode = ext4_raw_inode(iloc); | 3045 | |
3220 | struct ext4_inode_info *ei = EXT4_I(inode); | ||
3221 | struct buffer_head *bh = iloc->bh; | ||
3222 | + uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | ||
3223 | + gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | ||
3224 | int err = 0, rc, block; | ||
3225 | int need_datasync = 0; | ||
3226 | |||
3227 | @@ -3905,29 +3937,32 @@ static int ext4_do_update_inode(handle_t | ||
3228 | ext4_get_inode_flags(ei); | 3046 | ext4_get_inode_flags(ei); |
3229 | raw_inode->i_mode = cpu_to_le16(inode->i_mode); | 3047 | raw_inode->i_mode = cpu_to_le16(inode->i_mode); |
3048 | - i_uid = i_uid_read(inode); | ||
3049 | - i_gid = i_gid_read(inode); | ||
3050 | + i_uid = from_kuid(&init_user_ns, | ||
3051 | + TAGINO_KUID(DX_TAG(inode), inode->i_uid, inode->i_tag)); | ||
3052 | + i_gid = from_kgid(&init_user_ns, | ||
3053 | + TAGINO_KGID(DX_TAG(inode), inode->i_gid, inode->i_tag)); | ||
3230 | if (!(test_opt(inode->i_sb, NO_UID32))) { | 3054 | if (!(test_opt(inode->i_sb, NO_UID32))) { |
3231 | - raw_inode->i_uid_low = cpu_to_le16(low_16_bits(inode->i_uid)); | 3055 | raw_inode->i_uid_low = cpu_to_le16(low_16_bits(i_uid)); |
3232 | - raw_inode->i_gid_low = cpu_to_le16(low_16_bits(inode->i_gid)); | 3056 | raw_inode->i_gid_low = cpu_to_le16(low_16_bits(i_gid)); |
3233 | + raw_inode->i_uid_low = cpu_to_le16(low_16_bits(uid)); | 3057 | @@ -4449,6 +4477,9 @@ static int ext4_do_update_inode(handle_t |
3234 | + raw_inode->i_gid_low = cpu_to_le16(low_16_bits(gid)); | ||
3235 | /* | ||
3236 | * Fix up interoperability with old kernels. Otherwise, old inodes get | ||
3237 | * re-used with the upper 16 bits of the uid/gid intact | ||
3238 | */ | ||
3239 | if (!ei->i_dtime) { | ||
3240 | raw_inode->i_uid_high = | ||
3241 | - cpu_to_le16(high_16_bits(inode->i_uid)); | ||
3242 | + cpu_to_le16(high_16_bits(uid)); | ||
3243 | raw_inode->i_gid_high = | ||
3244 | - cpu_to_le16(high_16_bits(inode->i_gid)); | ||
3245 | + cpu_to_le16(high_16_bits(gid)); | ||
3246 | } else { | ||
3247 | raw_inode->i_uid_high = 0; | ||
3248 | raw_inode->i_gid_high = 0; | ||
3249 | } | ||
3250 | } else { | ||
3251 | raw_inode->i_uid_low = | ||
3252 | - cpu_to_le16(fs_high2lowuid(inode->i_uid)); | ||
3253 | + cpu_to_le16(fs_high2lowuid(uid)); | ||
3254 | raw_inode->i_gid_low = | ||
3255 | - cpu_to_le16(fs_high2lowgid(inode->i_gid)); | ||
3256 | + cpu_to_le16(fs_high2lowgid(gid)); | ||
3257 | raw_inode->i_uid_high = 0; | 3058 | raw_inode->i_uid_high = 0; |
3258 | raw_inode->i_gid_high = 0; | 3059 | raw_inode->i_gid_high = 0; |
3259 | } | 3060 | } |
3260 | +#ifdef CONFIG_TAGGING_INTERN | 3061 | +#ifdef CONFIG_TAGGING_INTERN |
3261 | + raw_inode->i_raw_tag = cpu_to_le16(inode->i_tag); | 3062 | + raw_inode->i_raw_tag = cpu_to_le16(i_tag_read(inode)); |
3262 | +#endif | 3063 | +#endif |
3263 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); | 3064 | raw_inode->i_links_count = cpu_to_le16(inode->i_nlink); |
3264 | 3065 | ||
3265 | EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode); | 3066 | EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode); |
3266 | @@ -4114,7 +4149,8 @@ int ext4_setattr(struct dentry *dentry, | 3067 | @@ -4679,7 +4710,8 @@ int ext4_setattr(struct dentry *dentry, |
3267 | if (is_quota_modification(inode, attr)) | 3068 | if (is_quota_modification(inode, attr)) |
3268 | dquot_initialize(inode); | 3069 | dquot_initialize(inode); |
3269 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || | 3070 | if ((ia_valid & ATTR_UID && !uid_eq(attr->ia_uid, inode->i_uid)) || |
3270 | - (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { | 3071 | - (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid))) { |
3271 | + (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid) || | 3072 | + (ia_valid & ATTR_GID && !gid_eq(attr->ia_gid, inode->i_gid)) || |
3272 | + (ia_valid & ATTR_TAG && attr->ia_tag != inode->i_tag)) { | 3073 | + (ia_valid & ATTR_TAG && !tag_eq(attr->ia_tag, inode->i_tag))) { |
3273 | handle_t *handle; | 3074 | handle_t *handle; |
3274 | 3075 | ||
3275 | /* (user+group)*(old+new) structure, inode write (sb, | 3076 | /* (user+group)*(old+new) structure, inode write (sb, |
3276 | @@ -4136,6 +4172,8 @@ int ext4_setattr(struct dentry *dentry, | 3077 | @@ -4702,6 +4734,8 @@ int ext4_setattr(struct dentry *dentry, |
3277 | inode->i_uid = attr->ia_uid; | 3078 | inode->i_uid = attr->ia_uid; |
3278 | if (attr->ia_valid & ATTR_GID) | 3079 | if (attr->ia_valid & ATTR_GID) |
3279 | inode->i_gid = attr->ia_gid; | 3080 | inode->i_gid = attr->ia_gid; |
@@ -3282,10 +3083,10 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/inode.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3282 | error = ext4_mark_inode_dirty(handle, inode); | 3083 | error = ext4_mark_inode_dirty(handle, inode); |
3283 | ext4_journal_stop(handle); | 3084 | ext4_journal_stop(handle); |
3284 | } | 3085 | } |
3285 | diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext4/ioctl.c | 3086 | diff -NurpP --minimal linux-3.10.17/fs/ext4/ioctl.c linux-3.10.17-vs2.3.6.6/fs/ext4/ioctl.c |
3286 | --- linux-3.4.57/fs/ext4/ioctl.c 2013-08-13 14:13:33.000000000 +0000 | 3087 | --- linux-3.10.17/fs/ext4/ioctl.c 2013-10-25 15:17:43.000000000 +0000 |
3287 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/ioctl.c 2012-09-01 08:50:49.000000000 +0000 | 3088 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/ioctl.c 2013-08-22 22:22:39.000000000 +0000 |
3288 | @@ -14,12 +14,40 @@ | 3089 | @@ -14,6 +14,7 @@ |
3289 | #include <linux/compat.h> | 3090 | #include <linux/compat.h> |
3290 | #include <linux/mount.h> | 3091 | #include <linux/mount.h> |
3291 | #include <linux/file.h> | 3092 | #include <linux/file.h> |
@@ -3293,8 +3094,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3293 | #include <asm/uaccess.h> | 3094 | #include <asm/uaccess.h> |
3294 | #include "ext4_jbd2.h" | 3095 | #include "ext4_jbd2.h" |
3295 | #include "ext4.h" | 3096 | #include "ext4.h" |
3296 | 3097 | @@ -214,6 +215,33 @@ swap_boot_out: | |
3297 | #define MAX_32_NUM ((((unsigned long long) 1) << 32) - 1) | 3098 | return err; |
3099 | } | ||
3298 | 3100 | ||
3299 | +int ext4_sync_flags(struct inode *inode, int flags, int vflags) | 3101 | +int ext4_sync_flags(struct inode *inode, int flags, int vflags) |
3300 | +{ | 3102 | +{ |
@@ -3302,7 +3104,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3302 | + struct ext4_iloc iloc; | 3104 | + struct ext4_iloc iloc; |
3303 | + int err; | 3105 | + int err; |
3304 | + | 3106 | + |
3305 | + handle = ext4_journal_start(inode, 1); | 3107 | + handle = ext4_journal_start(inode, EXT4_HT_INODE, 1); |
3306 | + if (IS_ERR(handle)) | 3108 | + if (IS_ERR(handle)) |
3307 | + return PTR_ERR(handle); | 3109 | + return PTR_ERR(handle); |
3308 | + | 3110 | + |
@@ -3325,8 +3127,8 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3325 | + | 3127 | + |
3326 | long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 3128 | long ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
3327 | { | 3129 | { |
3328 | struct inode *inode = filp->f_dentry->d_inode; | 3130 | struct inode *inode = file_inode(filp); |
3329 | @@ -53,6 +81,11 @@ long ext4_ioctl(struct file *filp, unsig | 3131 | @@ -247,6 +275,11 @@ long ext4_ioctl(struct file *filp, unsig |
3330 | 3132 | ||
3331 | flags = ext4_mask_flags(inode->i_mode, flags); | 3133 | flags = ext4_mask_flags(inode->i_mode, flags); |
3332 | 3134 | ||
@@ -3338,7 +3140,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3338 | err = -EPERM; | 3140 | err = -EPERM; |
3339 | mutex_lock(&inode->i_mutex); | 3141 | mutex_lock(&inode->i_mutex); |
3340 | /* Is it quota file? Do not allow user to mess with it */ | 3142 | /* Is it quota file? Do not allow user to mess with it */ |
3341 | @@ -70,7 +103,9 @@ long ext4_ioctl(struct file *filp, unsig | 3143 | @@ -264,7 +297,9 @@ long ext4_ioctl(struct file *filp, unsig |
3342 | * | 3144 | * |
3343 | * This test looks nicer. Thanks to Pauline Middelink | 3145 | * This test looks nicer. Thanks to Pauline Middelink |
3344 | */ | 3146 | */ |
@@ -3349,9 +3151,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3349 | if (!capable(CAP_LINUX_IMMUTABLE)) | 3151 | if (!capable(CAP_LINUX_IMMUTABLE)) |
3350 | goto flags_out; | 3152 | goto flags_out; |
3351 | } | 3153 | } |
3352 | diff -NurpP --minimal linux-3.4.57/fs/ext4/namei.c linux-3.4.57-vs2.3.3.9/fs/ext4/namei.c | 3154 | diff -NurpP --minimal linux-3.10.17/fs/ext4/namei.c linux-3.10.17-vs2.3.6.6/fs/ext4/namei.c |
3353 | --- linux-3.4.57/fs/ext4/namei.c 2013-08-13 14:13:33.000000000 +0000 | 3155 | --- linux-3.10.17/fs/ext4/namei.c 2013-10-25 15:17:43.000000000 +0000 |
3354 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/namei.c 2013-08-13 17:07:36.000000000 +0000 | 3156 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/namei.c 2013-08-22 20:29:59.000000000 +0000 |
3355 | @@ -34,6 +34,7 @@ | 3157 | @@ -34,6 +34,7 @@ |
3356 | #include <linux/quotaops.h> | 3158 | #include <linux/quotaops.h> |
3357 | #include <linux/buffer_head.h> | 3159 | #include <linux/buffer_head.h> |
@@ -3360,7 +3162,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3360 | #include "ext4.h" | 3162 | #include "ext4.h" |
3361 | #include "ext4_jbd2.h" | 3163 | #include "ext4_jbd2.h" |
3362 | 3164 | ||
3363 | @@ -922,6 +923,7 @@ restart: | 3165 | @@ -1299,6 +1300,7 @@ restart: |
3364 | ll_rw_block(READ | REQ_META | REQ_PRIO, | 3166 | ll_rw_block(READ | REQ_META | REQ_PRIO, |
3365 | 1, &bh); | 3167 | 1, &bh); |
3366 | } | 3168 | } |
@@ -3368,26 +3170,27 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/namei.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3368 | } | 3170 | } |
3369 | if ((bh = bh_use[ra_ptr++]) == NULL) | 3171 | if ((bh = bh_use[ra_ptr++]) == NULL) |
3370 | goto next; | 3172 | goto next; |
3371 | @@ -2588,6 +2590,7 @@ const struct inode_operations ext4_dir_i | 3173 | @@ -3177,6 +3179,7 @@ const struct inode_operations ext4_dir_i |
3372 | #endif | 3174 | .removexattr = generic_removexattr, |
3373 | .get_acl = ext4_get_acl, | 3175 | .get_acl = ext4_get_acl, |
3374 | .fiemap = ext4_fiemap, | 3176 | .fiemap = ext4_fiemap, |
3375 | + .sync_flags = ext4_sync_flags, | 3177 | + .sync_flags = ext4_sync_flags, |
3376 | }; | 3178 | }; |
3377 | 3179 | ||
3378 | const struct inode_operations ext4_special_inode_operations = { | 3180 | const struct inode_operations ext4_special_inode_operations = { |
3379 | diff -NurpP --minimal linux-3.4.57/fs/ext4/super.c linux-3.4.57-vs2.3.3.9/fs/ext4/super.c | 3181 | diff -NurpP --minimal linux-3.10.17/fs/ext4/super.c linux-3.10.17-vs2.3.6.6/fs/ext4/super.c |
3380 | --- linux-3.4.57/fs/ext4/super.c 2013-08-13 14:13:33.000000000 +0000 | 3182 | --- linux-3.10.17/fs/ext4/super.c 2013-10-25 15:17:43.000000000 +0000 |
3381 | +++ linux-3.4.57-vs2.3.3.9/fs/ext4/super.c 2013-07-14 13:38:34.000000000 +0000 | 3183 | +++ linux-3.10.17-vs2.3.6.6/fs/ext4/super.c 2013-08-22 20:29:59.000000000 +0000 |
3382 | @@ -1191,6 +1191,7 @@ enum { | 3184 | @@ -1129,7 +1129,7 @@ enum { |
3383 | Opt_inode_readahead_blks, Opt_journal_ioprio, | 3185 | Opt_inode_readahead_blks, Opt_journal_ioprio, |
3384 | Opt_dioread_nolock, Opt_dioread_lock, | 3186 | Opt_dioread_nolock, Opt_dioread_lock, |
3385 | Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, | 3187 | Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, |
3386 | + Opt_tag, Opt_notag, Opt_tagid | 3188 | - Opt_max_dir_size_kb, |
3189 | + Opt_max_dir_size_kb, Opt_tag, Opt_notag, Opt_tagid | ||
3387 | }; | 3190 | }; |
3388 | 3191 | ||
3389 | static const match_table_t tokens = { | 3192 | static const match_table_t tokens = { |
3390 | @@ -1269,6 +1270,9 @@ static const match_table_t tokens = { | 3193 | @@ -1209,6 +1209,9 @@ static const match_table_t tokens = { |
3391 | {Opt_removed, "reservation"}, /* mount option from ext2/3 */ | 3194 | {Opt_removed, "reservation"}, /* mount option from ext2/3 */ |
3392 | {Opt_removed, "noreservation"}, /* mount option from ext2/3 */ | 3195 | {Opt_removed, "noreservation"}, /* mount option from ext2/3 */ |
3393 | {Opt_removed, "journal=%u"}, /* mount option from ext2/3 */ | 3196 | {Opt_removed, "journal=%u"}, /* mount option from ext2/3 */ |
@@ -3397,9 +3200,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3397 | {Opt_err, NULL}, | 3200 | {Opt_err, NULL}, |
3398 | }; | 3201 | }; |
3399 | 3202 | ||
3400 | @@ -1503,6 +1507,20 @@ static int handle_mount_opt(struct super | 3203 | @@ -1439,6 +1442,20 @@ static int handle_mount_opt(struct super |
3401 | return -1; | 3204 | case Opt_i_version: |
3402 | *journal_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, arg); | 3205 | sb->s_flags |= MS_I_VERSION; |
3403 | return 1; | 3206 | return 1; |
3404 | +#ifndef CONFIG_TAGGING_NONE | 3207 | +#ifndef CONFIG_TAGGING_NONE |
3405 | + case Opt_tag: | 3208 | + case Opt_tag: |
@@ -3417,8 +3220,8 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3417 | +#endif | 3220 | +#endif |
3418 | } | 3221 | } |
3419 | 3222 | ||
3420 | for (m = ext4_mount_opts; m->token != Opt_err; m++) { | 3223 | for (m = ext4_mount_opts; m->token != Opt_err; m++) |
3421 | @@ -3239,6 +3257,9 @@ static int ext4_fill_super(struct super_ | 3224 | @@ -3452,6 +3469,9 @@ static int ext4_fill_super(struct super_ |
3422 | clear_opt(sb, DELALLOC); | 3225 | clear_opt(sb, DELALLOC); |
3423 | } | 3226 | } |
3424 | 3227 | ||
@@ -3428,7 +3231,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3428 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 3231 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
3429 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); | 3232 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); |
3430 | 3233 | ||
3431 | @@ -4400,6 +4421,14 @@ static int ext4_remount(struct super_blo | 3234 | @@ -4664,6 +4684,14 @@ static int ext4_remount(struct super_blo |
3432 | if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) | 3235 | if (sbi->s_mount_flags & EXT4_MF_FS_ABORTED) |
3433 | ext4_abort(sb, "Abort forced by user"); | 3236 | ext4_abort(sb, "Abort forced by user"); |
3434 | 3237 | ||
@@ -3443,47 +3246,38 @@ diff -NurpP --minimal linux-3.4.57/fs/ext4/super.c linux-3.4.57-vs2.3.3.9/fs/ext | |||
3443 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | | 3246 | sb->s_flags = (sb->s_flags & ~MS_POSIXACL) | |
3444 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); | 3247 | (test_opt(sb, POSIX_ACL) ? MS_POSIXACL : 0); |
3445 | 3248 | ||
3446 | diff -NurpP --minimal linux-3.4.57/fs/fcntl.c linux-3.4.57-vs2.3.3.9/fs/fcntl.c | 3249 | diff -NurpP --minimal linux-3.10.17/fs/fcntl.c linux-3.10.17-vs2.3.6.6/fs/fcntl.c |
3447 | --- linux-3.4.57/fs/fcntl.c 2012-05-21 16:07:20.000000000 +0000 | 3250 | --- linux-3.10.17/fs/fcntl.c 2013-05-31 13:45:23.000000000 +0000 |
3448 | +++ linux-3.4.57-vs2.3.3.9/fs/fcntl.c 2012-05-21 16:15:05.000000000 +0000 | 3251 | +++ linux-3.10.17-vs2.3.6.6/fs/fcntl.c 2013-08-22 20:29:59.000000000 +0000 |
3449 | @@ -20,6 +20,7 @@ | 3252 | @@ -21,6 +21,7 @@ |
3450 | #include <linux/signal.h> | ||
3451 | #include <linux/rcupdate.h> | 3253 | #include <linux/rcupdate.h> |
3452 | #include <linux/pid_namespace.h> | 3254 | #include <linux/pid_namespace.h> |
3255 | #include <linux/user_namespace.h> | ||
3453 | +#include <linux/vs_limit.h> | 3256 | +#include <linux/vs_limit.h> |
3454 | 3257 | ||
3455 | #include <asm/poll.h> | 3258 | #include <asm/poll.h> |
3456 | #include <asm/siginfo.h> | 3259 | #include <asm/siginfo.h> |
3457 | @@ -103,6 +104,8 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldf | 3260 | @@ -378,6 +379,8 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, f |
3458 | 3261 | ||
3459 | if (tofree) | 3262 | if (!f.file) |
3460 | filp_close(tofree, files); | ||
3461 | + else | ||
3462 | + vx_openfd_inc(newfd); /* fd was unused */ | ||
3463 | |||
3464 | return newfd; | ||
3465 | |||
3466 | @@ -447,6 +450,8 @@ SYSCALL_DEFINE3(fcntl, unsigned int, fd, | ||
3467 | filp = fget_raw(fd); | ||
3468 | if (!filp) | ||
3469 | goto out; | 3263 | goto out; |
3470 | + if (!vx_files_avail(1)) | 3264 | + if (!vx_files_avail(1)) |
3471 | + goto out; | 3265 | + goto out; |
3472 | 3266 | ||
3473 | if (unlikely(filp->f_mode & FMODE_PATH)) { | 3267 | if (unlikely(f.file->f_mode & FMODE_PATH)) { |
3474 | if (!check_fcntl_cmd(cmd)) { | 3268 | if (!check_fcntl_cmd(cmd)) |
3475 | diff -NurpP --minimal linux-3.4.57/fs/file.c linux-3.4.57-vs2.3.3.9/fs/file.c | 3269 | diff -NurpP --minimal linux-3.10.17/fs/file.c linux-3.10.17-vs2.3.6.6/fs/file.c |
3476 | --- linux-3.4.57/fs/file.c 2012-05-21 16:07:20.000000000 +0000 | 3270 | --- linux-3.10.17/fs/file.c 2013-07-14 17:01:28.000000000 +0000 |
3477 | +++ linux-3.4.57-vs2.3.3.9/fs/file.c 2012-05-21 16:15:05.000000000 +0000 | 3271 | +++ linux-3.10.17-vs2.3.6.6/fs/file.c 2013-08-22 20:29:59.000000000 +0000 |
3478 | @@ -21,6 +21,7 @@ | 3272 | @@ -22,6 +22,7 @@ |
3479 | #include <linux/spinlock.h> | 3273 | #include <linux/spinlock.h> |
3480 | #include <linux/rcupdate.h> | 3274 | #include <linux/rcupdate.h> |
3481 | #include <linux/workqueue.h> | 3275 | #include <linux/workqueue.h> |
3482 | +#include <linux/vs_limit.h> | 3276 | +#include <linux/vs_limit.h> |
3483 | 3277 | ||
3484 | struct fdtable_defer { | 3278 | int sysctl_nr_open __read_mostly = 1024*1024; |
3485 | spinlock_t lock; | 3279 | int sysctl_nr_open_min = BITS_PER_LONG; |
3486 | @@ -358,6 +359,8 @@ struct files_struct *dup_fd(struct files | 3280 | @@ -311,6 +312,8 @@ struct files_struct *dup_fd(struct files |
3487 | struct file *f = *old_fds++; | 3281 | struct file *f = *old_fds++; |
3488 | if (f) { | 3282 | if (f) { |
3489 | get_file(f); | 3283 | get_file(f); |
@@ -3492,7 +3286,19 @@ diff -NurpP --minimal linux-3.4.57/fs/file.c linux-3.4.57-vs2.3.3.9/fs/file.c | |||
3492 | } else { | 3286 | } else { |
3493 | /* | 3287 | /* |
3494 | * The fd may be claimed in the fd bitmap but not yet | 3288 | * The fd may be claimed in the fd bitmap but not yet |
3495 | @@ -464,6 +467,7 @@ repeat: | 3289 | @@ -376,9 +379,11 @@ static void close_files(struct files_str |
3290 | filp_close(file, files); | ||
3291 | cond_resched(); | ||
3292 | } | ||
3293 | + vx_openfd_dec(i); | ||
3294 | } | ||
3295 | i++; | ||
3296 | set >>= 1; | ||
3297 | + cond_resched(); | ||
3298 | } | ||
3299 | } | ||
3300 | } | ||
3301 | @@ -503,6 +508,7 @@ repeat: | ||
3496 | else | 3302 | else |
3497 | __clear_close_on_exec(fd, fdt); | 3303 | __clear_close_on_exec(fd, fdt); |
3498 | error = fd; | 3304 | error = fd; |
@@ -3500,19 +3306,36 @@ diff -NurpP --minimal linux-3.4.57/fs/file.c linux-3.4.57-vs2.3.3.9/fs/file.c | |||
3500 | #if 1 | 3306 | #if 1 |
3501 | /* Sanity check */ | 3307 | /* Sanity check */ |
3502 | if (rcu_dereference_raw(fdt->fd[fd]) != NULL) { | 3308 | if (rcu_dereference_raw(fdt->fd[fd]) != NULL) { |
3503 | diff -NurpP --minimal linux-3.4.57/fs/file_table.c linux-3.4.57-vs2.3.3.9/fs/file_table.c | 3309 | @@ -533,6 +539,7 @@ static void __put_unused_fd(struct files |
3504 | --- linux-3.4.57/fs/file_table.c 2012-05-21 16:07:20.000000000 +0000 | 3310 | __clear_open_fd(fd, fdt); |
3505 | +++ linux-3.4.57-vs2.3.3.9/fs/file_table.c 2012-05-21 16:15:05.000000000 +0000 | 3311 | if (fd < files->next_fd) |
3506 | @@ -24,6 +24,8 @@ | 3312 | files->next_fd = fd; |
3507 | #include <linux/percpu_counter.h> | 3313 | + vx_openfd_dec(fd); |
3508 | #include <linux/percpu.h> | 3314 | } |
3315 | |||
3316 | void put_unused_fd(unsigned int fd) | ||
3317 | @@ -812,6 +819,8 @@ static int do_dup2(struct files_struct * | ||
3318 | |||
3319 | if (tofree) | ||
3320 | filp_close(tofree, files); | ||
3321 | + else | ||
3322 | + vx_openfd_inc(fd); /* fd was unused */ | ||
3323 | |||
3324 | return fd; | ||
3325 | |||
3326 | diff -NurpP --minimal linux-3.10.17/fs/file_table.c linux-3.10.17-vs2.3.6.6/fs/file_table.c | ||
3327 | --- linux-3.10.17/fs/file_table.c 2013-07-14 17:01:28.000000000 +0000 | ||
3328 | +++ linux-3.10.17-vs2.3.6.6/fs/file_table.c 2013-08-22 20:29:59.000000000 +0000 | ||
3329 | @@ -26,6 +26,8 @@ | ||
3330 | #include <linux/hardirq.h> | ||
3331 | #include <linux/task_work.h> | ||
3509 | #include <linux/ima.h> | 3332 | #include <linux/ima.h> |
3510 | +#include <linux/vs_limit.h> | 3333 | +#include <linux/vs_limit.h> |
3511 | +#include <linux/vs_context.h> | 3334 | +#include <linux/vs_context.h> |
3512 | 3335 | ||
3513 | #include <linux/atomic.h> | 3336 | #include <linux/atomic.h> |
3514 | 3337 | ||
3515 | @@ -135,6 +137,8 @@ struct file *get_empty_filp(void) | 3338 | @@ -140,6 +142,8 @@ struct file *get_empty_filp(void) |
3516 | spin_lock_init(&f->f_lock); | 3339 | spin_lock_init(&f->f_lock); |
3517 | eventpoll_init_file(f); | 3340 | eventpoll_init_file(f); |
3518 | /* f->f_version: 0 */ | 3341 | /* f->f_version: 0 */ |
@@ -3521,16 +3344,16 @@ diff -NurpP --minimal linux-3.4.57/fs/file_table.c linux-3.4.57-vs2.3.3.9/fs/fil | |||
3521 | return f; | 3344 | return f; |
3522 | 3345 | ||
3523 | over: | 3346 | over: |
3524 | @@ -252,6 +256,8 @@ static void __fput(struct file *file) | 3347 | @@ -257,6 +261,8 @@ static void __fput(struct file *file) |
3525 | } | 3348 | i_readcount_dec(inode); |
3526 | fops_put(file->f_op); | 3349 | if (file->f_mode & FMODE_WRITE) |
3527 | put_pid(file->f_owner.pid); | 3350 | drop_file_write_access(file); |
3528 | + vx_files_dec(file); | 3351 | + vx_files_dec(file); |
3529 | + file->f_xid = 0; | 3352 | + file->f_xid = 0; |
3530 | file_sb_list_del(file); | 3353 | file->f_path.dentry = NULL; |
3531 | if ((file->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) | 3354 | file->f_path.mnt = NULL; |
3532 | i_readcount_dec(inode); | 3355 | file->f_inode = NULL; |
3533 | @@ -382,6 +388,8 @@ void put_filp(struct file *file) | 3356 | @@ -345,6 +351,8 @@ void put_filp(struct file *file) |
3534 | { | 3357 | { |
3535 | if (atomic_long_dec_and_test(&file->f_count)) { | 3358 | if (atomic_long_dec_and_test(&file->f_count)) { |
3536 | security_file_free(file); | 3359 | security_file_free(file); |
@@ -3539,9 +3362,9 @@ diff -NurpP --minimal linux-3.4.57/fs/file_table.c linux-3.4.57-vs2.3.3.9/fs/fil | |||
3539 | file_sb_list_del(file); | 3362 | file_sb_list_del(file); |
3540 | file_free(file); | 3363 | file_free(file); |
3541 | } | 3364 | } |
3542 | diff -NurpP --minimal linux-3.4.57/fs/fs_struct.c linux-3.4.57-vs2.3.3.9/fs/fs_struct.c | 3365 | diff -NurpP --minimal linux-3.10.17/fs/fs_struct.c linux-3.10.17-vs2.3.6.6/fs/fs_struct.c |
3543 | --- linux-3.4.57/fs/fs_struct.c 2012-05-21 16:07:20.000000000 +0000 | 3366 | --- linux-3.10.17/fs/fs_struct.c 2013-05-31 13:45:23.000000000 +0000 |
3544 | +++ linux-3.4.57-vs2.3.3.9/fs/fs_struct.c 2012-05-21 16:15:05.000000000 +0000 | 3367 | +++ linux-3.10.17-vs2.3.6.6/fs/fs_struct.c 2013-08-22 20:29:59.000000000 +0000 |
3545 | @@ -4,6 +4,7 @@ | 3368 | @@ -4,6 +4,7 @@ |
3546 | #include <linux/path.h> | 3369 | #include <linux/path.h> |
3547 | #include <linux/slab.h> | 3370 | #include <linux/slab.h> |
@@ -3549,39 +3372,39 @@ diff -NurpP --minimal linux-3.4.57/fs/fs_struct.c linux-3.4.57-vs2.3.3.9/fs/fs_s | |||
3549 | +#include <linux/vserver/global.h> | 3372 | +#include <linux/vserver/global.h> |
3550 | #include "internal.h" | 3373 | #include "internal.h" |
3551 | 3374 | ||
3552 | static inline void path_get_longterm(struct path *path) | 3375 | /* |
3553 | @@ -99,6 +100,7 @@ void free_fs_struct(struct fs_struct *fs | 3376 | @@ -87,6 +88,7 @@ void free_fs_struct(struct fs_struct *fs |
3554 | { | 3377 | { |
3555 | path_put_longterm(&fs->root); | 3378 | path_put(&fs->root); |
3556 | path_put_longterm(&fs->pwd); | 3379 | path_put(&fs->pwd); |
3557 | + atomic_dec(&vs_global_fs); | 3380 | + atomic_dec(&vs_global_fs); |
3558 | kmem_cache_free(fs_cachep, fs); | 3381 | kmem_cache_free(fs_cachep, fs); |
3559 | } | 3382 | } |
3560 | 3383 | ||
3561 | @@ -136,6 +138,7 @@ struct fs_struct *copy_fs_struct(struct | 3384 | @@ -124,6 +126,7 @@ struct fs_struct *copy_fs_struct(struct |
3562 | fs->pwd = old->pwd; | 3385 | fs->pwd = old->pwd; |
3563 | path_get_longterm(&fs->pwd); | 3386 | path_get(&fs->pwd); |
3564 | spin_unlock(&old->lock); | 3387 | spin_unlock(&old->lock); |
3565 | + atomic_inc(&vs_global_fs); | 3388 | + atomic_inc(&vs_global_fs); |
3566 | } | 3389 | } |
3567 | return fs; | 3390 | return fs; |
3568 | } | 3391 | } |
3569 | diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2/file.c | 3392 | diff -NurpP --minimal linux-3.10.17/fs/gfs2/file.c linux-3.10.17-vs2.3.6.6/fs/gfs2/file.c |
3570 | --- linux-3.4.57/fs/gfs2/file.c 2012-05-21 16:07:20.000000000 +0000 | 3393 | --- linux-3.10.17/fs/gfs2/file.c 2013-07-14 17:01:28.000000000 +0000 |
3571 | +++ linux-3.4.57-vs2.3.3.9/fs/gfs2/file.c 2012-05-21 16:15:05.000000000 +0000 | 3394 | +++ linux-3.10.17-vs2.3.6.6/fs/gfs2/file.c 2013-08-22 20:29:59.000000000 +0000 |
3572 | @@ -142,6 +142,9 @@ static const u32 fsflags_to_gfs2[32] = { | 3395 | @@ -144,6 +144,9 @@ static const u32 fsflags_to_gfs2[32] = { |
3573 | [7] = GFS2_DIF_NOATIME, | ||
3574 | [12] = GFS2_DIF_EXHASH, | 3396 | [12] = GFS2_DIF_EXHASH, |
3575 | [14] = GFS2_DIF_INHERIT_JDATA, | 3397 | [14] = GFS2_DIF_INHERIT_JDATA, |
3398 | [17] = GFS2_DIF_TOPDIR, | ||
3576 | + [27] = GFS2_DIF_IXUNLINK, | 3399 | + [27] = GFS2_DIF_IXUNLINK, |
3577 | + [26] = GFS2_DIF_BARRIER, | 3400 | + [26] = GFS2_DIF_BARRIER, |
3578 | + [29] = GFS2_DIF_COW, | 3401 | + [29] = GFS2_DIF_COW, |
3579 | }; | 3402 | }; |
3580 | 3403 | ||
3581 | static const u32 gfs2_to_fsflags[32] = { | 3404 | static const u32 gfs2_to_fsflags[32] = { |
3582 | @@ -151,6 +154,9 @@ static const u32 gfs2_to_fsflags[32] = { | 3405 | @@ -154,6 +157,9 @@ static const u32 gfs2_to_fsflags[32] = { |
3583 | [gfs2fl_NoAtime] = FS_NOATIME_FL, | ||
3584 | [gfs2fl_ExHash] = FS_INDEX_FL, | 3406 | [gfs2fl_ExHash] = FS_INDEX_FL, |
3407 | [gfs2fl_TopLevel] = FS_TOPDIR_FL, | ||
3585 | [gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL, | 3408 | [gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL, |
3586 | + [gfs2fl_IXUnlink] = FS_IXUNLINK_FL, | 3409 | + [gfs2fl_IXUnlink] = FS_IXUNLINK_FL, |
3587 | + [gfs2fl_Barrier] = FS_BARRIER_FL, | 3410 | + [gfs2fl_Barrier] = FS_BARRIER_FL, |
@@ -3589,7 +3412,7 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2 | |||
3589 | }; | 3412 | }; |
3590 | 3413 | ||
3591 | static int gfs2_get_flags(struct file *filp, u32 __user *ptr) | 3414 | static int gfs2_get_flags(struct file *filp, u32 __user *ptr) |
3592 | @@ -181,12 +187,18 @@ void gfs2_set_inode_flags(struct inode * | 3415 | @@ -184,12 +190,18 @@ void gfs2_set_inode_flags(struct inode * |
3593 | { | 3416 | { |
3594 | struct gfs2_inode *ip = GFS2_I(inode); | 3417 | struct gfs2_inode *ip = GFS2_I(inode); |
3595 | unsigned int flags = inode->i_flags; | 3418 | unsigned int flags = inode->i_flags; |
@@ -3609,7 +3432,7 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2 | |||
3609 | if (ip->i_diskflags & GFS2_DIF_APPENDONLY) | 3432 | if (ip->i_diskflags & GFS2_DIF_APPENDONLY) |
3610 | flags |= S_APPEND; | 3433 | flags |= S_APPEND; |
3611 | if (ip->i_diskflags & GFS2_DIF_NOATIME) | 3434 | if (ip->i_diskflags & GFS2_DIF_NOATIME) |
3612 | @@ -194,6 +206,43 @@ void gfs2_set_inode_flags(struct inode * | 3435 | @@ -197,6 +209,43 @@ void gfs2_set_inode_flags(struct inode * |
3613 | if (ip->i_diskflags & GFS2_DIF_SYNC) | 3436 | if (ip->i_diskflags & GFS2_DIF_SYNC) |
3614 | flags |= S_SYNC; | 3437 | flags |= S_SYNC; |
3615 | inode->i_flags = flags; | 3438 | inode->i_flags = flags; |
@@ -3653,7 +3476,7 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2 | |||
3653 | } | 3476 | } |
3654 | 3477 | ||
3655 | /* Flags that can be set by user space */ | 3478 | /* Flags that can be set by user space */ |
3656 | @@ -305,6 +354,37 @@ static int gfs2_set_flags(struct file *f | 3479 | @@ -310,6 +359,37 @@ static int gfs2_set_flags(struct file *f |
3657 | return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA); | 3480 | return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA); |
3658 | } | 3481 | } |
3659 | 3482 | ||
@@ -3674,7 +3497,7 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2 | |||
3674 | + error = gfs2_meta_inode_buffer(ip, &bh); | 3497 | + error = gfs2_meta_inode_buffer(ip, &bh); |
3675 | + if (error) | 3498 | + if (error) |
3676 | + goto out_trans_end; | 3499 | + goto out_trans_end; |
3677 | + gfs2_trans_add_bh(ip->i_gl, bh, 1); | 3500 | + gfs2_trans_add_meta(ip->i_gl, bh); |
3678 | + inode->i_flags = flags; | 3501 | + inode->i_flags = flags; |
3679 | + inode->i_vflags = vflags; | 3502 | + inode->i_vflags = vflags; |
3680 | + gfs2_get_inode_flags(inode); | 3503 | + gfs2_get_inode_flags(inode); |
@@ -3691,10 +3514,10 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/file.c linux-3.4.57-vs2.3.3.9/fs/gfs2 | |||
3691 | static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 3514 | static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
3692 | { | 3515 | { |
3693 | switch(cmd) { | 3516 | switch(cmd) { |
3694 | diff -NurpP --minimal linux-3.4.57/fs/gfs2/inode.h linux-3.4.57-vs2.3.3.9/fs/gfs2/inode.h | 3517 | diff -NurpP --minimal linux-3.10.17/fs/gfs2/inode.h linux-3.10.17-vs2.3.6.6/fs/gfs2/inode.h |
3695 | --- linux-3.4.57/fs/gfs2/inode.h 2012-01-09 15:14:54.000000000 +0000 | 3518 | --- linux-3.10.17/fs/gfs2/inode.h 2012-12-11 03:30:57.000000000 +0000 |
3696 | +++ linux-3.4.57-vs2.3.3.9/fs/gfs2/inode.h 2012-05-21 16:15:05.000000000 +0000 | 3519 | +++ linux-3.10.17-vs2.3.6.6/fs/gfs2/inode.h 2013-08-22 20:29:59.000000000 +0000 |
3697 | @@ -120,6 +120,7 @@ extern const struct file_operations gfs2 | 3520 | @@ -117,6 +117,7 @@ extern const struct file_operations gfs2 |
3698 | extern const struct file_operations gfs2_dir_fops_nolock; | 3521 | extern const struct file_operations gfs2_dir_fops_nolock; |
3699 | 3522 | ||
3700 | extern void gfs2_set_inode_flags(struct inode *inode); | 3523 | extern void gfs2_set_inode_flags(struct inode *inode); |
@@ -3702,9 +3525,20 @@ diff -NurpP --minimal linux-3.4.57/fs/gfs2/inode.h linux-3.4.57-vs2.3.3.9/fs/gfs | |||
3702 | 3525 | ||
3703 | #ifdef CONFIG_GFS2_FS_LOCKING_DLM | 3526 | #ifdef CONFIG_GFS2_FS_LOCKING_DLM |
3704 | extern const struct file_operations gfs2_file_fops; | 3527 | extern const struct file_operations gfs2_file_fops; |
3705 | diff -NurpP --minimal linux-3.4.57/fs/inode.c linux-3.4.57-vs2.3.3.9/fs/inode.c | 3528 | diff -NurpP --minimal linux-3.10.17/fs/hostfs/hostfs.h linux-3.10.17-vs2.3.6.6/fs/hostfs/hostfs.h |
3706 | --- linux-3.4.57/fs/inode.c 2013-08-13 14:13:33.000000000 +0000 | 3529 | --- linux-3.10.17/fs/hostfs/hostfs.h 2012-12-11 03:30:57.000000000 +0000 |
3707 | +++ linux-3.4.57-vs2.3.3.9/fs/inode.c 2013-07-14 13:38:34.000000000 +0000 | 3530 | +++ linux-3.10.17-vs2.3.6.6/fs/hostfs/hostfs.h 2013-08-22 20:29:59.000000000 +0000 |
3531 | @@ -42,6 +42,7 @@ struct hostfs_iattr { | ||
3532 | unsigned short ia_mode; | ||
3533 | uid_t ia_uid; | ||
3534 | gid_t ia_gid; | ||
3535 | + vtag_t ia_tag; | ||
3536 | loff_t ia_size; | ||
3537 | struct timespec ia_atime; | ||
3538 | struct timespec ia_mtime; | ||
3539 | diff -NurpP --minimal linux-3.10.17/fs/inode.c linux-3.10.17-vs2.3.6.6/fs/inode.c | ||
3540 | --- linux-3.10.17/fs/inode.c 2013-07-14 17:01:28.000000000 +0000 | ||
3541 | +++ linux-3.10.17-vs2.3.6.6/fs/inode.c 2013-08-22 20:29:59.000000000 +0000 | ||
3708 | @@ -17,6 +17,7 @@ | 3542 | @@ -17,6 +17,7 @@ |
3709 | #include <linux/prefetch.h> | 3543 | #include <linux/prefetch.h> |
3710 | #include <linux/buffer_head.h> /* for inode_has_buffers */ | 3544 | #include <linux/buffer_head.h> /* for inode_has_buffers */ |
@@ -3713,16 +3547,23 @@ diff -NurpP --minimal linux-3.4.57/fs/inode.c linux-3.4.57-vs2.3.3.9/fs/inode.c | |||
3713 | #include "internal.h" | 3547 | #include "internal.h" |
3714 | 3548 | ||
3715 | /* | 3549 | /* |
3716 | @@ -128,6 +129,9 @@ int inode_init_always(struct super_block | 3550 | @@ -128,6 +129,8 @@ int inode_init_always(struct super_block |
3717 | struct address_space *const mapping = &inode->i_data; | 3551 | struct address_space *const mapping = &inode->i_data; |
3718 | 3552 | ||
3719 | inode->i_sb = sb; | 3553 | inode->i_sb = sb; |
3720 | + | 3554 | + |
3721 | + /* essential because of inode slab reuse */ | 3555 | + /* essential because of inode slab reuse */ |
3722 | + inode->i_tag = 0; | ||
3723 | inode->i_blkbits = sb->s_blocksize_bits; | 3556 | inode->i_blkbits = sb->s_blocksize_bits; |
3724 | inode->i_flags = 0; | 3557 | inode->i_flags = 0; |
3725 | atomic_set(&inode->i_count, 1); | 3558 | atomic_set(&inode->i_count, 1); |
3559 | @@ -137,6 +140,7 @@ int inode_init_always(struct super_block | ||
3560 | inode->i_opflags = 0; | ||
3561 | i_uid_write(inode, 0); | ||
3562 | i_gid_write(inode, 0); | ||
3563 | + i_tag_write(inode, 0); | ||
3564 | atomic_set(&inode->i_writecount, 0); | ||
3565 | inode->i_size = 0; | ||
3566 | inode->i_blocks = 0; | ||
3726 | @@ -149,6 +153,7 @@ int inode_init_always(struct super_block | 3567 | @@ -149,6 +153,7 @@ int inode_init_always(struct super_block |
3727 | inode->i_bdev = NULL; | 3568 | inode->i_bdev = NULL; |
3728 | inode->i_cdev = NULL; | 3569 | inode->i_cdev = NULL; |
@@ -3731,7 +3572,7 @@ diff -NurpP --minimal linux-3.4.57/fs/inode.c linux-3.4.57-vs2.3.3.9/fs/inode.c | |||
3731 | inode->dirtied_when = 0; | 3572 | inode->dirtied_when = 0; |
3732 | 3573 | ||
3733 | if (security_inode_alloc(inode)) | 3574 | if (security_inode_alloc(inode)) |
3734 | @@ -470,6 +475,8 @@ void __insert_inode_hash(struct inode *i | 3575 | @@ -483,6 +488,8 @@ void __insert_inode_hash(struct inode *i |
3735 | } | 3576 | } |
3736 | EXPORT_SYMBOL(__insert_inode_hash); | 3577 | EXPORT_SYMBOL(__insert_inode_hash); |
3737 | 3578 | ||
@@ -3740,7 +3581,7 @@ diff -NurpP --minimal linux-3.4.57/fs/inode.c linux-3.4.57-vs2.3.3.9/fs/inode.c | |||
3740 | /** | 3581 | /** |
3741 | * __remove_inode_hash - remove an inode from the hash | 3582 | * __remove_inode_hash - remove an inode from the hash |
3742 | * @inode: inode to unhash | 3583 | * @inode: inode to unhash |
3743 | @@ -1689,9 +1696,11 @@ void init_special_inode(struct inode *in | 3584 | @@ -1799,9 +1806,11 @@ void init_special_inode(struct inode *in |
3744 | if (S_ISCHR(mode)) { | 3585 | if (S_ISCHR(mode)) { |
3745 | inode->i_fop = &def_chr_fops; | 3586 | inode->i_fop = &def_chr_fops; |
3746 | inode->i_rdev = rdev; | 3587 | inode->i_rdev = rdev; |
@@ -3750,19 +3591,19 @@ diff -NurpP --minimal linux-3.4.57/fs/inode.c linux-3.4.57-vs2.3.3.9/fs/inode.c | |||
3750 | inode->i_rdev = rdev; | 3591 | inode->i_rdev = rdev; |
3751 | + inode->i_mdev = rdev; | 3592 | + inode->i_mdev = rdev; |
3752 | } else if (S_ISFIFO(mode)) | 3593 | } else if (S_ISFIFO(mode)) |
3753 | inode->i_fop = &def_fifo_fops; | 3594 | inode->i_fop = &pipefifo_fops; |
3754 | else if (S_ISSOCK(mode)) | 3595 | else if (S_ISSOCK(mode)) |
3755 | @@ -1720,6 +1729,7 @@ void inode_init_owner(struct inode *inod | 3596 | @@ -1830,6 +1839,7 @@ void inode_init_owner(struct inode *inod |
3756 | } else | 3597 | } else |
3757 | inode->i_gid = current_fsgid(); | 3598 | inode->i_gid = current_fsgid(); |
3758 | inode->i_mode = mode; | 3599 | inode->i_mode = mode; |
3759 | + inode->i_tag = dx_current_fstag(inode->i_sb); | 3600 | + i_tag_write(inode, dx_current_fstag(inode->i_sb)); |
3760 | } | 3601 | } |
3761 | EXPORT_SYMBOL(inode_init_owner); | 3602 | EXPORT_SYMBOL(inode_init_owner); |
3762 | 3603 | ||
3763 | diff -NurpP --minimal linux-3.4.57/fs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ioctl.c | 3604 | diff -NurpP --minimal linux-3.10.17/fs/ioctl.c linux-3.10.17-vs2.3.6.6/fs/ioctl.c |
3764 | --- linux-3.4.57/fs/ioctl.c 2012-05-21 16:07:24.000000000 +0000 | 3605 | --- linux-3.10.17/fs/ioctl.c 2013-05-31 13:45:24.000000000 +0000 |
3765 | +++ linux-3.4.57-vs2.3.3.9/fs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 3606 | +++ linux-3.10.17-vs2.3.6.6/fs/ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
3766 | @@ -15,6 +15,9 @@ | 3607 | @@ -15,6 +15,9 @@ |
3767 | #include <linux/writeback.h> | 3608 | #include <linux/writeback.h> |
3768 | #include <linux/buffer_head.h> | 3609 | #include <linux/buffer_head.h> |
@@ -3773,9 +3614,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ioctl.c | |||
3773 | 3614 | ||
3774 | #include <asm/ioctls.h> | 3615 | #include <asm/ioctls.h> |
3775 | 3616 | ||
3776 | diff -NurpP --minimal linux-3.4.57/fs/ioprio.c linux-3.4.57-vs2.3.3.9/fs/ioprio.c | 3617 | diff -NurpP --minimal linux-3.10.17/fs/ioprio.c linux-3.10.17-vs2.3.6.6/fs/ioprio.c |
3777 | --- linux-3.4.57/fs/ioprio.c 2012-03-19 18:47:25.000000000 +0000 | 3618 | --- linux-3.10.17/fs/ioprio.c 2012-12-11 03:30:57.000000000 +0000 |
3778 | +++ linux-3.4.57-vs2.3.3.9/fs/ioprio.c 2012-05-21 16:15:05.000000000 +0000 | 3619 | +++ linux-3.10.17-vs2.3.6.6/fs/ioprio.c 2013-08-22 20:29:59.000000000 +0000 |
3779 | @@ -28,6 +28,7 @@ | 3620 | @@ -28,6 +28,7 @@ |
3780 | #include <linux/syscalls.h> | 3621 | #include <linux/syscalls.h> |
3781 | #include <linux/security.h> | 3622 | #include <linux/security.h> |
@@ -3784,7 +3625,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ioprio.c linux-3.4.57-vs2.3.3.9/fs/ioprio. | |||
3784 | 3625 | ||
3785 | int set_task_ioprio(struct task_struct *task, int ioprio) | 3626 | int set_task_ioprio(struct task_struct *task, int ioprio) |
3786 | { | 3627 | { |
3787 | @@ -104,6 +105,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which, | 3628 | @@ -105,6 +106,8 @@ SYSCALL_DEFINE3(ioprio_set, int, which, |
3788 | else | 3629 | else |
3789 | pgrp = find_vpid(who); | 3630 | pgrp = find_vpid(who); |
3790 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { | 3631 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
@@ -3793,7 +3634,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ioprio.c linux-3.4.57-vs2.3.3.9/fs/ioprio. | |||
3793 | ret = set_task_ioprio(p, ioprio); | 3634 | ret = set_task_ioprio(p, ioprio); |
3794 | if (ret) | 3635 | if (ret) |
3795 | break; | 3636 | break; |
3796 | @@ -193,6 +196,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which, | 3637 | @@ -198,6 +201,8 @@ SYSCALL_DEFINE2(ioprio_get, int, which, |
3797 | else | 3638 | else |
3798 | pgrp = find_vpid(who); | 3639 | pgrp = find_vpid(who); |
3799 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { | 3640 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
@@ -3802,20 +3643,20 @@ diff -NurpP --minimal linux-3.4.57/fs/ioprio.c linux-3.4.57-vs2.3.3.9/fs/ioprio. | |||
3802 | tmpio = get_task_ioprio(p); | 3643 | tmpio = get_task_ioprio(p); |
3803 | if (tmpio < 0) | 3644 | if (tmpio < 0) |
3804 | continue; | 3645 | continue; |
3805 | diff -NurpP --minimal linux-3.4.57/fs/jfs/file.c linux-3.4.57-vs2.3.3.9/fs/jfs/file.c | 3646 | diff -NurpP --minimal linux-3.10.17/fs/jfs/file.c linux-3.10.17-vs2.3.6.6/fs/jfs/file.c |
3806 | --- linux-3.4.57/fs/jfs/file.c 2011-10-24 16:45:27.000000000 +0000 | 3647 | --- linux-3.10.17/fs/jfs/file.c 2013-02-19 13:58:48.000000000 +0000 |
3807 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/file.c 2012-05-21 16:15:05.000000000 +0000 | 3648 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/file.c 2013-08-22 20:29:59.000000000 +0000 |
3808 | @@ -109,7 +109,8 @@ int jfs_setattr(struct dentry *dentry, s | 3649 | @@ -109,7 +109,8 @@ int jfs_setattr(struct dentry *dentry, s |
3809 | if (is_quota_modification(inode, iattr)) | 3650 | if (is_quota_modification(inode, iattr)) |
3810 | dquot_initialize(inode); | 3651 | dquot_initialize(inode); |
3811 | if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || | 3652 | if ((iattr->ia_valid & ATTR_UID && !uid_eq(iattr->ia_uid, inode->i_uid)) || |
3812 | - (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) { | 3653 | - (iattr->ia_valid & ATTR_GID && !gid_eq(iattr->ia_gid, inode->i_gid))) { |
3813 | + (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid) || | 3654 | + (iattr->ia_valid & ATTR_GID && !gid_eq(iattr->ia_gid, inode->i_gid)) || |
3814 | + (iattr->ia_valid & ATTR_TAG && iattr->ia_tag != inode->i_tag)) { | 3655 | + (iattr->ia_valid & ATTR_TAG && !tag_eq(iattr->ia_tag, inode->i_tag))) { |
3815 | rc = dquot_transfer(inode, iattr); | 3656 | rc = dquot_transfer(inode, iattr); |
3816 | if (rc) | 3657 | if (rc) |
3817 | return rc; | 3658 | return rc; |
3818 | @@ -142,6 +143,7 @@ const struct inode_operations jfs_file_i | 3659 | @@ -144,6 +145,7 @@ const struct inode_operations jfs_file_i |
3819 | #ifdef CONFIG_JFS_POSIX_ACL | 3660 | #ifdef CONFIG_JFS_POSIX_ACL |
3820 | .get_acl = jfs_get_acl, | 3661 | .get_acl = jfs_get_acl, |
3821 | #endif | 3662 | #endif |
@@ -3823,18 +3664,18 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/file.c linux-3.4.57-vs2.3.3.9/fs/jfs/f | |||
3823 | }; | 3664 | }; |
3824 | 3665 | ||
3825 | const struct file_operations jfs_file_operations = { | 3666 | const struct file_operations jfs_file_operations = { |
3826 | diff -NurpP --minimal linux-3.4.57/fs/jfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/jfs/ioctl.c | 3667 | diff -NurpP --minimal linux-3.10.17/fs/jfs/ioctl.c linux-3.10.17-vs2.3.6.6/fs/jfs/ioctl.c |
3827 | --- linux-3.4.57/fs/jfs/ioctl.c 2012-03-19 18:47:25.000000000 +0000 | 3668 | --- linux-3.10.17/fs/jfs/ioctl.c 2013-05-31 13:45:24.000000000 +0000 |
3828 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 3669 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
3829 | @@ -11,6 +11,7 @@ | 3670 | @@ -12,6 +12,7 @@ |
3830 | #include <linux/mount.h> | ||
3831 | #include <linux/time.h> | 3671 | #include <linux/time.h> |
3832 | #include <linux/sched.h> | 3672 | #include <linux/sched.h> |
3673 | #include <linux/blkdev.h> | ||
3833 | +#include <linux/mount.h> | 3674 | +#include <linux/mount.h> |
3834 | #include <asm/current.h> | 3675 | #include <asm/current.h> |
3835 | #include <asm/uaccess.h> | 3676 | #include <asm/uaccess.h> |
3836 | 3677 | ||
3837 | @@ -52,6 +53,16 @@ static long jfs_map_ext2(unsigned long f | 3678 | @@ -56,6 +57,16 @@ static long jfs_map_ext2(unsigned long f |
3838 | } | 3679 | } |
3839 | 3680 | ||
3840 | 3681 | ||
@@ -3850,8 +3691,8 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
3850 | + | 3691 | + |
3851 | long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 3692 | long jfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
3852 | { | 3693 | { |
3853 | struct inode *inode = filp->f_dentry->d_inode; | 3694 | struct inode *inode = file_inode(filp); |
3854 | @@ -85,6 +96,11 @@ long jfs_ioctl(struct file *filp, unsign | 3695 | @@ -89,6 +100,11 @@ long jfs_ioctl(struct file *filp, unsign |
3855 | if (!S_ISDIR(inode->i_mode)) | 3696 | if (!S_ISDIR(inode->i_mode)) |
3856 | flags &= ~JFS_DIRSYNC_FL; | 3697 | flags &= ~JFS_DIRSYNC_FL; |
3857 | 3698 | ||
@@ -3863,7 +3704,7 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
3863 | /* Is it quota file? Do not allow user to mess with it */ | 3704 | /* Is it quota file? Do not allow user to mess with it */ |
3864 | if (IS_NOQUOTA(inode)) { | 3705 | if (IS_NOQUOTA(inode)) { |
3865 | err = -EPERM; | 3706 | err = -EPERM; |
3866 | @@ -102,8 +118,8 @@ long jfs_ioctl(struct file *filp, unsign | 3707 | @@ -106,8 +122,8 @@ long jfs_ioctl(struct file *filp, unsign |
3867 | * the relevant capability. | 3708 | * the relevant capability. |
3868 | */ | 3709 | */ |
3869 | if ((oldflags & JFS_IMMUTABLE_FL) || | 3710 | if ((oldflags & JFS_IMMUTABLE_FL) || |
@@ -3874,7 +3715,7 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
3874 | if (!capable(CAP_LINUX_IMMUTABLE)) { | 3715 | if (!capable(CAP_LINUX_IMMUTABLE)) { |
3875 | mutex_unlock(&inode->i_mutex); | 3716 | mutex_unlock(&inode->i_mutex); |
3876 | err = -EPERM; | 3717 | err = -EPERM; |
3877 | @@ -111,7 +127,7 @@ long jfs_ioctl(struct file *filp, unsign | 3718 | @@ -115,7 +131,7 @@ long jfs_ioctl(struct file *filp, unsign |
3878 | } | 3719 | } |
3879 | } | 3720 | } |
3880 | 3721 | ||
@@ -3883,9 +3724,9 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
3883 | flags |= oldflags & ~JFS_FL_USER_MODIFIABLE; | 3724 | flags |= oldflags & ~JFS_FL_USER_MODIFIABLE; |
3884 | jfs_inode->mode2 = flags; | 3725 | jfs_inode->mode2 = flags; |
3885 | 3726 | ||
3886 | diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_dinode.h linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_dinode.h | 3727 | diff -NurpP --minimal linux-3.10.17/fs/jfs/jfs_dinode.h linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_dinode.h |
3887 | --- linux-3.4.57/fs/jfs/jfs_dinode.h 2008-12-24 23:26:37.000000000 +0000 | 3728 | --- linux-3.10.17/fs/jfs/jfs_dinode.h 2012-12-11 03:30:57.000000000 +0000 |
3888 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_dinode.h 2012-05-21 16:15:05.000000000 +0000 | 3729 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_dinode.h 2013-08-22 20:29:59.000000000 +0000 |
3889 | @@ -161,9 +161,13 @@ struct dinode { | 3730 | @@ -161,9 +161,13 @@ struct dinode { |
3890 | 3731 | ||
3891 | #define JFS_APPEND_FL 0x01000000 /* writes to file may only append */ | 3732 | #define JFS_APPEND_FL 0x01000000 /* writes to file may only append */ |
@@ -3902,10 +3743,10 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_dinode.h linux-3.4.57-vs2.3.3.9/fs | |||
3902 | #define JFS_FL_INHERIT 0x03C80000 | 3743 | #define JFS_FL_INHERIT 0x03C80000 |
3903 | 3744 | ||
3904 | /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */ | 3745 | /* These are identical to EXT[23]_IOC_GETFLAGS/SETFLAGS */ |
3905 | diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_filsys.h linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_filsys.h | 3746 | diff -NurpP --minimal linux-3.10.17/fs/jfs/jfs_filsys.h linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_filsys.h |
3906 | --- linux-3.4.57/fs/jfs/jfs_filsys.h 2008-12-24 23:26:37.000000000 +0000 | 3747 | --- linux-3.10.17/fs/jfs/jfs_filsys.h 2012-12-11 03:30:57.000000000 +0000 |
3907 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_filsys.h 2012-05-21 16:15:05.000000000 +0000 | 3748 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_filsys.h 2013-08-22 20:29:59.000000000 +0000 |
3908 | @@ -263,6 +263,7 @@ | 3749 | @@ -266,6 +266,7 @@ |
3909 | #define JFS_NAME_MAX 255 | 3750 | #define JFS_NAME_MAX 255 |
3910 | #define JFS_PATH_MAX BPSIZE | 3751 | #define JFS_PATH_MAX BPSIZE |
3911 | 3752 | ||
@@ -3913,9 +3754,9 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_filsys.h linux-3.4.57-vs2.3.3.9/fs | |||
3913 | 3754 | ||
3914 | /* | 3755 | /* |
3915 | * file system state (superblock state) | 3756 | * file system state (superblock state) |
3916 | diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_imap.c linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_imap.c | 3757 | diff -NurpP --minimal linux-3.10.17/fs/jfs/jfs_imap.c linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_imap.c |
3917 | --- linux-3.4.57/fs/jfs/jfs_imap.c 2012-01-09 15:14:54.000000000 +0000 | 3758 | --- linux-3.10.17/fs/jfs/jfs_imap.c 2013-07-14 17:01:28.000000000 +0000 |
3918 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_imap.c 2012-05-21 16:15:05.000000000 +0000 | 3759 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_imap.c 2013-08-22 20:29:59.000000000 +0000 |
3919 | @@ -46,6 +46,7 @@ | 3760 | @@ -46,6 +46,7 @@ |
3920 | #include <linux/pagemap.h> | 3761 | #include <linux/pagemap.h> |
3921 | #include <linux/quotaops.h> | 3762 | #include <linux/quotaops.h> |
@@ -3928,8 +3769,8 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_imap.c linux-3.4.57-vs2.3.3.9/fs/j | |||
3928 | { | 3769 | { |
3929 | struct jfs_inode_info *jfs_ip = JFS_IP(ip); | 3770 | struct jfs_inode_info *jfs_ip = JFS_IP(ip); |
3930 | struct jfs_sb_info *sbi = JFS_SBI(ip->i_sb); | 3771 | struct jfs_sb_info *sbi = JFS_SBI(ip->i_sb); |
3931 | + uid_t uid; | 3772 | + kuid_t kuid; |
3932 | + gid_t gid; | 3773 | + kgid_t kgid; |
3933 | 3774 | ||
3934 | jfs_ip->fileset = le32_to_cpu(dip->di_fileset); | 3775 | jfs_ip->fileset = le32_to_cpu(dip->di_fileset); |
3935 | jfs_ip->mode2 = le32_to_cpu(dip->di_mode); | 3776 | jfs_ip->mode2 = le32_to_cpu(dip->di_mode); |
@@ -3937,47 +3778,51 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_imap.c linux-3.4.57-vs2.3.3.9/fs/j | |||
3937 | } | 3778 | } |
3938 | set_nlink(ip, le32_to_cpu(dip->di_nlink)); | 3779 | set_nlink(ip, le32_to_cpu(dip->di_nlink)); |
3939 | 3780 | ||
3940 | - jfs_ip->saved_uid = le32_to_cpu(dip->di_uid); | 3781 | - jfs_ip->saved_uid = make_kuid(&init_user_ns, le32_to_cpu(dip->di_uid)); |
3941 | + uid = le32_to_cpu(dip->di_uid); | 3782 | + kuid = make_kuid(&init_user_ns, le32_to_cpu(dip->di_uid)); |
3942 | + gid = le32_to_cpu(dip->di_gid); | 3783 | + kgid = make_kgid(&init_user_ns, le32_to_cpu(dip->di_gid)); |
3943 | + ip->i_tag = INOTAG_TAG(DX_TAG(ip), uid, gid, 0); | 3784 | + ip->i_tag = INOTAG_KTAG(DX_TAG(ip), kuid, kgid, GLOBAL_ROOT_TAG); |
3944 | + | 3785 | + |
3945 | + jfs_ip->saved_uid = INOTAG_UID(DX_TAG(ip), uid, gid); | 3786 | + jfs_ip->saved_uid = INOTAG_KUID(DX_TAG(ip), kuid, kgid); |
3946 | if (sbi->uid == -1) | 3787 | if (!uid_valid(sbi->uid)) |
3947 | ip->i_uid = jfs_ip->saved_uid; | 3788 | ip->i_uid = jfs_ip->saved_uid; |
3948 | else { | 3789 | else { |
3949 | ip->i_uid = sbi->uid; | 3790 | ip->i_uid = sbi->uid; |
3950 | } | 3791 | } |
3951 | 3792 | ||
3952 | - jfs_ip->saved_gid = le32_to_cpu(dip->di_gid); | 3793 | - jfs_ip->saved_gid = make_kgid(&init_user_ns, le32_to_cpu(dip->di_gid)); |
3953 | + jfs_ip->saved_gid = INOTAG_GID(DX_TAG(ip), uid, gid); | 3794 | + jfs_ip->saved_gid = INOTAG_KGID(DX_TAG(ip), kuid, kgid); |
3954 | if (sbi->gid == -1) | 3795 | if (!gid_valid(sbi->gid)) |
3955 | ip->i_gid = jfs_ip->saved_gid; | 3796 | ip->i_gid = jfs_ip->saved_gid; |
3956 | else { | 3797 | else { |
3957 | @@ -3150,14 +3157,12 @@ static void copy_to_dinode(struct dinode | 3798 | @@ -3150,16 +3157,14 @@ static void copy_to_dinode(struct dinode |
3958 | dip->di_size = cpu_to_le64(ip->i_size); | 3799 | dip->di_size = cpu_to_le64(ip->i_size); |
3959 | dip->di_nblocks = cpu_to_le64(PBLK2LBLK(ip->i_sb, ip->i_blocks)); | 3800 | dip->di_nblocks = cpu_to_le64(PBLK2LBLK(ip->i_sb, ip->i_blocks)); |
3960 | dip->di_nlink = cpu_to_le32(ip->i_nlink); | 3801 | dip->di_nlink = cpu_to_le32(ip->i_nlink); |
3961 | - if (sbi->uid == -1) | 3802 | - if (!uid_valid(sbi->uid)) |
3962 | - dip->di_uid = cpu_to_le32(ip->i_uid); | 3803 | - dip->di_uid = cpu_to_le32(i_uid_read(ip)); |
3963 | - else | 3804 | - else |
3964 | - dip->di_uid = cpu_to_le32(jfs_ip->saved_uid); | 3805 | - dip->di_uid =cpu_to_le32(from_kuid(&init_user_ns, |
3965 | - if (sbi->gid == -1) | 3806 | - jfs_ip->saved_uid)); |
3966 | - dip->di_gid = cpu_to_le32(ip->i_gid); | 3807 | - if (!gid_valid(sbi->gid)) |
3808 | - dip->di_gid = cpu_to_le32(i_gid_read(ip)); | ||
3967 | - else | 3809 | - else |
3968 | - dip->di_gid = cpu_to_le32(jfs_ip->saved_gid); | 3810 | - dip->di_gid = cpu_to_le32(from_kgid(&init_user_ns, |
3969 | + | 3811 | - jfs_ip->saved_gid)); |
3970 | + dip->di_uid = cpu_to_le32(TAGINO_UID(DX_TAG(ip), | 3812 | + dip->di_uid = cpu_to_le32(from_kuid(&init_user_ns, |
3971 | + (sbi->uid == -1) ? ip->i_uid : jfs_ip->saved_uid, ip->i_tag)); | 3813 | + TAGINO_KUID(DX_TAG(ip), |
3972 | + dip->di_gid = cpu_to_le32(TAGINO_GID(DX_TAG(ip), | 3814 | + !uid_valid(sbi->uid) ? ip->i_uid : jfs_ip->saved_uid, |
3973 | + (sbi->gid == -1) ? ip->i_gid : jfs_ip->saved_gid, ip->i_tag)); | 3815 | + ip->i_tag))); |
3974 | + | 3816 | + dip->di_gid = cpu_to_le32(from_kgid(&init_user_ns, |
3817 | + TAGINO_KGID(DX_TAG(ip), | ||
3818 | + !gid_valid(sbi->gid) ? ip->i_gid : jfs_ip->saved_gid, | ||
3819 | + ip->i_tag))); | ||
3975 | jfs_get_inode_flags(jfs_ip); | 3820 | jfs_get_inode_flags(jfs_ip); |
3976 | /* | 3821 | /* |
3977 | * mode2 is only needed for storing the higher order bits. | 3822 | * mode2 is only needed for storing the higher order bits. |
3978 | diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_inode.c linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_inode.c | 3823 | diff -NurpP --minimal linux-3.10.17/fs/jfs/jfs_inode.c linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_inode.c |
3979 | --- linux-3.4.57/fs/jfs/jfs_inode.c 2012-01-09 15:14:54.000000000 +0000 | 3824 | --- linux-3.10.17/fs/jfs/jfs_inode.c 2012-12-11 03:30:57.000000000 +0000 |
3980 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_inode.c 2012-05-21 16:15:05.000000000 +0000 | 3825 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_inode.c 2013-08-22 20:29:59.000000000 +0000 |
3981 | @@ -18,6 +18,7 @@ | 3826 | @@ -18,6 +18,7 @@ |
3982 | 3827 | ||
3983 | #include <linux/fs.h> | 3828 | #include <linux/fs.h> |
@@ -4051,9 +3896,9 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
4051 | } | 3896 | } |
4052 | 3897 | ||
4053 | /* | 3898 | /* |
4054 | diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_inode.h linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_inode.h | 3899 | diff -NurpP --minimal linux-3.10.17/fs/jfs/jfs_inode.h linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_inode.h |
4055 | --- linux-3.4.57/fs/jfs/jfs_inode.h 2011-10-24 16:45:27.000000000 +0000 | 3900 | --- linux-3.10.17/fs/jfs/jfs_inode.h 2012-12-11 03:30:57.000000000 +0000 |
4056 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/jfs_inode.h 2012-05-21 16:15:05.000000000 +0000 | 3901 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/jfs_inode.h 2013-08-22 20:29:59.000000000 +0000 |
4057 | @@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s | 3902 | @@ -39,6 +39,7 @@ extern struct dentry *jfs_fh_to_dentry(s |
4058 | extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid, | 3903 | extern struct dentry *jfs_fh_to_parent(struct super_block *sb, struct fid *fid, |
4059 | int fh_len, int fh_type); | 3904 | int fh_len, int fh_type); |
@@ -4062,9 +3907,9 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/jfs_inode.h linux-3.4.57-vs2.3.3.9/fs/ | |||
4062 | extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int); | 3907 | extern int jfs_get_block(struct inode *, sector_t, struct buffer_head *, int); |
4063 | extern int jfs_setattr(struct dentry *, struct iattr *); | 3908 | extern int jfs_setattr(struct dentry *, struct iattr *); |
4064 | 3909 | ||
4065 | diff -NurpP --minimal linux-3.4.57/fs/jfs/namei.c linux-3.4.57-vs2.3.3.9/fs/jfs/namei.c | 3910 | diff -NurpP --minimal linux-3.10.17/fs/jfs/namei.c linux-3.10.17-vs2.3.6.6/fs/jfs/namei.c |
4066 | --- linux-3.4.57/fs/jfs/namei.c 2012-05-21 16:07:25.000000000 +0000 | 3911 | --- linux-3.10.17/fs/jfs/namei.c 2012-12-11 03:30:57.000000000 +0000 |
4067 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/namei.c 2012-05-21 16:15:05.000000000 +0000 | 3912 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/namei.c 2013-08-22 20:29:59.000000000 +0000 |
4068 | @@ -22,6 +22,7 @@ | 3913 | @@ -22,6 +22,7 @@ |
4069 | #include <linux/ctype.h> | 3914 | #include <linux/ctype.h> |
4070 | #include <linux/quotaops.h> | 3915 | #include <linux/quotaops.h> |
@@ -4089,20 +3934,20 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/namei.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
4089 | }; | 3934 | }; |
4090 | 3935 | ||
4091 | const struct file_operations jfs_dir_operations = { | 3936 | const struct file_operations jfs_dir_operations = { |
4092 | diff -NurpP --minimal linux-3.4.57/fs/jfs/super.c linux-3.4.57-vs2.3.3.9/fs/jfs/super.c | 3937 | diff -NurpP --minimal linux-3.10.17/fs/jfs/super.c linux-3.10.17-vs2.3.6.6/fs/jfs/super.c |
4093 | --- linux-3.4.57/fs/jfs/super.c 2012-05-21 16:07:25.000000000 +0000 | 3938 | --- linux-3.10.17/fs/jfs/super.c 2013-07-14 17:01:28.000000000 +0000 |
4094 | +++ linux-3.4.57-vs2.3.3.9/fs/jfs/super.c 2012-05-21 16:15:05.000000000 +0000 | 3939 | +++ linux-3.10.17-vs2.3.6.6/fs/jfs/super.c 2013-08-22 20:29:59.000000000 +0000 |
4095 | @@ -197,7 +197,8 @@ static void jfs_put_super(struct super_b | 3940 | @@ -199,7 +199,8 @@ enum { |
4096 | enum { | ||
4097 | Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize, | 3941 | Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize, |
4098 | Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota, | 3942 | Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err, Opt_quota, |
4099 | - Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask | 3943 | Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask, |
4100 | + Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask, | 3944 | - Opt_discard, Opt_nodiscard, Opt_discard_minblk |
3945 | + Opt_discard, Opt_nodiscard, Opt_discard_minblk, | ||
4101 | + Opt_tag, Opt_notag, Opt_tagid | 3946 | + Opt_tag, Opt_notag, Opt_tagid |
4102 | }; | 3947 | }; |
4103 | 3948 | ||
4104 | static const match_table_t tokens = { | 3949 | static const match_table_t tokens = { |
4105 | @@ -207,6 +208,10 @@ static const match_table_t tokens = { | 3950 | @@ -209,6 +210,10 @@ static const match_table_t tokens = { |
4106 | {Opt_resize, "resize=%u"}, | 3951 | {Opt_resize, "resize=%u"}, |
4107 | {Opt_resize_nosize, "resize"}, | 3952 | {Opt_resize_nosize, "resize"}, |
4108 | {Opt_errors, "errors=%s"}, | 3953 | {Opt_errors, "errors=%s"}, |
@@ -4113,10 +3958,11 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/super.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
4113 | {Opt_ignore, "noquota"}, | 3958 | {Opt_ignore, "noquota"}, |
4114 | {Opt_ignore, "quota"}, | 3959 | {Opt_ignore, "quota"}, |
4115 | {Opt_usrquota, "usrquota"}, | 3960 | {Opt_usrquota, "usrquota"}, |
4116 | @@ -341,6 +346,20 @@ static int parse_options(char *options, | 3961 | @@ -385,7 +390,20 @@ static int parse_options(char *options, |
4117 | } | 3962 | } |
4118 | break; | 3963 | break; |
4119 | } | 3964 | } |
3965 | - | ||
4120 | +#ifndef CONFIG_TAGGING_NONE | 3966 | +#ifndef CONFIG_TAGGING_NONE |
4121 | + case Opt_tag: | 3967 | + case Opt_tag: |
4122 | + *flag |= JFS_TAGGED; | 3968 | + *flag |= JFS_TAGGED; |
@@ -4134,7 +3980,7 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/super.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
4134 | default: | 3980 | default: |
4135 | printk("jfs: Unrecognized mount option \"%s\" " | 3981 | printk("jfs: Unrecognized mount option \"%s\" " |
4136 | " or missing value\n", p); | 3982 | " or missing value\n", p); |
4137 | @@ -372,6 +391,12 @@ static int jfs_remount(struct super_bloc | 3983 | @@ -417,6 +435,12 @@ static int jfs_remount(struct super_bloc |
4138 | return -EINVAL; | 3984 | return -EINVAL; |
4139 | } | 3985 | } |
4140 | 3986 | ||
@@ -4146,8 +3992,8 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/super.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
4146 | + | 3992 | + |
4147 | if (newLVSize) { | 3993 | if (newLVSize) { |
4148 | if (sb->s_flags & MS_RDONLY) { | 3994 | if (sb->s_flags & MS_RDONLY) { |
4149 | printk(KERN_ERR | 3995 | pr_err("JFS: resize requires volume" \ |
4150 | @@ -455,6 +480,9 @@ static int jfs_fill_super(struct super_b | 3996 | @@ -502,6 +526,9 @@ static int jfs_fill_super(struct super_b |
4151 | #ifdef CONFIG_JFS_POSIX_ACL | 3997 | #ifdef CONFIG_JFS_POSIX_ACL |
4152 | sb->s_flags |= MS_POSIXACL; | 3998 | sb->s_flags |= MS_POSIXACL; |
4153 | #endif | 3999 | #endif |
@@ -4156,10 +4002,10 @@ diff -NurpP --minimal linux-3.4.57/fs/jfs/super.c linux-3.4.57-vs2.3.3.9/fs/jfs/ | |||
4156 | + sb->s_flags |= MS_TAGGED; | 4002 | + sb->s_flags |= MS_TAGGED; |
4157 | 4003 | ||
4158 | if (newLVSize) { | 4004 | if (newLVSize) { |
4159 | printk(KERN_ERR "resize option for remount only\n"); | 4005 | pr_err("resize option for remount only\n"); |
4160 | diff -NurpP --minimal linux-3.4.57/fs/libfs.c linux-3.4.57-vs2.3.3.9/fs/libfs.c | 4006 | diff -NurpP --minimal linux-3.10.17/fs/libfs.c linux-3.10.17-vs2.3.6.6/fs/libfs.c |
4161 | --- linux-3.4.57/fs/libfs.c 2012-05-21 16:07:25.000000000 +0000 | 4007 | --- linux-3.10.17/fs/libfs.c 2013-02-19 13:58:48.000000000 +0000 |
4162 | +++ linux-3.4.57-vs2.3.3.9/fs/libfs.c 2012-05-21 16:15:05.000000000 +0000 | 4008 | +++ linux-3.10.17-vs2.3.6.6/fs/libfs.c 2013-08-22 20:29:59.000000000 +0000 |
4163 | @@ -135,7 +135,8 @@ static inline unsigned char dt_type(stru | 4009 | @@ -135,7 +135,8 @@ static inline unsigned char dt_type(stru |
4164 | * both impossible due to the lock on directory. | 4010 | * both impossible due to the lock on directory. |
4165 | */ | 4011 | */ |
@@ -4197,7 +4043,7 @@ diff -NurpP --minimal linux-3.4.57/fs/libfs.c linux-3.4.57-vs2.3.3.9/fs/libfs.c | |||
4197 | ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos) | 4043 | ssize_t generic_read_dir(struct file *filp, char __user *buf, size_t siz, loff_t *ppos) |
4198 | { | 4044 | { |
4199 | return -EISDIR; | 4045 | return -EISDIR; |
4200 | @@ -983,6 +997,7 @@ EXPORT_SYMBOL(dcache_dir_close); | 4046 | @@ -981,6 +995,7 @@ EXPORT_SYMBOL(dcache_dir_close); |
4201 | EXPORT_SYMBOL(dcache_dir_lseek); | 4047 | EXPORT_SYMBOL(dcache_dir_lseek); |
4202 | EXPORT_SYMBOL(dcache_dir_open); | 4048 | EXPORT_SYMBOL(dcache_dir_open); |
4203 | EXPORT_SYMBOL(dcache_readdir); | 4049 | EXPORT_SYMBOL(dcache_readdir); |
@@ -4205,9 +4051,9 @@ diff -NurpP --minimal linux-3.4.57/fs/libfs.c linux-3.4.57-vs2.3.3.9/fs/libfs.c | |||
4205 | EXPORT_SYMBOL(generic_read_dir); | 4051 | EXPORT_SYMBOL(generic_read_dir); |
4206 | EXPORT_SYMBOL(mount_pseudo); | 4052 | EXPORT_SYMBOL(mount_pseudo); |
4207 | EXPORT_SYMBOL(simple_write_begin); | 4053 | EXPORT_SYMBOL(simple_write_begin); |
4208 | diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | 4054 | diff -NurpP --minimal linux-3.10.17/fs/locks.c linux-3.10.17-vs2.3.6.6/fs/locks.c |
4209 | --- linux-3.4.57/fs/locks.c 2013-08-13 14:13:33.000000000 +0000 | 4055 | --- linux-3.10.17/fs/locks.c 2013-05-31 13:45:24.000000000 +0000 |
4210 | +++ linux-3.4.57-vs2.3.3.9/fs/locks.c 2012-09-01 08:50:49.000000000 +0000 | 4056 | +++ linux-3.10.17-vs2.3.6.6/fs/locks.c 2013-08-22 20:29:59.000000000 +0000 |
4211 | @@ -126,6 +126,8 @@ | 4057 | @@ -126,6 +126,8 @@ |
4212 | #include <linux/time.h> | 4058 | #include <linux/time.h> |
4213 | #include <linux/rcupdate.h> | 4059 | #include <linux/rcupdate.h> |
@@ -4238,7 +4084,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4238 | return fl; | 4084 | return fl; |
4239 | } | 4085 | } |
4240 | EXPORT_SYMBOL_GPL(locks_alloc_lock); | 4086 | EXPORT_SYMBOL_GPL(locks_alloc_lock); |
4241 | @@ -216,6 +224,7 @@ void locks_free_lock(struct file_lock *f | 4087 | @@ -212,6 +220,7 @@ void locks_free_lock(struct file_lock *f |
4242 | BUG_ON(!list_empty(&fl->fl_block)); | 4088 | BUG_ON(!list_empty(&fl->fl_block)); |
4243 | BUG_ON(!list_empty(&fl->fl_link)); | 4089 | BUG_ON(!list_empty(&fl->fl_link)); |
4244 | 4090 | ||
@@ -4246,7 +4092,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4246 | locks_release_private(fl); | 4092 | locks_release_private(fl); |
4247 | kmem_cache_free(filelock_cache, fl); | 4093 | kmem_cache_free(filelock_cache, fl); |
4248 | } | 4094 | } |
4249 | @@ -225,6 +234,7 @@ void locks_init_lock(struct file_lock *f | 4095 | @@ -221,6 +230,7 @@ void locks_init_lock(struct file_lock *f |
4250 | { | 4096 | { |
4251 | memset(fl, 0, sizeof(struct file_lock)); | 4097 | memset(fl, 0, sizeof(struct file_lock)); |
4252 | locks_init_lock_heads(fl); | 4098 | locks_init_lock_heads(fl); |
@@ -4254,7 +4100,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4254 | } | 4100 | } |
4255 | 4101 | ||
4256 | EXPORT_SYMBOL(locks_init_lock); | 4102 | EXPORT_SYMBOL(locks_init_lock); |
4257 | @@ -265,6 +275,7 @@ void locks_copy_lock(struct file_lock *n | 4103 | @@ -261,6 +271,7 @@ void locks_copy_lock(struct file_lock *n |
4258 | new->fl_file = fl->fl_file; | 4104 | new->fl_file = fl->fl_file; |
4259 | new->fl_ops = fl->fl_ops; | 4105 | new->fl_ops = fl->fl_ops; |
4260 | new->fl_lmops = fl->fl_lmops; | 4106 | new->fl_lmops = fl->fl_lmops; |
@@ -4262,7 +4108,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4262 | 4108 | ||
4263 | locks_copy_private(new, fl); | 4109 | locks_copy_private(new, fl); |
4264 | } | 4110 | } |
4265 | @@ -303,6 +314,11 @@ static int flock_make_lock(struct file * | 4111 | @@ -299,6 +310,11 @@ static int flock_make_lock(struct file * |
4266 | fl->fl_flags = FL_FLOCK; | 4112 | fl->fl_flags = FL_FLOCK; |
4267 | fl->fl_type = type; | 4113 | fl->fl_type = type; |
4268 | fl->fl_end = OFFSET_MAX; | 4114 | fl->fl_end = OFFSET_MAX; |
@@ -4274,7 +4120,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4274 | 4120 | ||
4275 | *lock = fl; | 4121 | *lock = fl; |
4276 | return 0; | 4122 | return 0; |
4277 | @@ -452,6 +468,7 @@ static int lease_init(struct file *filp, | 4123 | @@ -438,6 +454,7 @@ static int lease_init(struct file *filp, |
4278 | 4124 | ||
4279 | fl->fl_owner = current->files; | 4125 | fl->fl_owner = current->files; |
4280 | fl->fl_pid = current->tgid; | 4126 | fl->fl_pid = current->tgid; |
@@ -4282,7 +4128,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4282 | 4128 | ||
4283 | fl->fl_file = filp; | 4129 | fl->fl_file = filp; |
4284 | fl->fl_flags = FL_LEASE; | 4130 | fl->fl_flags = FL_LEASE; |
4285 | @@ -471,6 +488,11 @@ static struct file_lock *lease_alloc(str | 4131 | @@ -457,6 +474,11 @@ static struct file_lock *lease_alloc(str |
4286 | if (fl == NULL) | 4132 | if (fl == NULL) |
4287 | return ERR_PTR(error); | 4133 | return ERR_PTR(error); |
4288 | 4134 | ||
@@ -4294,7 +4140,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4294 | error = lease_init(filp, type, fl); | 4140 | error = lease_init(filp, type, fl); |
4295 | if (error) { | 4141 | if (error) { |
4296 | locks_free_lock(fl); | 4142 | locks_free_lock(fl); |
4297 | @@ -773,6 +795,7 @@ static int flock_lock_file(struct file * | 4143 | @@ -753,6 +775,7 @@ static int flock_lock_file(struct file * |
4298 | lock_flocks(); | 4144 | lock_flocks(); |
4299 | } | 4145 | } |
4300 | 4146 | ||
@@ -4302,7 +4148,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4302 | find_conflict: | 4148 | find_conflict: |
4303 | for_each_lock(inode, before) { | 4149 | for_each_lock(inode, before) { |
4304 | struct file_lock *fl = *before; | 4150 | struct file_lock *fl = *before; |
4305 | @@ -793,6 +816,7 @@ find_conflict: | 4151 | @@ -773,6 +796,7 @@ find_conflict: |
4306 | goto out; | 4152 | goto out; |
4307 | locks_copy_lock(new_fl, request); | 4153 | locks_copy_lock(new_fl, request); |
4308 | locks_insert_lock(before, new_fl); | 4154 | locks_insert_lock(before, new_fl); |
@@ -4310,17 +4156,17 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4310 | new_fl = NULL; | 4156 | new_fl = NULL; |
4311 | error = 0; | 4157 | error = 0; |
4312 | 4158 | ||
4313 | @@ -803,7 +827,8 @@ out: | 4159 | @@ -783,7 +807,8 @@ out: |
4314 | return error; | 4160 | return error; |
4315 | } | 4161 | } |
4316 | 4162 | ||
4317 | -static int __posix_lock_file(struct inode *inode, struct file_lock *request, struct file_lock *conflock) | 4163 | -static int __posix_lock_file(struct inode *inode, struct file_lock *request, struct file_lock *conflock) |
4318 | +static int __posix_lock_file(struct inode *inode, struct file_lock *request, | 4164 | +static int __posix_lock_file(struct inode *inode, struct file_lock *request, |
4319 | + struct file_lock *conflock, xid_t xid) | 4165 | + struct file_lock *conflock, vxid_t xid) |
4320 | { | 4166 | { |
4321 | struct file_lock *fl; | 4167 | struct file_lock *fl; |
4322 | struct file_lock *new_fl = NULL; | 4168 | struct file_lock *new_fl = NULL; |
4323 | @@ -813,6 +838,8 @@ static int __posix_lock_file(struct inod | 4169 | @@ -793,6 +818,8 @@ static int __posix_lock_file(struct inod |
4324 | struct file_lock **before; | 4170 | struct file_lock **before; |
4325 | int error, added = 0; | 4171 | int error, added = 0; |
4326 | 4172 | ||
@@ -4329,7 +4175,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4329 | /* | 4175 | /* |
4330 | * We may need two file_lock structures for this operation, | 4176 | * We may need two file_lock structures for this operation, |
4331 | * so we get them in advance to avoid races. | 4177 | * so we get them in advance to avoid races. |
4332 | @@ -823,7 +850,11 @@ static int __posix_lock_file(struct inod | 4178 | @@ -803,7 +830,11 @@ static int __posix_lock_file(struct inod |
4333 | (request->fl_type != F_UNLCK || | 4179 | (request->fl_type != F_UNLCK || |
4334 | request->fl_start != 0 || request->fl_end != OFFSET_MAX)) { | 4180 | request->fl_start != 0 || request->fl_end != OFFSET_MAX)) { |
4335 | new_fl = locks_alloc_lock(); | 4181 | new_fl = locks_alloc_lock(); |
@@ -4341,17 +4187,17 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4341 | } | 4187 | } |
4342 | 4188 | ||
4343 | lock_flocks(); | 4189 | lock_flocks(); |
4344 | @@ -1022,7 +1053,8 @@ static int __posix_lock_file(struct inod | 4190 | @@ -1002,7 +1033,8 @@ static int __posix_lock_file(struct inod |
4345 | int posix_lock_file(struct file *filp, struct file_lock *fl, | 4191 | int posix_lock_file(struct file *filp, struct file_lock *fl, |
4346 | struct file_lock *conflock) | 4192 | struct file_lock *conflock) |
4347 | { | 4193 | { |
4348 | - return __posix_lock_file(filp->f_path.dentry->d_inode, fl, conflock); | 4194 | - return __posix_lock_file(file_inode(filp), fl, conflock); |
4349 | + return __posix_lock_file(filp->f_path.dentry->d_inode, | 4195 | + return __posix_lock_file(file_inode(filp), |
4350 | + fl, conflock, filp->f_xid); | 4196 | + fl, conflock, filp->f_xid); |
4351 | } | 4197 | } |
4352 | EXPORT_SYMBOL(posix_lock_file); | 4198 | EXPORT_SYMBOL(posix_lock_file); |
4353 | 4199 | ||
4354 | @@ -1112,7 +1144,7 @@ int locks_mandatory_area(int read_write, | 4200 | @@ -1092,7 +1124,7 @@ int locks_mandatory_area(int read_write, |
4355 | fl.fl_end = offset + count - 1; | 4201 | fl.fl_end = offset + count - 1; |
4356 | 4202 | ||
4357 | for (;;) { | 4203 | for (;;) { |
@@ -4360,7 +4206,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4360 | if (error != FILE_LOCK_DEFERRED) | 4206 | if (error != FILE_LOCK_DEFERRED) |
4361 | break; | 4207 | break; |
4362 | error = wait_event_interruptible(fl.fl_wait, !fl.fl_next); | 4208 | error = wait_event_interruptible(fl.fl_wait, !fl.fl_next); |
4363 | @@ -1407,6 +1439,7 @@ int generic_add_lease(struct file *filp, | 4209 | @@ -1397,6 +1429,7 @@ int generic_add_lease(struct file *filp, |
4364 | goto out; | 4210 | goto out; |
4365 | 4211 | ||
4366 | locks_insert_lock(before, lease); | 4212 | locks_insert_lock(before, lease); |
@@ -4368,7 +4214,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4368 | return 0; | 4214 | return 0; |
4369 | 4215 | ||
4370 | out: | 4216 | out: |
4371 | @@ -1847,6 +1880,11 @@ int fcntl_setlk(unsigned int fd, struct | 4217 | @@ -1836,6 +1869,11 @@ int fcntl_setlk(unsigned int fd, struct |
4372 | if (file_lock == NULL) | 4218 | if (file_lock == NULL) |
4373 | return -ENOLCK; | 4219 | return -ENOLCK; |
4374 | 4220 | ||
@@ -4380,7 +4226,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4380 | /* | 4226 | /* |
4381 | * This might block, so we do it before checking the inode. | 4227 | * This might block, so we do it before checking the inode. |
4382 | */ | 4228 | */ |
4383 | @@ -1965,6 +2003,11 @@ int fcntl_setlk64(unsigned int fd, struc | 4229 | @@ -1954,6 +1992,11 @@ int fcntl_setlk64(unsigned int fd, struc |
4384 | if (file_lock == NULL) | 4230 | if (file_lock == NULL) |
4385 | return -ENOLCK; | 4231 | return -ENOLCK; |
4386 | 4232 | ||
@@ -4392,7 +4238,7 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4392 | /* | 4238 | /* |
4393 | * This might block, so we do it before checking the inode. | 4239 | * This might block, so we do it before checking the inode. |
4394 | */ | 4240 | */ |
4395 | @@ -2230,8 +2273,11 @@ static int locks_show(struct seq_file *f | 4241 | @@ -2219,8 +2262,11 @@ static int locks_show(struct seq_file *f |
4396 | 4242 | ||
4397 | lock_get_status(f, fl, *((loff_t *)f->private), ""); | 4243 | lock_get_status(f, fl, *((loff_t *)f->private), ""); |
4398 | 4244 | ||
@@ -4405,25 +4251,26 @@ diff -NurpP --minimal linux-3.4.57/fs/locks.c linux-3.4.57-vs2.3.3.9/fs/locks.c | |||
4405 | 4251 | ||
4406 | return 0; | 4252 | return 0; |
4407 | } | 4253 | } |
4408 | diff -NurpP --minimal linux-3.4.57/fs/mount.h linux-3.4.57-vs2.3.3.9/fs/mount.h | 4254 | diff -NurpP --minimal linux-3.10.17/fs/mount.h linux-3.10.17-vs2.3.6.6/fs/mount.h |
4409 | --- linux-3.4.57/fs/mount.h 2012-03-19 18:47:26.000000000 +0000 | 4255 | --- linux-3.10.17/fs/mount.h 2013-07-14 17:01:28.000000000 +0000 |
4410 | +++ linux-3.4.57-vs2.3.3.9/fs/mount.h 2012-05-21 16:15:05.000000000 +0000 | 4256 | +++ linux-3.10.17-vs2.3.6.6/fs/mount.h 2013-08-22 20:29:59.000000000 +0000 |
4411 | @@ -47,6 +47,7 @@ struct mount { | 4257 | @@ -56,6 +56,7 @@ struct mount { |
4412 | int mnt_expiry_mark; /* true if marked for expiry */ | 4258 | int mnt_expiry_mark; /* true if marked for expiry */ |
4413 | int mnt_pinned; | 4259 | int mnt_pinned; |
4414 | int mnt_ghosts; | 4260 | int mnt_ghosts; |
4415 | + tag_t mnt_tag; /* tagging used for vfsmount */ | 4261 | + vtag_t mnt_tag; /* tagging used for vfsmount */ |
4416 | }; | 4262 | }; |
4417 | 4263 | ||
4418 | static inline struct mount *real_mount(struct vfsmount *mnt) | 4264 | #define MNT_NS_INTERNAL ERR_PTR(-EINVAL) /* distinct from any mnt_namespace */ |
4419 | diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | 4265 | diff -NurpP --minimal linux-3.10.17/fs/namei.c linux-3.10.17-vs2.3.6.6/fs/namei.c |
4420 | --- linux-3.4.57/fs/namei.c 2012-05-21 16:07:25.000000000 +0000 | 4266 | --- linux-3.10.17/fs/namei.c 2013-07-14 17:01:28.000000000 +0000 |
4421 | +++ linux-3.4.57-vs2.3.3.9/fs/namei.c 2012-05-21 16:15:05.000000000 +0000 | 4267 | +++ linux-3.10.17-vs2.3.6.6/fs/namei.c 2013-08-22 23:36:09.000000000 +0000 |
4422 | @@ -33,6 +33,14 @@ | 4268 | @@ -34,9 +34,19 @@ |
4423 | #include <linux/device_cgroup.h> | 4269 | #include <linux/device_cgroup.h> |
4424 | #include <linux/fs_struct.h> | 4270 | #include <linux/fs_struct.h> |
4425 | #include <linux/posix_acl.h> | 4271 | #include <linux/posix_acl.h> |
4426 | +#include <linux/proc_fs.h> | 4272 | +#include <linux/proc_fs.h> |
4273 | +#include <linux/magic.h> | ||
4427 | +#include <linux/vserver/inode.h> | 4274 | +#include <linux/vserver/inode.h> |
4428 | +#include <linux/vs_base.h> | 4275 | +#include <linux/vs_base.h> |
4429 | +#include <linux/vs_tag.h> | 4276 | +#include <linux/vs_tag.h> |
@@ -4434,7 +4281,11 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4434 | #include <asm/uaccess.h> | 4281 | #include <asm/uaccess.h> |
4435 | 4282 | ||
4436 | #include "internal.h" | 4283 | #include "internal.h" |
4437 | @@ -221,6 +229,89 @@ static int check_acl(struct inode *inode | 4284 | +#include "proc/internal.h" |
4285 | #include "mount.h" | ||
4286 | |||
4287 | /* [Feb-1997 T. Schoebel-Theuer] | ||
4288 | @@ -266,6 +276,89 @@ static int check_acl(struct inode *inode | ||
4438 | return -EAGAIN; | 4289 | return -EAGAIN; |
4439 | } | 4290 | } |
4440 | 4291 | ||
@@ -4455,7 +4306,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4455 | + if (inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC) { | 4306 | + if (inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC) { |
4456 | + /* devpts is xid tagged */ | 4307 | + /* devpts is xid tagged */ |
4457 | + if (S_ISDIR(inode->i_mode) || | 4308 | + if (S_ISDIR(inode->i_mode) || |
4458 | + vx_check((xid_t)inode->i_tag, VS_IDENT | VS_WATCH_P)) | 4309 | + vx_check((vxid_t)i_tag_read(inode), VS_IDENT | VS_WATCH_P)) |
4459 | + return 0; | 4310 | + return 0; |
4460 | + | 4311 | + |
4461 | + /* just pretend we didn't find anything */ | 4312 | + /* just pretend we didn't find anything */ |
@@ -4497,8 +4348,8 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4497 | + } | 4348 | + } |
4498 | + else { | 4349 | + else { |
4499 | + if (dx_notagcheck(inode->i_sb) || | 4350 | + if (dx_notagcheck(inode->i_sb) || |
4500 | + dx_check(inode->i_tag, DX_HOSTID | DX_ADMIN | DX_WATCH | | 4351 | + dx_check((vxid_t)i_tag_read(inode), |
4501 | + DX_IDENT)) | 4352 | + DX_HOSTID | DX_ADMIN | DX_WATCH | DX_IDENT)) |
4502 | + return 0; | 4353 | + return 0; |
4503 | + } | 4354 | + } |
4504 | + | 4355 | + |
@@ -4515,8 +4366,8 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4515 | +#endif | 4366 | +#endif |
4516 | + vxwprintk_task(1, | 4367 | + vxwprintk_task(1, |
4517 | + "denied [0x%x] access to inode %s:%p[#%d,%lu]", | 4368 | + "denied [0x%x] access to inode %s:%p[#%d,%lu]", |
4518 | + mask, inode->i_sb->s_id, inode, inode->i_tag, | 4369 | + mask, inode->i_sb->s_id, inode, |
4519 | + inode->i_ino); | 4370 | + i_tag_read(inode), inode->i_ino); |
4520 | + } | 4371 | + } |
4521 | + return ret; | 4372 | + return ret; |
4522 | +} | 4373 | +} |
@@ -4524,7 +4375,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4524 | /* | 4375 | /* |
4525 | * This does the basic permission checking | 4376 | * This does the basic permission checking |
4526 | */ | 4377 | */ |
4527 | @@ -356,10 +447,14 @@ int inode_permission(struct inode *inode | 4378 | @@ -388,10 +481,14 @@ int __inode_permission(struct inode *ino |
4528 | /* | 4379 | /* |
4529 | * Nobody gets write access to an immutable file. | 4380 | * Nobody gets write access to an immutable file. |
4530 | */ | 4381 | */ |
@@ -4540,7 +4391,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4540 | retval = do_inode_permission(inode, mask); | 4391 | retval = do_inode_permission(inode, mask); |
4541 | if (retval) | 4392 | if (retval) |
4542 | return retval; | 4393 | return retval; |
4543 | @@ -1038,7 +1133,8 @@ static void follow_dotdot(struct nameida | 4394 | @@ -1238,7 +1335,8 @@ static void follow_dotdot(struct nameida |
4544 | 4395 | ||
4545 | if (nd->path.dentry == nd->root.dentry && | 4396 | if (nd->path.dentry == nd->root.dentry && |
4546 | nd->path.mnt == nd->root.mnt) { | 4397 | nd->path.mnt == nd->root.mnt) { |
@@ -4550,7 +4401,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4550 | } | 4401 | } |
4551 | if (nd->path.dentry != nd->path.mnt->mnt_root) { | 4402 | if (nd->path.dentry != nd->path.mnt->mnt_root) { |
4552 | /* rare case of legitimate dget_parent()... */ | 4403 | /* rare case of legitimate dget_parent()... */ |
4553 | @@ -1174,6 +1270,9 @@ static int do_lookup(struct nameidata *n | 4404 | @@ -1383,6 +1481,9 @@ static int lookup_fast(struct nameidata |
4554 | goto unlazy; | 4405 | goto unlazy; |
4555 | } | 4406 | } |
4556 | } | 4407 | } |
@@ -4560,17 +4411,16 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4560 | path->mnt = mnt; | 4411 | path->mnt = mnt; |
4561 | path->dentry = dentry; | 4412 | path->dentry = dentry; |
4562 | if (unlikely(!__follow_mount_rcu(nd, path, inode))) | 4413 | if (unlikely(!__follow_mount_rcu(nd, path, inode))) |
4563 | @@ -1208,6 +1307,9 @@ unlazy: | 4414 | @@ -1413,6 +1514,8 @@ unlazy: |
4564 | goto need_lookup; | ||
4565 | } | 4415 | } |
4566 | } | 4416 | } |
4567 | + | 4417 | |
4568 | + /* FIXME: check dx permission */ | 4418 | + /* FIXME: check dx permission */ |
4569 | + | 4419 | + |
4570 | done: | ||
4571 | path->mnt = mnt; | 4420 | path->mnt = mnt; |
4572 | path->dentry = dentry; | 4421 | path->dentry = dentry; |
4573 | @@ -1981,7 +2083,7 @@ static int may_delete(struct inode *dir, | 4422 | err = follow_managed(path, nd->flags); |
4423 | @@ -2237,7 +2340,7 @@ static int may_delete(struct inode *dir, | ||
4574 | if (IS_APPEND(dir)) | 4424 | if (IS_APPEND(dir)) |
4575 | return -EPERM; | 4425 | return -EPERM; |
4576 | if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)|| | 4426 | if (check_sticky(dir, victim->d_inode)||IS_APPEND(victim->d_inode)|| |
@@ -4579,10 +4429,10 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4579 | return -EPERM; | 4429 | return -EPERM; |
4580 | if (isdir) { | 4430 | if (isdir) { |
4581 | if (!S_ISDIR(victim->d_inode->i_mode)) | 4431 | if (!S_ISDIR(victim->d_inode->i_mode)) |
4582 | @@ -2061,19 +2163,25 @@ int vfs_create(struct inode *dir, struct | 4432 | @@ -2316,19 +2419,25 @@ int vfs_create(struct inode *dir, struct |
4433 | bool want_excl) | ||
4583 | { | 4434 | { |
4584 | int error = may_create(dir, dentry); | 4435 | int error = may_create(dir, dentry); |
4585 | |||
4586 | - if (error) | 4436 | - if (error) |
4587 | + if (error) { | 4437 | + if (error) { |
4588 | + vxdprintk(VXD_CBIT(misc, 3), "may_create failed with %d", error); | 4438 | + vxdprintk(VXD_CBIT(misc, 3), "may_create failed with %d", error); |
@@ -4599,7 +4449,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4599 | + vxdprintk(VXD_CBIT(misc, 3), "security_inode_create failed with %d", error); | 4449 | + vxdprintk(VXD_CBIT(misc, 3), "security_inode_create failed with %d", error); |
4600 | return error; | 4450 | return error; |
4601 | + } | 4451 | + } |
4602 | error = dir->i_op->create(dir, dentry, mode, nd); | 4452 | error = dir->i_op->create(dir, dentry, mode, want_excl); |
4603 | if (!error) | 4453 | if (!error) |
4604 | fsnotify_create(dir, dentry); | 4454 | fsnotify_create(dir, dentry); |
4605 | + else | 4455 | + else |
@@ -4607,7 +4457,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4607 | return error; | 4457 | return error; |
4608 | } | 4458 | } |
4609 | 4459 | ||
4610 | @@ -2108,6 +2216,15 @@ static int may_open(struct path *path, i | 4460 | @@ -2363,6 +2472,15 @@ static int may_open(struct path *path, i |
4611 | break; | 4461 | break; |
4612 | } | 4462 | } |
4613 | 4463 | ||
@@ -4623,14 +4473,14 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4623 | error = inode_permission(inode, acc_mode); | 4473 | error = inode_permission(inode, acc_mode); |
4624 | if (error) | 4474 | if (error) |
4625 | return error; | 4475 | return error; |
4626 | @@ -2332,6 +2449,16 @@ ok: | 4476 | @@ -2865,6 +2983,16 @@ finish_open: |
4627 | } | 4477 | } |
4628 | common: | 4478 | finish_open_created: |
4629 | error = may_open(&nd->path, acc_mode, open_flag); | 4479 | error = may_open(&nd->path, acc_mode, open_flag); |
4630 | +#ifdef CONFIG_VSERVER_COWBL | 4480 | +#ifdef CONFIG_VSERVER_COWBL |
4631 | + if (error == -EMLINK) { | 4481 | + if (error == -EMLINK) { |
4632 | + struct dentry *dentry; | 4482 | + struct dentry *dentry; |
4633 | + dentry = cow_break_link(pathname); | 4483 | + dentry = cow_break_link(name->name); |
4634 | + if (IS_ERR(dentry)) | 4484 | + if (IS_ERR(dentry)) |
4635 | + error = PTR_ERR(dentry); | 4485 | + error = PTR_ERR(dentry); |
4636 | + else | 4486 | + else |
@@ -4638,35 +4488,34 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4638 | + } | 4488 | + } |
4639 | +#endif | 4489 | +#endif |
4640 | if (error) | 4490 | if (error) |
4641 | goto exit; | 4491 | goto out; |
4642 | filp = nameidata_to_filp(nd); | 4492 | file->f_path.mnt = nd->path.mnt; |
4643 | @@ -2374,6 +2501,7 @@ static struct file *path_openat(int dfd, | 4493 | @@ -2929,6 +3057,7 @@ static struct file *path_openat(int dfd, |
4644 | struct path path; | 4494 | int opened = 0; |
4645 | int error; | 4495 | int error; |
4646 | 4496 | ||
4647 | +restart: | 4497 | +restart: |
4648 | filp = get_empty_filp(); | 4498 | file = get_empty_filp(); |
4649 | if (!filp) | 4499 | if (IS_ERR(file)) |
4650 | return ERR_PTR(-ENFILE); | 4500 | return file; |
4651 | @@ -2411,6 +2539,17 @@ static struct file *path_openat(int dfd, | 4501 | @@ -2965,6 +3094,16 @@ static struct file *path_openat(int dfd, |
4652 | filp = do_last(nd, &path, op, pathname); | 4502 | error = do_last(nd, &path, file, op, &opened, pathname); |
4653 | put_link(nd, &link, cookie); | 4503 | put_link(nd, &link, cookie); |
4654 | } | 4504 | } |
4655 | + | 4505 | + |
4656 | +#ifdef CONFIG_VSERVER_COWBL | 4506 | +#ifdef CONFIG_VSERVER_COWBL |
4657 | + if (filp == ERR_PTR(-EMLINK)) { | 4507 | + if (error == -EMLINK) { |
4658 | + if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) | 4508 | + if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) |
4659 | + path_put(&nd->root); | 4509 | + path_put(&nd->root); |
4660 | + if (base) | 4510 | + if (base) |
4661 | + fput(base); | 4511 | + fput(base); |
4662 | + release_open_intent(nd); | ||
4663 | + goto restart; | 4512 | + goto restart; |
4664 | + } | 4513 | + } |
4665 | +#endif | 4514 | +#endif |
4666 | out: | 4515 | out: |
4667 | if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) | 4516 | if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) |
4668 | path_put(&nd->root); | 4517 | path_put(&nd->root); |
4669 | @@ -2500,6 +2639,11 @@ struct dentry *kern_path_create(int dfd, | 4518 | @@ -3079,6 +3218,11 @@ struct dentry *kern_path_create(int dfd, |
4670 | goto fail; | 4519 | goto fail; |
4671 | } | 4520 | } |
4672 | *path = nd.path; | 4521 | *path = nd.path; |
@@ -4676,9 +4525,9 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4676 | + dentry->d_name.len, dentry->d_name.name, | 4525 | + dentry->d_name.len, dentry->d_name.name, |
4677 | + path->dentry->d_inode); | 4526 | + path->dentry->d_inode); |
4678 | return dentry; | 4527 | return dentry; |
4679 | eexist: | 4528 | fail: |
4680 | dput(dentry); | 4529 | dput(dentry); |
4681 | @@ -2986,7 +3130,7 @@ int vfs_link(struct dentry *old_dentry, | 4530 | @@ -3573,7 +3717,7 @@ int vfs_link(struct dentry *old_dentry, |
4682 | /* | 4531 | /* |
4683 | * A link to an append-only or immutable file cannot be created. | 4532 | * A link to an append-only or immutable file cannot be created. |
4684 | */ | 4533 | */ |
@@ -4687,7 +4536,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4687 | return -EPERM; | 4536 | return -EPERM; |
4688 | if (!dir->i_op->link) | 4537 | if (!dir->i_op->link) |
4689 | return -EPERM; | 4538 | return -EPERM; |
4690 | @@ -3375,6 +3519,253 @@ int vfs_follow_link(struct nameidata *nd | 4539 | @@ -3976,6 +4120,287 @@ int vfs_follow_link(struct nameidata *nd |
4691 | return __vfs_follow_link(nd, link); | 4540 | return __vfs_follow_link(nd, link); |
4692 | } | 4541 | } |
4693 | 4542 | ||
@@ -4698,17 +4547,16 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4698 | +long do_cow_splice(struct file *in, struct file *out, size_t len) | 4547 | +long do_cow_splice(struct file *in, struct file *out, size_t len) |
4699 | +{ | 4548 | +{ |
4700 | + loff_t ppos = 0; | 4549 | + loff_t ppos = 0; |
4550 | + loff_t opos = 0; | ||
4701 | + | 4551 | + |
4702 | + return do_splice_direct(in, &ppos, out, len, 0); | 4552 | + return do_splice_direct(in, &ppos, out, &opos, len, 0); |
4703 | +} | 4553 | +} |
4704 | + | 4554 | + |
4705 | +extern unsigned int mnt_get_count(struct mount *mnt); | ||
4706 | + | ||
4707 | +struct dentry *cow_break_link(const char *pathname) | 4555 | +struct dentry *cow_break_link(const char *pathname) |
4708 | +{ | 4556 | +{ |
4709 | + int ret, mode, pathlen, redo = 0; | 4557 | + int ret, mode, pathlen, redo = 0, drop = 1; |
4710 | + struct nameidata old_nd, dir_nd; | 4558 | + struct nameidata old_nd, dir_nd; |
4711 | + struct path old_path, dir_path; | 4559 | + struct path dir_path, *old_path, *new_path; |
4712 | + struct dentry *dir, *old_dentry, *new_dentry = NULL; | 4560 | + struct dentry *dir, *old_dentry, *new_dentry = NULL; |
4713 | + struct file *old_file; | 4561 | + struct file *old_file; |
4714 | + struct file *new_file; | 4562 | + struct file *new_file; |
@@ -4717,24 +4565,26 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4717 | + | 4565 | + |
4718 | + vxdprintk(VXD_CBIT(misc, 1), | 4566 | + vxdprintk(VXD_CBIT(misc, 1), |
4719 | + "cow_break_link(" VS_Q("%s") ")", pathname); | 4567 | + "cow_break_link(" VS_Q("%s") ")", pathname); |
4568 | + | ||
4720 | + path = kmalloc(PATH_MAX, GFP_KERNEL); | 4569 | + path = kmalloc(PATH_MAX, GFP_KERNEL); |
4721 | + ret = -ENOMEM; | 4570 | + ret = -ENOMEM; |
4722 | + if (!path) | 4571 | + if (!path) |
4723 | + goto out; | 4572 | + goto out; |
4724 | + | 4573 | + |
4725 | + /* old_nd will have refs to dentry and mnt */ | 4574 | + /* old_nd.path will have refs to dentry and mnt */ |
4726 | + ret = do_path_lookup(AT_FDCWD, pathname, LOOKUP_FOLLOW, &old_nd); | 4575 | + ret = do_path_lookup(AT_FDCWD, pathname, LOOKUP_FOLLOW, &old_nd); |
4727 | + vxdprintk(VXD_CBIT(misc, 2), | 4576 | + vxdprintk(VXD_CBIT(misc, 2), |
4728 | + "do_path_lookup(old): %d [r=%d]", | 4577 | + "do_path_lookup(old): %d", ret); |
4729 | + ret, mnt_get_count(real_mount(old_nd.path.mnt))); | ||
4730 | + if (ret < 0) | 4578 | + if (ret < 0) |
4731 | + goto out_free_path; | 4579 | + goto out_free_path; |
4732 | + | 4580 | + |
4733 | + old_path = old_nd.path; | 4581 | + /* dentry/mnt refs handed over to old_path */ |
4734 | + old_dentry = old_path.dentry; | 4582 | + old_path = &old_nd.path; |
4735 | + mode = old_dentry->d_inode->i_mode; | 4583 | + /* no explicit reference for old_dentry here */ |
4584 | + old_dentry = old_path->dentry; | ||
4736 | + | 4585 | + |
4737 | + to = d_path(&old_path, path, PATH_MAX-2); | 4586 | + mode = old_dentry->d_inode->i_mode; |
4587 | + to = d_path(old_path, path, PATH_MAX-2); | ||
4738 | + pathlen = strlen(to); | 4588 | + pathlen = strlen(to); |
4739 | + vxdprintk(VXD_CBIT(misc, 2), | 4589 | + vxdprintk(VXD_CBIT(misc, 2), |
4740 | + "old path " VS_Q("%s") " [%p:" VS_Q("%.*s") ":%d]", to, | 4590 | + "old path " VS_Q("%s") " [%p:" VS_Q("%.*s") ":%d]", to, |
@@ -4751,14 +4601,17 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4751 | + goto out_rel_old; | 4601 | + goto out_rel_old; |
4752 | + | 4602 | + |
4753 | + vxdprintk(VXD_CBIT(misc, 1), "temp copy " VS_Q("%s"), to); | 4603 | + vxdprintk(VXD_CBIT(misc, 1), "temp copy " VS_Q("%s"), to); |
4754 | + /* dir_nd will have refs to dentry and mnt */ | 4604 | + |
4605 | + /* dir_nd.path will have refs to dentry and mnt */ | ||
4755 | + ret = do_path_lookup(AT_FDCWD, to, | 4606 | + ret = do_path_lookup(AT_FDCWD, to, |
4756 | + LOOKUP_PARENT | LOOKUP_OPEN | LOOKUP_CREATE, &dir_nd); | 4607 | + LOOKUP_PARENT | LOOKUP_OPEN | LOOKUP_CREATE, &dir_nd); |
4757 | + vxdprintk(VXD_CBIT(misc, 2), "do_path_lookup(new): %d", ret); | 4608 | + vxdprintk(VXD_CBIT(misc, 2), "do_path_lookup(new): %d", ret); |
4758 | + if (ret < 0) | 4609 | + if (ret < 0) |
4759 | + goto retry; | 4610 | + goto retry; |
4760 | + | 4611 | + |
4761 | + /* this puppy downs the dir inode mutex if successful */ | 4612 | + /* this puppy downs the dir inode mutex if successful. |
4613 | + dir_path will hold refs to dentry and mnt and | ||
4614 | + we'll have write access to the mnt */ | ||
4762 | + new_dentry = kern_path_create(AT_FDCWD, to, &dir_path, 0); | 4615 | + new_dentry = kern_path_create(AT_FDCWD, to, &dir_path, 0); |
4763 | + if (!new_dentry || IS_ERR(new_dentry)) { | 4616 | + if (!new_dentry || IS_ERR(new_dentry)) { |
4764 | + path_put(&dir_nd.path); | 4617 | + path_put(&dir_nd.path); |
@@ -4767,22 +4620,36 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4767 | + PTR_ERR(new_dentry)); | 4620 | + PTR_ERR(new_dentry)); |
4768 | + goto retry; | 4621 | + goto retry; |
4769 | + } | 4622 | + } |
4770 | + path_put(&dir_path); | ||
4771 | + vxdprintk(VXD_CBIT(misc, 2), | 4623 | + vxdprintk(VXD_CBIT(misc, 2), |
4772 | + "kern_path_create(new): %p [" VS_Q("%.*s") ":%d]", | 4624 | + "kern_path_create(new): %p [" VS_Q("%.*s") ":%d]", |
4773 | + new_dentry, | 4625 | + new_dentry, |
4774 | + new_dentry->d_name.len, new_dentry->d_name.name, | 4626 | + new_dentry->d_name.len, new_dentry->d_name.name, |
4775 | + new_dentry->d_name.len); | 4627 | + new_dentry->d_name.len); |
4776 | + | 4628 | + |
4629 | + /* take a reference on new_dentry */ | ||
4630 | + dget(new_dentry); | ||
4631 | + | ||
4632 | + /* dentry/mnt refs handed over to new_path */ | ||
4633 | + new_path = &dir_path; | ||
4634 | + | ||
4635 | + /* dentry for old/new dir */ | ||
4777 | + dir = dir_nd.path.dentry; | 4636 | + dir = dir_nd.path.dentry; |
4778 | + | 4637 | + |
4779 | + ret = vfs_create(dir->d_inode, new_dentry, mode, &dir_nd); | 4638 | + /* give up reference on dir */ |
4639 | + dput(new_path->dentry); | ||
4640 | + | ||
4641 | + /* new_dentry already has a reference */ | ||
4642 | + new_path->dentry = new_dentry; | ||
4643 | + | ||
4644 | + ret = vfs_create(dir->d_inode, new_dentry, mode, 1); | ||
4780 | + vxdprintk(VXD_CBIT(misc, 2), | 4645 | + vxdprintk(VXD_CBIT(misc, 2), |
4781 | + "vfs_create(new): %d", ret); | 4646 | + "vfs_create(new): %d", ret); |
4782 | + if (ret == -EEXIST) { | 4647 | + if (ret == -EEXIST) { |
4783 | + mutex_unlock(&dir->d_inode->i_mutex); | ||
4784 | + path_put(&dir_nd.path); | 4648 | + path_put(&dir_nd.path); |
4785 | + dput(new_dentry); | 4649 | + mutex_unlock(&dir->d_inode->i_mutex); |
4650 | + mnt_drop_write(new_path->mnt); | ||
4651 | + path_put(new_path); | ||
4652 | + new_dentry = NULL; | ||
4786 | + goto retry; | 4653 | + goto retry; |
4787 | + } | 4654 | + } |
4788 | + else if (ret < 0) | 4655 | + else if (ret < 0) |
@@ -4793,10 +4660,8 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4793 | + if ((redo = d_unhashed(old_dentry))) | 4660 | + if ((redo = d_unhashed(old_dentry))) |
4794 | + goto out_unlock_new; | 4661 | + goto out_unlock_new; |
4795 | + | 4662 | + |
4796 | + path_get(&old_path); | 4663 | + /* doesn't change refs for old_path */ |
4797 | + /* this one cleans up the dentry/mnt in case of failure */ | 4664 | + old_file = dentry_open(old_path, O_RDONLY, current_cred()); |
4798 | + old_file = dentry_open(old_dentry, old_path.mnt, | ||
4799 | + O_RDONLY, current_cred()); | ||
4800 | + vxdprintk(VXD_CBIT(misc, 2), | 4665 | + vxdprintk(VXD_CBIT(misc, 2), |
4801 | + "dentry_open(old): %p", old_file); | 4666 | + "dentry_open(old): %p", old_file); |
4802 | + if (IS_ERR(old_file)) { | 4667 | + if (IS_ERR(old_file)) { |
@@ -4804,11 +4669,8 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4804 | + goto out_unlock_new; | 4669 | + goto out_unlock_new; |
4805 | + } | 4670 | + } |
4806 | + | 4671 | + |
4807 | + dget(new_dentry); | 4672 | + /* doesn't change refs for new_path */ |
4808 | + mntget(old_path.mnt); | 4673 | + new_file = dentry_open(new_path, O_WRONLY, current_cred()); |
4809 | + /* this one cleans up the dentry/mnt in case of failure */ | ||
4810 | + new_file = dentry_open(new_dentry, old_path.mnt, | ||
4811 | + O_WRONLY, current_cred()); | ||
4812 | + vxdprintk(VXD_CBIT(misc, 2), | 4674 | + vxdprintk(VXD_CBIT(misc, 2), |
4813 | + "dentry_open(new): %p", new_file); | 4675 | + "dentry_open(new): %p", new_file); |
4814 | + if (IS_ERR(new_file)) { | 4676 | + if (IS_ERR(new_file)) { |
@@ -4816,6 +4678,14 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4816 | + goto out_fput_old; | 4678 | + goto out_fput_old; |
4817 | + } | 4679 | + } |
4818 | + | 4680 | + |
4681 | + /* unlock the inode mutex from kern_path_create() */ | ||
4682 | + mutex_unlock(&dir->d_inode->i_mutex); | ||
4683 | + | ||
4684 | + /* drop write access to mnt */ | ||
4685 | + mnt_drop_write(new_path->mnt); | ||
4686 | + | ||
4687 | + drop = 0; | ||
4688 | + | ||
4819 | + size = i_size_read(old_file->f_dentry->d_inode); | 4689 | + size = i_size_read(old_file->f_dentry->d_inode); |
4820 | + ret = do_cow_splice(old_file, new_file, size); | 4690 | + ret = do_cow_splice(old_file, new_file, size); |
4821 | + vxdprintk(VXD_CBIT(misc, 2), "do_splice_direct: %d", ret); | 4691 | + vxdprintk(VXD_CBIT(misc, 2), "do_splice_direct: %d", ret); |
@@ -4837,6 +4707,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4837 | + mark_inode_dirty(new_inode); | 4707 | + mark_inode_dirty(new_inode); |
4838 | + } | 4708 | + } |
4839 | + | 4709 | + |
4710 | + /* lock rename mutex */ | ||
4840 | + mutex_lock(&old_dentry->d_inode->i_sb->s_vfs_rename_mutex); | 4711 | + mutex_lock(&old_dentry->d_inode->i_sb->s_vfs_rename_mutex); |
4841 | + | 4712 | + |
4842 | + /* drop out late */ | 4713 | + /* drop out late */ |
@@ -4870,7 +4741,17 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4870 | + fput(old_file); | 4741 | + fput(old_file); |
4871 | + | 4742 | + |
4872 | +out_unlock_new: | 4743 | +out_unlock_new: |
4873 | + mutex_unlock(&dir->d_inode->i_mutex); | 4744 | + /* drop references from dir_nd.path */ |
4745 | + path_put(&dir_nd.path); | ||
4746 | + | ||
4747 | + if (drop) { | ||
4748 | + /* unlock the inode mutex from kern_path_create() */ | ||
4749 | + mutex_unlock(&dir->d_inode->i_mutex); | ||
4750 | + | ||
4751 | + /* drop write access to mnt */ | ||
4752 | + mnt_drop_write(new_path->mnt); | ||
4753 | + } | ||
4754 | + | ||
4874 | + if (!ret) | 4755 | + if (!ret) |
4875 | + goto out_redo; | 4756 | + goto out_redo; |
4876 | + | 4757 | + |
@@ -4880,25 +4761,28 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4880 | +out_redo: | 4761 | +out_redo: |
4881 | + if (!redo) | 4762 | + if (!redo) |
4882 | + goto out_rel_both; | 4763 | + goto out_rel_both; |
4883 | + /* lookup dentry once again */ | 4764 | + |
4884 | + /* old_nd.path is freed as old_path in out_rel_old */ | 4765 | + /* lookup dentry once again |
4766 | + old_nd.path will be freed as old_path in out_rel_old */ | ||
4885 | + ret = do_path_lookup(AT_FDCWD, pathname, LOOKUP_FOLLOW, &old_nd); | 4767 | + ret = do_path_lookup(AT_FDCWD, pathname, LOOKUP_FOLLOW, &old_nd); |
4886 | + if (ret) | 4768 | + if (ret) |
4887 | + goto out_rel_both; | 4769 | + goto out_rel_both; |
4888 | + | 4770 | + |
4771 | + /* drop reference on new_dentry */ | ||
4889 | + dput(new_dentry); | 4772 | + dput(new_dentry); |
4890 | + new_dentry = old_nd.path.dentry; | 4773 | + new_dentry = old_path->dentry; |
4774 | + dget(new_dentry); | ||
4891 | + vxdprintk(VXD_CBIT(misc, 2), | 4775 | + vxdprintk(VXD_CBIT(misc, 2), |
4892 | + "do_path_lookup(redo): %p [" VS_Q("%.*s") ":%d]", | 4776 | + "do_path_lookup(redo): %p [" VS_Q("%.*s") ":%d]", |
4893 | + new_dentry, | 4777 | + new_dentry, |
4894 | + new_dentry->d_name.len, new_dentry->d_name.name, | 4778 | + new_dentry->d_name.len, new_dentry->d_name.name, |
4895 | + new_dentry->d_name.len); | 4779 | + new_dentry->d_name.len); |
4896 | + dget(new_dentry); | ||
4897 | + | 4780 | + |
4898 | +out_rel_both: | 4781 | +out_rel_both: |
4899 | + path_put(&dir_nd.path); | 4782 | + if (new_path) |
4783 | + path_put(new_path); | ||
4900 | +out_rel_old: | 4784 | +out_rel_old: |
4901 | + path_put(&old_path); | 4785 | + path_put(old_path); |
4902 | +out_free_path: | 4786 | +out_free_path: |
4903 | + kfree(path); | 4787 | + kfree(path); |
4904 | +out: | 4788 | +out: |
@@ -4907,8 +4791,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4907 | + new_dentry = ERR_PTR(ret); | 4791 | + new_dentry = ERR_PTR(ret); |
4908 | + } | 4792 | + } |
4909 | + vxdprintk(VXD_CBIT(misc, 3), | 4793 | + vxdprintk(VXD_CBIT(misc, 3), |
4910 | + "cow_break_link returning with %p [r=%d]", | 4794 | + "cow_break_link returning with %p", new_dentry); |
4911 | + new_dentry, mnt_get_count(real_mount(old_nd.path.mnt))); | ||
4912 | + return new_dentry; | 4795 | + return new_dentry; |
4913 | +} | 4796 | +} |
4914 | + | 4797 | + |
@@ -4941,18 +4824,18 @@ diff -NurpP --minimal linux-3.4.57/fs/namei.c linux-3.4.57-vs2.3.3.9/fs/namei.c | |||
4941 | /* get the link contents into pagecache */ | 4824 | /* get the link contents into pagecache */ |
4942 | static char *page_getlink(struct dentry * dentry, struct page **ppage) | 4825 | static char *page_getlink(struct dentry * dentry, struct page **ppage) |
4943 | { | 4826 | { |
4944 | @@ -3499,3 +3890,4 @@ EXPORT_SYMBOL(vfs_symlink); | 4827 | @@ -4099,3 +4524,4 @@ EXPORT_SYMBOL(vfs_symlink); |
4945 | EXPORT_SYMBOL(vfs_unlink); | 4828 | EXPORT_SYMBOL(vfs_unlink); |
4946 | EXPORT_SYMBOL(dentry_unhash); | 4829 | EXPORT_SYMBOL(dentry_unhash); |
4947 | EXPORT_SYMBOL(generic_readlink); | 4830 | EXPORT_SYMBOL(generic_readlink); |
4948 | +EXPORT_SYMBOL(vx_info_mnt_namespace); | 4831 | +EXPORT_SYMBOL(vx_info_mnt_namespace); |
4949 | diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/namespace.c | 4832 | diff -NurpP --minimal linux-3.10.17/fs/namespace.c linux-3.10.17-vs2.3.6.6/fs/namespace.c |
4950 | --- linux-3.4.57/fs/namespace.c 2013-08-13 14:13:33.000000000 +0000 | 4833 | --- linux-3.10.17/fs/namespace.c 2013-10-25 15:17:43.000000000 +0000 |
4951 | +++ linux-3.4.57-vs2.3.3.9/fs/namespace.c 2012-06-28 14:45:07.000000000 +0000 | 4834 | +++ linux-3.10.17-vs2.3.6.6/fs/namespace.c 2013-10-09 17:37:22.000000000 +0000 |
4952 | @@ -20,6 +20,11 @@ | 4835 | @@ -23,6 +23,11 @@ |
4953 | #include <linux/fs_struct.h> /* get_fs_root et.al. */ | ||
4954 | #include <linux/fsnotify.h> /* fsnotify_vfsmount_delete */ | ||
4955 | #include <linux/uaccess.h> | 4836 | #include <linux/uaccess.h> |
4837 | #include <linux/proc_ns.h> | ||
4838 | #include <linux/magic.h> | ||
4956 | +#include <linux/vs_base.h> | 4839 | +#include <linux/vs_base.h> |
4957 | +#include <linux/vs_context.h> | 4840 | +#include <linux/vs_context.h> |
4958 | +#include <linux/vs_tag.h> | 4841 | +#include <linux/vs_tag.h> |
@@ -4961,7 +4844,7 @@ diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/name | |||
4961 | #include "pnode.h" | 4844 | #include "pnode.h" |
4962 | #include "internal.h" | 4845 | #include "internal.h" |
4963 | 4846 | ||
4964 | @@ -697,6 +702,10 @@ vfs_kern_mount(struct file_system_type * | 4847 | @@ -780,6 +785,10 @@ vfs_kern_mount(struct file_system_type * |
4965 | if (!type) | 4848 | if (!type) |
4966 | return ERR_PTR(-ENODEV); | 4849 | return ERR_PTR(-ENODEV); |
4967 | 4850 | ||
@@ -4972,108 +4855,56 @@ diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/name | |||
4972 | mnt = alloc_vfsmnt(name); | 4855 | mnt = alloc_vfsmnt(name); |
4973 | if (!mnt) | 4856 | if (!mnt) |
4974 | return ERR_PTR(-ENOMEM); | 4857 | return ERR_PTR(-ENOMEM); |
4975 | @@ -745,6 +754,7 @@ static struct mount *clone_mnt(struct mo | 4858 | @@ -836,6 +845,7 @@ static struct mount *clone_mnt(struct mo |
4976 | mnt->mnt.mnt_root = dget(root); | 4859 | mnt->mnt.mnt_root = dget(root); |
4977 | mnt->mnt_mountpoint = mnt->mnt.mnt_root; | 4860 | mnt->mnt_mountpoint = mnt->mnt.mnt_root; |
4978 | mnt->mnt_parent = mnt; | 4861 | mnt->mnt_parent = mnt; |
4979 | + mnt->mnt_tag = old->mnt_tag; | 4862 | + mnt->mnt_tag = old->mnt_tag; |
4980 | br_write_lock(vfsmount_lock); | 4863 | br_write_lock(&vfsmount_lock); |
4981 | list_add_tail(&mnt->mnt_instance, &sb->s_mounts); | 4864 | list_add_tail(&mnt->mnt_instance, &sb->s_mounts); |
4982 | br_write_unlock(vfsmount_lock); | 4865 | br_write_unlock(&vfsmount_lock); |
4983 | @@ -1210,7 +1220,7 @@ SYSCALL_DEFINE2(umount, char __user *, n | 4866 | @@ -1685,6 +1695,7 @@ static int do_change_type(struct path *p |
4984 | goto dput_and_out; | ||
4985 | |||
4986 | retval = -EPERM; | ||
4987 | - if (!capable(CAP_SYS_ADMIN)) | ||
4988 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT)) | ||
4989 | goto dput_and_out; | ||
4990 | |||
4991 | retval = do_umount(mnt, flags); | ||
4992 | @@ -1236,7 +1246,7 @@ SYSCALL_DEFINE1(oldumount, char __user * | ||
4993 | |||
4994 | static int mount_is_safe(struct path *path) | ||
4995 | { | ||
4996 | - if (capable(CAP_SYS_ADMIN)) | ||
4997 | + if (vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT)) | ||
4998 | return 0; | ||
4999 | return -EPERM; | ||
5000 | #ifdef notyet | ||
5001 | @@ -1549,7 +1559,7 @@ static int do_change_type(struct path *p | ||
5002 | int type; | ||
5003 | int err = 0; | ||
5004 | |||
5005 | - if (!capable(CAP_SYS_ADMIN)) | ||
5006 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_NAMESPACE)) | ||
5007 | return -EPERM; | ||
5008 | |||
5009 | if (path->dentry != path->mnt->mnt_root) | ||
5010 | @@ -1565,6 +1575,7 @@ static int do_change_type(struct path *p | ||
5011 | if (err) | 4867 | if (err) |
5012 | goto out_unlock; | 4868 | goto out_unlock; |
5013 | } | 4869 | } |
5014 | + // mnt->mnt_flags = mnt_flags; | 4870 | + // mnt->mnt_flags = mnt_flags; |
5015 | 4871 | ||
5016 | br_write_lock(vfsmount_lock); | 4872 | br_write_lock(&vfsmount_lock); |
5017 | for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL)) | 4873 | for (m = mnt; m; m = (recurse ? next_mnt(m, mnt) : NULL)) |
5018 | @@ -1580,12 +1591,14 @@ static int do_change_type(struct path *p | 4874 | @@ -1700,12 +1711,14 @@ static int do_change_type(struct path *p |
5019 | * do loopback mount. | 4875 | * do loopback mount. |
5020 | */ | 4876 | */ |
5021 | static int do_loopback(struct path *path, char *old_name, | 4877 | static int do_loopback(struct path *path, const char *old_name, |
5022 | - int recurse) | 4878 | - int recurse) |
5023 | + tag_t tag, unsigned long flags, int mnt_flags) | 4879 | + vtag_t tag, unsigned long flags, int mnt_flags) |
5024 | { | 4880 | { |
5025 | LIST_HEAD(umount_list); | ||
5026 | struct path old_path; | 4881 | struct path old_path; |
5027 | struct mount *mnt = NULL, *old; | 4882 | struct mount *mnt = NULL, *old, *parent; |
5028 | int err = mount_is_safe(path); | 4883 | struct mountpoint *mp; |
5029 | + int recurse = flags & MS_REC; | 4884 | + int recurse = flags & MS_REC; |
4885 | int err; | ||
5030 | + | 4886 | + |
5031 | if (err) | ||
5032 | return err; | ||
5033 | if (!old_name || !*old_name) | 4887 | if (!old_name || !*old_name) |
5034 | @@ -1653,13 +1666,13 @@ static int change_mount_flags(struct vfs | 4888 | return -EINVAL; |
4889 | err = kern_path(old_name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &old_path); | ||
4890 | @@ -1780,7 +1793,7 @@ static int change_mount_flags(struct vfs | ||
5035 | * on it - tough luck. | 4891 | * on it - tough luck. |
5036 | */ | 4892 | */ |
5037 | static int do_remount(struct path *path, int flags, int mnt_flags, | 4893 | static int do_remount(struct path *path, int flags, int mnt_flags, |
5038 | - void *data) | 4894 | - void *data) |
5039 | + void *data, xid_t xid) | 4895 | + void *data, vxid_t xid) |
5040 | { | 4896 | { |
5041 | int err; | 4897 | int err; |
5042 | struct super_block *sb = path->mnt->mnt_sb; | 4898 | struct super_block *sb = path->mnt->mnt_sb; |
5043 | struct mount *mnt = real_mount(path->mnt); | 4899 | @@ -2264,6 +2277,7 @@ long do_mount(const char *dev_name, cons |
5044 | |||
5045 | - if (!capable(CAP_SYS_ADMIN)) | ||
5046 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_REMOUNT)) | ||
5047 | return -EPERM; | ||
5048 | |||
5049 | if (!check_mnt(mnt)) | ||
5050 | @@ -1708,7 +1721,7 @@ static int do_move_mount(struct path *pa | ||
5051 | struct mount *p; | ||
5052 | struct mount *old; | ||
5053 | int err = 0; | ||
5054 | - if (!capable(CAP_SYS_ADMIN)) | ||
5055 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT)) | ||
5056 | return -EPERM; | ||
5057 | if (!old_name || !*old_name) | ||
5058 | return -EINVAL; | ||
5059 | @@ -1859,7 +1872,7 @@ static int do_new_mount(struct path *pat | ||
5060 | return -EINVAL; | ||
5061 | |||
5062 | /* we need capabilities... */ | ||
5063 | - if (!capable(CAP_SYS_ADMIN)) | ||
5064 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_SECURE_MOUNT)) | ||
5065 | return -EPERM; | ||
5066 | |||
5067 | mnt = do_kern_mount(type, flags, name, data); | ||
5068 | @@ -2129,6 +2142,7 @@ long do_mount(char *dev_name, char *dir_ | ||
5069 | struct path path; | 4900 | struct path path; |
5070 | int retval = 0; | 4901 | int retval = 0; |
5071 | int mnt_flags = 0; | 4902 | int mnt_flags = 0; |
5072 | + tag_t tag = 0; | 4903 | + vtag_t tag = 0; |
5073 | 4904 | ||
5074 | /* Discard magic */ | 4905 | /* Discard magic */ |
5075 | if ((flags & MS_MGC_MSK) == MS_MGC_VAL) | 4906 | if ((flags & MS_MGC_MSK) == MS_MGC_VAL) |
5076 | @@ -2156,6 +2170,12 @@ long do_mount(char *dev_name, char *dir_ | 4907 | @@ -2293,6 +2307,12 @@ long do_mount(const char *dev_name, cons |
5077 | if (!(flags & MS_NOATIME)) | 4908 | if (!(flags & MS_NOATIME)) |
5078 | mnt_flags |= MNT_RELATIME; | 4909 | mnt_flags |= MNT_RELATIME; |
5079 | 4910 | ||
@@ -5086,11 +4917,11 @@ diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/name | |||
5086 | /* Separate the per-mountpoint flags */ | 4917 | /* Separate the per-mountpoint flags */ |
5087 | if (flags & MS_NOSUID) | 4918 | if (flags & MS_NOSUID) |
5088 | mnt_flags |= MNT_NOSUID; | 4919 | mnt_flags |= MNT_NOSUID; |
5089 | @@ -2172,15 +2192,17 @@ long do_mount(char *dev_name, char *dir_ | 4920 | @@ -2309,15 +2329,17 @@ long do_mount(const char *dev_name, cons |
5090 | if (flags & MS_RDONLY) | 4921 | if (flags & MS_RDONLY) |
5091 | mnt_flags |= MNT_READONLY; | 4922 | mnt_flags |= MNT_READONLY; |
5092 | 4923 | ||
5093 | + if (!capable(CAP_SYS_ADMIN)) | 4924 | + if (!vx_capable(CAP_SYS_ADMIN, VXC_DEV_MOUNT)) |
5094 | + mnt_flags |= MNT_NODEV; | 4925 | + mnt_flags |= MNT_NODEV; |
5095 | flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE | MS_BORN | | 4926 | flags &= ~(MS_NOSUID | MS_NOEXEC | MS_NODEV | MS_ACTIVE | MS_BORN | |
5096 | MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT | | 4927 | MS_NOATIME | MS_NODIRATIME | MS_RELATIME| MS_KERNMOUNT | |
@@ -5106,20 +4937,20 @@ diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/name | |||
5106 | else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE)) | 4937 | else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE)) |
5107 | retval = do_change_type(&path, flags); | 4938 | retval = do_change_type(&path, flags); |
5108 | else if (flags & MS_MOVE) | 4939 | else if (flags & MS_MOVE) |
5109 | @@ -2283,6 +2305,7 @@ static struct mnt_namespace *dup_mnt_ns( | 4940 | @@ -2426,6 +2448,7 @@ static struct mnt_namespace *dup_mnt_ns( |
5110 | q = next_mnt(q, new); | 4941 | q = next_mnt(q, new); |
5111 | } | 4942 | } |
5112 | up_write(&namespace_sem); | 4943 | namespace_unlock(); |
5113 | + atomic_inc(&vs_global_mnt_ns); | 4944 | + atomic_inc(&vs_global_mnt_ns); |
5114 | 4945 | ||
5115 | if (rootmnt) | 4946 | if (rootmnt) |
5116 | mntput(rootmnt); | 4947 | mntput(rootmnt); |
5117 | @@ -2479,9 +2502,10 @@ SYSCALL_DEFINE2(pivot_root, const char _ | 4948 | @@ -2624,9 +2647,10 @@ SYSCALL_DEFINE2(pivot_root, const char _ |
5118 | error = -EINVAL; | ||
5119 | new_mnt = real_mount(new.mnt); | 4949 | new_mnt = real_mount(new.mnt); |
5120 | root_mnt = real_mount(root.mnt); | 4950 | root_mnt = real_mount(root.mnt); |
5121 | - if (IS_MNT_SHARED(real_mount(old.mnt)) || | 4951 | old_mnt = real_mount(old.mnt); |
5122 | + if ((IS_MNT_SHARED(real_mount(old.mnt)) || | 4952 | - if (IS_MNT_SHARED(old_mnt) || |
4953 | + if ((IS_MNT_SHARED(old_mnt) || | ||
5123 | IS_MNT_SHARED(new_mnt->mnt_parent) || | 4954 | IS_MNT_SHARED(new_mnt->mnt_parent) || |
5124 | - IS_MNT_SHARED(root_mnt->mnt_parent)) | 4955 | - IS_MNT_SHARED(root_mnt->mnt_parent)) |
5125 | + IS_MNT_SHARED(root_mnt->mnt_parent)) && | 4956 | + IS_MNT_SHARED(root_mnt->mnt_parent)) && |
@@ -5127,18 +4958,18 @@ diff -NurpP --minimal linux-3.4.57/fs/namespace.c linux-3.4.57-vs2.3.3.9/fs/name | |||
5127 | goto out4; | 4958 | goto out4; |
5128 | if (!check_mnt(root_mnt) || !check_mnt(new_mnt)) | 4959 | if (!check_mnt(root_mnt) || !check_mnt(new_mnt)) |
5129 | goto out4; | 4960 | goto out4; |
5130 | @@ -2602,6 +2626,7 @@ void put_mnt_ns(struct mnt_namespace *ns | 4961 | @@ -2752,6 +2776,7 @@ void put_mnt_ns(struct mnt_namespace *ns |
5131 | br_write_unlock(vfsmount_lock); | 4962 | umount_tree(ns->root, 0); |
5132 | up_write(&namespace_sem); | 4963 | br_write_unlock(&vfsmount_lock); |
5133 | release_mounts(&umount_list); | 4964 | namespace_unlock(); |
5134 | + atomic_dec(&vs_global_mnt_ns); | 4965 | + atomic_dec(&vs_global_mnt_ns); |
5135 | kfree(ns); | 4966 | free_mnt_ns(ns); |
5136 | } | 4967 | } |
5137 | 4968 | ||
5138 | diff -NurpP --minimal linux-3.4.57/fs/nfs/client.c linux-3.4.57-vs2.3.3.9/fs/nfs/client.c | 4969 | diff -NurpP --minimal linux-3.10.17/fs/nfs/client.c linux-3.10.17-vs2.3.6.6/fs/nfs/client.c |
5139 | --- linux-3.4.57/fs/nfs/client.c 2013-08-13 14:13:33.000000000 +0000 | 4970 | --- linux-3.10.17/fs/nfs/client.c 2013-07-14 17:01:28.000000000 +0000 |
5140 | +++ linux-3.4.57-vs2.3.3.9/fs/nfs/client.c 2013-01-16 00:15:57.000000000 +0000 | 4971 | +++ linux-3.10.17-vs2.3.6.6/fs/nfs/client.c 2013-08-22 20:29:59.000000000 +0000 |
5141 | @@ -801,6 +801,9 @@ static int nfs_init_server_rpcclient(str | 4972 | @@ -684,6 +684,9 @@ int nfs_init_server_rpcclient(struct nfs |
5142 | if (server->flags & NFS_MOUNT_SOFT) | 4973 | if (server->flags & NFS_MOUNT_SOFT) |
5143 | server->client->cl_softrtry = 1; | 4974 | server->client->cl_softrtry = 1; |
5144 | 4975 | ||
@@ -5147,8 +4978,8 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/client.c linux-3.4.57-vs2.3.3.9/fs/nfs | |||
5147 | + server->client->cl_tag = 1; | 4978 | + server->client->cl_tag = 1; |
5148 | return 0; | 4979 | return 0; |
5149 | } | 4980 | } |
5150 | 4981 | EXPORT_SYMBOL_GPL(nfs_init_server_rpcclient); | |
5151 | @@ -976,6 +979,10 @@ static void nfs_server_set_fsinfo(struct | 4982 | @@ -863,6 +866,10 @@ static void nfs_server_set_fsinfo(struct |
5152 | server->acdirmin = server->acdirmax = 0; | 4983 | server->acdirmin = server->acdirmax = 0; |
5153 | } | 4984 | } |
5154 | 4985 | ||
@@ -5159,10 +4990,10 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/client.c linux-3.4.57-vs2.3.3.9/fs/nfs | |||
5159 | server->maxfilesize = fsinfo->maxfilesize; | 4990 | server->maxfilesize = fsinfo->maxfilesize; |
5160 | 4991 | ||
5161 | server->time_delta = fsinfo->time_delta; | 4992 | server->time_delta = fsinfo->time_delta; |
5162 | diff -NurpP --minimal linux-3.4.57/fs/nfs/dir.c linux-3.4.57-vs2.3.3.9/fs/nfs/dir.c | 4993 | diff -NurpP --minimal linux-3.10.17/fs/nfs/dir.c linux-3.10.17-vs2.3.6.6/fs/nfs/dir.c |
5163 | --- linux-3.4.57/fs/nfs/dir.c 2013-08-13 14:13:33.000000000 +0000 | 4994 | --- linux-3.10.17/fs/nfs/dir.c 2013-07-14 17:01:28.000000000 +0000 |
5164 | +++ linux-3.4.57-vs2.3.3.9/fs/nfs/dir.c 2013-01-16 00:15:57.000000000 +0000 | 4995 | +++ linux-3.10.17-vs2.3.6.6/fs/nfs/dir.c 2013-08-22 20:29:59.000000000 +0000 |
5165 | @@ -35,6 +35,7 @@ | 4996 | @@ -36,6 +36,7 @@ |
5166 | #include <linux/sched.h> | 4997 | #include <linux/sched.h> |
5167 | #include <linux/kmemleak.h> | 4998 | #include <linux/kmemleak.h> |
5168 | #include <linux/xattr.h> | 4999 | #include <linux/xattr.h> |
@@ -5170,18 +5001,18 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/dir.c linux-3.4.57-vs2.3.3.9/fs/nfs/di | |||
5170 | 5001 | ||
5171 | #include "delegation.h" | 5002 | #include "delegation.h" |
5172 | #include "iostat.h" | 5003 | #include "iostat.h" |
5173 | @@ -1314,6 +1315,7 @@ static struct dentry *nfs_lookup(struct | 5004 | @@ -1300,6 +1301,7 @@ struct dentry *nfs_lookup(struct inode * |
5174 | if (IS_ERR(res)) | 5005 | /* Success: notify readdir to use READDIRPLUS */ |
5175 | goto out_unblock_sillyrename; | 5006 | nfs_advise_use_readdirplus(dir); |
5176 | 5007 | ||
5177 | + dx_propagate_tag(nd, inode); | 5008 | + dx_propagate_tag(nd, inode); |
5178 | no_entry: | 5009 | no_entry: |
5179 | res = d_materialise_unique(dentry, inode); | 5010 | res = d_materialise_unique(dentry, inode); |
5180 | if (res != NULL) { | 5011 | if (res != NULL) { |
5181 | diff -NurpP --minimal linux-3.4.57/fs/nfs/inode.c linux-3.4.57-vs2.3.3.9/fs/nfs/inode.c | 5012 | diff -NurpP --minimal linux-3.10.17/fs/nfs/inode.c linux-3.10.17-vs2.3.6.6/fs/nfs/inode.c |
5182 | --- linux-3.4.57/fs/nfs/inode.c 2013-08-13 14:13:34.000000000 +0000 | 5013 | --- linux-3.10.17/fs/nfs/inode.c 2013-07-14 17:01:28.000000000 +0000 |
5183 | +++ linux-3.4.57-vs2.3.3.9/fs/nfs/inode.c 2012-10-22 13:09:53.000000000 +0000 | 5014 | +++ linux-3.10.17-vs2.3.6.6/fs/nfs/inode.c 2013-08-22 20:29:59.000000000 +0000 |
5184 | @@ -40,6 +40,7 @@ | 5015 | @@ -39,6 +39,7 @@ |
5185 | #include <linux/compat.h> | 5016 | #include <linux/compat.h> |
5186 | #include <linux/freezer.h> | 5017 | #include <linux/freezer.h> |
5187 | #include <linux/crc32.h> | 5018 | #include <linux/crc32.h> |
@@ -5189,55 +5020,53 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/inode.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5189 | 5020 | ||
5190 | #include <asm/uaccess.h> | 5021 | #include <asm/uaccess.h> |
5191 | 5022 | ||
5192 | @@ -275,6 +276,8 @@ nfs_fhget(struct super_block *sb, struct | 5023 | @@ -290,6 +291,8 @@ nfs_fhget(struct super_block *sb, struct |
5193 | if (inode->i_state & I_NEW) { | 5024 | if (inode->i_state & I_NEW) { |
5194 | struct nfs_inode *nfsi = NFS_I(inode); | 5025 | struct nfs_inode *nfsi = NFS_I(inode); |
5195 | unsigned long now = jiffies; | 5026 | unsigned long now = jiffies; |
5196 | + uid_t uid; | 5027 | + kuid_t kuid; |
5197 | + gid_t gid; | 5028 | + kgid_t kgid; |
5198 | 5029 | ||
5199 | /* We set i_ino for the few things that still rely on it, | 5030 | /* We set i_ino for the few things that still rely on it, |
5200 | * such as stat(2) */ | 5031 | * such as stat(2) */ |
5201 | @@ -323,8 +326,8 @@ nfs_fhget(struct super_block *sb, struct | 5032 | @@ -334,8 +337,8 @@ nfs_fhget(struct super_block *sb, struct |
5202 | inode->i_version = 0; | 5033 | inode->i_version = 0; |
5203 | inode->i_size = 0; | 5034 | inode->i_size = 0; |
5204 | clear_nlink(inode); | 5035 | clear_nlink(inode); |
5205 | - inode->i_uid = -2; | 5036 | - inode->i_uid = make_kuid(&init_user_ns, -2); |
5206 | - inode->i_gid = -2; | 5037 | - inode->i_gid = make_kgid(&init_user_ns, -2); |
5207 | + uid = -2; | 5038 | + kuid = make_kuid(&init_user_ns, -2); |
5208 | + gid = -2; | 5039 | + kgid = make_kgid(&init_user_ns, -2); |
5209 | inode->i_blocks = 0; | 5040 | inode->i_blocks = 0; |
5210 | memset(nfsi->cookieverf, 0, sizeof(nfsi->cookieverf)); | 5041 | memset(nfsi->cookieverf, 0, sizeof(nfsi->cookieverf)); |
5211 | 5042 | nfsi->write_io = 0; | |
5212 | @@ -361,13 +364,13 @@ nfs_fhget(struct super_block *sb, struct | 5043 | @@ -369,11 +372,11 @@ nfs_fhget(struct super_block *sb, struct |
5213 | else if (nfs_server_capable(inode, NFS_CAP_NLINK)) | 5044 | else if (nfs_server_capable(inode, NFS_CAP_NLINK)) |
5214 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR; | 5045 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR; |
5215 | if (fattr->valid & NFS_ATTR_FATTR_OWNER) | 5046 | if (fattr->valid & NFS_ATTR_FATTR_OWNER) |
5216 | - inode->i_uid = fattr->uid; | 5047 | - inode->i_uid = fattr->uid; |
5217 | + uid = fattr->uid; | 5048 | + kuid = fattr->uid; |
5218 | else if (nfs_server_capable(inode, NFS_CAP_OWNER)) | 5049 | else if (nfs_server_capable(inode, NFS_CAP_OWNER)) |
5219 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR | 5050 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR; |
5220 | | NFS_INO_INVALID_ACCESS | ||
5221 | | NFS_INO_INVALID_ACL; | ||
5222 | if (fattr->valid & NFS_ATTR_FATTR_GROUP) | 5051 | if (fattr->valid & NFS_ATTR_FATTR_GROUP) |
5223 | - inode->i_gid = fattr->gid; | 5052 | - inode->i_gid = fattr->gid; |
5224 | + gid = fattr->gid; | 5053 | + kgid = fattr->gid; |
5225 | else if (nfs_server_capable(inode, NFS_CAP_OWNER_GROUP)) | 5054 | else if (nfs_server_capable(inode, NFS_CAP_OWNER_GROUP)) |
5226 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR | 5055 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR; |
5227 | | NFS_INO_INVALID_ACCESS | 5056 | if (fattr->valid & NFS_ATTR_FATTR_BLOCKS_USED) |
5228 | @@ -380,6 +383,11 @@ nfs_fhget(struct super_block *sb, struct | 5057 | @@ -384,6 +387,11 @@ nfs_fhget(struct super_block *sb, struct |
5229 | */ | 5058 | */ |
5230 | inode->i_blocks = nfs_calc_block_size(fattr->du.nfs3.used); | 5059 | inode->i_blocks = nfs_calc_block_size(fattr->du.nfs3.used); |
5231 | } | 5060 | } |
5232 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 5061 | + inode->i_uid = INOTAG_KUID(DX_TAG(inode), kuid, kgid); |
5233 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 5062 | + inode->i_gid = INOTAG_KGID(DX_TAG(inode), kuid, kgid); |
5234 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, 0); | 5063 | + inode->i_tag = INOTAG_KTAG(DX_TAG(inode), kuid, kgid, GLOBAL_ROOT_TAG); |
5235 | + /* maybe fattr->xid someday */ | 5064 | + /* maybe fattr->xid someday */ |
5236 | + | 5065 | + |
5237 | nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); | 5066 | nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); |
5238 | nfsi->attrtimeo_timestamp = now; | 5067 | nfsi->attrtimeo_timestamp = now; |
5239 | nfsi->access_cache = RB_ROOT; | 5068 | nfsi->access_cache = RB_ROOT; |
5240 | @@ -497,6 +505,8 @@ void nfs_setattr_update_inode(struct ino | 5069 | @@ -505,6 +513,8 @@ void nfs_setattr_update_inode(struct ino |
5241 | inode->i_uid = attr->ia_uid; | 5070 | inode->i_uid = attr->ia_uid; |
5242 | if ((attr->ia_valid & ATTR_GID) != 0) | 5071 | if ((attr->ia_valid & ATTR_GID) != 0) |
5243 | inode->i_gid = attr->ia_gid; | 5072 | inode->i_gid = attr->ia_gid; |
@@ -5246,95 +5075,72 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/inode.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5246 | NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL; | 5075 | NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL; |
5247 | spin_unlock(&inode->i_lock); | 5076 | spin_unlock(&inode->i_lock); |
5248 | } | 5077 | } |
5249 | @@ -946,6 +956,9 @@ static int nfs_check_inode_attributes(st | 5078 | @@ -982,7 +992,9 @@ static int nfs_check_inode_attributes(st |
5250 | struct nfs_inode *nfsi = NFS_I(inode); | 5079 | struct nfs_inode *nfsi = NFS_I(inode); |
5251 | loff_t cur_size, new_isize; | 5080 | loff_t cur_size, new_isize; |
5252 | unsigned long invalid = 0; | 5081 | unsigned long invalid = 0; |
5253 | + uid_t uid; | 5082 | - |
5254 | + gid_t gid; | 5083 | + kuid_t kuid; |
5255 | + tag_t tag; | 5084 | + kgid_t kgid; |
5256 | 5085 | + ktag_t ktag; | |
5257 | 5086 | ||
5258 | /* Has the inode gone and changed behind our back? */ | 5087 | if (nfs_have_delegated_attributes(inode)) |
5259 | @@ -969,13 +982,18 @@ static int nfs_check_inode_attributes(st | 5088 | return 0; |
5089 | @@ -1007,13 +1019,18 @@ static int nfs_check_inode_attributes(st | ||
5260 | invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; | 5090 | invalid |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; |
5261 | } | 5091 | } |
5262 | 5092 | ||
5263 | + uid = INOTAG_UID(DX_TAG(inode), fattr->uid, fattr->gid); | 5093 | + kuid = INOTAG_KUID(DX_TAG(inode), fattr->uid, fattr->gid); |
5264 | + gid = INOTAG_GID(DX_TAG(inode), fattr->uid, fattr->gid); | 5094 | + kgid = INOTAG_KGID(DX_TAG(inode), fattr->uid, fattr->gid); |
5265 | + tag = INOTAG_TAG(DX_TAG(inode), fattr->uid, fattr->gid, 0); | 5095 | + ktag = INOTAG_KTAG(DX_TAG(inode), fattr->uid, fattr->gid, GLOBAL_ROOT_TAG); |
5266 | + | 5096 | + |
5267 | /* Have any file permissions changed? */ | 5097 | /* Have any file permissions changed? */ |
5268 | if ((fattr->valid & NFS_ATTR_FATTR_MODE) && (inode->i_mode & S_IALLUGO) != (fattr->mode & S_IALLUGO)) | 5098 | if ((fattr->valid & NFS_ATTR_FATTR_MODE) && (inode->i_mode & S_IALLUGO) != (fattr->mode & S_IALLUGO)) |
5269 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; | 5099 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; |
5270 | - if ((fattr->valid & NFS_ATTR_FATTR_OWNER) && inode->i_uid != fattr->uid) | 5100 | - if ((fattr->valid & NFS_ATTR_FATTR_OWNER) && !uid_eq(inode->i_uid, fattr->uid)) |
5271 | + if ((fattr->valid & NFS_ATTR_FATTR_OWNER) && uid != fattr->uid) | 5101 | + if ((fattr->valid & NFS_ATTR_FATTR_OWNER) && !uid_eq(inode->i_uid, kuid)) |
5272 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; | 5102 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; |
5273 | - if ((fattr->valid & NFS_ATTR_FATTR_GROUP) && inode->i_gid != fattr->gid) | 5103 | - if ((fattr->valid & NFS_ATTR_FATTR_GROUP) && !gid_eq(inode->i_gid, fattr->gid)) |
5274 | + if ((fattr->valid & NFS_ATTR_FATTR_GROUP) && gid != fattr->gid) | 5104 | + if ((fattr->valid & NFS_ATTR_FATTR_GROUP) && !gid_eq(inode->i_gid, kgid)) |
5275 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; | 5105 | invalid |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS | NFS_INO_INVALID_ACL; |
5276 | + /* maybe check for tag too? */ | 5106 | + /* maybe check for tag too? */ |
5277 | 5107 | ||
5278 | /* Has the link count changed? */ | 5108 | /* Has the link count changed? */ |
5279 | if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink) | 5109 | if ((fattr->valid & NFS_ATTR_FATTR_NLINK) && inode->i_nlink != fattr->nlink) |
5280 | @@ -1273,6 +1291,9 @@ static int nfs_update_inode(struct inode | 5110 | @@ -1319,6 +1336,9 @@ static int nfs_update_inode(struct inode |
5281 | unsigned long invalid = 0; | 5111 | unsigned long invalid = 0; |
5282 | unsigned long now = jiffies; | 5112 | unsigned long now = jiffies; |
5283 | unsigned long save_cache_validity; | 5113 | unsigned long save_cache_validity; |
5284 | + uid_t uid; | 5114 | + kuid_t kuid; |
5285 | + gid_t gid; | 5115 | + kgid_t kgid; |
5286 | + tag_t tag; | 5116 | + ktag_t ktag; |
5287 | 5117 | ||
5288 | dfprintk(VFS, "NFS: %s(%s/%ld fh_crc=0x%08x ct=%d info=0x%x)\n", | 5118 | dfprintk(VFS, "NFS: %s(%s/%ld fh_crc=0x%08x ct=%d info=0x%x)\n", |
5289 | __func__, inode->i_sb->s_id, inode->i_ino, | 5119 | __func__, inode->i_sb->s_id, inode->i_ino, |
5290 | @@ -1381,6 +1402,9 @@ static int nfs_update_inode(struct inode | 5120 | @@ -1420,6 +1440,9 @@ static int nfs_update_inode(struct inode |
5291 | | NFS_INO_REVAL_PAGECACHE | 5121 | | NFS_INO_REVAL_PAGECACHE |
5292 | | NFS_INO_REVAL_FORCED); | 5122 | | NFS_INO_REVAL_FORCED); |
5293 | 5123 | ||
5294 | + uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | 5124 | + kuid = TAGINO_KUID(DX_TAG(inode), inode->i_uid, inode->i_tag); |
5295 | + gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | 5125 | + kgid = TAGINO_KGID(DX_TAG(inode), inode->i_gid, inode->i_tag); |
5296 | + tag = inode->i_tag; | 5126 | + ktag = TAGINO_KTAG(DX_TAG(inode), inode->i_tag); |
5297 | 5127 | ||
5298 | if (fattr->valid & NFS_ATTR_FATTR_ATIME) | 5128 | if (fattr->valid & NFS_ATTR_FATTR_ATIME) |
5299 | memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime)); | 5129 | memcpy(&inode->i_atime, &fattr->atime, sizeof(inode->i_atime)); |
5300 | @@ -1402,9 +1426,9 @@ static int nfs_update_inode(struct inode | 5130 | @@ -1462,6 +1485,10 @@ static int nfs_update_inode(struct inode |
5301 | | NFS_INO_REVAL_FORCED); | ||
5302 | |||
5303 | if (fattr->valid & NFS_ATTR_FATTR_OWNER) { | ||
5304 | - if (inode->i_uid != fattr->uid) { | ||
5305 | + if (uid != fattr->uid) { | ||
5306 | invalid |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL; | ||
5307 | - inode->i_uid = fattr->uid; | ||
5308 | + uid = fattr->uid; | ||
5309 | } | ||
5310 | } else if (server->caps & NFS_CAP_OWNER) | ||
5311 | invalid |= save_cache_validity & (NFS_INO_INVALID_ATTR | ||
5312 | @@ -1413,9 +1437,9 @@ static int nfs_update_inode(struct inode | ||
5313 | | NFS_INO_REVAL_FORCED); | ||
5314 | |||
5315 | if (fattr->valid & NFS_ATTR_FATTR_GROUP) { | ||
5316 | - if (inode->i_gid != fattr->gid) { | ||
5317 | + if (gid != fattr->gid) { | ||
5318 | invalid |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ACL; | ||
5319 | - inode->i_gid = fattr->gid; | ||
5320 | + gid = fattr->gid; | ||
5321 | } | ||
5322 | } else if (server->caps & NFS_CAP_OWNER_GROUP) | ||
5323 | invalid |= save_cache_validity & (NFS_INO_INVALID_ATTR | ||
5324 | @@ -1423,6 +1447,10 @@ static int nfs_update_inode(struct inode | ||
5325 | | NFS_INO_INVALID_ACL | 5131 | | NFS_INO_INVALID_ACL |
5326 | | NFS_INO_REVAL_FORCED); | 5132 | | NFS_INO_REVAL_FORCED); |
5327 | 5133 | ||
5328 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 5134 | + inode->i_uid = INOTAG_KUID(DX_TAG(inode), kuid, kgid); |
5329 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 5135 | + inode->i_gid = INOTAG_KGID(DX_TAG(inode), kuid, kgid); |
5330 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, tag); | 5136 | + inode->i_tag = INOTAG_KTAG(DX_TAG(inode), kuid, kgid, ktag); |
5331 | + | 5137 | + |
5332 | if (fattr->valid & NFS_ATTR_FATTR_NLINK) { | 5138 | if (fattr->valid & NFS_ATTR_FATTR_NLINK) { |
5333 | if (inode->i_nlink != fattr->nlink) { | 5139 | if (inode->i_nlink != fattr->nlink) { |
5334 | invalid |= NFS_INO_INVALID_ATTR; | 5140 | invalid |= NFS_INO_INVALID_ATTR; |
5335 | diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nfs/nfs3xdr.c | 5141 | diff -NurpP --minimal linux-3.10.17/fs/nfs/nfs3xdr.c linux-3.10.17-vs2.3.6.6/fs/nfs/nfs3xdr.c |
5336 | --- linux-3.4.57/fs/nfs/nfs3xdr.c 2012-05-21 16:07:25.000000000 +0000 | 5142 | --- linux-3.10.17/fs/nfs/nfs3xdr.c 2013-05-31 13:45:24.000000000 +0000 |
5337 | +++ linux-3.4.57-vs2.3.3.9/fs/nfs/nfs3xdr.c 2012-05-21 16:15:05.000000000 +0000 | 5143 | +++ linux-3.10.17-vs2.3.6.6/fs/nfs/nfs3xdr.c 2013-08-22 20:29:59.000000000 +0000 |
5338 | @@ -20,6 +20,7 @@ | 5144 | @@ -20,6 +20,7 @@ |
5339 | #include <linux/nfs3.h> | 5145 | #include <linux/nfs3.h> |
5340 | #include <linux/nfs_fs.h> | 5146 | #include <linux/nfs_fs.h> |
@@ -5343,7 +5149,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5343 | #include "internal.h" | 5149 | #include "internal.h" |
5344 | 5150 | ||
5345 | #define NFSDBG_FACILITY NFSDBG_XDR | 5151 | #define NFSDBG_FACILITY NFSDBG_XDR |
5346 | @@ -562,7 +563,8 @@ static __be32 *xdr_decode_nfstime3(__be3 | 5152 | @@ -558,7 +559,8 @@ static __be32 *xdr_decode_nfstime3(__be3 |
5347 | * set_mtime mtime; | 5153 | * set_mtime mtime; |
5348 | * }; | 5154 | * }; |
5349 | */ | 5155 | */ |
@@ -5353,7 +5159,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5353 | { | 5159 | { |
5354 | u32 nbytes; | 5160 | u32 nbytes; |
5355 | __be32 *p; | 5161 | __be32 *p; |
5356 | @@ -594,15 +596,19 @@ static void encode_sattr3(struct xdr_str | 5162 | @@ -590,15 +592,19 @@ static void encode_sattr3(struct xdr_str |
5357 | } else | 5163 | } else |
5358 | *p++ = xdr_zero; | 5164 | *p++ = xdr_zero; |
5359 | 5165 | ||
@@ -5361,9 +5167,9 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5361 | + if (attr->ia_valid & ATTR_UID || | 5167 | + if (attr->ia_valid & ATTR_UID || |
5362 | + (tag && (attr->ia_valid & ATTR_TAG))) { | 5168 | + (tag && (attr->ia_valid & ATTR_TAG))) { |
5363 | *p++ = xdr_one; | 5169 | *p++ = xdr_one; |
5364 | - *p++ = cpu_to_be32(attr->ia_uid); | 5170 | - *p++ = cpu_to_be32(from_kuid(&init_user_ns, attr->ia_uid)); |
5365 | + *p++ = cpu_to_be32(TAGINO_UID(tag, | 5171 | + *p++ = cpu_to_be32(from_kuid(&init_user_ns, |
5366 | + attr->ia_uid, attr->ia_tag)); | 5172 | + TAGINO_KUID(tag, attr->ia_uid, attr->ia_tag))); |
5367 | } else | 5173 | } else |
5368 | *p++ = xdr_zero; | 5174 | *p++ = xdr_zero; |
5369 | 5175 | ||
@@ -5371,13 +5177,13 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5371 | + if (attr->ia_valid & ATTR_GID || | 5177 | + if (attr->ia_valid & ATTR_GID || |
5372 | + (tag && (attr->ia_valid & ATTR_TAG))) { | 5178 | + (tag && (attr->ia_valid & ATTR_TAG))) { |
5373 | *p++ = xdr_one; | 5179 | *p++ = xdr_one; |
5374 | - *p++ = cpu_to_be32(attr->ia_gid); | 5180 | - *p++ = cpu_to_be32(from_kgid(&init_user_ns, attr->ia_gid)); |
5375 | + *p++ = cpu_to_be32(TAGINO_GID(tag, | 5181 | + *p++ = cpu_to_be32(from_kgid(&init_user_ns, |
5376 | + attr->ia_gid, attr->ia_tag)); | 5182 | + TAGINO_KGID(tag, attr->ia_gid, attr->ia_tag))); |
5377 | } else | 5183 | } else |
5378 | *p++ = xdr_zero; | 5184 | *p++ = xdr_zero; |
5379 | 5185 | ||
5380 | @@ -878,7 +884,7 @@ static void nfs3_xdr_enc_setattr3args(st | 5186 | @@ -887,7 +893,7 @@ static void nfs3_xdr_enc_setattr3args(st |
5381 | const struct nfs3_sattrargs *args) | 5187 | const struct nfs3_sattrargs *args) |
5382 | { | 5188 | { |
5383 | encode_nfs_fh3(xdr, args->fh); | 5189 | encode_nfs_fh3(xdr, args->fh); |
@@ -5386,7 +5192,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5386 | encode_sattrguard3(xdr, args); | 5192 | encode_sattrguard3(xdr, args); |
5387 | } | 5193 | } |
5388 | 5194 | ||
5389 | @@ -1028,13 +1034,13 @@ static void nfs3_xdr_enc_write3args(stru | 5195 | @@ -1037,13 +1043,13 @@ static void nfs3_xdr_enc_write3args(stru |
5390 | * }; | 5196 | * }; |
5391 | */ | 5197 | */ |
5392 | static void encode_createhow3(struct xdr_stream *xdr, | 5198 | static void encode_createhow3(struct xdr_stream *xdr, |
@@ -5402,7 +5208,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5402 | break; | 5208 | break; |
5403 | case NFS3_CREATE_EXCLUSIVE: | 5209 | case NFS3_CREATE_EXCLUSIVE: |
5404 | encode_createverf3(xdr, args->verifier); | 5210 | encode_createverf3(xdr, args->verifier); |
5405 | @@ -1049,7 +1055,7 @@ static void nfs3_xdr_enc_create3args(str | 5211 | @@ -1058,7 +1064,7 @@ static void nfs3_xdr_enc_create3args(str |
5406 | const struct nfs3_createargs *args) | 5212 | const struct nfs3_createargs *args) |
5407 | { | 5213 | { |
5408 | encode_diropargs3(xdr, args->fh, args->name, args->len); | 5214 | encode_diropargs3(xdr, args->fh, args->name, args->len); |
@@ -5411,7 +5217,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5411 | } | 5217 | } |
5412 | 5218 | ||
5413 | /* | 5219 | /* |
5414 | @@ -1065,7 +1071,7 @@ static void nfs3_xdr_enc_mkdir3args(stru | 5220 | @@ -1074,7 +1080,7 @@ static void nfs3_xdr_enc_mkdir3args(stru |
5415 | const struct nfs3_mkdirargs *args) | 5221 | const struct nfs3_mkdirargs *args) |
5416 | { | 5222 | { |
5417 | encode_diropargs3(xdr, args->fh, args->name, args->len); | 5223 | encode_diropargs3(xdr, args->fh, args->name, args->len); |
@@ -5420,7 +5226,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5420 | } | 5226 | } |
5421 | 5227 | ||
5422 | /* | 5228 | /* |
5423 | @@ -1082,9 +1088,9 @@ static void nfs3_xdr_enc_mkdir3args(stru | 5229 | @@ -1091,9 +1097,9 @@ static void nfs3_xdr_enc_mkdir3args(stru |
5424 | * }; | 5230 | * }; |
5425 | */ | 5231 | */ |
5426 | static void encode_symlinkdata3(struct xdr_stream *xdr, | 5232 | static void encode_symlinkdata3(struct xdr_stream *xdr, |
@@ -5432,7 +5238,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5432 | encode_nfspath3(xdr, args->pages, args->pathlen); | 5238 | encode_nfspath3(xdr, args->pages, args->pathlen); |
5433 | } | 5239 | } |
5434 | 5240 | ||
5435 | @@ -1093,7 +1099,7 @@ static void nfs3_xdr_enc_symlink3args(st | 5241 | @@ -1102,7 +1108,7 @@ static void nfs3_xdr_enc_symlink3args(st |
5436 | const struct nfs3_symlinkargs *args) | 5242 | const struct nfs3_symlinkargs *args) |
5437 | { | 5243 | { |
5438 | encode_diropargs3(xdr, args->fromfh, args->fromname, args->fromlen); | 5244 | encode_diropargs3(xdr, args->fromfh, args->fromname, args->fromlen); |
@@ -5441,7 +5247,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5441 | } | 5247 | } |
5442 | 5248 | ||
5443 | /* | 5249 | /* |
5444 | @@ -1121,24 +1127,24 @@ static void nfs3_xdr_enc_symlink3args(st | 5250 | @@ -1130,24 +1136,24 @@ static void nfs3_xdr_enc_symlink3args(st |
5445 | * }; | 5251 | * }; |
5446 | */ | 5252 | */ |
5447 | static void encode_devicedata3(struct xdr_stream *xdr, | 5253 | static void encode_devicedata3(struct xdr_stream *xdr, |
@@ -5471,7 +5277,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5471 | break; | 5277 | break; |
5472 | case NF3REG: | 5278 | case NF3REG: |
5473 | case NF3DIR: | 5279 | case NF3DIR: |
5474 | @@ -1153,7 +1159,7 @@ static void nfs3_xdr_enc_mknod3args(stru | 5280 | @@ -1162,7 +1168,7 @@ static void nfs3_xdr_enc_mknod3args(stru |
5475 | const struct nfs3_mknodargs *args) | 5281 | const struct nfs3_mknodargs *args) |
5476 | { | 5282 | { |
5477 | encode_diropargs3(xdr, args->fh, args->name, args->len); | 5283 | encode_diropargs3(xdr, args->fh, args->name, args->len); |
@@ -5480,10 +5286,10 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nf | |||
5480 | } | 5286 | } |
5481 | 5287 | ||
5482 | /* | 5288 | /* |
5483 | diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/super.c | 5289 | diff -NurpP --minimal linux-3.10.17/fs/nfs/super.c linux-3.10.17-vs2.3.6.6/fs/nfs/super.c |
5484 | --- linux-3.4.57/fs/nfs/super.c 2013-08-13 14:13:34.000000000 +0000 | 5290 | --- linux-3.10.17/fs/nfs/super.c 2013-07-14 17:01:28.000000000 +0000 |
5485 | +++ linux-3.4.57-vs2.3.3.9/fs/nfs/super.c 2013-01-16 00:15:57.000000000 +0000 | 5291 | +++ linux-3.10.17-vs2.3.6.6/fs/nfs/super.c 2013-08-22 20:29:59.000000000 +0000 |
5486 | @@ -54,6 +54,7 @@ | 5292 | @@ -55,6 +55,7 @@ |
5487 | #include <linux/parser.h> | 5293 | #include <linux/parser.h> |
5488 | #include <linux/nsproxy.h> | 5294 | #include <linux/nsproxy.h> |
5489 | #include <linux/rcupdate.h> | 5295 | #include <linux/rcupdate.h> |
@@ -5491,15 +5297,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5491 | 5297 | ||
5492 | #include <asm/uaccess.h> | 5298 | #include <asm/uaccess.h> |
5493 | 5299 | ||
5494 | @@ -86,6 +87,7 @@ enum { | 5300 | @@ -103,6 +104,7 @@ enum { |
5495 | Opt_sharecache, Opt_nosharecache, | ||
5496 | Opt_resvport, Opt_noresvport, | ||
5497 | Opt_fscache, Opt_nofscache, | ||
5498 | + Opt_tag, Opt_notag, | ||
5499 | |||
5500 | /* Mount options that take integer arguments */ | ||
5501 | Opt_port, | ||
5502 | @@ -98,6 +100,7 @@ enum { | ||
5503 | Opt_mountport, | 5301 | Opt_mountport, |
5504 | Opt_mountvers, | 5302 | Opt_mountvers, |
5505 | Opt_minorversion, | 5303 | Opt_minorversion, |
@@ -5507,18 +5305,28 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5507 | 5305 | ||
5508 | /* Mount options that take string arguments */ | 5306 | /* Mount options that take string arguments */ |
5509 | Opt_nfsvers, | 5307 | Opt_nfsvers, |
5510 | @@ -180,6 +183,10 @@ static const match_table_t nfs_mount_opt | 5308 | @@ -115,6 +117,9 @@ enum { |
5511 | /* The following needs to be listed after all other options */ | 5309 | /* Special mount options */ |
5512 | { Opt_nfsvers, "v%s" }, | 5310 | Opt_userspace, Opt_deprecated, Opt_sloppy, |
5311 | |||
5312 | + /* Linux-VServer tagging options */ | ||
5313 | + Opt_tag, Opt_notag, | ||
5314 | + | ||
5315 | Opt_err | ||
5316 | }; | ||
5317 | |||
5318 | @@ -184,6 +189,10 @@ static const match_table_t nfs_mount_opt | ||
5319 | { Opt_fscache_uniq, "fsc=%s" }, | ||
5320 | { Opt_local_lock, "local_lock=%s" }, | ||
5513 | 5321 | ||
5514 | + { Opt_tag, "tag" }, | 5322 | + { Opt_tag, "tag" }, |
5515 | + { Opt_notag, "notag" }, | 5323 | + { Opt_notag, "notag" }, |
5516 | + { Opt_tagid, "tagid=%u" }, | 5324 | + { Opt_tagid, "tagid=%u" }, |
5517 | + | 5325 | + |
5518 | { Opt_err, NULL } | 5326 | /* The following needs to be listed after all other options */ |
5519 | }; | 5327 | { Opt_nfsvers, "v%s" }, |
5520 | 5328 | ||
5521 | @@ -674,6 +681,7 @@ static void nfs_show_mount_options(struc | 5329 | @@ -635,6 +644,7 @@ static void nfs_show_mount_options(struc |
5522 | { NFS_MOUNT_NORDIRPLUS, ",nordirplus", "" }, | 5330 | { NFS_MOUNT_NORDIRPLUS, ",nordirplus", "" }, |
5523 | { NFS_MOUNT_UNSHARED, ",nosharecache", "" }, | 5331 | { NFS_MOUNT_UNSHARED, ",nosharecache", "" }, |
5524 | { NFS_MOUNT_NORESVPORT, ",noresvport", "" }, | 5332 | { NFS_MOUNT_NORESVPORT, ",noresvport", "" }, |
@@ -5526,9 +5334,9 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5526 | { 0, NULL, NULL } | 5334 | { 0, NULL, NULL } |
5527 | }; | 5335 | }; |
5528 | const struct proc_nfs_info *nfs_infop; | 5336 | const struct proc_nfs_info *nfs_infop; |
5529 | @@ -1286,6 +1294,14 @@ static int nfs_parse_mount_options(char | 5337 | @@ -1261,6 +1271,14 @@ static int nfs_parse_mount_options(char |
5530 | kfree(mnt->fscache_uniq); | 5338 | case Opt_nomigration: |
5531 | mnt->fscache_uniq = NULL; | 5339 | mnt->options &= NFS_OPTION_MIGRATION; |
5532 | break; | 5340 | break; |
5533 | +#ifndef CONFIG_TAGGING_NONE | 5341 | +#ifndef CONFIG_TAGGING_NONE |
5534 | + case Opt_tag: | 5342 | + case Opt_tag: |
@@ -5541,7 +5349,7 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5541 | 5349 | ||
5542 | /* | 5350 | /* |
5543 | * options that take numeric values | 5351 | * options that take numeric values |
5544 | @@ -1372,6 +1388,12 @@ static int nfs_parse_mount_options(char | 5352 | @@ -1347,6 +1365,12 @@ static int nfs_parse_mount_options(char |
5545 | goto out_invalid_value; | 5353 | goto out_invalid_value; |
5546 | mnt->minorversion = option; | 5354 | mnt->minorversion = option; |
5547 | break; | 5355 | break; |
@@ -5554,83 +5362,86 @@ diff -NurpP --minimal linux-3.4.57/fs/nfs/super.c linux-3.4.57-vs2.3.3.9/fs/nfs/ | |||
5554 | 5362 | ||
5555 | /* | 5363 | /* |
5556 | * options that take text values | 5364 | * options that take text values |
5557 | diff -NurpP --minimal linux-3.4.57/fs/nfsd/auth.c linux-3.4.57-vs2.3.3.9/fs/nfsd/auth.c | 5365 | diff -NurpP --minimal linux-3.10.17/fs/nfsd/auth.c linux-3.10.17-vs2.3.6.6/fs/nfsd/auth.c |
5558 | --- linux-3.4.57/fs/nfsd/auth.c 2010-02-25 10:52:05.000000000 +0000 | 5366 | --- linux-3.10.17/fs/nfsd/auth.c 2013-05-31 13:45:24.000000000 +0000 |
5559 | +++ linux-3.4.57-vs2.3.3.9/fs/nfsd/auth.c 2012-05-21 16:15:05.000000000 +0000 | 5367 | +++ linux-3.10.17-vs2.3.6.6/fs/nfsd/auth.c 2013-08-22 20:29:59.000000000 +0000 |
5560 | @@ -1,6 +1,7 @@ | 5368 | @@ -2,6 +2,7 @@ |
5561 | /* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de> */ | ||
5562 | 5369 | ||
5563 | #include <linux/sched.h> | 5370 | #include <linux/sched.h> |
5371 | #include <linux/user_namespace.h> | ||
5564 | +#include <linux/vs_tag.h> | 5372 | +#include <linux/vs_tag.h> |
5565 | #include "nfsd.h" | 5373 | #include "nfsd.h" |
5566 | #include "auth.h" | 5374 | #include "auth.h" |
5567 | 5375 | ||
5568 | @@ -36,6 +37,9 @@ int nfsd_setuser(struct svc_rqst *rqstp, | 5376 | @@ -37,6 +38,9 @@ int nfsd_setuser(struct svc_rqst *rqstp, |
5569 | 5377 | ||
5570 | new->fsuid = rqstp->rq_cred.cr_uid; | 5378 | new->fsuid = rqstp->rq_cred.cr_uid; |
5571 | new->fsgid = rqstp->rq_cred.cr_gid; | 5379 | new->fsgid = rqstp->rq_cred.cr_gid; |
5572 | + /* FIXME: this desperately needs a tag :) | 5380 | + /* FIXME: this desperately needs a tag :) |
5573 | + new->xid = (xid_t)INOTAG_TAG(DX_TAG_NFSD, cred.cr_uid, cred.cr_gid, 0); | 5381 | + new->xid = (vxid_t)INOTAG_TAG(DX_TAG_NFSD, cred.cr_uid, cred.cr_gid, 0); |
5574 | + */ | 5382 | + */ |
5575 | 5383 | ||
5576 | rqgi = rqstp->rq_cred.cr_group_info; | 5384 | rqgi = rqstp->rq_cred.cr_group_info; |
5577 | 5385 | ||
5578 | diff -NurpP --minimal linux-3.4.57/fs/nfsd/nfs3xdr.c linux-3.4.57-vs2.3.3.9/fs/nfsd/nfs3xdr.c | 5386 | diff -NurpP --minimal linux-3.10.17/fs/nfsd/nfs3xdr.c linux-3.10.17-vs2.3.6.6/fs/nfsd/nfs3xdr.c |
5579 | --- linux-3.4.57/fs/nfsd/nfs3xdr.c 2012-05-21 16:07:26.000000000 +0000 | 5387 | --- linux-3.10.17/fs/nfsd/nfs3xdr.c 2013-05-31 13:45:24.000000000 +0000 |
5580 | +++ linux-3.4.57-vs2.3.3.9/fs/nfsd/nfs3xdr.c 2012-05-21 16:15:05.000000000 +0000 | 5388 | +++ linux-3.10.17-vs2.3.6.6/fs/nfsd/nfs3xdr.c 2013-08-22 20:29:59.000000000 +0000 |
5581 | @@ -7,6 +7,7 @@ | 5389 | @@ -8,6 +8,7 @@ |
5582 | */ | ||
5583 | 5390 | ||
5584 | #include <linux/namei.h> | 5391 | #include <linux/namei.h> |
5392 | #include <linux/sunrpc/svc_xprt.h> | ||
5585 | +#include <linux/vs_tag.h> | 5393 | +#include <linux/vs_tag.h> |
5586 | #include "xdr3.h" | 5394 | #include "xdr3.h" |
5587 | #include "auth.h" | 5395 | #include "auth.h" |
5588 | 5396 | #include "netns.h" | |
5589 | @@ -95,6 +96,8 @@ static __be32 * | 5397 | @@ -98,6 +99,8 @@ static __be32 * |
5590 | decode_sattr3(__be32 *p, struct iattr *iap) | 5398 | decode_sattr3(__be32 *p, struct iattr *iap) |
5591 | { | 5399 | { |
5592 | u32 tmp; | 5400 | u32 tmp; |
5593 | + uid_t uid = 0; | 5401 | + kuid_t kuid = GLOBAL_ROOT_UID; |
5594 | + gid_t gid = 0; | 5402 | + kgid_t kgid = GLOBAL_ROOT_GID; |
5595 | 5403 | ||
5596 | iap->ia_valid = 0; | 5404 | iap->ia_valid = 0; |
5597 | 5405 | ||
5598 | @@ -104,12 +107,15 @@ decode_sattr3(__be32 *p, struct iattr *i | 5406 | @@ -106,15 +109,18 @@ decode_sattr3(__be32 *p, struct iattr *i |
5407 | iap->ia_mode = ntohl(*p++); | ||
5599 | } | 5408 | } |
5600 | if (*p++) { | 5409 | if (*p++) { |
5601 | iap->ia_valid |= ATTR_UID; | 5410 | - iap->ia_uid = make_kuid(&init_user_ns, ntohl(*p++)); |
5602 | - iap->ia_uid = ntohl(*p++); | 5411 | + kuid = make_kuid(&init_user_ns, ntohl(*p++)); |
5603 | + uid = ntohl(*p++); | 5412 | if (uid_valid(iap->ia_uid)) |
5413 | iap->ia_valid |= ATTR_UID; | ||
5604 | } | 5414 | } |
5605 | if (*p++) { | 5415 | if (*p++) { |
5606 | iap->ia_valid |= ATTR_GID; | 5416 | - iap->ia_gid = make_kgid(&init_user_ns, ntohl(*p++)); |
5607 | - iap->ia_gid = ntohl(*p++); | 5417 | + kgid = make_kgid(&init_user_ns, ntohl(*p++)); |
5608 | + gid = ntohl(*p++); | 5418 | if (gid_valid(iap->ia_gid)) |
5419 | iap->ia_valid |= ATTR_GID; | ||
5609 | } | 5420 | } |
5610 | + iap->ia_uid = INOTAG_UID(DX_TAG_NFSD, uid, gid); | 5421 | + iap->ia_uid = INOTAG_KUID(DX_TAG_NFSD, kuid, kgid); |
5611 | + iap->ia_gid = INOTAG_GID(DX_TAG_NFSD, uid, gid); | 5422 | + iap->ia_gid = INOTAG_KGID(DX_TAG_NFSD, kuid, kgid); |
5612 | + iap->ia_tag = INOTAG_TAG(DX_TAG_NFSD, uid, gid, 0); | 5423 | + iap->ia_tag = INOTAG_KTAG(DX_TAG_NFSD, kuid, kgid, GLOBAL_ROOT_TAG); |
5613 | if (*p++) { | 5424 | if (*p++) { |
5614 | u64 newsize; | 5425 | u64 newsize; |
5615 | 5426 | ||
5616 | @@ -165,8 +171,12 @@ encode_fattr3(struct svc_rqst *rqstp, __ | 5427 | @@ -170,8 +176,12 @@ encode_fattr3(struct svc_rqst *rqstp, __ |
5617 | *p++ = htonl(nfs3_ftypes[(stat->mode & S_IFMT) >> 12]); | 5428 | *p++ = htonl(nfs3_ftypes[(stat->mode & S_IFMT) >> 12]); |
5618 | *p++ = htonl((u32) stat->mode); | 5429 | *p++ = htonl((u32) stat->mode); |
5619 | *p++ = htonl((u32) stat->nlink); | 5430 | *p++ = htonl((u32) stat->nlink); |
5620 | - *p++ = htonl((u32) nfsd_ruid(rqstp, stat->uid)); | 5431 | - *p++ = htonl((u32) from_kuid(&init_user_ns, stat->uid)); |
5621 | - *p++ = htonl((u32) nfsd_rgid(rqstp, stat->gid)); | 5432 | - *p++ = htonl((u32) from_kgid(&init_user_ns, stat->gid)); |
5622 | + *p++ = htonl((u32) nfsd_ruid(rqstp, | 5433 | + *p++ = htonl((u32) from_kuid(&init_user_ns, |
5623 | + TAGINO_UID(0 /* FIXME: DX_TAG(dentry->d_inode) */, | 5434 | + TAGINO_KUID(0 /* FIXME: DX_TAG(dentry->d_inode) */, |
5624 | + stat->uid, stat->tag))); | 5435 | + stat->uid, stat->tag))); |
5625 | + *p++ = htonl((u32) nfsd_rgid(rqstp, | 5436 | + *p++ = htonl((u32) from_kgid(&init_user_ns, |
5626 | + TAGINO_GID(0 /* FIXME: DX_TAG(dentry->d_inode) */, | 5437 | + TAGINO_KGID(0 /* FIXME: DX_TAG(dentry->d_inode) */, |
5627 | + stat->gid, stat->tag))); | 5438 | + stat->gid, stat->tag))); |
5628 | if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) { | 5439 | if (S_ISLNK(stat->mode) && stat->size > NFS3_MAXPATHLEN) { |
5629 | p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN); | 5440 | p = xdr_encode_hyper(p, (u64) NFS3_MAXPATHLEN); |
5630 | } else { | 5441 | } else { |
5631 | diff -NurpP --minimal linux-3.4.57/fs/nfsd/nfs4xdr.c linux-3.4.57-vs2.3.3.9/fs/nfsd/nfs4xdr.c | 5442 | diff -NurpP --minimal linux-3.10.17/fs/nfsd/nfs4xdr.c linux-3.10.17-vs2.3.6.6/fs/nfsd/nfs4xdr.c |
5632 | --- linux-3.4.57/fs/nfsd/nfs4xdr.c 2013-08-13 14:13:34.000000000 +0000 | 5443 | --- linux-3.10.17/fs/nfsd/nfs4xdr.c 2013-10-25 15:17:43.000000000 +0000 |
5633 | +++ linux-3.4.57-vs2.3.3.9/fs/nfsd/nfs4xdr.c 2013-07-14 13:38:35.000000000 +0000 | 5444 | +++ linux-3.10.17-vs2.3.6.6/fs/nfsd/nfs4xdr.c 2013-08-22 20:29:59.000000000 +0000 |
5634 | @@ -46,6 +46,7 @@ | 5445 | @@ -46,6 +46,7 @@ |
5635 | #include <linux/utsname.h> | 5446 | #include <linux/utsname.h> |
5636 | #include <linux/pagemap.h> | 5447 | #include <linux/pagemap.h> |
@@ -5639,13 +5450,13 @@ diff -NurpP --minimal linux-3.4.57/fs/nfsd/nfs4xdr.c linux-3.4.57-vs2.3.3.9/fs/n | |||
5639 | 5450 | ||
5640 | #include "idmap.h" | 5451 | #include "idmap.h" |
5641 | #include "acl.h" | 5452 | #include "acl.h" |
5642 | @@ -2319,14 +2320,18 @@ out_acl: | 5453 | @@ -2320,14 +2321,18 @@ out_acl: |
5643 | WRITE32(stat.nlink); | 5454 | WRITE32(stat.nlink); |
5644 | } | 5455 | } |
5645 | if (bmval1 & FATTR4_WORD1_OWNER) { | 5456 | if (bmval1 & FATTR4_WORD1_OWNER) { |
5646 | - status = nfsd4_encode_user(rqstp, stat.uid, &p, &buflen); | 5457 | - status = nfsd4_encode_user(rqstp, stat.uid, &p, &buflen); |
5647 | + status = nfsd4_encode_user(rqstp, | 5458 | + status = nfsd4_encode_user(rqstp, |
5648 | + TAGINO_UID(DX_TAG(dentry->d_inode), | 5459 | + TAGINO_KUID(DX_TAG(dentry->d_inode), |
5649 | + stat.uid, stat.tag), &p, &buflen); | 5460 | + stat.uid, stat.tag), &p, &buflen); |
5650 | if (status == nfserr_resource) | 5461 | if (status == nfserr_resource) |
5651 | goto out_resource; | 5462 | goto out_resource; |
@@ -5655,84 +5466,87 @@ diff -NurpP --minimal linux-3.4.57/fs/nfsd/nfs4xdr.c linux-3.4.57-vs2.3.3.9/fs/n | |||
5655 | if (bmval1 & FATTR4_WORD1_OWNER_GROUP) { | 5466 | if (bmval1 & FATTR4_WORD1_OWNER_GROUP) { |
5656 | - status = nfsd4_encode_group(rqstp, stat.gid, &p, &buflen); | 5467 | - status = nfsd4_encode_group(rqstp, stat.gid, &p, &buflen); |
5657 | + status = nfsd4_encode_group(rqstp, | 5468 | + status = nfsd4_encode_group(rqstp, |
5658 | + TAGINO_GID(DX_TAG(dentry->d_inode), | 5469 | + TAGINO_KGID(DX_TAG(dentry->d_inode), |
5659 | + stat.gid, stat.tag), &p, &buflen); | 5470 | + stat.gid, stat.tag), &p, &buflen); |
5660 | if (status == nfserr_resource) | 5471 | if (status == nfserr_resource) |
5661 | goto out_resource; | 5472 | goto out_resource; |
5662 | if (status) | 5473 | if (status) |
5663 | diff -NurpP --minimal linux-3.4.57/fs/nfsd/nfsxdr.c linux-3.4.57-vs2.3.3.9/fs/nfsd/nfsxdr.c | 5474 | diff -NurpP --minimal linux-3.10.17/fs/nfsd/nfsxdr.c linux-3.10.17-vs2.3.6.6/fs/nfsd/nfsxdr.c |
5664 | --- linux-3.4.57/fs/nfsd/nfsxdr.c 2011-05-22 14:17:53.000000000 +0000 | 5475 | --- linux-3.10.17/fs/nfsd/nfsxdr.c 2013-05-31 13:45:24.000000000 +0000 |
5665 | +++ linux-3.4.57-vs2.3.3.9/fs/nfsd/nfsxdr.c 2012-05-21 16:15:05.000000000 +0000 | 5476 | +++ linux-3.10.17-vs2.3.6.6/fs/nfsd/nfsxdr.c 2013-08-22 20:29:59.000000000 +0000 |
5666 | @@ -6,6 +6,7 @@ | 5477 | @@ -7,6 +7,7 @@ |
5667 | 5478 | #include "vfs.h" | |
5668 | #include "xdr.h" | 5479 | #include "xdr.h" |
5669 | #include "auth.h" | 5480 | #include "auth.h" |
5670 | +#include <linux/vs_tag.h> | 5481 | +#include <linux/vs_tag.h> |
5671 | 5482 | ||
5672 | #define NFSDDBG_FACILITY NFSDDBG_XDR | 5483 | #define NFSDDBG_FACILITY NFSDDBG_XDR |
5673 | 5484 | ||
5674 | @@ -88,6 +89,8 @@ static __be32 * | 5485 | @@ -89,6 +90,8 @@ static __be32 * |
5675 | decode_sattr(__be32 *p, struct iattr *iap) | 5486 | decode_sattr(__be32 *p, struct iattr *iap) |
5676 | { | 5487 | { |
5677 | u32 tmp, tmp1; | 5488 | u32 tmp, tmp1; |
5678 | + uid_t uid = 0; | 5489 | + kuid_t kuid = GLOBAL_ROOT_UID; |
5679 | + gid_t gid = 0; | 5490 | + kgid_t kgid = GLOBAL_ROOT_GID; |
5680 | 5491 | ||
5681 | iap->ia_valid = 0; | 5492 | iap->ia_valid = 0; |
5682 | 5493 | ||
5683 | @@ -101,12 +104,15 @@ decode_sattr(__be32 *p, struct iattr *ia | 5494 | @@ -101,15 +104,18 @@ decode_sattr(__be32 *p, struct iattr *ia |
5495 | iap->ia_mode = tmp; | ||
5684 | } | 5496 | } |
5685 | if ((tmp = ntohl(*p++)) != (u32)-1) { | 5497 | if ((tmp = ntohl(*p++)) != (u32)-1) { |
5686 | iap->ia_valid |= ATTR_UID; | 5498 | - iap->ia_uid = make_kuid(&init_user_ns, tmp); |
5687 | - iap->ia_uid = tmp; | 5499 | + kuid = make_kuid(&init_user_ns, tmp); |
5688 | + uid = tmp; | 5500 | if (uid_valid(iap->ia_uid)) |
5501 | iap->ia_valid |= ATTR_UID; | ||
5689 | } | 5502 | } |
5690 | if ((tmp = ntohl(*p++)) != (u32)-1) { | 5503 | if ((tmp = ntohl(*p++)) != (u32)-1) { |
5691 | iap->ia_valid |= ATTR_GID; | 5504 | - iap->ia_gid = make_kgid(&init_user_ns, tmp); |
5692 | - iap->ia_gid = tmp; | 5505 | + kgid = make_kgid(&init_user_ns, tmp); |
5693 | + gid = tmp; | 5506 | if (gid_valid(iap->ia_gid)) |
5507 | iap->ia_valid |= ATTR_GID; | ||
5694 | } | 5508 | } |
5695 | + iap->ia_uid = INOTAG_UID(DX_TAG_NFSD, uid, gid); | 5509 | + iap->ia_uid = INOTAG_KUID(DX_TAG_NFSD, kuid, kgid); |
5696 | + iap->ia_gid = INOTAG_GID(DX_TAG_NFSD, uid, gid); | 5510 | + iap->ia_gid = INOTAG_KGID(DX_TAG_NFSD, kuid, kgid); |
5697 | + iap->ia_tag = INOTAG_TAG(DX_TAG_NFSD, uid, gid, 0); | 5511 | + iap->ia_tag = INOTAG_KTAG(DX_TAG_NFSD, kuid, kgid, GLOBAL_ROOT_TAG); |
5698 | if ((tmp = ntohl(*p++)) != (u32)-1) { | 5512 | if ((tmp = ntohl(*p++)) != (u32)-1) { |
5699 | iap->ia_valid |= ATTR_SIZE; | 5513 | iap->ia_valid |= ATTR_SIZE; |
5700 | iap->ia_size = tmp; | 5514 | iap->ia_size = tmp; |
5701 | @@ -151,8 +157,10 @@ encode_fattr(struct svc_rqst *rqstp, __b | 5515 | @@ -154,8 +160,10 @@ encode_fattr(struct svc_rqst *rqstp, __b |
5702 | *p++ = htonl(nfs_ftypes[type >> 12]); | 5516 | *p++ = htonl(nfs_ftypes[type >> 12]); |
5703 | *p++ = htonl((u32) stat->mode); | 5517 | *p++ = htonl((u32) stat->mode); |
5704 | *p++ = htonl((u32) stat->nlink); | 5518 | *p++ = htonl((u32) stat->nlink); |
5705 | - *p++ = htonl((u32) nfsd_ruid(rqstp, stat->uid)); | 5519 | - *p++ = htonl((u32) from_kuid(&init_user_ns, stat->uid)); |
5706 | - *p++ = htonl((u32) nfsd_rgid(rqstp, stat->gid)); | 5520 | - *p++ = htonl((u32) from_kgid(&init_user_ns, stat->gid)); |
5707 | + *p++ = htonl((u32) nfsd_ruid(rqstp, | 5521 | + *p++ = htonl((u32) from_kuid(&init_user_ns, |
5708 | + TAGINO_UID(DX_TAG(dentry->d_inode), stat->uid, stat->tag))); | 5522 | + TAGINO_KUID(DX_TAG(dentry->d_inode), stat->uid, stat->tag))); |
5709 | + *p++ = htonl((u32) nfsd_rgid(rqstp, | 5523 | + *p++ = htonl((u32) from_kgid(&init_user_ns, |
5710 | + TAGINO_GID(DX_TAG(dentry->d_inode), stat->gid, stat->tag))); | 5524 | + TAGINO_KGID(DX_TAG(dentry->d_inode), stat->gid, stat->tag))); |
5711 | 5525 | ||
5712 | if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) { | 5526 | if (S_ISLNK(type) && stat->size > NFS_MAXPATHLEN) { |
5713 | *p++ = htonl(NFS_MAXPATHLEN); | 5527 | *p++ = htonl(NFS_MAXPATHLEN); |
5714 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/dlmglue.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/dlmglue.c | 5528 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/dlmglue.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/dlmglue.c |
5715 | --- linux-3.4.57/fs/ocfs2/dlmglue.c 2013-08-13 14:13:34.000000000 +0000 | 5529 | --- linux-3.10.17/fs/ocfs2/dlmglue.c 2013-07-14 17:01:29.000000000 +0000 |
5716 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/dlmglue.c 2013-03-02 15:26:44.000000000 +0000 | 5530 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/dlmglue.c 2013-08-22 20:29:59.000000000 +0000 |
5717 | @@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struc | 5531 | @@ -2047,6 +2047,7 @@ static void __ocfs2_stuff_meta_lvb(struc |
5718 | lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters); | 5532 | lvb->lvb_iclusters = cpu_to_be32(oi->ip_clusters); |
5719 | lvb->lvb_iuid = cpu_to_be32(inode->i_uid); | 5533 | lvb->lvb_iuid = cpu_to_be32(i_uid_read(inode)); |
5720 | lvb->lvb_igid = cpu_to_be32(inode->i_gid); | 5534 | lvb->lvb_igid = cpu_to_be32(i_gid_read(inode)); |
5721 | + lvb->lvb_itag = cpu_to_be16(inode->i_tag); | 5535 | + lvb->lvb_itag = cpu_to_be16(i_tag_read(inode)); |
5722 | lvb->lvb_imode = cpu_to_be16(inode->i_mode); | 5536 | lvb->lvb_imode = cpu_to_be16(inode->i_mode); |
5723 | lvb->lvb_inlink = cpu_to_be16(inode->i_nlink); | 5537 | lvb->lvb_inlink = cpu_to_be16(inode->i_nlink); |
5724 | lvb->lvb_iatime_packed = | 5538 | lvb->lvb_iatime_packed = |
5725 | @@ -2097,6 +2098,7 @@ static void ocfs2_refresh_inode_from_lvb | 5539 | @@ -2097,6 +2098,7 @@ static void ocfs2_refresh_inode_from_lvb |
5726 | 5540 | ||
5727 | inode->i_uid = be32_to_cpu(lvb->lvb_iuid); | 5541 | i_uid_write(inode, be32_to_cpu(lvb->lvb_iuid)); |
5728 | inode->i_gid = be32_to_cpu(lvb->lvb_igid); | 5542 | i_gid_write(inode, be32_to_cpu(lvb->lvb_igid)); |
5729 | + inode->i_tag = be16_to_cpu(lvb->lvb_itag); | 5543 | + i_tag_write(inode, be16_to_cpu(lvb->lvb_itag)); |
5730 | inode->i_mode = be16_to_cpu(lvb->lvb_imode); | 5544 | inode->i_mode = be16_to_cpu(lvb->lvb_imode); |
5731 | set_nlink(inode, be16_to_cpu(lvb->lvb_inlink)); | 5545 | set_nlink(inode, be16_to_cpu(lvb->lvb_inlink)); |
5732 | ocfs2_unpack_timespec(&inode->i_atime, | 5546 | ocfs2_unpack_timespec(&inode->i_atime, |
5733 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/dlmglue.h linux-3.4.57-vs2.3.3.9/fs/ocfs2/dlmglue.h | 5547 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/dlmglue.h linux-3.10.17-vs2.3.6.6/fs/ocfs2/dlmglue.h |
5734 | --- linux-3.4.57/fs/ocfs2/dlmglue.h 2010-10-21 11:07:50.000000000 +0000 | 5548 | --- linux-3.10.17/fs/ocfs2/dlmglue.h 2012-12-11 03:30:57.000000000 +0000 |
5735 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/dlmglue.h 2012-05-21 16:15:05.000000000 +0000 | 5549 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/dlmglue.h 2013-08-22 20:29:59.000000000 +0000 |
5736 | @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb { | 5550 | @@ -46,7 +46,8 @@ struct ocfs2_meta_lvb { |
5737 | __be16 lvb_inlink; | 5551 | __be16 lvb_inlink; |
5738 | __be32 lvb_iattr; | 5552 | __be32 lvb_iattr; |
@@ -5743,10 +5557,10 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/dlmglue.h linux-3.4.57-vs2.3.3.9/fs/ | |||
5743 | }; | 5557 | }; |
5744 | 5558 | ||
5745 | #define OCFS2_QINFO_LVB_VERSION 1 | 5559 | #define OCFS2_QINFO_LVB_VERSION 1 |
5746 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/file.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/file.c | 5560 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/file.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/file.c |
5747 | --- linux-3.4.57/fs/ocfs2/file.c 2013-08-13 14:13:34.000000000 +0000 | 5561 | --- linux-3.10.17/fs/ocfs2/file.c 2013-07-14 17:01:29.000000000 +0000 |
5748 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/file.c 2012-07-17 22:29:43.000000000 +0000 | 5562 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/file.c 2013-08-22 20:29:59.000000000 +0000 |
5749 | @@ -1123,7 +1123,7 @@ int ocfs2_setattr(struct dentry *dentry, | 5563 | @@ -1124,7 +1124,7 @@ int ocfs2_setattr(struct dentry *dentry, |
5750 | attr->ia_valid &= ~ATTR_SIZE; | 5564 | attr->ia_valid &= ~ATTR_SIZE; |
5751 | 5565 | ||
5752 | #define OCFS2_VALID_ATTRS (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME | ATTR_SIZE \ | 5566 | #define OCFS2_VALID_ATTRS (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME | ATTR_SIZE \ |
@@ -5755,9 +5569,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/file.c linux-3.4.57-vs2.3.3.9/fs/ocf | |||
5755 | if (!(attr->ia_valid & OCFS2_VALID_ATTRS)) | 5569 | if (!(attr->ia_valid & OCFS2_VALID_ATTRS)) |
5756 | return 0; | 5570 | return 0; |
5757 | 5571 | ||
5758 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/inode.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/inode.c | 5572 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/inode.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/inode.c |
5759 | --- linux-3.4.57/fs/ocfs2/inode.c 2012-01-09 15:14:55.000000000 +0000 | 5573 | --- linux-3.10.17/fs/ocfs2/inode.c 2013-05-31 13:45:24.000000000 +0000 |
5760 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/inode.c 2012-05-21 16:15:05.000000000 +0000 | 5574 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/inode.c 2013-08-22 20:29:59.000000000 +0000 |
5761 | @@ -28,6 +28,7 @@ | 5575 | @@ -28,6 +28,7 @@ |
5762 | #include <linux/highmem.h> | 5576 | #include <linux/highmem.h> |
5763 | #include <linux/pagemap.h> | 5577 | #include <linux/pagemap.h> |
@@ -5843,21 +5657,21 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/inode.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
5843 | inode->i_generation = le32_to_cpu(fe->i_generation); | 5657 | inode->i_generation = le32_to_cpu(fe->i_generation); |
5844 | inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev)); | 5658 | inode->i_rdev = huge_decode_dev(le64_to_cpu(fe->id1.dev1.i_rdev)); |
5845 | inode->i_mode = le16_to_cpu(fe->i_mode); | 5659 | inode->i_mode = le16_to_cpu(fe->i_mode); |
5846 | - inode->i_uid = le32_to_cpu(fe->i_uid); | 5660 | - i_uid_write(inode, le32_to_cpu(fe->i_uid)); |
5847 | - inode->i_gid = le32_to_cpu(fe->i_gid); | 5661 | - i_gid_write(inode, le32_to_cpu(fe->i_gid)); |
5848 | + uid = le32_to_cpu(fe->i_uid); | 5662 | + uid = le32_to_cpu(fe->i_uid); |
5849 | + gid = le32_to_cpu(fe->i_gid); | 5663 | + gid = le32_to_cpu(fe->i_gid); |
5850 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | 5664 | + i_uid_write(inode, INOTAG_UID(DX_TAG(inode), uid, gid)); |
5851 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | 5665 | + i_gid_write(inode, INOTAG_GID(DX_TAG(inode), uid, gid)); |
5852 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, | 5666 | + i_tag_write(inode, INOTAG_TAG(DX_TAG(inode), uid, gid, |
5853 | + /* le16_to_cpu(raw_inode->i_raw_tag)i */ 0); | 5667 | + /* le16_to_cpu(raw_inode->i_raw_tag) */ 0)); |
5854 | 5668 | ||
5855 | /* Fast symlinks will have i_size but no allocated clusters. */ | 5669 | /* Fast symlinks will have i_size but no allocated clusters. */ |
5856 | if (S_ISLNK(inode->i_mode) && !fe->i_clusters) | 5670 | if (S_ISLNK(inode->i_mode) && !fe->i_clusters) { |
5857 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/inode.h linux-3.4.57-vs2.3.3.9/fs/ocfs2/inode.h | 5671 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/inode.h linux-3.10.17-vs2.3.6.6/fs/ocfs2/inode.h |
5858 | --- linux-3.4.57/fs/ocfs2/inode.h 2012-01-09 15:14:55.000000000 +0000 | 5672 | --- linux-3.10.17/fs/ocfs2/inode.h 2013-07-14 17:01:29.000000000 +0000 |
5859 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/inode.h 2012-05-21 16:15:05.000000000 +0000 | 5673 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/inode.h 2013-08-22 20:29:59.000000000 +0000 |
5860 | @@ -154,6 +154,7 @@ struct buffer_head *ocfs2_bread(struct i | 5674 | @@ -152,6 +152,7 @@ struct buffer_head *ocfs2_bread(struct i |
5861 | 5675 | ||
5862 | void ocfs2_set_inode_flags(struct inode *inode); | 5676 | void ocfs2_set_inode_flags(struct inode *inode); |
5863 | void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi); | 5677 | void ocfs2_get_inode_flags(struct ocfs2_inode_info *oi); |
@@ -5865,9 +5679,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/inode.h linux-3.4.57-vs2.3.3.9/fs/oc | |||
5865 | 5679 | ||
5866 | static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode) | 5680 | static inline blkcnt_t ocfs2_inode_sector_count(struct inode *inode) |
5867 | { | 5681 | { |
5868 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/ioctl.c | 5682 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/ioctl.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/ioctl.c |
5869 | --- linux-3.4.57/fs/ocfs2/ioctl.c 2012-05-21 16:07:26.000000000 +0000 | 5683 | --- linux-3.10.17/fs/ocfs2/ioctl.c 2013-07-14 17:01:29.000000000 +0000 |
5870 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 5684 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/ioctl.c 2013-08-22 20:29:59.000000000 +0000 |
5871 | @@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i | 5685 | @@ -76,7 +76,41 @@ static int ocfs2_get_inode_attr(struct i |
5872 | return status; | 5686 | return status; |
5873 | } | 5687 | } |
@@ -5911,9 +5725,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
5911 | unsigned mask) | 5725 | unsigned mask) |
5912 | { | 5726 | { |
5913 | struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode); | 5727 | struct ocfs2_inode_info *ocfs2_inode = OCFS2_I(inode); |
5914 | @@ -101,6 +135,11 @@ static int ocfs2_set_inode_attr(struct i | 5728 | @@ -116,6 +150,11 @@ static int ocfs2_set_inode_attr(struct i |
5915 | if (!S_ISDIR(inode->i_mode)) | 5729 | goto bail_unlock; |
5916 | flags &= ~OCFS2_DIRSYNC_FL; | 5730 | } |
5917 | 5731 | ||
5918 | + if (IS_BARRIER(inode)) { | 5732 | + if (IS_BARRIER(inode)) { |
5919 | + vxwprintk_task(1, "messing with the barrier."); | 5733 | + vxwprintk_task(1, "messing with the barrier."); |
@@ -5923,17 +5737,17 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ioctl.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
5923 | handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); | 5737 | handle = ocfs2_start_trans(osb, OCFS2_INODE_UPDATE_CREDITS); |
5924 | if (IS_ERR(handle)) { | 5738 | if (IS_ERR(handle)) { |
5925 | status = PTR_ERR(handle); | 5739 | status = PTR_ERR(handle); |
5926 | @@ -879,6 +918,7 @@ bail: | 5740 | @@ -881,6 +920,7 @@ bail: |
5927 | return status; | 5741 | return status; |
5928 | } | 5742 | } |
5929 | 5743 | ||
5930 | + | 5744 | + |
5931 | long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | 5745 | long ocfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) |
5932 | { | 5746 | { |
5933 | struct inode *inode = filp->f_path.dentry->d_inode; | 5747 | struct inode *inode = file_inode(filp); |
5934 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/namei.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/namei.c | 5748 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/namei.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/namei.c |
5935 | --- linux-3.4.57/fs/ocfs2/namei.c 2012-03-19 18:47:26.000000000 +0000 | 5749 | --- linux-3.10.17/fs/ocfs2/namei.c 2013-07-14 17:01:29.000000000 +0000 |
5936 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/namei.c 2012-05-21 16:15:05.000000000 +0000 | 5750 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/namei.c 2013-08-22 20:29:59.000000000 +0000 |
5937 | @@ -41,6 +41,7 @@ | 5751 | @@ -41,6 +41,7 @@ |
5938 | #include <linux/slab.h> | 5752 | #include <linux/slab.h> |
5939 | #include <linux/highmem.h> | 5753 | #include <linux/highmem.h> |
@@ -5946,27 +5760,29 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/namei.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
5946 | struct ocfs2_dinode *fe = NULL; | 5760 | struct ocfs2_dinode *fe = NULL; |
5947 | struct ocfs2_extent_list *fel; | 5761 | struct ocfs2_extent_list *fel; |
5948 | u16 feat; | 5762 | u16 feat; |
5949 | + tag_t tag; | 5763 | + ktag_t ktag; |
5950 | 5764 | ||
5951 | *new_fe_bh = NULL; | 5765 | *new_fe_bh = NULL; |
5952 | 5766 | ||
5953 | @@ -512,8 +514,11 @@ static int __ocfs2_mknod_locked(struct i | 5767 | @@ -512,8 +514,13 @@ static int __ocfs2_mknod_locked(struct i |
5954 | fe->i_suballoc_loc = cpu_to_le64(suballoc_loc); | 5768 | fe->i_suballoc_loc = cpu_to_le64(suballoc_loc); |
5955 | fe->i_suballoc_bit = cpu_to_le16(suballoc_bit); | 5769 | fe->i_suballoc_bit = cpu_to_le16(suballoc_bit); |
5956 | fe->i_suballoc_slot = cpu_to_le16(inode_ac->ac_alloc_slot); | 5770 | fe->i_suballoc_slot = cpu_to_le16(inode_ac->ac_alloc_slot); |
5957 | - fe->i_uid = cpu_to_le32(inode->i_uid); | 5771 | - fe->i_uid = cpu_to_le32(i_uid_read(inode)); |
5958 | - fe->i_gid = cpu_to_le32(inode->i_gid); | 5772 | - fe->i_gid = cpu_to_le32(i_gid_read(inode)); |
5959 | + | 5773 | + |
5960 | + tag = dx_current_fstag(osb->sb); | 5774 | + ktag = make_ktag(&init_user_ns, dx_current_fstag(osb->sb)); |
5961 | + fe->i_uid = cpu_to_le32(TAGINO_UID(DX_TAG(inode), inode->i_uid, tag)); | 5775 | + fe->i_uid = cpu_to_le32(from_kuid(&init_user_ns, |
5962 | + fe->i_gid = cpu_to_le32(TAGINO_GID(DX_TAG(inode), inode->i_gid, tag)); | 5776 | + TAGINO_KUID(DX_TAG(inode), inode->i_uid, ktag))); |
5963 | + inode->i_tag = tag; | 5777 | + fe->i_gid = cpu_to_le32(from_kgid(&init_user_ns, |
5778 | + TAGINO_KGID(DX_TAG(inode), inode->i_gid, ktag))); | ||
5779 | + inode->i_tag = ktag; /* is this correct? */ | ||
5964 | fe->i_mode = cpu_to_le16(inode->i_mode); | 5780 | fe->i_mode = cpu_to_le16(inode->i_mode); |
5965 | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) | 5781 | if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode)) |
5966 | fe->id1.dev1.i_rdev = cpu_to_le64(huge_encode_dev(dev)); | 5782 | fe->id1.dev1.i_rdev = cpu_to_le64(huge_encode_dev(dev)); |
5967 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ocfs2.h linux-3.4.57-vs2.3.3.9/fs/ocfs2/ocfs2.h | 5783 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/ocfs2.h linux-3.10.17-vs2.3.6.6/fs/ocfs2/ocfs2.h |
5968 | --- linux-3.4.57/fs/ocfs2/ocfs2.h 2012-01-09 15:14:55.000000000 +0000 | 5784 | --- linux-3.10.17/fs/ocfs2/ocfs2.h 2012-12-11 03:30:57.000000000 +0000 |
5969 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/ocfs2.h 2012-05-21 16:15:05.000000000 +0000 | 5785 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/ocfs2.h 2013-08-22 20:29:59.000000000 +0000 |
5970 | @@ -272,6 +272,7 @@ enum ocfs2_mount_options | 5786 | @@ -272,6 +272,7 @@ enum ocfs2_mount_options |
5971 | writes */ | 5787 | writes */ |
5972 | OCFS2_MOUNT_HB_NONE = 1 << 13, /* No heartbeat */ | 5788 | OCFS2_MOUNT_HB_NONE = 1 << 13, /* No heartbeat */ |
@@ -5975,9 +5791,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ocfs2.h linux-3.4.57-vs2.3.3.9/fs/oc | |||
5975 | }; | 5791 | }; |
5976 | 5792 | ||
5977 | #define OCFS2_OSB_SOFT_RO 0x0001 | 5793 | #define OCFS2_OSB_SOFT_RO 0x0001 |
5978 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ocfs2_fs.h linux-3.4.57-vs2.3.3.9/fs/ocfs2/ocfs2_fs.h | 5794 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/ocfs2_fs.h linux-3.10.17-vs2.3.6.6/fs/ocfs2/ocfs2_fs.h |
5979 | --- linux-3.4.57/fs/ocfs2/ocfs2_fs.h 2011-05-22 14:17:53.000000000 +0000 | 5795 | --- linux-3.10.17/fs/ocfs2/ocfs2_fs.h 2012-12-11 03:30:57.000000000 +0000 |
5980 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/ocfs2_fs.h 2012-05-21 16:15:05.000000000 +0000 | 5796 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/ocfs2_fs.h 2013-08-22 20:29:59.000000000 +0000 |
5981 | @@ -266,6 +266,11 @@ | 5797 | @@ -266,6 +266,11 @@ |
5982 | #define OCFS2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ | 5798 | #define OCFS2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ |
5983 | #define OCFS2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ | 5799 | #define OCFS2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ |
@@ -5990,9 +5806,9 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/ocfs2_fs.h linux-3.4.57-vs2.3.3.9/fs | |||
5990 | #define OCFS2_FL_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ | 5806 | #define OCFS2_FL_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ |
5991 | #define OCFS2_FL_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ | 5807 | #define OCFS2_FL_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ |
5992 | 5808 | ||
5993 | diff -NurpP --minimal linux-3.4.57/fs/ocfs2/super.c linux-3.4.57-vs2.3.3.9/fs/ocfs2/super.c | 5809 | diff -NurpP --minimal linux-3.10.17/fs/ocfs2/super.c linux-3.10.17-vs2.3.6.6/fs/ocfs2/super.c |
5994 | --- linux-3.4.57/fs/ocfs2/super.c 2012-05-21 16:07:26.000000000 +0000 | 5810 | --- linux-3.10.17/fs/ocfs2/super.c 2013-05-31 13:45:25.000000000 +0000 |
5995 | +++ linux-3.4.57-vs2.3.3.9/fs/ocfs2/super.c 2012-05-21 16:15:05.000000000 +0000 | 5811 | +++ linux-3.10.17-vs2.3.6.6/fs/ocfs2/super.c 2013-08-22 20:29:59.000000000 +0000 |
5996 | @@ -185,6 +185,7 @@ enum { | 5812 | @@ -185,6 +185,7 @@ enum { |
5997 | Opt_coherency_full, | 5813 | Opt_coherency_full, |
5998 | Opt_resv_level, | 5814 | Opt_resv_level, |
@@ -6035,7 +5851,7 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/super.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
6035 | if (ocfs2_mount_local(osb)) | 5851 | if (ocfs2_mount_local(osb)) |
6036 | snprintf(nodestr, sizeof(nodestr), "local"); | 5852 | snprintf(nodestr, sizeof(nodestr), "local"); |
6037 | else | 5853 | else |
6038 | @@ -1503,6 +1517,20 @@ static int ocfs2_parse_options(struct su | 5854 | @@ -1504,6 +1518,20 @@ static int ocfs2_parse_options(struct su |
6039 | option < OCFS2_MAX_RESV_LEVEL) | 5855 | option < OCFS2_MAX_RESV_LEVEL) |
6040 | mopt->dir_resv_level = option; | 5856 | mopt->dir_resv_level = option; |
6041 | break; | 5857 | break; |
@@ -6056,13 +5872,13 @@ diff -NurpP --minimal linux-3.4.57/fs/ocfs2/super.c linux-3.4.57-vs2.3.3.9/fs/oc | |||
6056 | default: | 5872 | default: |
6057 | mlog(ML_ERROR, | 5873 | mlog(ML_ERROR, |
6058 | "Unrecognized mount option \"%s\" " | 5874 | "Unrecognized mount option \"%s\" " |
6059 | diff -NurpP --minimal linux-3.4.57/fs/open.c linux-3.4.57-vs2.3.3.9/fs/open.c | 5875 | diff -NurpP --minimal linux-3.10.17/fs/open.c linux-3.10.17-vs2.3.6.6/fs/open.c |
6060 | --- linux-3.4.57/fs/open.c 2013-08-13 14:13:34.000000000 +0000 | 5876 | --- linux-3.10.17/fs/open.c 2013-07-14 17:01:29.000000000 +0000 |
6061 | +++ linux-3.4.57-vs2.3.3.9/fs/open.c 2012-09-16 18:49:11.000000000 +0000 | 5877 | +++ linux-3.10.17-vs2.3.6.6/fs/open.c 2013-08-22 20:29:59.000000000 +0000 |
6062 | @@ -30,6 +30,11 @@ | 5878 | @@ -31,6 +31,11 @@ |
6063 | #include <linux/fs_struct.h> | ||
6064 | #include <linux/ima.h> | 5879 | #include <linux/ima.h> |
6065 | #include <linux/dnotify.h> | 5880 | #include <linux/dnotify.h> |
5881 | #include <linux/compat.h> | ||
6066 | +#include <linux/vs_base.h> | 5882 | +#include <linux/vs_base.h> |
6067 | +#include <linux/vs_limit.h> | 5883 | +#include <linux/vs_limit.h> |
6068 | +#include <linux/vs_tag.h> | 5884 | +#include <linux/vs_tag.h> |
@@ -6071,45 +5887,51 @@ diff -NurpP --minimal linux-3.4.57/fs/open.c linux-3.4.57-vs2.3.3.9/fs/open.c | |||
6071 | 5887 | ||
6072 | #include "internal.h" | 5888 | #include "internal.h" |
6073 | 5889 | ||
6074 | @@ -74,6 +79,12 @@ static long do_sys_truncate(const char _ | 5890 | @@ -67,6 +72,11 @@ long vfs_truncate(struct path *path, lof |
6075 | error = user_path(pathname, &path); | 5891 | struct inode *inode; |
6076 | if (error) | 5892 | long error; |
6077 | goto out; | 5893 | |
6078 | + | ||
6079 | +#ifdef CONFIG_VSERVER_COWBL | 5894 | +#ifdef CONFIG_VSERVER_COWBL |
6080 | + error = cow_check_and_break(&path); | 5895 | + error = cow_check_and_break(path); |
6081 | + if (error) | 5896 | + if (error) |
6082 | + goto dput_and_out; | 5897 | + goto out; |
6083 | +#endif | 5898 | +#endif |
6084 | inode = path.dentry->d_inode; | 5899 | inode = path->dentry->d_inode; |
6085 | 5900 | ||
6086 | /* For directories it's -EISDIR, for other non-regulars - -EINVAL */ | 5901 | /* For directories it's -EISDIR, for other non-regulars - -EINVAL */ |
6087 | @@ -489,6 +500,10 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons | 5902 | @@ -504,6 +514,13 @@ SYSCALL_DEFINE3(fchmodat, int, dfd, cons |
6088 | 5903 | unsigned int lookup_flags = LOOKUP_FOLLOW; | |
6089 | error = user_path_at(dfd, filename, LOOKUP_FOLLOW, &path); | 5904 | retry: |
6090 | if (!error) { | 5905 | error = user_path_at(dfd, filename, lookup_flags, &path); |
6091 | +#ifdef CONFIG_VSERVER_COWBL | 5906 | +#ifdef CONFIG_VSERVER_COWBL |
5907 | + if (!error) { | ||
6092 | + error = cow_check_and_break(&path); | 5908 | + error = cow_check_and_break(&path); |
6093 | + if (!error) | 5909 | + if (error) |
5910 | + path_put(&path); | ||
5911 | + } | ||
6094 | +#endif | 5912 | +#endif |
5913 | if (!error) { | ||
6095 | error = chmod_common(&path, mode); | 5914 | error = chmod_common(&path, mode); |
6096 | path_put(&path); | 5915 | path_put(&path); |
6097 | } | 5916 | @@ -536,13 +553,15 @@ static int chown_common(struct path *pat |
6098 | @@ -509,11 +524,11 @@ static int chown_common(struct path *pat | 5917 | if (!uid_valid(uid)) |
6099 | newattrs.ia_valid = ATTR_CTIME; | 5918 | return -EINVAL; |
6100 | if (user != (uid_t) -1) { | ||
6101 | newattrs.ia_valid |= ATTR_UID; | 5919 | newattrs.ia_valid |= ATTR_UID; |
6102 | - newattrs.ia_uid = user; | 5920 | - newattrs.ia_uid = uid; |
6103 | + newattrs.ia_uid = dx_map_uid(user); | 5921 | + newattrs.ia_uid = make_kuid(&init_user_ns, |
5922 | + dx_map_uid(user)); | ||
6104 | } | 5923 | } |
6105 | if (group != (gid_t) -1) { | 5924 | if (group != (gid_t) -1) { |
5925 | if (!gid_valid(gid)) | ||
5926 | return -EINVAL; | ||
6106 | newattrs.ia_valid |= ATTR_GID; | 5927 | newattrs.ia_valid |= ATTR_GID; |
6107 | - newattrs.ia_gid = group; | 5928 | - newattrs.ia_gid = gid; |
6108 | + newattrs.ia_gid = dx_map_gid(group); | 5929 | + newattrs.ia_gid = make_kgid(&init_user_ns, |
5930 | + dx_map_gid(group)); | ||
6109 | } | 5931 | } |
6110 | if (!S_ISDIR(inode->i_mode)) | 5932 | if (!S_ISDIR(inode->i_mode)) |
6111 | newattrs.ia_valid |= | 5933 | newattrs.ia_valid |= |
6112 | @@ -538,6 +553,10 @@ SYSCALL_DEFINE3(chown, const char __user | 5934 | @@ -576,6 +595,18 @@ retry: |
6113 | error = mnt_want_write(path.mnt); | 5935 | error = mnt_want_write(path.mnt); |
6114 | if (error) | 5936 | if (error) |
6115 | goto out_release; | 5937 | goto out_release; |
@@ -6117,24 +5939,10 @@ diff -NurpP --minimal linux-3.4.57/fs/open.c linux-3.4.57-vs2.3.3.9/fs/open.c | |||
6117 | + error = cow_check_and_break(&path); | 5939 | + error = cow_check_and_break(&path); |
6118 | + if (!error) | 5940 | + if (!error) |
6119 | +#endif | 5941 | +#endif |
6120 | error = chown_common(&path, user, group); | ||
6121 | mnt_drop_write(path.mnt); | ||
6122 | out_release: | ||
6123 | @@ -565,6 +584,10 @@ SYSCALL_DEFINE5(fchownat, int, dfd, cons | ||
6124 | error = mnt_want_write(path.mnt); | ||
6125 | if (error) | ||
6126 | goto out_release; | ||
6127 | +#ifdef CONFIG_VSERVER_COWBL | 5942 | +#ifdef CONFIG_VSERVER_COWBL |
6128 | + error = cow_check_and_break(&path); | 5943 | + error = cow_check_and_break(&path); |
6129 | + if (!error) | 5944 | + if (!error) |
6130 | +#endif | 5945 | +#endif |
6131 | error = chown_common(&path, user, group); | ||
6132 | mnt_drop_write(path.mnt); | ||
6133 | out_release: | ||
6134 | @@ -584,6 +607,10 @@ SYSCALL_DEFINE3(lchown, const char __use | ||
6135 | error = mnt_want_write(path.mnt); | ||
6136 | if (error) | ||
6137 | goto out_release; | ||
6138 | +#ifdef CONFIG_VSERVER_COWBL | 5946 | +#ifdef CONFIG_VSERVER_COWBL |
6139 | + error = cow_check_and_break(&path); | 5947 | + error = cow_check_and_break(&path); |
6140 | + if (!error) | 5948 | + if (!error) |
@@ -6142,27 +5950,19 @@ diff -NurpP --minimal linux-3.4.57/fs/open.c linux-3.4.57-vs2.3.3.9/fs/open.c | |||
6142 | error = chown_common(&path, user, group); | 5950 | error = chown_common(&path, user, group); |
6143 | mnt_drop_write(path.mnt); | 5951 | mnt_drop_write(path.mnt); |
6144 | out_release: | 5952 | out_release: |
6145 | @@ -839,6 +866,7 @@ static void __put_unused_fd(struct files | 5953 | diff -NurpP --minimal linux-3.10.17/fs/proc/array.c linux-3.10.17-vs2.3.6.6/fs/proc/array.c |
6146 | __clear_open_fd(fd, fdt); | 5954 | --- linux-3.10.17/fs/proc/array.c 2013-05-31 13:45:25.000000000 +0000 |
6147 | if (fd < files->next_fd) | 5955 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/array.c 2013-08-22 20:29:59.000000000 +0000 |
6148 | files->next_fd = fd; | 5956 | @@ -82,6 +82,8 @@ |
6149 | + vx_openfd_dec(fd); | ||
6150 | } | ||
6151 | |||
6152 | void put_unused_fd(unsigned int fd) | ||
6153 | diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/proc/array.c | ||
6154 | --- linux-3.4.57/fs/proc/array.c 2012-05-21 16:07:26.000000000 +0000 | ||
6155 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/array.c 2012-05-21 16:15:05.000000000 +0000 | ||
6156 | @@ -81,6 +81,8 @@ | ||
6157 | #include <linux/pid_namespace.h> | ||
6158 | #include <linux/ptrace.h> | 5957 | #include <linux/ptrace.h> |
6159 | #include <linux/tracehook.h> | 5958 | #include <linux/tracehook.h> |
5959 | #include <linux/user_namespace.h> | ||
6160 | +#include <linux/vs_context.h> | 5960 | +#include <linux/vs_context.h> |
6161 | +#include <linux/vs_network.h> | 5961 | +#include <linux/vs_network.h> |
6162 | 5962 | ||
6163 | #include <asm/pgtable.h> | 5963 | #include <asm/pgtable.h> |
6164 | #include <asm/processor.h> | 5964 | #include <asm/processor.h> |
6165 | @@ -170,6 +172,9 @@ static inline void task_state(struct seq | 5965 | @@ -173,6 +175,9 @@ static inline void task_state(struct seq |
6166 | rcu_read_lock(); | 5966 | rcu_read_lock(); |
6167 | ppid = pid_alive(p) ? | 5967 | ppid = pid_alive(p) ? |
6168 | task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0; | 5968 | task_tgid_nr_ns(rcu_dereference(p->real_parent), ns) : 0; |
@@ -6172,7 +5972,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6172 | tpid = 0; | 5972 | tpid = 0; |
6173 | if (pid_alive(p)) { | 5973 | if (pid_alive(p)) { |
6174 | struct task_struct *tracer = ptrace_parent(p); | 5974 | struct task_struct *tracer = ptrace_parent(p); |
6175 | @@ -287,7 +292,7 @@ static inline void task_sig(struct seq_f | 5975 | @@ -297,7 +302,7 @@ static inline void task_sig(struct seq_f |
6176 | } | 5976 | } |
6177 | 5977 | ||
6178 | static void render_cap_t(struct seq_file *m, const char *header, | 5978 | static void render_cap_t(struct seq_file *m, const char *header, |
@@ -6181,9 +5981,9 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6181 | { | 5981 | { |
6182 | unsigned __capi; | 5982 | unsigned __capi; |
6183 | 5983 | ||
6184 | @@ -312,10 +317,11 @@ static inline void task_cap(struct seq_f | 5984 | @@ -331,10 +336,11 @@ static inline void task_cap(struct seq_f |
6185 | cap_bset = cred->cap_bset; | 5985 | NORM_CAPS(cap_effective); |
6186 | rcu_read_unlock(); | 5986 | NORM_CAPS(cap_bset); |
6187 | 5987 | ||
6188 | - render_cap_t(m, "CapInh:\t", &cap_inheritable); | 5988 | - render_cap_t(m, "CapInh:\t", &cap_inheritable); |
6189 | - render_cap_t(m, "CapPrm:\t", &cap_permitted); | 5989 | - render_cap_t(m, "CapPrm:\t", &cap_permitted); |
@@ -6196,8 +5996,8 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6196 | + render_cap_t(m, "CapBnd:\t", p->vx_info, &cap_bset); | 5996 | + render_cap_t(m, "CapBnd:\t", p->vx_info, &cap_bset); |
6197 | } | 5997 | } |
6198 | 5998 | ||
6199 | static inline void task_context_switch_counts(struct seq_file *m, | 5999 | static inline void task_seccomp(struct seq_file *m, struct task_struct *p) |
6200 | @@ -337,6 +343,42 @@ static void task_cpus_allowed(struct seq | 6000 | @@ -363,6 +369,42 @@ static void task_cpus_allowed(struct seq |
6201 | seq_putc(m, '\n'); | 6001 | seq_putc(m, '\n'); |
6202 | } | 6002 | } |
6203 | 6003 | ||
@@ -6240,15 +6040,15 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6240 | int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, | 6040 | int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, |
6241 | struct pid *pid, struct task_struct *task) | 6041 | struct pid *pid, struct task_struct *task) |
6242 | { | 6042 | { |
6243 | @@ -353,6 +395,7 @@ int proc_pid_status(struct seq_file *m, | 6043 | @@ -380,6 +422,7 @@ int proc_pid_status(struct seq_file *m, |
6244 | task_cap(m, task); | 6044 | task_seccomp(m, task); |
6245 | task_cpus_allowed(m, task); | 6045 | task_cpus_allowed(m, task); |
6246 | cpuset_task_status_allowed(m, task); | 6046 | cpuset_task_status_allowed(m, task); |
6247 | + task_vs_id(m, task); | 6047 | + task_vs_id(m, task); |
6248 | task_context_switch_counts(m, task); | 6048 | task_context_switch_counts(m, task); |
6249 | return 0; | 6049 | return 0; |
6250 | } | 6050 | } |
6251 | @@ -462,6 +505,17 @@ static int do_task_stat(struct seq_file | 6051 | @@ -489,6 +532,17 @@ static int do_task_stat(struct seq_file |
6252 | /* convert nsec -> ticks */ | 6052 | /* convert nsec -> ticks */ |
6253 | start_time = nsec_to_clock_t(start_time); | 6053 | start_time = nsec_to_clock_t(start_time); |
6254 | 6054 | ||
@@ -6266,46 +6066,45 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/array.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6266 | seq_printf(m, "%d (%s) %c", pid_nr_ns(pid, ns), tcomm, state); | 6066 | seq_printf(m, "%d (%s) %c", pid_nr_ns(pid, ns), tcomm, state); |
6267 | seq_put_decimal_ll(m, ' ', ppid); | 6067 | seq_put_decimal_ll(m, ' ', ppid); |
6268 | seq_put_decimal_ll(m, ' ', pgid); | 6068 | seq_put_decimal_ll(m, ' ', pgid); |
6269 | diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc/base.c | 6069 | diff -NurpP --minimal linux-3.10.17/fs/proc/base.c linux-3.10.17-vs2.3.6.6/fs/proc/base.c |
6270 | --- linux-3.4.57/fs/proc/base.c 2013-08-13 14:13:34.000000000 +0000 | 6070 | --- linux-3.10.17/fs/proc/base.c 2013-07-14 17:01:29.000000000 +0000 |
6271 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/base.c 2012-06-28 14:45:07.000000000 +0000 | 6071 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/base.c 2013-08-22 22:18:21.000000000 +0000 |
6272 | @@ -84,6 +84,8 @@ | 6072 | @@ -87,6 +87,8 @@ |
6273 | #include <linux/fs_struct.h> | ||
6274 | #include <linux/slab.h> | 6073 | #include <linux/slab.h> |
6275 | #include <linux/flex_array.h> | 6074 | #include <linux/flex_array.h> |
6075 | #include <linux/posix-timers.h> | ||
6276 | +#include <linux/vs_context.h> | 6076 | +#include <linux/vs_context.h> |
6277 | +#include <linux/vs_network.h> | 6077 | +#include <linux/vs_network.h> |
6278 | #ifdef CONFIG_HARDWALL | 6078 | #ifdef CONFIG_HARDWALL |
6279 | #include <asm/hardwall.h> | 6079 | #include <asm/hardwall.h> |
6280 | #endif | 6080 | #endif |
6281 | @@ -937,11 +939,16 @@ static ssize_t oom_adjust_write(struct f | 6081 | @@ -976,11 +978,15 @@ static ssize_t oom_adj_write(struct file |
6282 | goto err_task_lock; | 6082 | oom_adj = (oom_adj * OOM_SCORE_ADJ_MAX) / -OOM_DISABLE; |
6283 | } | ||
6284 | 6083 | ||
6285 | - if (oom_adjust < task->signal->oom_adj && !capable(CAP_SYS_RESOURCE)) { | 6084 | if (oom_adj < task->signal->oom_score_adj && |
6286 | + if (oom_adjust < task->signal->oom_adj && | 6085 | - !capable(CAP_SYS_RESOURCE)) { |
6287 | + !vx_capable(CAP_SYS_RESOURCE, VXC_OOM_ADJUST)) { | 6086 | + !vx_capable(CAP_SYS_RESOURCE, VXC_OOM_ADJUST)) { |
6288 | err = -EACCES; | 6087 | err = -EACCES; |
6289 | goto err_sighand; | 6088 | goto err_sighand; |
6290 | } | 6089 | } |
6291 | 6090 | ||
6292 | + /* prevent guest processes from circumventing the oom killer */ | 6091 | + /* prevent guest processes from circumventing the oom killer */ |
6293 | + if (vx_current_xid() && (oom_adjust == OOM_DISABLE)) | 6092 | + if (vx_current_xid() && (oom_adj == OOM_DISABLE)) |
6294 | + oom_adjust = OOM_ADJUST_MIN; | 6093 | + oom_adj = OOM_ADJUST_MIN; |
6295 | + | 6094 | + |
6296 | /* | 6095 | /* |
6297 | * Warn that /proc/pid/oom_adj is deprecated, see | 6096 | * /proc/pid/oom_adj is provided for legacy purposes, ask users to use |
6298 | * Documentation/feature-removal-schedule.txt. | 6097 | * /proc/pid/oom_score_adj instead. |
6299 | @@ -1541,6 +1548,8 @@ struct inode *proc_pid_make_inode(struct | 6098 | @@ -1559,6 +1565,8 @@ struct inode *proc_pid_make_inode(struct |
6300 | inode->i_gid = cred->egid; | 6099 | inode->i_gid = cred->egid; |
6301 | rcu_read_unlock(); | 6100 | rcu_read_unlock(); |
6302 | } | 6101 | } |
6303 | + /* procfs is xid tagged */ | 6102 | + /* procfs is xid tagged */ |
6304 | + inode->i_tag = (tag_t)vx_task_xid(task); | 6103 | + i_tag_write(inode, (vtag_t)vx_task_xid(task)); |
6305 | security_task_to_inode(task, inode); | 6104 | security_task_to_inode(task, inode); |
6306 | 6105 | ||
6307 | out: | 6106 | out: |
6308 | @@ -1586,6 +1595,8 @@ int pid_getattr(struct vfsmount *mnt, st | 6107 | @@ -1604,6 +1612,8 @@ int pid_getattr(struct vfsmount *mnt, st |
6309 | 6108 | ||
6310 | /* dentry stuff */ | 6109 | /* dentry stuff */ |
6311 | 6110 | ||
@@ -6314,7 +6113,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6314 | /* | 6113 | /* |
6315 | * Exceptional case: normally we are not allowed to unhash a busy | 6114 | * Exceptional case: normally we are not allowed to unhash a busy |
6316 | * directory. In this case, however, we can do it - no aliasing problems | 6115 | * directory. In this case, however, we can do it - no aliasing problems |
6317 | @@ -1614,6 +1625,12 @@ int pid_revalidate(struct dentry *dentry | 6116 | @@ -1632,6 +1642,12 @@ int pid_revalidate(struct dentry *dentry |
6318 | task = get_proc_task(inode); | 6117 | task = get_proc_task(inode); |
6319 | 6118 | ||
6320 | if (task) { | 6119 | if (task) { |
@@ -6327,7 +6126,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6327 | if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) || | 6126 | if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) || |
6328 | task_dumpable(task)) { | 6127 | task_dumpable(task)) { |
6329 | rcu_read_lock(); | 6128 | rcu_read_lock(); |
6330 | @@ -1630,6 +1647,7 @@ int pid_revalidate(struct dentry *dentry | 6129 | @@ -1648,6 +1664,7 @@ int pid_revalidate(struct dentry *dentry |
6331 | put_task_struct(task); | 6130 | put_task_struct(task); |
6332 | return 1; | 6131 | return 1; |
6333 | } | 6132 | } |
@@ -6335,7 +6134,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6335 | d_drop(dentry); | 6134 | d_drop(dentry); |
6336 | return 0; | 6135 | return 0; |
6337 | } | 6136 | } |
6338 | @@ -2452,6 +2470,13 @@ static struct dentry *proc_pident_lookup | 6137 | @@ -2196,6 +2213,13 @@ static struct dentry *proc_pident_lookup |
6339 | if (!task) | 6138 | if (!task) |
6340 | goto out_no_task; | 6139 | goto out_no_task; |
6341 | 6140 | ||
@@ -6349,16 +6148,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6349 | /* | 6148 | /* |
6350 | * Yes, it does not scale. And it should not. Don't add | 6149 | * Yes, it does not scale. And it should not. Don't add |
6351 | * new entries into /proc/<tgid>/ without very good reasons. | 6150 | * new entries into /proc/<tgid>/ without very good reasons. |
6352 | @@ -2837,7 +2862,7 @@ out_iput: | 6151 | @@ -2630,6 +2654,9 @@ static int proc_pid_personality(struct s |
6353 | static struct dentry *proc_base_lookup(struct inode *dir, struct dentry *dentry) | ||
6354 | { | ||
6355 | struct dentry *error; | ||
6356 | - struct task_struct *task = get_proc_task(dir); | ||
6357 | + struct task_struct *task = get_proc_task_real(dir); | ||
6358 | const struct pid_entry *p, *last; | ||
6359 | |||
6360 | error = ERR_PTR(-ENOENT); | ||
6361 | @@ -2944,6 +2969,9 @@ static int proc_pid_personality(struct s | ||
6362 | static const struct file_operations proc_task_operations; | 6152 | static const struct file_operations proc_task_operations; |
6363 | static const struct inode_operations proc_task_inode_operations; | 6153 | static const struct inode_operations proc_task_inode_operations; |
6364 | 6154 | ||
@@ -6368,24 +6158,16 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6368 | static const struct pid_entry tgid_base_stuff[] = { | 6158 | static const struct pid_entry tgid_base_stuff[] = { |
6369 | DIR("task", S_IRUGO|S_IXUGO, proc_task_inode_operations, proc_task_operations), | 6159 | DIR("task", S_IRUGO|S_IXUGO, proc_task_inode_operations, proc_task_operations), |
6370 | DIR("fd", S_IRUSR|S_IXUSR, proc_fd_inode_operations, proc_fd_operations), | 6160 | DIR("fd", S_IRUSR|S_IXUSR, proc_fd_inode_operations, proc_fd_operations), |
6371 | @@ -3010,6 +3038,8 @@ static const struct pid_entry tgid_base_ | 6161 | @@ -2696,6 +2723,8 @@ static const struct pid_entry tgid_base_ |
6372 | #ifdef CONFIG_CGROUPS | 6162 | #ifdef CONFIG_CGROUPS |
6373 | REG("cgroup", S_IRUGO, proc_cgroup_operations), | 6163 | REG("cgroup", S_IRUGO, proc_cgroup_operations), |
6374 | #endif | 6164 | #endif |
6375 | + INF("vinfo", S_IRUGO, proc_pid_vx_info), | 6165 | + INF("vinfo", S_IRUGO, proc_pid_vx_info), |
6376 | + INF("ninfo", S_IRUGO, proc_pid_nx_info), | 6166 | + INF("ninfo", S_IRUGO, proc_pid_nx_info), |
6377 | INF("oom_score", S_IRUGO, proc_oom_score), | 6167 | INF("oom_score", S_IRUGO, proc_oom_score), |
6378 | REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adjust_operations), | 6168 | REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adj_operations), |
6379 | REG("oom_score_adj", S_IRUGO|S_IWUSR, proc_oom_score_adj_operations), | 6169 | REG("oom_score_adj", S_IRUGO|S_IWUSR, proc_oom_score_adj_operations), |
6380 | @@ -3029,6 +3059,7 @@ static const struct pid_entry tgid_base_ | 6170 | @@ -2910,7 +2939,7 @@ retry: |
6381 | #ifdef CONFIG_HARDWALL | ||
6382 | INF("hardwall", S_IRUGO, proc_pid_hardwall), | ||
6383 | #endif | ||
6384 | + ONE("nsproxy", S_IRUGO, proc_pid_nsproxy), | ||
6385 | }; | ||
6386 | |||
6387 | static int proc_tgid_base_readdir(struct file * filp, | ||
6388 | @@ -3222,7 +3253,7 @@ retry: | ||
6389 | iter.task = NULL; | 6171 | iter.task = NULL; |
6390 | pid = find_ge_pid(iter.tgid, ns); | 6172 | pid = find_ge_pid(iter.tgid, ns); |
6391 | if (pid) { | 6173 | if (pid) { |
@@ -6394,7 +6176,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6394 | iter.task = pid_task(pid, PIDTYPE_PID); | 6176 | iter.task = pid_task(pid, PIDTYPE_PID); |
6395 | /* What we to know is if the pid we have find is the | 6177 | /* What we to know is if the pid we have find is the |
6396 | * pid of a thread_group_leader. Testing for task | 6178 | * pid of a thread_group_leader. Testing for task |
6397 | @@ -3252,7 +3283,7 @@ static int proc_pid_fill_cache(struct fi | 6179 | @@ -2940,7 +2969,7 @@ static int proc_pid_fill_cache(struct fi |
6398 | struct tgid_iter iter) | 6180 | struct tgid_iter iter) |
6399 | { | 6181 | { |
6400 | char name[PROC_NUMBUF]; | 6182 | char name[PROC_NUMBUF]; |
@@ -6403,16 +6185,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6403 | return proc_fill_cache(filp, dirent, filldir, name, len, | 6185 | return proc_fill_cache(filp, dirent, filldir, name, len, |
6404 | proc_pid_instantiate, iter.task, NULL); | 6186 | proc_pid_instantiate, iter.task, NULL); |
6405 | } | 6187 | } |
6406 | @@ -3276,7 +3307,7 @@ int proc_pid_readdir(struct file * filp, | 6188 | @@ -2981,6 +3010,8 @@ int proc_pid_readdir(struct file * filp, |
6407 | goto out_no_task; | ||
6408 | nr = filp->f_pos - FIRST_PROCESS_ENTRY; | ||
6409 | |||
6410 | - reaper = get_proc_task(filp->f_path.dentry->d_inode); | ||
6411 | + reaper = get_proc_task_real(filp->f_path.dentry->d_inode); | ||
6412 | if (!reaper) | ||
6413 | goto out_no_task; | ||
6414 | |||
6415 | @@ -3298,6 +3329,8 @@ int proc_pid_readdir(struct file * filp, | ||
6416 | __filldir = fake_filldir; | 6189 | __filldir = fake_filldir; |
6417 | 6190 | ||
6418 | filp->f_pos = iter.tgid + TGID_OFFSET; | 6191 | filp->f_pos = iter.tgid + TGID_OFFSET; |
@@ -6421,7 +6194,15 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6421 | if (proc_pid_fill_cache(filp, dirent, __filldir, iter) < 0) { | 6194 | if (proc_pid_fill_cache(filp, dirent, __filldir, iter) < 0) { |
6422 | put_task_struct(iter.task); | 6195 | put_task_struct(iter.task); |
6423 | goto out; | 6196 | goto out; |
6424 | @@ -3451,6 +3484,8 @@ static struct dentry *proc_task_lookup(s | 6197 | @@ -3073,6 +3104,7 @@ static const struct pid_entry tid_base_s |
6198 | REG("gid_map", S_IRUGO|S_IWUSR, proc_gid_map_operations), | ||
6199 | REG("projid_map", S_IRUGO|S_IWUSR, proc_projid_map_operations), | ||
6200 | #endif | ||
6201 | + ONE("nsproxy", S_IRUGO, proc_pid_nsproxy), | ||
6202 | }; | ||
6203 | |||
6204 | static int proc_tid_base_readdir(struct file * filp, | ||
6205 | @@ -3141,6 +3173,8 @@ static struct dentry *proc_task_lookup(s | ||
6425 | tid = name_to_int(dentry); | 6206 | tid = name_to_int(dentry); |
6426 | if (tid == ~0U) | 6207 | if (tid == ~0U) |
6427 | goto out; | 6208 | goto out; |
@@ -6430,10 +6211,10 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/base.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6430 | 6211 | ||
6431 | ns = dentry->d_sb->s_fs_info; | 6212 | ns = dentry->d_sb->s_fs_info; |
6432 | rcu_read_lock(); | 6213 | rcu_read_lock(); |
6433 | diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/proc/generic.c | 6214 | diff -NurpP --minimal linux-3.10.17/fs/proc/generic.c linux-3.10.17-vs2.3.6.6/fs/proc/generic.c |
6434 | --- linux-3.4.57/fs/proc/generic.c 2012-03-19 18:47:26.000000000 +0000 | 6215 | --- linux-3.10.17/fs/proc/generic.c 2013-07-14 17:01:29.000000000 +0000 |
6435 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/generic.c 2012-05-21 16:15:05.000000000 +0000 | 6216 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/generic.c 2013-08-22 20:29:59.000000000 +0000 |
6436 | @@ -22,6 +22,7 @@ | 6217 | @@ -23,6 +23,7 @@ |
6437 | #include <linux/bitops.h> | 6218 | #include <linux/bitops.h> |
6438 | #include <linux/spinlock.h> | 6219 | #include <linux/spinlock.h> |
6439 | #include <linux/completion.h> | 6220 | #include <linux/completion.h> |
@@ -6441,7 +6222,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6441 | #include <asm/uaccess.h> | 6222 | #include <asm/uaccess.h> |
6442 | 6223 | ||
6443 | #include "internal.h" | 6224 | #include "internal.h" |
6444 | @@ -424,11 +425,15 @@ struct dentry *proc_lookup_de(struct pro | 6225 | @@ -203,6 +204,8 @@ struct dentry *proc_lookup_de(struct pro |
6445 | for (de = de->subdir; de ; de = de->next) { | 6226 | for (de = de->subdir; de ; de = de->next) { |
6446 | if (de->namelen != dentry->d_name.len) | 6227 | if (de->namelen != dentry->d_name.len) |
6447 | continue; | 6228 | continue; |
@@ -6450,14 +6231,16 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6450 | if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { | 6231 | if (!memcmp(dentry->d_name.name, de->name, de->namelen)) { |
6451 | pde_get(de); | 6232 | pde_get(de); |
6452 | spin_unlock(&proc_subdir_lock); | 6233 | spin_unlock(&proc_subdir_lock); |
6453 | error = -EINVAL; | 6234 | @@ -211,6 +214,8 @@ struct dentry *proc_lookup_de(struct pro |
6454 | inode = proc_get_inode(dir->i_sb, de); | 6235 | return ERR_PTR(-ENOMEM); |
6236 | d_set_d_op(dentry, &proc_dentry_operations); | ||
6237 | d_add(dentry, inode); | ||
6455 | + /* generic proc entries belong to the host */ | 6238 | + /* generic proc entries belong to the host */ |
6456 | + inode->i_tag = 0; | 6239 | + i_tag_write(inode, 0); |
6457 | goto out_unlock; | 6240 | return NULL; |
6458 | } | 6241 | } |
6459 | } | 6242 | } |
6460 | @@ -506,6 +511,8 @@ int proc_readdir_de(struct proc_dir_entr | 6243 | @@ -279,6 +284,8 @@ int proc_readdir_de(struct proc_dir_entr |
6461 | 6244 | ||
6462 | /* filldir passes info to user space */ | 6245 | /* filldir passes info to user space */ |
6463 | pde_get(de); | 6246 | pde_get(de); |
@@ -6466,7 +6249,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6466 | spin_unlock(&proc_subdir_lock); | 6249 | spin_unlock(&proc_subdir_lock); |
6467 | if (filldir(dirent, de->name, de->namelen, filp->f_pos, | 6250 | if (filldir(dirent, de->name, de->namelen, filp->f_pos, |
6468 | de->low_ino, de->mode >> 12) < 0) { | 6251 | de->low_ino, de->mode >> 12) < 0) { |
6469 | @@ -513,6 +520,7 @@ int proc_readdir_de(struct proc_dir_entr | 6252 | @@ -286,6 +293,7 @@ int proc_readdir_de(struct proc_dir_entr |
6470 | goto out; | 6253 | goto out; |
6471 | } | 6254 | } |
6472 | spin_lock(&proc_subdir_lock); | 6255 | spin_lock(&proc_subdir_lock); |
@@ -6474,15 +6257,15 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6474 | filp->f_pos++; | 6257 | filp->f_pos++; |
6475 | next = de->next; | 6258 | next = de->next; |
6476 | pde_put(de); | 6259 | pde_put(de); |
6477 | @@ -626,6 +634,7 @@ static struct proc_dir_entry *__proc_cre | 6260 | @@ -395,6 +403,7 @@ static struct proc_dir_entry *__proc_cre |
6261 | ent->namelen = len; | ||
6262 | ent->mode = mode; | ||
6478 | ent->nlink = nlink; | 6263 | ent->nlink = nlink; |
6479 | atomic_set(&ent->count, 1); | ||
6480 | ent->pde_users = 0; | ||
6481 | + ent->vx_flags = IATTR_PROC_DEFAULT; | 6264 | + ent->vx_flags = IATTR_PROC_DEFAULT; |
6265 | atomic_set(&ent->count, 1); | ||
6482 | spin_lock_init(&ent->pde_unload_lock); | 6266 | spin_lock_init(&ent->pde_unload_lock); |
6483 | ent->pde_unload_completion = NULL; | ||
6484 | INIT_LIST_HEAD(&ent->pde_openers); | 6267 | INIT_LIST_HEAD(&ent->pde_openers); |
6485 | @@ -649,7 +658,8 @@ struct proc_dir_entry *proc_symlink(cons | 6268 | @@ -418,7 +427,8 @@ struct proc_dir_entry *proc_symlink(cons |
6486 | kfree(ent->data); | 6269 | kfree(ent->data); |
6487 | kfree(ent); | 6270 | kfree(ent); |
6488 | ent = NULL; | 6271 | ent = NULL; |
@@ -6492,10 +6275,10 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/generic.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6492 | } else { | 6275 | } else { |
6493 | kfree(ent); | 6276 | kfree(ent); |
6494 | ent = NULL; | 6277 | ent = NULL; |
6495 | diff -NurpP --minimal linux-3.4.57/fs/proc/inode.c linux-3.4.57-vs2.3.3.9/fs/proc/inode.c | 6278 | diff -NurpP --minimal linux-3.10.17/fs/proc/inode.c linux-3.10.17-vs2.3.6.6/fs/proc/inode.c |
6496 | --- linux-3.4.57/fs/proc/inode.c 2012-05-21 16:07:26.000000000 +0000 | 6279 | --- linux-3.10.17/fs/proc/inode.c 2013-07-14 17:01:29.000000000 +0000 |
6497 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/inode.c 2012-05-21 16:15:05.000000000 +0000 | 6280 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/inode.c 2013-08-22 20:29:59.000000000 +0000 |
6498 | @@ -458,6 +458,8 @@ struct inode *proc_get_inode(struct supe | 6281 | @@ -387,6 +387,8 @@ struct inode *proc_get_inode(struct supe |
6499 | inode->i_uid = de->uid; | 6282 | inode->i_uid = de->uid; |
6500 | inode->i_gid = de->gid; | 6283 | inode->i_gid = de->gid; |
6501 | } | 6284 | } |
@@ -6504,29 +6287,50 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/inode.c linux-3.4.57-vs2.3.3.9/fs/pro | |||
6504 | if (de->size) | 6287 | if (de->size) |
6505 | inode->i_size = de->size; | 6288 | inode->i_size = de->size; |
6506 | if (de->nlink) | 6289 | if (de->nlink) |
6507 | diff -NurpP --minimal linux-3.4.57/fs/proc/internal.h linux-3.4.57-vs2.3.3.9/fs/proc/internal.h | 6290 | diff -NurpP --minimal linux-3.10.17/fs/proc/internal.h linux-3.10.17-vs2.3.6.6/fs/proc/internal.h |
6508 | --- linux-3.4.57/fs/proc/internal.h 2012-05-21 16:07:26.000000000 +0000 | 6291 | --- linux-3.10.17/fs/proc/internal.h 2013-07-14 17:01:29.000000000 +0000 |
6509 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/internal.h 2012-05-21 16:15:05.000000000 +0000 | 6292 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/internal.h 2013-08-22 21:52:30.000000000 +0000 |
6510 | @@ -10,6 +10,8 @@ | 6293 | @@ -14,6 +14,7 @@ |
6511 | */ | 6294 | #include <linux/spinlock.h> |
6512 | 6295 | #include <linux/atomic.h> | |
6513 | #include <linux/proc_fs.h> | 6296 | #include <linux/binfmts.h> |
6514 | +#include <linux/vs_pid.h> | 6297 | +#include <linux/vs_pid.h> |
6515 | + | ||
6516 | struct ctl_table_header; | ||
6517 | 6298 | ||
6518 | extern struct proc_dir_entry proc_root; | 6299 | struct ctl_table_header; |
6519 | @@ -54,6 +56,9 @@ extern int proc_pid_status(struct seq_fi | 6300 | struct mempolicy; |
6520 | struct pid *pid, struct task_struct *task); | 6301 | @@ -35,6 +36,7 @@ struct proc_dir_entry { |
6521 | extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, | 6302 | nlink_t nlink; |
6522 | struct pid *pid, struct task_struct *task); | 6303 | kuid_t uid; |
6523 | +extern int proc_pid_nsproxy(struct seq_file *m, struct pid_namespace *ns, | 6304 | kgid_t gid; |
6524 | + struct pid *pid, struct task_struct *task); | 6305 | + int vx_flags; |
6306 | loff_t size; | ||
6307 | const struct inode_operations *proc_iops; | ||
6308 | const struct file_operations *proc_fops; | ||
6309 | @@ -50,16 +52,23 @@ struct proc_dir_entry { | ||
6310 | char name[]; | ||
6311 | }; | ||
6312 | |||
6313 | +struct vx_info; | ||
6314 | +struct nx_info; | ||
6525 | + | 6315 | + |
6526 | extern loff_t mem_lseek(struct file *file, loff_t offset, int orig); | 6316 | union proc_op { |
6317 | int (*proc_get_link)(struct dentry *, struct path *); | ||
6318 | int (*proc_read)(struct task_struct *task, char *page); | ||
6319 | int (*proc_show)(struct seq_file *m, | ||
6320 | struct pid_namespace *ns, struct pid *pid, | ||
6321 | struct task_struct *task); | ||
6322 | + int (*proc_vs_read)(char *page); | ||
6323 | + int (*proc_vxi_read)(struct vx_info *vxi, char *page); | ||
6324 | + int (*proc_nxi_read)(struct nx_info *nxi, char *page); | ||
6325 | }; | ||
6527 | 6326 | ||
6528 | extern const struct file_operations proc_pid_maps_operations; | 6327 | struct proc_inode { |
6529 | @@ -82,11 +87,16 @@ static inline struct pid *proc_pid(struc | 6328 | struct pid *pid; |
6329 | + int vx_flags; | ||
6330 | int fd; | ||
6331 | union proc_op op; | ||
6332 | struct proc_dir_entry *pde; | ||
6333 | @@ -92,11 +101,16 @@ static inline struct pid *proc_pid(struc | ||
6530 | return PROC_I(inode)->pid; | 6334 | return PROC_I(inode)->pid; |
6531 | } | 6335 | } |
6532 | 6336 | ||
@@ -6541,12 +6345,21 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/internal.h linux-3.4.57-vs2.3.3.9/fs/ | |||
6541 | + return vx_get_proc_task(inode, proc_pid(inode)); | 6345 | + return vx_get_proc_task(inode, proc_pid(inode)); |
6542 | +} | 6346 | +} |
6543 | + | 6347 | + |
6544 | static inline int proc_fd(struct inode *inode) | 6348 | static inline int task_dumpable(struct task_struct *task) |
6545 | { | 6349 | { |
6546 | return PROC_I(inode)->fd; | 6350 | int dumpable = 0; |
6547 | diff -NurpP --minimal linux-3.4.57/fs/proc/loadavg.c linux-3.4.57-vs2.3.3.9/fs/proc/loadavg.c | 6351 | @@ -155,6 +169,8 @@ extern int proc_pid_status(struct seq_fi |
6548 | --- linux-3.4.57/fs/proc/loadavg.c 2009-09-10 13:26:23.000000000 +0000 | 6352 | struct pid *, struct task_struct *); |
6549 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/loadavg.c 2012-05-21 16:15:05.000000000 +0000 | 6353 | extern int proc_pid_statm(struct seq_file *, struct pid_namespace *, |
6354 | struct pid *, struct task_struct *); | ||
6355 | +extern int proc_pid_nsproxy(struct seq_file *m, struct pid_namespace *ns, | ||
6356 | + struct pid *pid, struct task_struct *task); | ||
6357 | |||
6358 | /* | ||
6359 | * base.c | ||
6360 | diff -NurpP --minimal linux-3.10.17/fs/proc/loadavg.c linux-3.10.17-vs2.3.6.6/fs/proc/loadavg.c | ||
6361 | --- linux-3.10.17/fs/proc/loadavg.c 2012-12-11 03:30:57.000000000 +0000 | ||
6362 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/loadavg.c 2013-08-22 20:30:00.000000000 +0000 | ||
6550 | @@ -12,15 +12,27 @@ | 6363 | @@ -12,15 +12,27 @@ |
6551 | 6364 | ||
6552 | static int loadavg_proc_show(struct seq_file *m, void *v) | 6365 | static int loadavg_proc_show(struct seq_file *m, void *v) |
@@ -6576,23 +6389,23 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/loadavg.c linux-3.4.57-vs2.3.3.9/fs/p | |||
6576 | task_active_pid_ns(current)->last_pid); | 6389 | task_active_pid_ns(current)->last_pid); |
6577 | return 0; | 6390 | return 0; |
6578 | } | 6391 | } |
6579 | diff -NurpP --minimal linux-3.4.57/fs/proc/meminfo.c linux-3.4.57-vs2.3.3.9/fs/proc/meminfo.c | 6392 | diff -NurpP --minimal linux-3.10.17/fs/proc/meminfo.c linux-3.10.17-vs2.3.6.6/fs/proc/meminfo.c |
6580 | --- linux-3.4.57/fs/proc/meminfo.c 2012-01-09 15:14:55.000000000 +0000 | 6393 | --- linux-3.10.17/fs/proc/meminfo.c 2013-07-14 17:01:29.000000000 +0000 |
6581 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/meminfo.c 2012-05-21 16:15:05.000000000 +0000 | 6394 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/meminfo.c 2013-08-22 20:30:00.000000000 +0000 |
6582 | @@ -39,7 +39,8 @@ static int meminfo_proc_show(struct seq_ | 6395 | @@ -40,7 +40,8 @@ static int meminfo_proc_show(struct seq_ |
6583 | allowed = ((totalram_pages - hugetlb_total_pages()) | 6396 | allowed = ((totalram_pages - hugetlb_total_pages()) |
6584 | * sysctl_overcommit_ratio / 100) + total_swap_pages; | 6397 | * sysctl_overcommit_ratio / 100) + total_swap_pages; |
6585 | 6398 | ||
6586 | - cached = global_page_state(NR_FILE_PAGES) - | 6399 | - cached = global_page_state(NR_FILE_PAGES) - |
6587 | + cached = vx_flags(VXF_VIRT_MEM, 0) ? | 6400 | + cached = vx_flags(VXF_VIRT_MEM, 0) ? |
6588 | + vx_vsi_cached(&i) : global_page_state(NR_FILE_PAGES) - | 6401 | + vx_vsi_cached(&i) : global_page_state(NR_FILE_PAGES) - |
6589 | total_swapcache_pages - i.bufferram; | 6402 | total_swapcache_pages() - i.bufferram; |
6590 | if (cached < 0) | 6403 | if (cached < 0) |
6591 | cached = 0; | 6404 | cached = 0; |
6592 | diff -NurpP --minimal linux-3.4.57/fs/proc/root.c linux-3.4.57-vs2.3.3.9/fs/proc/root.c | 6405 | diff -NurpP --minimal linux-3.10.17/fs/proc/root.c linux-3.10.17-vs2.3.6.6/fs/proc/root.c |
6593 | --- linux-3.4.57/fs/proc/root.c 2012-05-21 16:07:26.000000000 +0000 | 6406 | --- linux-3.10.17/fs/proc/root.c 2013-10-25 15:17:43.000000000 +0000 |
6594 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/root.c 2012-05-21 16:15:05.000000000 +0000 | 6407 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/root.c 2013-10-09 17:37:22.000000000 +0000 |
6595 | @@ -19,9 +19,14 @@ | 6408 | @@ -20,9 +20,14 @@ |
6596 | #include <linux/mount.h> | 6409 | #include <linux/mount.h> |
6597 | #include <linux/pid_namespace.h> | 6410 | #include <linux/pid_namespace.h> |
6598 | #include <linux/parser.h> | 6411 | #include <linux/parser.h> |
@@ -6607,7 +6420,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/root.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6607 | static int proc_test_super(struct super_block *sb, void *data) | 6420 | static int proc_test_super(struct super_block *sb, void *data) |
6608 | { | 6421 | { |
6609 | return sb->s_fs_info == data; | 6422 | return sb->s_fs_info == data; |
6610 | @@ -190,6 +195,7 @@ void __init proc_root_init(void) | 6423 | @@ -185,6 +190,7 @@ void __init proc_root_init(void) |
6611 | #endif | 6424 | #endif |
6612 | proc_mkdir("bus", NULL); | 6425 | proc_mkdir("bus", NULL); |
6613 | proc_sys_init(); | 6426 | proc_sys_init(); |
@@ -6615,7 +6428,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/root.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6615 | } | 6428 | } |
6616 | 6429 | ||
6617 | static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat | 6430 | static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat |
6618 | @@ -257,6 +263,7 @@ struct proc_dir_entry proc_root = { | 6431 | @@ -251,6 +257,7 @@ struct proc_dir_entry proc_root = { |
6619 | .proc_iops = &proc_root_inode_operations, | 6432 | .proc_iops = &proc_root_inode_operations, |
6620 | .proc_fops = &proc_root_operations, | 6433 | .proc_fops = &proc_root_operations, |
6621 | .parent = &proc_root, | 6434 | .parent = &proc_root, |
@@ -6623,18 +6436,48 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/root.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6623 | .name = "/proc", | 6436 | .name = "/proc", |
6624 | }; | 6437 | }; |
6625 | 6438 | ||
6626 | diff -NurpP --minimal linux-3.4.57/fs/proc/stat.c linux-3.4.57-vs2.3.3.9/fs/proc/stat.c | 6439 | diff -NurpP --minimal linux-3.10.17/fs/proc/self.c linux-3.10.17-vs2.3.6.6/fs/proc/self.c |
6627 | --- linux-3.4.57/fs/proc/stat.c 2013-08-13 14:13:34.000000000 +0000 | 6440 | --- linux-3.10.17/fs/proc/self.c 2013-07-14 17:01:29.000000000 +0000 |
6628 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/stat.c 2012-11-06 17:02:35.000000000 +0000 | 6441 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/self.c 2013-08-23 00:07:45.000000000 +0000 |
6629 | @@ -9,6 +9,7 @@ | 6442 | @@ -2,6 +2,7 @@ |
6443 | #include <linux/namei.h> | ||
6444 | #include <linux/slab.h> | ||
6445 | #include <linux/pid_namespace.h> | ||
6446 | +#include <linux/vserver/inode.h> | ||
6447 | #include "internal.h" | ||
6448 | |||
6449 | /* | ||
6450 | @@ -62,6 +63,8 @@ int proc_setup_self(struct super_block * | ||
6451 | self = d_alloc_name(s->s_root, "self"); | ||
6452 | if (self) { | ||
6453 | struct inode *inode = new_inode_pseudo(s); | ||
6454 | + | ||
6455 | + // self->vx_flags = IATTR_PROC_SYMLINK; | ||
6456 | if (inode) { | ||
6457 | inode->i_ino = self_inum; | ||
6458 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | ||
6459 | diff -NurpP --minimal linux-3.10.17/fs/proc/stat.c linux-3.10.17-vs2.3.6.6/fs/proc/stat.c | ||
6460 | --- linux-3.10.17/fs/proc/stat.c 2013-07-14 17:01:29.000000000 +0000 | ||
6461 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/stat.c 2013-08-22 20:30:00.000000000 +0000 | ||
6462 | @@ -9,8 +9,10 @@ | ||
6630 | #include <linux/slab.h> | 6463 | #include <linux/slab.h> |
6631 | #include <linux/time.h> | 6464 | #include <linux/time.h> |
6632 | #include <linux/irqnr.h> | 6465 | #include <linux/irqnr.h> |
6633 | +#include <linux/vserver/cvirt.h> | 6466 | +#include <linux/vserver/cvirt.h> |
6634 | #include <asm/cputime.h> | 6467 | #include <asm/cputime.h> |
6635 | #include <linux/tick.h> | 6468 | #include <linux/tick.h> |
6636 | 6469 | +#include <linux/cpuset.h> | |
6637 | @@ -92,6 +93,10 @@ static int show_stat(struct seq_file *p, | 6470 | |
6471 | #ifndef arch_irq_stat_cpu | ||
6472 | #define arch_irq_stat_cpu(cpu) 0 | ||
6473 | @@ -87,14 +89,26 @@ static int show_stat(struct seq_file *p, | ||
6474 | u64 sum_softirq = 0; | ||
6475 | unsigned int per_softirq_sums[NR_SOFTIRQS] = {0}; | ||
6476 | struct timespec boottime; | ||
6477 | + cpumask_var_t cpus_allowed; | ||
6478 | + bool virt_cpu = vx_flags(VXF_VIRT_CPU, 0); | ||
6479 | |||
6480 | user = nice = system = idle = iowait = | ||
6638 | irq = softirq = steal = 0; | 6481 | irq = softirq = steal = 0; |
6639 | guest = guest_nice = 0; | 6482 | guest = guest_nice = 0; |
6640 | getboottime(&boottime); | 6483 | getboottime(&boottime); |
@@ -6642,12 +6485,31 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/stat.c linux-3.4.57-vs2.3.3.9/fs/proc | |||
6642 | + if (vx_flags(VXF_VIRT_UPTIME, 0)) | 6485 | + if (vx_flags(VXF_VIRT_UPTIME, 0)) |
6643 | + vx_vsi_boottime(&boottime); | 6486 | + vx_vsi_boottime(&boottime); |
6644 | + | 6487 | + |
6488 | + if (virt_cpu) | ||
6489 | + cpuset_cpus_allowed(current, cpus_allowed); | ||
6490 | + | ||
6645 | jif = boottime.tv_sec; | 6491 | jif = boottime.tv_sec; |
6646 | 6492 | ||
6647 | for_each_possible_cpu(i) { | 6493 | for_each_possible_cpu(i) { |
6648 | diff -NurpP --minimal linux-3.4.57/fs/proc/uptime.c linux-3.4.57-vs2.3.3.9/fs/proc/uptime.c | 6494 | + if (virt_cpu && !cpumask_test_cpu(i, cpus_allowed)) |
6649 | --- linux-3.4.57/fs/proc/uptime.c 2012-03-19 18:47:26.000000000 +0000 | 6495 | + continue; |
6650 | +++ linux-3.4.57-vs2.3.3.9/fs/proc/uptime.c 2012-05-21 16:15:05.000000000 +0000 | 6496 | + |
6497 | user += kcpustat_cpu(i).cpustat[CPUTIME_USER]; | ||
6498 | nice += kcpustat_cpu(i).cpustat[CPUTIME_NICE]; | ||
6499 | system += kcpustat_cpu(i).cpustat[CPUTIME_SYSTEM]; | ||
6500 | @@ -131,6 +145,9 @@ static int show_stat(struct seq_file *p, | ||
6501 | seq_putc(p, '\n'); | ||
6502 | |||
6503 | for_each_online_cpu(i) { | ||
6504 | + if (virt_cpu && !cpumask_test_cpu(i, cpus_allowed)) | ||
6505 | + continue; | ||
6506 | + | ||
6507 | /* Copy values here to work around gcc-2.95.3, gcc-2.96 */ | ||
6508 | user = kcpustat_cpu(i).cpustat[CPUTIME_USER]; | ||
6509 | nice = kcpustat_cpu(i).cpustat[CPUTIME_NICE]; | ||
6510 | diff -NurpP --minimal linux-3.10.17/fs/proc/uptime.c linux-3.10.17-vs2.3.6.6/fs/proc/uptime.c | ||
6511 | --- linux-3.10.17/fs/proc/uptime.c 2012-12-11 03:30:57.000000000 +0000 | ||
6512 | +++ linux-3.10.17-vs2.3.6.6/fs/proc/uptime.c 2013-08-22 20:30:00.000000000 +0000 | ||
6651 | @@ -5,6 +5,7 @@ | 6513 | @@ -5,6 +5,7 @@ |
6652 | #include <linux/seq_file.h> | 6514 | #include <linux/seq_file.h> |
6653 | #include <linux/time.h> | 6515 | #include <linux/time.h> |
@@ -6667,9 +6529,9 @@ diff -NurpP --minimal linux-3.4.57/fs/proc/uptime.c linux-3.4.57-vs2.3.3.9/fs/pr | |||
6667 | seq_printf(m, "%lu.%02lu %lu.%02lu\n", | 6529 | seq_printf(m, "%lu.%02lu %lu.%02lu\n", |
6668 | (unsigned long) uptime.tv_sec, | 6530 | (unsigned long) uptime.tv_sec, |
6669 | (uptime.tv_nsec / (NSEC_PER_SEC / 100)), | 6531 | (uptime.tv_nsec / (NSEC_PER_SEC / 100)), |
6670 | diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs/proc_namespace.c | 6532 | diff -NurpP --minimal linux-3.10.17/fs/proc_namespace.c linux-3.10.17-vs2.3.6.6/fs/proc_namespace.c |
6671 | --- linux-3.4.57/fs/proc_namespace.c 2012-03-19 18:47:26.000000000 +0000 | 6533 | --- linux-3.10.17/fs/proc_namespace.c 2012-12-11 03:30:57.000000000 +0000 |
6672 | +++ linux-3.4.57-vs2.3.3.9/fs/proc_namespace.c 2012-05-21 16:15:05.000000000 +0000 | 6534 | +++ linux-3.10.17-vs2.3.6.6/fs/proc_namespace.c 2013-08-22 20:30:00.000000000 +0000 |
6673 | @@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file | 6535 | @@ -44,6 +44,8 @@ static int show_sb_opts(struct seq_file |
6674 | { MS_SYNCHRONOUS, ",sync" }, | 6536 | { MS_SYNCHRONOUS, ",sync" }, |
6675 | { MS_DIRSYNC, ",dirsync" }, | 6537 | { MS_DIRSYNC, ",dirsync" }, |
@@ -6679,10 +6541,12 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6679 | { 0, NULL } | 6541 | { 0, NULL } |
6680 | }; | 6542 | }; |
6681 | const struct proc_fs_info *fs_infop; | 6543 | const struct proc_fs_info *fs_infop; |
6682 | @@ -80,6 +82,34 @@ static inline void mangle(struct seq_fil | 6544 | @@ -80,6 +82,40 @@ static inline void mangle(struct seq_fil |
6683 | seq_escape(m, s, " \t\n\\"); | 6545 | seq_escape(m, s, " \t\n\\"); |
6684 | } | 6546 | } |
6685 | 6547 | ||
6548 | +#ifdef CONFIG_VSERVER_EXTRA_MNT_CHECK | ||
6549 | + | ||
6686 | +static int mnt_is_reachable(struct vfsmount *vfsmnt) | 6550 | +static int mnt_is_reachable(struct vfsmount *vfsmnt) |
6687 | +{ | 6551 | +{ |
6688 | + struct path root; | 6552 | + struct path root; |
@@ -6694,7 +6558,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6694 | + if (mnt == mnt->mnt_ns->root) | 6558 | + if (mnt == mnt->mnt_ns->root) |
6695 | + return 1; | 6559 | + return 1; |
6696 | + | 6560 | + |
6697 | + br_read_lock(vfsmount_lock); | 6561 | + br_read_lock(&vfsmount_lock); |
6698 | + root = current->fs->root; | 6562 | + root = current->fs->root; |
6699 | + root_mnt = real_mount(root.mnt); | 6563 | + root_mnt = real_mount(root.mnt); |
6700 | + point = root.dentry; | 6564 | + point = root.dentry; |
@@ -6706,15 +6570,19 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6706 | + | 6570 | + |
6707 | + ret = (mnt == root_mnt) && is_subdir(point, root.dentry); | 6571 | + ret = (mnt == root_mnt) && is_subdir(point, root.dentry); |
6708 | + | 6572 | + |
6709 | + br_read_unlock(vfsmount_lock); | 6573 | + br_read_unlock(&vfsmount_lock); |
6710 | + | 6574 | + |
6711 | + return ret; | 6575 | + return ret; |
6712 | +} | 6576 | +} |
6713 | + | 6577 | + |
6578 | +#else | ||
6579 | +#define mnt_is_reachable(v) (1) | ||
6580 | +#endif | ||
6581 | + | ||
6714 | static void show_type(struct seq_file *m, struct super_block *sb) | 6582 | static void show_type(struct seq_file *m, struct super_block *sb) |
6715 | { | 6583 | { |
6716 | mangle(m, sb->s_type->name); | 6584 | mangle(m, sb->s_type->name); |
6717 | @@ -96,6 +126,17 @@ static int show_vfsmnt(struct seq_file * | 6585 | @@ -96,6 +132,17 @@ static int show_vfsmnt(struct seq_file * |
6718 | struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; | 6586 | struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; |
6719 | struct super_block *sb = mnt_path.dentry->d_sb; | 6587 | struct super_block *sb = mnt_path.dentry->d_sb; |
6720 | 6588 | ||
@@ -6732,7 +6600,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6732 | if (sb->s_op->show_devname) { | 6600 | if (sb->s_op->show_devname) { |
6733 | err = sb->s_op->show_devname(m, mnt_path.dentry); | 6601 | err = sb->s_op->show_devname(m, mnt_path.dentry); |
6734 | if (err) | 6602 | if (err) |
6735 | @@ -106,6 +147,7 @@ static int show_vfsmnt(struct seq_file * | 6603 | @@ -106,6 +153,7 @@ static int show_vfsmnt(struct seq_file * |
6736 | seq_putc(m, ' '); | 6604 | seq_putc(m, ' '); |
6737 | seq_path(m, &mnt_path, " \t\n\\"); | 6605 | seq_path(m, &mnt_path, " \t\n\\"); |
6738 | seq_putc(m, ' '); | 6606 | seq_putc(m, ' '); |
@@ -6740,7 +6608,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6740 | show_type(m, sb); | 6608 | show_type(m, sb); |
6741 | seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); | 6609 | seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); |
6742 | err = show_sb_opts(m, sb); | 6610 | err = show_sb_opts(m, sb); |
6743 | @@ -128,6 +170,11 @@ static int show_mountinfo(struct seq_fil | 6611 | @@ -128,6 +176,11 @@ static int show_mountinfo(struct seq_fil |
6744 | struct path root = p->root; | 6612 | struct path root = p->root; |
6745 | int err = 0; | 6613 | int err = 0; |
6746 | 6614 | ||
@@ -6752,7 +6620,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6752 | seq_printf(m, "%i %i %u:%u ", r->mnt_id, r->mnt_parent->mnt_id, | 6620 | seq_printf(m, "%i %i %u:%u ", r->mnt_id, r->mnt_parent->mnt_id, |
6753 | MAJOR(sb->s_dev), MINOR(sb->s_dev)); | 6621 | MAJOR(sb->s_dev), MINOR(sb->s_dev)); |
6754 | if (sb->s_op->show_path) | 6622 | if (sb->s_op->show_path) |
6755 | @@ -187,6 +234,17 @@ static int show_vfsstat(struct seq_file | 6623 | @@ -187,6 +240,17 @@ static int show_vfsstat(struct seq_file |
6756 | struct super_block *sb = mnt_path.dentry->d_sb; | 6624 | struct super_block *sb = mnt_path.dentry->d_sb; |
6757 | int err = 0; | 6625 | int err = 0; |
6758 | 6626 | ||
@@ -6770,7 +6638,7 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6770 | /* device */ | 6638 | /* device */ |
6771 | if (sb->s_op->show_devname) { | 6639 | if (sb->s_op->show_devname) { |
6772 | seq_puts(m, "device "); | 6640 | seq_puts(m, "device "); |
6773 | @@ -203,7 +261,7 @@ static int show_vfsstat(struct seq_file | 6641 | @@ -203,7 +267,7 @@ static int show_vfsstat(struct seq_file |
6774 | seq_puts(m, " mounted on "); | 6642 | seq_puts(m, " mounted on "); |
6775 | seq_path(m, &mnt_path, " \t\n\\"); | 6643 | seq_path(m, &mnt_path, " \t\n\\"); |
6776 | seq_putc(m, ' '); | 6644 | seq_putc(m, ' '); |
@@ -6779,10 +6647,10 @@ diff -NurpP --minimal linux-3.4.57/fs/proc_namespace.c linux-3.4.57-vs2.3.3.9/fs | |||
6779 | /* file system type */ | 6647 | /* file system type */ |
6780 | seq_puts(m, "with fstype "); | 6648 | seq_puts(m, "with fstype "); |
6781 | show_type(m, sb); | 6649 | show_type(m, sb); |
6782 | diff -NurpP --minimal linux-3.4.57/fs/quota/dquot.c linux-3.4.57-vs2.3.3.9/fs/quota/dquot.c | 6650 | diff -NurpP --minimal linux-3.10.17/fs/quota/dquot.c linux-3.10.17-vs2.3.6.6/fs/quota/dquot.c |
6783 | --- linux-3.4.57/fs/quota/dquot.c 2012-05-21 16:07:26.000000000 +0000 | 6651 | --- linux-3.10.17/fs/quota/dquot.c 2013-05-31 13:45:25.000000000 +0000 |
6784 | +++ linux-3.4.57-vs2.3.3.9/fs/quota/dquot.c 2012-05-21 16:15:05.000000000 +0000 | 6652 | +++ linux-3.10.17-vs2.3.6.6/fs/quota/dquot.c 2013-08-22 20:30:00.000000000 +0000 |
6785 | @@ -1563,6 +1563,9 @@ int __dquot_alloc_space(struct inode *in | 6653 | @@ -1585,6 +1585,9 @@ int __dquot_alloc_space(struct inode *in |
6786 | struct dquot **dquots = inode->i_dquot; | 6654 | struct dquot **dquots = inode->i_dquot; |
6787 | int reserve = flags & DQUOT_SPACE_RESERVE; | 6655 | int reserve = flags & DQUOT_SPACE_RESERVE; |
6788 | 6656 | ||
@@ -6792,7 +6660,7 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/dquot.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6792 | /* | 6660 | /* |
6793 | * First test before acquiring mutex - solves deadlocks when we | 6661 | * First test before acquiring mutex - solves deadlocks when we |
6794 | * re-enter the quota code and are already holding the mutex | 6662 | * re-enter the quota code and are already holding the mutex |
6795 | @@ -1618,6 +1621,9 @@ int dquot_alloc_inode(const struct inode | 6663 | @@ -1640,6 +1643,9 @@ int dquot_alloc_inode(const struct inode |
6796 | struct dquot_warn warn[MAXQUOTAS]; | 6664 | struct dquot_warn warn[MAXQUOTAS]; |
6797 | struct dquot * const *dquots = inode->i_dquot; | 6665 | struct dquot * const *dquots = inode->i_dquot; |
6798 | 6666 | ||
@@ -6802,7 +6670,7 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/dquot.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6802 | /* First test before acquiring mutex - solves deadlocks when we | 6670 | /* First test before acquiring mutex - solves deadlocks when we |
6803 | * re-enter the quota code and are already holding the mutex */ | 6671 | * re-enter the quota code and are already holding the mutex */ |
6804 | if (!dquot_active(inode)) | 6672 | if (!dquot_active(inode)) |
6805 | @@ -1689,6 +1695,8 @@ void __dquot_free_space(struct inode *in | 6673 | @@ -1711,6 +1717,8 @@ void __dquot_free_space(struct inode *in |
6806 | struct dquot **dquots = inode->i_dquot; | 6674 | struct dquot **dquots = inode->i_dquot; |
6807 | int reserve = flags & DQUOT_SPACE_RESERVE; | 6675 | int reserve = flags & DQUOT_SPACE_RESERVE; |
6808 | 6676 | ||
@@ -6811,7 +6679,7 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/dquot.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6811 | /* First test before acquiring mutex - solves deadlocks when we | 6679 | /* First test before acquiring mutex - solves deadlocks when we |
6812 | * re-enter the quota code and are already holding the mutex */ | 6680 | * re-enter the quota code and are already holding the mutex */ |
6813 | if (!dquot_active(inode)) { | 6681 | if (!dquot_active(inode)) { |
6814 | @@ -1733,6 +1741,8 @@ void dquot_free_inode(const struct inode | 6682 | @@ -1755,6 +1763,8 @@ void dquot_free_inode(const struct inode |
6815 | struct dquot_warn warn[MAXQUOTAS]; | 6683 | struct dquot_warn warn[MAXQUOTAS]; |
6816 | struct dquot * const *dquots = inode->i_dquot; | 6684 | struct dquot * const *dquots = inode->i_dquot; |
6817 | 6685 | ||
@@ -6820,16 +6688,16 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/dquot.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6820 | /* First test before acquiring mutex - solves deadlocks when we | 6688 | /* First test before acquiring mutex - solves deadlocks when we |
6821 | * re-enter the quota code and are already holding the mutex */ | 6689 | * re-enter the quota code and are already holding the mutex */ |
6822 | if (!dquot_active(inode)) | 6690 | if (!dquot_active(inode)) |
6823 | diff -NurpP --minimal linux-3.4.57/fs/quota/quota.c linux-3.4.57-vs2.3.3.9/fs/quota/quota.c | 6691 | diff -NurpP --minimal linux-3.10.17/fs/quota/quota.c linux-3.10.17-vs2.3.6.6/fs/quota/quota.c |
6824 | --- linux-3.4.57/fs/quota/quota.c 2012-05-21 16:07:26.000000000 +0000 | 6692 | --- linux-3.10.17/fs/quota/quota.c 2013-02-19 13:58:49.000000000 +0000 |
6825 | +++ linux-3.4.57-vs2.3.3.9/fs/quota/quota.c 2012-05-21 16:15:05.000000000 +0000 | 6693 | +++ linux-3.10.17-vs2.3.6.6/fs/quota/quota.c 2013-08-22 20:30:00.000000000 +0000 |
6826 | @@ -8,6 +8,7 @@ | 6694 | @@ -8,6 +8,7 @@ |
6827 | #include <linux/fs.h> | 6695 | #include <linux/fs.h> |
6828 | #include <linux/namei.h> | 6696 | #include <linux/namei.h> |
6829 | #include <linux/slab.h> | 6697 | #include <linux/slab.h> |
6830 | +#include <linux/vs_context.h> | 6698 | +#include <linux/vs_context.h> |
6831 | #include <asm/current.h> | 6699 | #include <asm/current.h> |
6832 | #include <asm/uaccess.h> | 6700 | #include <linux/uaccess.h> |
6833 | #include <linux/kernel.h> | 6701 | #include <linux/kernel.h> |
6834 | @@ -37,7 +38,7 @@ static int check_quotactl_permission(str | 6702 | @@ -37,7 +38,7 @@ static int check_quotactl_permission(str |
6835 | break; | 6703 | break; |
@@ -6840,9 +6708,9 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/quota.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6840 | return -EPERM; | 6708 | return -EPERM; |
6841 | } | 6709 | } |
6842 | 6710 | ||
6843 | @@ -291,6 +292,46 @@ static int do_quotactl(struct super_bloc | 6711 | @@ -309,6 +310,46 @@ static int do_quotactl(struct super_bloc |
6844 | } | 6712 | |
6845 | } | 6713 | #ifdef CONFIG_BLOCK |
6846 | 6714 | ||
6847 | +#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE) | 6715 | +#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE) |
6848 | + | 6716 | + |
@@ -6887,13 +6755,13 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/quota.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6887 | /* Return 1 if 'cmd' will block on frozen filesystem */ | 6755 | /* Return 1 if 'cmd' will block on frozen filesystem */ |
6888 | static int quotactl_cmd_write(int cmd) | 6756 | static int quotactl_cmd_write(int cmd) |
6889 | { | 6757 | { |
6890 | @@ -323,6 +364,22 @@ static struct super_block *quotactl_bloc | 6758 | @@ -343,6 +384,22 @@ static struct super_block *quotactl_bloc |
6891 | putname(tmp); | 6759 | putname(tmp); |
6892 | if (IS_ERR(bdev)) | 6760 | if (IS_ERR(bdev)) |
6893 | return ERR_CAST(bdev); | 6761 | return ERR_CAST(bdev); |
6894 | +#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE) | 6762 | +#if defined(CONFIG_BLK_DEV_VROOT) || defined(CONFIG_BLK_DEV_VROOT_MODULE) |
6895 | + if (bdev && bdev->bd_inode && | 6763 | + if (bdev && bdev->bd_inode && |
6896 | + imajor(bdev->bd_inode) == VROOT_MAJOR) { | 6764 | + imajor(bdev->bd_inode) == VROOT_MAJOR) { |
6897 | + struct block_device *bdnew = (void *)-EINVAL; | 6765 | + struct block_device *bdnew = (void *)-EINVAL; |
6898 | + | 6766 | + |
6899 | + if (vroot_get_real_bdev) | 6767 | + if (vroot_get_real_bdev) |
@@ -6910,366 +6778,9 @@ diff -NurpP --minimal linux-3.4.57/fs/quota/quota.c linux-3.4.57-vs2.3.3.9/fs/qu | |||
6910 | if (quotactl_cmd_write(cmd)) | 6778 | if (quotactl_cmd_write(cmd)) |
6911 | sb = get_super_thawed(bdev); | 6779 | sb = get_super_thawed(bdev); |
6912 | else | 6780 | else |
6913 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/file.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/file.c | 6781 | diff -NurpP --minimal linux-3.10.17/fs/stat.c linux-3.10.17-vs2.3.6.6/fs/stat.c |
6914 | --- linux-3.4.57/fs/reiserfs/file.c 2012-05-21 16:07:26.000000000 +0000 | 6782 | --- linux-3.10.17/fs/stat.c 2013-05-31 13:45:25.000000000 +0000 |
6915 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/file.c 2012-05-21 16:15:05.000000000 +0000 | 6783 | +++ linux-3.10.17-vs2.3.6.6/fs/stat.c 2013-08-22 20:30:00.000000000 +0000 |
6916 | @@ -319,5 +319,6 @@ const struct inode_operations reiserfs_f | ||
6917 | .listxattr = reiserfs_listxattr, | ||
6918 | .removexattr = reiserfs_removexattr, | ||
6919 | .permission = reiserfs_permission, | ||
6920 | + .sync_flags = reiserfs_sync_flags, | ||
6921 | .get_acl = reiserfs_get_acl, | ||
6922 | }; | ||
6923 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/inode.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/inode.c | ||
6924 | --- linux-3.4.57/fs/reiserfs/inode.c 2013-08-13 14:13:34.000000000 +0000 | ||
6925 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/inode.c 2012-12-08 00:53:53.000000000 +0000 | ||
6926 | @@ -18,6 +18,7 @@ | ||
6927 | #include <linux/writeback.h> | ||
6928 | #include <linux/quotaops.h> | ||
6929 | #include <linux/swap.h> | ||
6930 | +#include <linux/vs_tag.h> | ||
6931 | |||
6932 | int reiserfs_commit_write(struct file *f, struct page *page, | ||
6933 | unsigned from, unsigned to); | ||
6934 | @@ -1131,6 +1132,8 @@ static void init_inode(struct inode *ino | ||
6935 | struct buffer_head *bh; | ||
6936 | struct item_head *ih; | ||
6937 | __u32 rdev; | ||
6938 | + uid_t uid; | ||
6939 | + gid_t gid; | ||
6940 | //int version = ITEM_VERSION_1; | ||
6941 | |||
6942 | bh = PATH_PLAST_BUFFER(path); | ||
6943 | @@ -1151,12 +1154,13 @@ static void init_inode(struct inode *ino | ||
6944 | (struct stat_data_v1 *)B_I_PITEM(bh, ih); | ||
6945 | unsigned long blocks; | ||
6946 | |||
6947 | + uid = sd_v1_uid(sd); | ||
6948 | + gid = sd_v1_gid(sd); | ||
6949 | + | ||
6950 | set_inode_item_key_version(inode, KEY_FORMAT_3_5); | ||
6951 | set_inode_sd_version(inode, STAT_DATA_V1); | ||
6952 | inode->i_mode = sd_v1_mode(sd); | ||
6953 | set_nlink(inode, sd_v1_nlink(sd)); | ||
6954 | - inode->i_uid = sd_v1_uid(sd); | ||
6955 | - inode->i_gid = sd_v1_gid(sd); | ||
6956 | inode->i_size = sd_v1_size(sd); | ||
6957 | inode->i_atime.tv_sec = sd_v1_atime(sd); | ||
6958 | inode->i_mtime.tv_sec = sd_v1_mtime(sd); | ||
6959 | @@ -1198,11 +1202,12 @@ static void init_inode(struct inode *ino | ||
6960 | // (directories and symlinks) | ||
6961 | struct stat_data *sd = (struct stat_data *)B_I_PITEM(bh, ih); | ||
6962 | |||
6963 | + uid = sd_v2_uid(sd); | ||
6964 | + gid = sd_v2_gid(sd); | ||
6965 | + | ||
6966 | inode->i_mode = sd_v2_mode(sd); | ||
6967 | set_nlink(inode, sd_v2_nlink(sd)); | ||
6968 | - inode->i_uid = sd_v2_uid(sd); | ||
6969 | inode->i_size = sd_v2_size(sd); | ||
6970 | - inode->i_gid = sd_v2_gid(sd); | ||
6971 | inode->i_mtime.tv_sec = sd_v2_mtime(sd); | ||
6972 | inode->i_atime.tv_sec = sd_v2_atime(sd); | ||
6973 | inode->i_ctime.tv_sec = sd_v2_ctime(sd); | ||
6974 | @@ -1232,6 +1237,10 @@ static void init_inode(struct inode *ino | ||
6975 | sd_attrs_to_i_attrs(sd_v2_attrs(sd), inode); | ||
6976 | } | ||
6977 | |||
6978 | + inode->i_uid = INOTAG_UID(DX_TAG(inode), uid, gid); | ||
6979 | + inode->i_gid = INOTAG_GID(DX_TAG(inode), uid, gid); | ||
6980 | + inode->i_tag = INOTAG_TAG(DX_TAG(inode), uid, gid, 0); | ||
6981 | + | ||
6982 | pathrelse(path); | ||
6983 | if (S_ISREG(inode->i_mode)) { | ||
6984 | inode->i_op = &reiserfs_file_inode_operations; | ||
6985 | @@ -1254,13 +1263,15 @@ static void init_inode(struct inode *ino | ||
6986 | static void inode2sd(void *sd, struct inode *inode, loff_t size) | ||
6987 | { | ||
6988 | struct stat_data *sd_v2 = (struct stat_data *)sd; | ||
6989 | + uid_t uid = TAGINO_UID(DX_TAG(inode), inode->i_uid, inode->i_tag); | ||
6990 | + gid_t gid = TAGINO_GID(DX_TAG(inode), inode->i_gid, inode->i_tag); | ||
6991 | __u16 flags; | ||
6992 | |||
6993 | + set_sd_v2_uid(sd_v2, uid); | ||
6994 | + set_sd_v2_gid(sd_v2, gid); | ||
6995 | set_sd_v2_mode(sd_v2, inode->i_mode); | ||
6996 | set_sd_v2_nlink(sd_v2, inode->i_nlink); | ||
6997 | - set_sd_v2_uid(sd_v2, inode->i_uid); | ||
6998 | set_sd_v2_size(sd_v2, size); | ||
6999 | - set_sd_v2_gid(sd_v2, inode->i_gid); | ||
7000 | set_sd_v2_mtime(sd_v2, inode->i_mtime.tv_sec); | ||
7001 | set_sd_v2_atime(sd_v2, inode->i_atime.tv_sec); | ||
7002 | set_sd_v2_ctime(sd_v2, inode->i_ctime.tv_sec); | ||
7003 | @@ -2875,14 +2886,19 @@ int reiserfs_commit_write(struct file *f | ||
7004 | void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode) | ||
7005 | { | ||
7006 | if (reiserfs_attrs(inode->i_sb)) { | ||
7007 | - if (sd_attrs & REISERFS_SYNC_FL) | ||
7008 | - inode->i_flags |= S_SYNC; | ||
7009 | - else | ||
7010 | - inode->i_flags &= ~S_SYNC; | ||
7011 | if (sd_attrs & REISERFS_IMMUTABLE_FL) | ||
7012 | inode->i_flags |= S_IMMUTABLE; | ||
7013 | else | ||
7014 | inode->i_flags &= ~S_IMMUTABLE; | ||
7015 | + if (sd_attrs & REISERFS_IXUNLINK_FL) | ||
7016 | + inode->i_flags |= S_IXUNLINK; | ||
7017 | + else | ||
7018 | + inode->i_flags &= ~S_IXUNLINK; | ||
7019 | + | ||
7020 | + if (sd_attrs & REISERFS_SYNC_FL) | ||
7021 | + inode->i_flags |= S_SYNC; | ||
7022 | + else | ||
7023 | + inode->i_flags &= ~S_SYNC; | ||
7024 | if (sd_attrs & REISERFS_APPEND_FL) | ||
7025 | inode->i_flags |= S_APPEND; | ||
7026 | else | ||
7027 | @@ -2895,6 +2911,15 @@ void sd_attrs_to_i_attrs(__u16 sd_attrs, | ||
7028 | REISERFS_I(inode)->i_flags |= i_nopack_mask; | ||
7029 | else | ||
7030 | REISERFS_I(inode)->i_flags &= ~i_nopack_mask; | ||
7031 | + | ||
7032 | + if (sd_attrs & REISERFS_BARRIER_FL) | ||
7033 | + inode->i_vflags |= V_BARRIER; | ||
7034 | + else | ||
7035 | + inode->i_vflags &= ~V_BARRIER; | ||
7036 | + if (sd_attrs & REISERFS_COW_FL) | ||
7037 | + inode->i_vflags |= V_COW; | ||
7038 | + else | ||
7039 | + inode->i_vflags &= ~V_COW; | ||
7040 | } | ||
7041 | } | ||
7042 | |||
7043 | @@ -2905,6 +2930,11 @@ void i_attrs_to_sd_attrs(struct inode *i | ||
7044 | *sd_attrs |= REISERFS_IMMUTABLE_FL; | ||
7045 | else | ||
7046 | *sd_attrs &= ~REISERFS_IMMUTABLE_FL; | ||
7047 | + if (inode->i_flags & S_IXUNLINK) | ||
7048 | + *sd_attrs |= REISERFS_IXUNLINK_FL; | ||
7049 | + else | ||
7050 | + *sd_attrs &= ~REISERFS_IXUNLINK_FL; | ||
7051 | + | ||
7052 | if (inode->i_flags & S_SYNC) | ||
7053 | *sd_attrs |= REISERFS_SYNC_FL; | ||
7054 | else | ||
7055 | @@ -2917,6 +2947,15 @@ void i_attrs_to_sd_attrs(struct inode *i | ||
7056 | *sd_attrs |= REISERFS_NOTAIL_FL; | ||
7057 | else | ||
7058 | *sd_attrs &= ~REISERFS_NOTAIL_FL; | ||
7059 | + | ||
7060 | + if (inode->i_vflags & V_BARRIER) | ||
7061 | + *sd_attrs |= REISERFS_BARRIER_FL; | ||
7062 | + else | ||
7063 | + *sd_attrs &= ~REISERFS_BARRIER_FL; | ||
7064 | + if (inode->i_vflags & V_COW) | ||
7065 | + *sd_attrs |= REISERFS_COW_FL; | ||
7066 | + else | ||
7067 | + *sd_attrs &= ~REISERFS_COW_FL; | ||
7068 | } | ||
7069 | } | ||
7070 | |||
7071 | @@ -3161,7 +3200,8 @@ int reiserfs_setattr(struct dentry *dent | ||
7072 | } | ||
7073 | |||
7074 | if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) || | ||
7075 | - (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid)) { | ||
7076 | + (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid) || | ||
7077 | + (ia_valid & ATTR_TAG && attr->ia_tag != inode->i_tag)) { | ||
7078 | struct reiserfs_transaction_handle th; | ||
7079 | int jbegin_count = | ||
7080 | 2 * | ||
7081 | @@ -3192,6 +3232,9 @@ int reiserfs_setattr(struct dentry *dent | ||
7082 | inode->i_uid = attr->ia_uid; | ||
7083 | if (attr->ia_valid & ATTR_GID) | ||
7084 | inode->i_gid = attr->ia_gid; | ||
7085 | + if ((attr->ia_valid & ATTR_TAG) && | ||
7086 | + IS_TAGGED(inode)) | ||
7087 | + inode->i_tag = attr->ia_tag; | ||
7088 | mark_inode_dirty(inode); | ||
7089 | error = journal_end(&th, inode->i_sb, jbegin_count); | ||
7090 | if (error) | ||
7091 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/ioctl.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/ioctl.c | ||
7092 | --- linux-3.4.57/fs/reiserfs/ioctl.c 2012-05-21 16:07:27.000000000 +0000 | ||
7093 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/ioctl.c 2012-05-21 16:15:05.000000000 +0000 | ||
7094 | @@ -11,6 +11,21 @@ | ||
7095 | #include <linux/pagemap.h> | ||
7096 | #include <linux/compat.h> | ||
7097 | |||
7098 | + | ||
7099 | +int reiserfs_sync_flags(struct inode *inode, int flags, int vflags) | ||
7100 | +{ | ||
7101 | + __u16 sd_attrs = 0; | ||
7102 | + | ||
7103 | + inode->i_flags = flags; | ||
7104 | + inode->i_vflags = vflags; | ||
7105 | + | ||
7106 | + i_attrs_to_sd_attrs(inode, &sd_attrs); | ||
7107 | + REISERFS_I(inode)->i_attrs = sd_attrs; | ||
7108 | + inode->i_ctime = CURRENT_TIME_SEC; | ||
7109 | + mark_inode_dirty(inode); | ||
7110 | + return 0; | ||
7111 | +} | ||
7112 | + | ||
7113 | /* | ||
7114 | * reiserfs_ioctl - handler for ioctl for inode | ||
7115 | * supported commands: | ||
7116 | @@ -22,7 +37,7 @@ | ||
7117 | long reiserfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | ||
7118 | { | ||
7119 | struct inode *inode = filp->f_path.dentry->d_inode; | ||
7120 | - unsigned int flags; | ||
7121 | + unsigned int flags, oldflags; | ||
7122 | int err = 0; | ||
7123 | |||
7124 | reiserfs_write_lock(inode->i_sb); | ||
7125 | @@ -47,6 +62,7 @@ long reiserfs_ioctl(struct file *filp, u | ||
7126 | |||
7127 | flags = REISERFS_I(inode)->i_attrs; | ||
7128 | i_attrs_to_sd_attrs(inode, (__u16 *) & flags); | ||
7129 | + flags &= REISERFS_FL_USER_VISIBLE; | ||
7130 | err = put_user(flags, (int __user *)arg); | ||
7131 | break; | ||
7132 | case REISERFS_IOC_SETFLAGS:{ | ||
7133 | @@ -67,6 +83,10 @@ long reiserfs_ioctl(struct file *filp, u | ||
7134 | err = -EFAULT; | ||
7135 | goto setflags_out; | ||
7136 | } | ||
7137 | + if (IS_BARRIER(inode)) { | ||
7138 | + vxwprintk_task(1, "messing with the barrier."); | ||
7139 | + return -EACCES; | ||
7140 | + } | ||
7141 | /* | ||
7142 | * Is it quota file? Do not allow user to mess with it | ||
7143 | */ | ||
7144 | @@ -91,6 +111,10 @@ long reiserfs_ioctl(struct file *filp, u | ||
7145 | goto setflags_out; | ||
7146 | } | ||
7147 | } | ||
7148 | + | ||
7149 | + oldflags = REISERFS_I(inode)->i_attrs; | ||
7150 | + flags &= REISERFS_FL_USER_MODIFIABLE; | ||
7151 | + flags |= oldflags & ~REISERFS_FL_USER_MODIFIABLE; | ||
7152 | sd_attrs_to_i_attrs(flags, inode); | ||
7153 | REISERFS_I(inode)->i_attrs = flags; | ||
7154 | inode->i_ctime = CURRENT_TIME_SEC; | ||
7155 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/namei.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/namei.c | ||
7156 | --- linux-3.4.57/fs/reiserfs/namei.c 2012-05-21 16:07:27.000000000 +0000 | ||
7157 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/namei.c 2012-05-21 16:15:05.000000000 +0000 | ||
7158 | @@ -18,6 +18,7 @@ | ||
7159 | #include "acl.h" | ||
7160 | #include "xattr.h" | ||
7161 | #include <linux/quotaops.h> | ||
7162 | +#include <linux/vs_tag.h> | ||
7163 | |||
7164 | #define INC_DIR_INODE_NLINK(i) if (i->i_nlink != 1) { inc_nlink(i); if (i->i_nlink >= REISERFS_LINK_MAX) set_nlink(i, 1); } | ||
7165 | #define DEC_DIR_INODE_NLINK(i) if (i->i_nlink != 1) drop_nlink(i); | ||
7166 | @@ -362,6 +363,7 @@ static struct dentry *reiserfs_lookup(st | ||
7167 | if (retval == IO_ERROR) { | ||
7168 | return ERR_PTR(-EIO); | ||
7169 | } | ||
7170 | + dx_propagate_tag(nd, inode); | ||
7171 | |||
7172 | return d_splice_alias(inode, dentry); | ||
7173 | } | ||
7174 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/reiserfs.h linux-3.4.57-vs2.3.3.9/fs/reiserfs/reiserfs.h | ||
7175 | --- linux-3.4.57/fs/reiserfs/reiserfs.h 2012-05-21 16:07:27.000000000 +0000 | ||
7176 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/reiserfs.h 2012-05-21 17:19:33.000000000 +0000 | ||
7177 | @@ -544,6 +544,7 @@ enum reiserfs_mount_options { | ||
7178 | REISERFS_EXPOSE_PRIVROOT, | ||
7179 | REISERFS_BARRIER_NONE, | ||
7180 | REISERFS_BARRIER_FLUSH, | ||
7181 | + REISERFS_TAGGED, | ||
7182 | |||
7183 | /* Actions on error */ | ||
7184 | REISERFS_ERROR_PANIC, | ||
7185 | @@ -1543,6 +1544,11 @@ struct stat_data_v1 { | ||
7186 | #define REISERFS_COMPR_FL FS_COMPR_FL | ||
7187 | #define REISERFS_NOTAIL_FL FS_NOTAIL_FL | ||
7188 | |||
7189 | +/* unfortunately reiserfs sdattr is only 16 bit */ | ||
7190 | +#define REISERFS_IXUNLINK_FL (FS_IXUNLINK_FL >> 16) | ||
7191 | +#define REISERFS_BARRIER_FL (FS_BARRIER_FL >> 16) | ||
7192 | +#define REISERFS_COW_FL (FS_COW_FL >> 16) | ||
7193 | + | ||
7194 | /* persistent flags that file inherits from the parent directory */ | ||
7195 | #define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL | \ | ||
7196 | REISERFS_SYNC_FL | \ | ||
7197 | @@ -1552,6 +1558,9 @@ struct stat_data_v1 { | ||
7198 | REISERFS_COMPR_FL | \ | ||
7199 | REISERFS_NOTAIL_FL ) | ||
7200 | |||
7201 | +#define REISERFS_FL_USER_VISIBLE 0x80FF | ||
7202 | +#define REISERFS_FL_USER_MODIFIABLE 0x80FF | ||
7203 | + | ||
7204 | /* Stat Data on disk (reiserfs version of UFS disk inode minus the | ||
7205 | address blocks) */ | ||
7206 | struct stat_data { | ||
7207 | @@ -2641,6 +2650,7 @@ static inline void reiserfs_update_sd(st | ||
7208 | void sd_attrs_to_i_attrs(__u16 sd_attrs, struct inode *inode); | ||
7209 | void i_attrs_to_sd_attrs(struct inode *inode, __u16 * sd_attrs); | ||
7210 | int reiserfs_setattr(struct dentry *dentry, struct iattr *attr); | ||
7211 | +int reiserfs_sync_flags(struct inode *inode, int, int); | ||
7212 | |||
7213 | int __reiserfs_write_begin(struct page *page, unsigned from, unsigned len); | ||
7214 | |||
7215 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/super.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/super.c | ||
7216 | --- linux-3.4.57/fs/reiserfs/super.c 2013-08-13 14:13:34.000000000 +0000 | ||
7217 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/super.c 2012-12-08 00:53:53.000000000 +0000 | ||
7218 | @@ -982,6 +982,14 @@ static int reiserfs_parse_options(struct | ||
7219 | {"user_xattr",.setmask = 1 << REISERFS_UNSUPPORTED_OPT}, | ||
7220 | {"nouser_xattr",.clrmask = 1 << REISERFS_UNSUPPORTED_OPT}, | ||
7221 | #endif | ||
7222 | +#ifndef CONFIG_TAGGING_NONE | ||
7223 | + {"tagxid",.setmask = 1 << REISERFS_TAGGED}, | ||
7224 | + {"tag",.setmask = 1 << REISERFS_TAGGED}, | ||
7225 | + {"notag",.clrmask = 1 << REISERFS_TAGGED}, | ||
7226 | +#endif | ||
7227 | +#ifdef CONFIG_PROPAGATE | ||
7228 | + {"tag",.arg_required = 'T',.values = NULL}, | ||
7229 | +#endif | ||
7230 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
7231 | {"acl",.setmask = 1 << REISERFS_POSIXACL}, | ||
7232 | {"noacl",.clrmask = 1 << REISERFS_POSIXACL}, | ||
7233 | @@ -1300,6 +1308,14 @@ static int reiserfs_remount(struct super | ||
7234 | handle_quota_files(s, qf_names, &qfmt); | ||
7235 | #endif | ||
7236 | |||
7237 | + if ((mount_options & (1 << REISERFS_TAGGED)) && | ||
7238 | + !(s->s_flags & MS_TAGGED)) { | ||
7239 | + reiserfs_warning(s, "super-vs01", | ||
7240 | + "reiserfs: tagging not permitted on remount."); | ||
7241 | + err = -EINVAL; | ||
7242 | + goto out_err; | ||
7243 | + } | ||
7244 | + | ||
7245 | handle_attrs(s); | ||
7246 | |||
7247 | /* Add options that are safe here */ | ||
7248 | @@ -1792,6 +1808,10 @@ static int reiserfs_fill_super(struct su | ||
7249 | goto error_unlocked; | ||
7250 | } | ||
7251 | |||
7252 | + /* map mount option tagxid */ | ||
7253 | + if (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_TAGGED)) | ||
7254 | + s->s_flags |= MS_TAGGED; | ||
7255 | + | ||
7256 | rs = SB_DISK_SUPER_BLOCK(s); | ||
7257 | /* Let's do basic sanity check to verify that underlying device is not | ||
7258 | smaller than the filesystem. If the check fails then abort and scream, | ||
7259 | diff -NurpP --minimal linux-3.4.57/fs/reiserfs/xattr.c linux-3.4.57-vs2.3.3.9/fs/reiserfs/xattr.c | ||
7260 | --- linux-3.4.57/fs/reiserfs/xattr.c 2013-08-13 14:13:34.000000000 +0000 | ||
7261 | +++ linux-3.4.57-vs2.3.3.9/fs/reiserfs/xattr.c 2013-07-14 13:38:35.000000000 +0000 | ||
7262 | @@ -40,6 +40,7 @@ | ||
7263 | #include <linux/errno.h> | ||
7264 | #include <linux/gfp.h> | ||
7265 | #include <linux/fs.h> | ||
7266 | +#include <linux/mount.h> | ||
7267 | #include <linux/file.h> | ||
7268 | #include <linux/pagemap.h> | ||
7269 | #include <linux/xattr.h> | ||
7270 | diff -NurpP --minimal linux-3.4.57/fs/stat.c linux-3.4.57-vs2.3.3.9/fs/stat.c | ||
7271 | --- linux-3.4.57/fs/stat.c 2013-08-13 14:13:34.000000000 +0000 | ||
7272 | +++ linux-3.4.57-vs2.3.3.9/fs/stat.c 2012-10-22 13:09:53.000000000 +0000 | ||
7273 | @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod | 6784 | @@ -26,6 +26,7 @@ void generic_fillattr(struct inode *inod |
7274 | stat->nlink = inode->i_nlink; | 6785 | stat->nlink = inode->i_nlink; |
7275 | stat->uid = inode->i_uid; | 6786 | stat->uid = inode->i_uid; |
@@ -7278,9 +6789,9 @@ diff -NurpP --minimal linux-3.4.57/fs/stat.c linux-3.4.57-vs2.3.3.9/fs/stat.c | |||
7278 | stat->rdev = inode->i_rdev; | 6789 | stat->rdev = inode->i_rdev; |
7279 | stat->size = i_size_read(inode); | 6790 | stat->size = i_size_read(inode); |
7280 | stat->atime = inode->i_atime; | 6791 | stat->atime = inode->i_atime; |
7281 | diff -NurpP --minimal linux-3.4.57/fs/statfs.c linux-3.4.57-vs2.3.3.9/fs/statfs.c | 6792 | diff -NurpP --minimal linux-3.10.17/fs/statfs.c linux-3.10.17-vs2.3.6.6/fs/statfs.c |
7282 | --- linux-3.4.57/fs/statfs.c 2012-05-21 16:07:27.000000000 +0000 | 6793 | --- linux-3.10.17/fs/statfs.c 2013-10-25 15:17:43.000000000 +0000 |
7283 | +++ linux-3.4.57-vs2.3.3.9/fs/statfs.c 2012-05-21 16:15:05.000000000 +0000 | 6794 | +++ linux-3.10.17-vs2.3.6.6/fs/statfs.c 2013-10-26 18:03:16.000000000 +0000 |
7284 | @@ -7,6 +7,8 @@ | 6795 | @@ -7,6 +7,8 @@ |
7285 | #include <linux/statfs.h> | 6796 | #include <linux/statfs.h> |
7286 | #include <linux/security.h> | 6797 | #include <linux/security.h> |
@@ -7299,19 +6810,19 @@ diff -NurpP --minimal linux-3.4.57/fs/statfs.c linux-3.4.57-vs2.3.3.9/fs/statfs. | |||
7299 | return retval; | 6810 | return retval; |
7300 | } | 6811 | } |
7301 | 6812 | ||
7302 | diff -NurpP --minimal linux-3.4.57/fs/super.c linux-3.4.57-vs2.3.3.9/fs/super.c | 6813 | diff -NurpP --minimal linux-3.10.17/fs/super.c linux-3.10.17-vs2.3.6.6/fs/super.c |
7303 | --- linux-3.4.57/fs/super.c 2013-08-13 14:13:34.000000000 +0000 | 6814 | --- linux-3.10.17/fs/super.c 2013-10-25 15:17:43.000000000 +0000 |
7304 | +++ linux-3.4.57-vs2.3.3.9/fs/super.c 2013-08-13 17:07:36.000000000 +0000 | 6815 | +++ linux-3.10.17-vs2.3.6.6/fs/super.c 2013-08-22 20:30:00.000000000 +0000 |
7305 | @@ -33,6 +33,8 @@ | 6816 | @@ -34,6 +34,8 @@ |
7306 | #include <linux/rculist_bl.h> | ||
7307 | #include <linux/cleancache.h> | 6817 | #include <linux/cleancache.h> |
7308 | #include <linux/fsnotify.h> | 6818 | #include <linux/fsnotify.h> |
6819 | #include <linux/lockdep.h> | ||
7309 | +#include <linux/magic.h> | 6820 | +#include <linux/magic.h> |
7310 | +#include <linux/vs_context.h> | 6821 | +#include <linux/vs_context.h> |
7311 | #include "internal.h" | 6822 | #include "internal.h" |
7312 | 6823 | ||
7313 | 6824 | ||
7314 | @@ -1133,6 +1135,13 @@ mount_fs(struct file_system_type *type, | 6825 | @@ -1112,6 +1114,13 @@ mount_fs(struct file_system_type *type, |
7315 | WARN_ON(sb->s_bdi == &default_backing_dev_info); | 6826 | WARN_ON(sb->s_bdi == &default_backing_dev_info); |
7316 | sb->s_flags |= MS_BORN; | 6827 | sb->s_flags |= MS_BORN; |
7317 | 6828 | ||
@@ -7325,10 +6836,10 @@ diff -NurpP --minimal linux-3.4.57/fs/super.c linux-3.4.57-vs2.3.3.9/fs/super.c | |||
7325 | error = security_sb_kern_mount(sb, flags, secdata); | 6836 | error = security_sb_kern_mount(sb, flags, secdata); |
7326 | if (error) | 6837 | if (error) |
7327 | goto out_sb; | 6838 | goto out_sb; |
7328 | diff -NurpP --minimal linux-3.4.57/fs/sysfs/mount.c linux-3.4.57-vs2.3.3.9/fs/sysfs/mount.c | 6839 | diff -NurpP --minimal linux-3.10.17/fs/sysfs/mount.c linux-3.10.17-vs2.3.6.6/fs/sysfs/mount.c |
7329 | --- linux-3.4.57/fs/sysfs/mount.c 2012-05-21 16:07:27.000000000 +0000 | 6840 | --- linux-3.10.17/fs/sysfs/mount.c 2013-05-31 13:45:25.000000000 +0000 |
7330 | +++ linux-3.4.57-vs2.3.3.9/fs/sysfs/mount.c 2012-05-21 16:15:05.000000000 +0000 | 6841 | +++ linux-3.10.17-vs2.3.6.6/fs/sysfs/mount.c 2013-08-22 20:30:00.000000000 +0000 |
7331 | @@ -47,7 +47,7 @@ static int sysfs_fill_super(struct super | 6842 | @@ -48,7 +48,7 @@ static int sysfs_fill_super(struct super |
7332 | 6843 | ||
7333 | sb->s_blocksize = PAGE_CACHE_SIZE; | 6844 | sb->s_blocksize = PAGE_CACHE_SIZE; |
7334 | sb->s_blocksize_bits = PAGE_CACHE_SHIFT; | 6845 | sb->s_blocksize_bits = PAGE_CACHE_SHIFT; |
@@ -7337,9 +6848,9 @@ diff -NurpP --minimal linux-3.4.57/fs/sysfs/mount.c linux-3.4.57-vs2.3.3.9/fs/sy | |||
7337 | sb->s_op = &sysfs_ops; | 6848 | sb->s_op = &sysfs_ops; |
7338 | sb->s_time_gran = 1; | 6849 | sb->s_time_gran = 1; |
7339 | 6850 | ||
7340 | diff -NurpP --minimal linux-3.4.57/fs/utimes.c linux-3.4.57-vs2.3.3.9/fs/utimes.c | 6851 | diff -NurpP --minimal linux-3.10.17/fs/utimes.c linux-3.10.17-vs2.3.6.6/fs/utimes.c |
7341 | --- linux-3.4.57/fs/utimes.c 2011-05-22 14:17:54.000000000 +0000 | 6852 | --- linux-3.10.17/fs/utimes.c 2013-02-19 13:58:49.000000000 +0000 |
7342 | +++ linux-3.4.57-vs2.3.3.9/fs/utimes.c 2012-05-21 16:15:05.000000000 +0000 | 6853 | +++ linux-3.10.17-vs2.3.6.6/fs/utimes.c 2013-08-22 20:30:00.000000000 +0000 |
7343 | @@ -8,6 +8,8 @@ | 6854 | @@ -8,6 +8,8 @@ |
7344 | #include <linux/stat.h> | 6855 | #include <linux/stat.h> |
7345 | #include <linux/utime.h> | 6856 | #include <linux/utime.h> |
@@ -7355,32 +6866,32 @@ diff -NurpP --minimal linux-3.4.57/fs/utimes.c linux-3.4.57-vs2.3.3.9/fs/utimes. | |||
7355 | struct iattr newattrs; | 6866 | struct iattr newattrs; |
7356 | - struct inode *inode = path->dentry->d_inode; | 6867 | - struct inode *inode = path->dentry->d_inode; |
7357 | + struct inode *inode; | 6868 | + struct inode *inode; |
6869 | + | ||
6870 | + error = cow_check_and_break(path); | ||
6871 | + if (error) | ||
6872 | + goto out; | ||
7358 | 6873 | ||
7359 | error = mnt_want_write(path->mnt); | 6874 | error = mnt_want_write(path->mnt); |
7360 | if (error) | 6875 | if (error) |
7361 | goto out; | 6876 | goto out; |
7362 | 6877 | ||
7363 | + error = cow_check_and_break(path); | ||
7364 | + if (error) | ||
7365 | + goto mnt_drop_write_and_out; | ||
7366 | + | ||
7367 | + inode = path->dentry->d_inode; | 6878 | + inode = path->dentry->d_inode; |
7368 | + | 6879 | + |
7369 | if (times && times[0].tv_nsec == UTIME_NOW && | 6880 | if (times && times[0].tv_nsec == UTIME_NOW && |
7370 | times[1].tv_nsec == UTIME_NOW) | 6881 | times[1].tv_nsec == UTIME_NOW) |
7371 | times = NULL; | 6882 | times = NULL; |
7372 | diff -NurpP --minimal linux-3.4.57/fs/xattr.c linux-3.4.57-vs2.3.3.9/fs/xattr.c | 6883 | diff -NurpP --minimal linux-3.10.17/fs/xattr.c linux-3.10.17-vs2.3.6.6/fs/xattr.c |
7373 | --- linux-3.4.57/fs/xattr.c 2012-05-21 16:07:27.000000000 +0000 | 6884 | --- linux-3.10.17/fs/xattr.c 2013-02-19 13:58:49.000000000 +0000 |
7374 | +++ linux-3.4.57-vs2.3.3.9/fs/xattr.c 2012-05-21 16:15:05.000000000 +0000 | 6885 | +++ linux-3.10.17-vs2.3.6.6/fs/xattr.c 2013-08-22 20:30:00.000000000 +0000 |
7375 | @@ -20,6 +20,7 @@ | 6886 | @@ -21,6 +21,7 @@ |
7376 | #include <linux/fsnotify.h> | ||
7377 | #include <linux/audit.h> | 6887 | #include <linux/audit.h> |
7378 | #include <linux/vmalloc.h> | 6888 | #include <linux/vmalloc.h> |
6889 | #include <linux/posix_acl_xattr.h> | ||
7379 | +#include <linux/mount.h> | 6890 | +#include <linux/mount.h> |
7380 | 6891 | ||
7381 | #include <asm/uaccess.h> | 6892 | #include <asm/uaccess.h> |
7382 | 6893 | ||
7383 | @@ -51,7 +52,7 @@ xattr_permission(struct inode *inode, co | 6894 | @@ -52,7 +53,7 @@ xattr_permission(struct inode *inode, co |
7384 | * The trusted.* namespace can only be accessed by privileged users. | 6895 | * The trusted.* namespace can only be accessed by privileged users. |
7385 | */ | 6896 | */ |
7386 | if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN)) { | 6897 | if (!strncmp(name, XATTR_TRUSTED_PREFIX, XATTR_TRUSTED_PREFIX_LEN)) { |
@@ -7389,9 +6900,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xattr.c linux-3.4.57-vs2.3.3.9/fs/xattr.c | |||
7389 | return (mask & MAY_WRITE) ? -EPERM : -ENODATA; | 6900 | return (mask & MAY_WRITE) ? -EPERM : -ENODATA; |
7390 | return 0; | 6901 | return 0; |
7391 | } | 6902 | } |
7392 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_dinode.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_dinode.h | 6903 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_dinode.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_dinode.h |
7393 | --- linux-3.4.57/fs/xfs/xfs_dinode.h 2011-10-24 16:45:31.000000000 +0000 | 6904 | --- linux-3.10.17/fs/xfs/xfs_dinode.h 2013-07-14 17:01:29.000000000 +0000 |
7394 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_dinode.h 2012-05-21 16:15:05.000000000 +0000 | 6905 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_dinode.h 2013-08-22 20:30:00.000000000 +0000 |
7395 | @@ -51,7 +51,9 @@ typedef struct xfs_dinode { | 6906 | @@ -51,7 +51,9 @@ typedef struct xfs_dinode { |
7396 | __be32 di_nlink; /* number of links to file */ | 6907 | __be32 di_nlink; /* number of links to file */ |
7397 | __be16 di_projid_lo; /* lower part of owner's project id */ | 6908 | __be16 di_projid_lo; /* lower part of owner's project id */ |
@@ -7403,7 +6914,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_dinode.h linux-3.4.57-vs2.3.3.9/fs | |||
7403 | __be16 di_flushiter; /* incremented on flush */ | 6914 | __be16 di_flushiter; /* incremented on flush */ |
7404 | xfs_timestamp_t di_atime; /* time last accessed */ | 6915 | xfs_timestamp_t di_atime; /* time last accessed */ |
7405 | xfs_timestamp_t di_mtime; /* time last modified */ | 6916 | xfs_timestamp_t di_mtime; /* time last modified */ |
7406 | @@ -184,6 +186,8 @@ static inline void xfs_dinode_put_rdev(s | 6917 | @@ -209,6 +211,8 @@ static inline void xfs_dinode_put_rdev(s |
7407 | #define XFS_DIFLAG_EXTSZINHERIT_BIT 12 /* inherit inode extent size */ | 6918 | #define XFS_DIFLAG_EXTSZINHERIT_BIT 12 /* inherit inode extent size */ |
7408 | #define XFS_DIFLAG_NODEFRAG_BIT 13 /* do not reorganize/defragment */ | 6919 | #define XFS_DIFLAG_NODEFRAG_BIT 13 /* do not reorganize/defragment */ |
7409 | #define XFS_DIFLAG_FILESTREAM_BIT 14 /* use filestream allocator */ | 6920 | #define XFS_DIFLAG_FILESTREAM_BIT 14 /* use filestream allocator */ |
@@ -7412,7 +6923,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_dinode.h linux-3.4.57-vs2.3.3.9/fs | |||
7412 | #define XFS_DIFLAG_REALTIME (1 << XFS_DIFLAG_REALTIME_BIT) | 6923 | #define XFS_DIFLAG_REALTIME (1 << XFS_DIFLAG_REALTIME_BIT) |
7413 | #define XFS_DIFLAG_PREALLOC (1 << XFS_DIFLAG_PREALLOC_BIT) | 6924 | #define XFS_DIFLAG_PREALLOC (1 << XFS_DIFLAG_PREALLOC_BIT) |
7414 | #define XFS_DIFLAG_NEWRTBM (1 << XFS_DIFLAG_NEWRTBM_BIT) | 6925 | #define XFS_DIFLAG_NEWRTBM (1 << XFS_DIFLAG_NEWRTBM_BIT) |
7415 | @@ -199,6 +203,7 @@ static inline void xfs_dinode_put_rdev(s | 6926 | @@ -224,6 +228,7 @@ static inline void xfs_dinode_put_rdev(s |
7416 | #define XFS_DIFLAG_EXTSZINHERIT (1 << XFS_DIFLAG_EXTSZINHERIT_BIT) | 6927 | #define XFS_DIFLAG_EXTSZINHERIT (1 << XFS_DIFLAG_EXTSZINHERIT_BIT) |
7417 | #define XFS_DIFLAG_NODEFRAG (1 << XFS_DIFLAG_NODEFRAG_BIT) | 6928 | #define XFS_DIFLAG_NODEFRAG (1 << XFS_DIFLAG_NODEFRAG_BIT) |
7418 | #define XFS_DIFLAG_FILESTREAM (1 << XFS_DIFLAG_FILESTREAM_BIT) | 6929 | #define XFS_DIFLAG_FILESTREAM (1 << XFS_DIFLAG_FILESTREAM_BIT) |
@@ -7420,7 +6931,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_dinode.h linux-3.4.57-vs2.3.3.9/fs | |||
7420 | 6931 | ||
7421 | #ifdef CONFIG_XFS_RT | 6932 | #ifdef CONFIG_XFS_RT |
7422 | #define XFS_IS_REALTIME_INODE(ip) ((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) | 6933 | #define XFS_IS_REALTIME_INODE(ip) ((ip)->i_d.di_flags & XFS_DIFLAG_REALTIME) |
7423 | @@ -211,6 +216,10 @@ static inline void xfs_dinode_put_rdev(s | 6934 | @@ -236,6 +241,10 @@ static inline void xfs_dinode_put_rdev(s |
7424 | XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ | 6935 | XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ |
7425 | XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \ | 6936 | XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \ |
7426 | XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS | XFS_DIFLAG_EXTSIZE | \ | 6937 | XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS | XFS_DIFLAG_EXTSIZE | \ |
@@ -7432,9 +6943,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_dinode.h linux-3.4.57-vs2.3.3.9/fs | |||
7432 | +#define XFS_DIVFLAG_COW 0x02 | 6943 | +#define XFS_DIVFLAG_COW 0x02 |
7433 | 6944 | ||
7434 | #endif /* __XFS_DINODE_H__ */ | 6945 | #endif /* __XFS_DINODE_H__ */ |
7435 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_fs.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_fs.h | 6946 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_fs.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_fs.h |
7436 | --- linux-3.4.57/fs/xfs/xfs_fs.h 2011-10-24 16:45:31.000000000 +0000 | 6947 | --- linux-3.10.17/fs/xfs/xfs_fs.h 2013-07-14 17:01:29.000000000 +0000 |
7437 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_fs.h 2012-05-21 16:15:05.000000000 +0000 | 6948 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_fs.h 2013-08-22 20:30:00.000000000 +0000 |
7438 | @@ -67,6 +67,9 @@ struct fsxattr { | 6949 | @@ -67,6 +67,9 @@ struct fsxattr { |
7439 | #define XFS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */ | 6950 | #define XFS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */ |
7440 | #define XFS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */ | 6951 | #define XFS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */ |
@@ -7445,7 +6956,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_fs.h linux-3.4.57-vs2.3.3.9/fs/xfs | |||
7445 | #define XFS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */ | 6956 | #define XFS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */ |
7446 | 6957 | ||
7447 | /* | 6958 | /* |
7448 | @@ -302,7 +305,8 @@ typedef struct xfs_bstat { | 6959 | @@ -304,7 +307,8 @@ typedef struct xfs_bstat { |
7449 | #define bs_projid bs_projid_lo /* (previously just bs_projid) */ | 6960 | #define bs_projid bs_projid_lo /* (previously just bs_projid) */ |
7450 | __u16 bs_forkoff; /* inode fork offset in bytes */ | 6961 | __u16 bs_forkoff; /* inode fork offset in bytes */ |
7451 | __u16 bs_projid_hi; /* higher part of project id */ | 6962 | __u16 bs_projid_hi; /* higher part of project id */ |
@@ -7455,35 +6966,35 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_fs.h linux-3.4.57-vs2.3.3.9/fs/xfs | |||
7455 | __u32 bs_dmevmask; /* DMIG event mask */ | 6966 | __u32 bs_dmevmask; /* DMIG event mask */ |
7456 | __u16 bs_dmstate; /* DMIG state info */ | 6967 | __u16 bs_dmstate; /* DMIG state info */ |
7457 | __u16 bs_aextents; /* attribute number of extents */ | 6968 | __u16 bs_aextents; /* attribute number of extents */ |
7458 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ialloc.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ialloc.c | 6969 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_ialloc.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ialloc.c |
7459 | --- linux-3.4.57/fs/xfs/xfs_ialloc.c 2012-03-19 18:47:27.000000000 +0000 | 6970 | --- linux-3.10.17/fs/xfs/xfs_ialloc.c 2013-07-14 17:01:29.000000000 +0000 |
7460 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ialloc.c 2012-05-21 16:15:05.000000000 +0000 | 6971 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ialloc.c 2013-08-22 20:30:00.000000000 +0000 |
7461 | @@ -37,7 +37,6 @@ | 6972 | @@ -39,7 +39,6 @@ |
7462 | #include "xfs_error.h" | 6973 | #include "xfs_cksum.h" |
7463 | #include "xfs_bmap.h" | 6974 | #include "xfs_buf_item.h" |
7464 | 6975 | ||
7465 | - | 6976 | - |
7466 | /* | 6977 | /* |
7467 | * Allocation group level functions. | 6978 | * Allocation group level functions. |
7468 | */ | 6979 | */ |
7469 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_inode.c | 6980 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_inode.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_inode.c |
7470 | --- linux-3.4.57/fs/xfs/xfs_inode.c 2012-05-21 16:07:27.000000000 +0000 | 6981 | --- linux-3.10.17/fs/xfs/xfs_inode.c 2013-07-14 17:01:29.000000000 +0000 |
7471 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_inode.c 2012-05-21 16:15:05.000000000 +0000 | 6982 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_inode.c 2013-08-22 21:50:34.000000000 +0000 |
7472 | @@ -236,6 +236,7 @@ xfs_inotobp( | 6983 | @@ -16,6 +16,7 @@ |
7473 | return 0; | 6984 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
7474 | } | 6985 | */ |
7475 | 6986 | #include <linux/log2.h> | |
7476 | +#include <linux/vs_tag.h> | 6987 | +#include <linux/vs_tag.h> |
7477 | 6988 | ||
7478 | /* | 6989 | #include "xfs.h" |
7479 | * This routine is called to map an inode to the buffer containing | 6990 | #include "xfs_fs.h" |
7480 | @@ -631,15 +632,25 @@ xfs_iformat_btree( | 6991 | @@ -836,15 +837,25 @@ xfs_iformat_btree( |
7481 | STATIC void | 6992 | STATIC void |
7482 | xfs_dinode_from_disk( | 6993 | xfs_dinode_from_disk( |
7483 | xfs_icdinode_t *to, | 6994 | xfs_icdinode_t *to, |
7484 | - xfs_dinode_t *from) | 6995 | - xfs_dinode_t *from) |
7485 | + xfs_dinode_t *from, | 6996 | + xfs_dinode_t *from, |
7486 | + int tagged) | 6997 | + int tagged) |
7487 | { | 6998 | { |
7488 | + uint32_t uid, gid, tag; | 6999 | + uint32_t uid, gid, tag; |
7489 | + | 7000 | + |
@@ -7506,20 +7017,21 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7506 | to->di_nlink = be32_to_cpu(from->di_nlink); | 7017 | to->di_nlink = be32_to_cpu(from->di_nlink); |
7507 | to->di_projid_lo = be16_to_cpu(from->di_projid_lo); | 7018 | to->di_projid_lo = be16_to_cpu(from->di_projid_lo); |
7508 | to->di_projid_hi = be16_to_cpu(from->di_projid_hi); | 7019 | to->di_projid_hi = be16_to_cpu(from->di_projid_hi); |
7509 | @@ -661,21 +672,26 @@ xfs_dinode_from_disk( | 7020 | @@ -866,6 +877,7 @@ xfs_dinode_from_disk( |
7510 | to->di_dmevmask = be32_to_cpu(from->di_dmevmask); | 7021 | to->di_dmevmask = be32_to_cpu(from->di_dmevmask); |
7511 | to->di_dmstate = be16_to_cpu(from->di_dmstate); | 7022 | to->di_dmstate = be16_to_cpu(from->di_dmstate); |
7512 | to->di_flags = be16_to_cpu(from->di_flags); | 7023 | to->di_flags = be16_to_cpu(from->di_flags); |
7513 | + to->di_vflags = be16_to_cpu(from->di_vflags); | 7024 | + to->di_vflags = be16_to_cpu(from->di_vflags); |
7514 | to->di_gen = be32_to_cpu(from->di_gen); | 7025 | to->di_gen = be32_to_cpu(from->di_gen); |
7515 | } | ||
7516 | 7026 | ||
7027 | if (to->di_version == 3) { | ||
7028 | @@ -883,15 +895,19 @@ xfs_dinode_from_disk( | ||
7517 | void | 7029 | void |
7518 | xfs_dinode_to_disk( | 7030 | xfs_dinode_to_disk( |
7519 | xfs_dinode_t *to, | 7031 | xfs_dinode_t *to, |
7520 | - xfs_icdinode_t *from) | 7032 | - xfs_icdinode_t *from) |
7521 | + xfs_icdinode_t *from, | 7033 | + xfs_icdinode_t *from, |
7522 | + int tagged) | 7034 | + int tagged) |
7523 | { | 7035 | { |
7524 | to->di_magic = cpu_to_be16(from->di_magic); | 7036 | to->di_magic = cpu_to_be16(from->di_magic); |
7525 | to->di_mode = cpu_to_be16(from->di_mode); | 7037 | to->di_mode = cpu_to_be16(from->di_mode); |
@@ -7536,13 +7048,15 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7536 | to->di_nlink = cpu_to_be32(from->di_nlink); | 7048 | to->di_nlink = cpu_to_be32(from->di_nlink); |
7537 | to->di_projid_lo = cpu_to_be16(from->di_projid_lo); | 7049 | to->di_projid_lo = cpu_to_be16(from->di_projid_lo); |
7538 | to->di_projid_hi = cpu_to_be16(from->di_projid_hi); | 7050 | to->di_projid_hi = cpu_to_be16(from->di_projid_hi); |
7539 | @@ -697,12 +713,14 @@ xfs_dinode_to_disk( | 7051 | @@ -913,6 +929,7 @@ xfs_dinode_to_disk( |
7540 | to->di_dmevmask = cpu_to_be32(from->di_dmevmask); | 7052 | to->di_dmevmask = cpu_to_be32(from->di_dmevmask); |
7541 | to->di_dmstate = cpu_to_be16(from->di_dmstate); | 7053 | to->di_dmstate = cpu_to_be16(from->di_dmstate); |
7542 | to->di_flags = cpu_to_be16(from->di_flags); | 7054 | to->di_flags = cpu_to_be16(from->di_flags); |
7543 | + to->di_vflags = cpu_to_be16(from->di_vflags); | 7055 | + to->di_vflags = cpu_to_be16(from->di_vflags); |
7544 | to->di_gen = cpu_to_be32(from->di_gen); | 7056 | to->di_gen = cpu_to_be32(from->di_gen); |
7545 | } | 7057 | |
7058 | if (from->di_version == 3) { | ||
7059 | @@ -929,7 +946,8 @@ xfs_dinode_to_disk( | ||
7546 | 7060 | ||
7547 | STATIC uint | 7061 | STATIC uint |
7548 | _xfs_dic2xflags( | 7062 | _xfs_dic2xflags( |
@@ -7552,7 +7066,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7552 | { | 7066 | { |
7553 | uint flags = 0; | 7067 | uint flags = 0; |
7554 | 7068 | ||
7555 | @@ -713,6 +731,8 @@ _xfs_dic2xflags( | 7069 | @@ -940,6 +958,8 @@ _xfs_dic2xflags( |
7556 | flags |= XFS_XFLAG_PREALLOC; | 7070 | flags |= XFS_XFLAG_PREALLOC; |
7557 | if (di_flags & XFS_DIFLAG_IMMUTABLE) | 7071 | if (di_flags & XFS_DIFLAG_IMMUTABLE) |
7558 | flags |= XFS_XFLAG_IMMUTABLE; | 7072 | flags |= XFS_XFLAG_IMMUTABLE; |
@@ -7561,7 +7075,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7561 | if (di_flags & XFS_DIFLAG_APPEND) | 7075 | if (di_flags & XFS_DIFLAG_APPEND) |
7562 | flags |= XFS_XFLAG_APPEND; | 7076 | flags |= XFS_XFLAG_APPEND; |
7563 | if (di_flags & XFS_DIFLAG_SYNC) | 7077 | if (di_flags & XFS_DIFLAG_SYNC) |
7564 | @@ -737,6 +757,10 @@ _xfs_dic2xflags( | 7078 | @@ -964,6 +984,10 @@ _xfs_dic2xflags( |
7565 | flags |= XFS_XFLAG_FILESTREAM; | 7079 | flags |= XFS_XFLAG_FILESTREAM; |
7566 | } | 7080 | } |
7567 | 7081 | ||
@@ -7572,7 +7086,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7572 | return flags; | 7086 | return flags; |
7573 | } | 7087 | } |
7574 | 7088 | ||
7575 | @@ -746,7 +770,7 @@ xfs_ip2xflags( | 7089 | @@ -973,7 +997,7 @@ xfs_ip2xflags( |
7576 | { | 7090 | { |
7577 | xfs_icdinode_t *dic = &ip->i_d; | 7091 | xfs_icdinode_t *dic = &ip->i_d; |
7578 | 7092 | ||
@@ -7581,7 +7095,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7581 | (XFS_IFORK_Q(ip) ? XFS_XFLAG_HASATTR : 0); | 7095 | (XFS_IFORK_Q(ip) ? XFS_XFLAG_HASATTR : 0); |
7582 | } | 7096 | } |
7583 | 7097 | ||
7584 | @@ -754,7 +778,8 @@ uint | 7098 | @@ -981,7 +1005,8 @@ uint |
7585 | xfs_dic2xflags( | 7099 | xfs_dic2xflags( |
7586 | xfs_dinode_t *dip) | 7100 | xfs_dinode_t *dip) |
7587 | { | 7101 | { |
@@ -7591,15 +7105,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7591 | (XFS_DFORK_Q(dip) ? XFS_XFLAG_HASATTR : 0); | 7105 | (XFS_DFORK_Q(dip) ? XFS_XFLAG_HASATTR : 0); |
7592 | } | 7106 | } |
7593 | 7107 | ||
7594 | @@ -787,7 +812,6 @@ xfs_iread( | 7108 | @@ -1072,7 +1097,8 @@ xfs_iread( |
7595 | if (error) | ||
7596 | return error; | ||
7597 | dip = (xfs_dinode_t *)xfs_buf_offset(bp, ip->i_imap.im_boffset); | ||
7598 | - | ||
7599 | /* | ||
7600 | * If we got something that isn't an inode it means someone | ||
7601 | * (nfs or dmi) has a stale handle. | ||
7602 | @@ -810,7 +834,8 @@ xfs_iread( | ||
7603 | * Otherwise, just get the truly permanent information. | 7109 | * Otherwise, just get the truly permanent information. |
7604 | */ | 7110 | */ |
7605 | if (dip->di_mode) { | 7111 | if (dip->di_mode) { |
@@ -7609,7 +7115,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7609 | error = xfs_iformat(ip, dip); | 7115 | error = xfs_iformat(ip, dip); |
7610 | if (error) { | 7116 | if (error) { |
7611 | #ifdef DEBUG | 7117 | #ifdef DEBUG |
7612 | @@ -998,6 +1023,7 @@ xfs_ialloc( | 7118 | @@ -1270,6 +1296,7 @@ xfs_ialloc( |
7613 | ASSERT(ip->i_d.di_nlink == nlink); | 7119 | ASSERT(ip->i_d.di_nlink == nlink); |
7614 | ip->i_d.di_uid = current_fsuid(); | 7120 | ip->i_d.di_uid = current_fsuid(); |
7615 | ip->i_d.di_gid = current_fsgid(); | 7121 | ip->i_d.di_gid = current_fsgid(); |
@@ -7617,15 +7123,15 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7617 | xfs_set_projid(ip, prid); | 7123 | xfs_set_projid(ip, prid); |
7618 | memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad)); | 7124 | memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad)); |
7619 | 7125 | ||
7620 | @@ -1057,6 +1083,7 @@ xfs_ialloc( | 7126 | @@ -1329,6 +1356,7 @@ xfs_ialloc( |
7621 | ip->i_d.di_dmevmask = 0; | 7127 | ip->i_d.di_dmevmask = 0; |
7622 | ip->i_d.di_dmstate = 0; | 7128 | ip->i_d.di_dmstate = 0; |
7623 | ip->i_d.di_flags = 0; | 7129 | ip->i_d.di_flags = 0; |
7624 | + ip->i_d.di_vflags = 0; | 7130 | + ip->i_d.di_vflags = 0; |
7625 | flags = XFS_ILOG_CORE; | 7131 | |
7626 | switch (mode & S_IFMT) { | 7132 | if (ip->i_d.di_version == 3) { |
7627 | case S_IFIFO: | 7133 | ASSERT(ip->i_d.di_ino == ino); |
7628 | @@ -1725,6 +1752,7 @@ xfs_ifree( | 7134 | @@ -2052,6 +2080,7 @@ xfs_ifree( |
7629 | } | 7135 | } |
7630 | ip->i_d.di_mode = 0; /* mark incore inode as free */ | 7136 | ip->i_d.di_mode = 0; /* mark incore inode as free */ |
7631 | ip->i_d.di_flags = 0; | 7137 | ip->i_d.di_flags = 0; |
@@ -7633,7 +7139,15 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7633 | ip->i_d.di_dmevmask = 0; | 7139 | ip->i_d.di_dmevmask = 0; |
7634 | ip->i_d.di_forkoff = 0; /* mark the attr fork not in use */ | 7140 | ip->i_d.di_forkoff = 0; /* mark the attr fork not in use */ |
7635 | ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS; | 7141 | ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS; |
7636 | @@ -2598,7 +2626,8 @@ xfs_iflush_int( | 7142 | @@ -2219,7 +2248,6 @@ xfs_iroot_realloc( |
7143 | return; | ||
7144 | } | ||
7145 | |||
7146 | - | ||
7147 | /* | ||
7148 | * This is called when the amount of space needed for if_data | ||
7149 | * is increased or decreased. The change in size is indicated by | ||
7150 | @@ -2899,7 +2927,8 @@ xfs_iflush_int( | ||
7637 | * because if the inode is dirty at all the core must | 7151 | * because if the inode is dirty at all the core must |
7638 | * be. | 7152 | * be. |
7639 | */ | 7153 | */ |
@@ -7643,9 +7157,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7643 | 7157 | ||
7644 | /* Wrap, we never let the log put out DI_MAX_FLUSH */ | 7158 | /* Wrap, we never let the log put out DI_MAX_FLUSH */ |
7645 | if (ip->i_d.di_flushiter == DI_MAX_FLUSH) | 7159 | if (ip->i_d.di_flushiter == DI_MAX_FLUSH) |
7646 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_inode.h | 7160 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_inode.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_inode.h |
7647 | --- linux-3.4.57/fs/xfs/xfs_inode.h 2012-05-21 16:07:27.000000000 +0000 | 7161 | --- linux-3.10.17/fs/xfs/xfs_inode.h 2013-07-14 17:01:30.000000000 +0000 |
7648 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_inode.h 2012-05-21 16:15:05.000000000 +0000 | 7162 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_inode.h 2013-08-22 20:30:00.000000000 +0000 |
7649 | @@ -134,7 +134,9 @@ typedef struct xfs_icdinode { | 7163 | @@ -134,7 +134,9 @@ typedef struct xfs_icdinode { |
7650 | __uint32_t di_nlink; /* number of links to file */ | 7164 | __uint32_t di_nlink; /* number of links to file */ |
7651 | __uint16_t di_projid_lo; /* lower part of owner's project id */ | 7165 | __uint16_t di_projid_lo; /* lower part of owner's project id */ |
@@ -7657,19 +7171,19 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_inode.h linux-3.4.57-vs2.3.3.9/fs/ | |||
7657 | __uint16_t di_flushiter; /* incremented on flush */ | 7171 | __uint16_t di_flushiter; /* incremented on flush */ |
7658 | xfs_ictimestamp_t di_atime; /* time last accessed */ | 7172 | xfs_ictimestamp_t di_atime; /* time last accessed */ |
7659 | xfs_ictimestamp_t di_mtime; /* time last modified */ | 7173 | xfs_ictimestamp_t di_mtime; /* time last modified */ |
7660 | @@ -565,7 +567,7 @@ int xfs_itobp(struct xfs_mount *, struc | 7174 | @@ -583,7 +585,7 @@ int xfs_iread(struct xfs_mount *, struc |
7661 | int xfs_iread(struct xfs_mount *, struct xfs_trans *, | ||
7662 | struct xfs_inode *, uint); | 7175 | struct xfs_inode *, uint); |
7176 | void xfs_dinode_calc_crc(struct xfs_mount *, struct xfs_dinode *); | ||
7663 | void xfs_dinode_to_disk(struct xfs_dinode *, | 7177 | void xfs_dinode_to_disk(struct xfs_dinode *, |
7664 | - struct xfs_icdinode *); | 7178 | - struct xfs_icdinode *); |
7665 | + struct xfs_icdinode *, int); | 7179 | + struct xfs_icdinode *, int); |
7666 | void xfs_idestroy_fork(struct xfs_inode *, int); | 7180 | void xfs_idestroy_fork(struct xfs_inode *, int); |
7667 | void xfs_idata_realloc(struct xfs_inode *, int, int); | 7181 | void xfs_idata_realloc(struct xfs_inode *, int, int); |
7668 | void xfs_iroot_realloc(struct xfs_inode *, int, int); | 7182 | void xfs_iroot_realloc(struct xfs_inode *, int, int); |
7669 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ioctl.c | 7183 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_ioctl.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ioctl.c |
7670 | --- linux-3.4.57/fs/xfs/xfs_ioctl.c 2012-05-21 16:07:27.000000000 +0000 | 7184 | --- linux-3.10.17/fs/xfs/xfs_ioctl.c 2013-07-14 17:01:30.000000000 +0000 |
7671 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ioctl.c 2012-05-21 16:15:05.000000000 +0000 | 7185 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ioctl.c 2013-08-22 20:30:00.000000000 +0000 |
7672 | @@ -28,7 +28,7 @@ | 7186 | @@ -26,7 +26,7 @@ |
7673 | #include "xfs_bmap_btree.h" | 7187 | #include "xfs_bmap_btree.h" |
7674 | #include "xfs_dinode.h" | 7188 | #include "xfs_dinode.h" |
7675 | #include "xfs_inode.h" | 7189 | #include "xfs_inode.h" |
@@ -7678,7 +7192,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7678 | #include "xfs_rtalloc.h" | 7192 | #include "xfs_rtalloc.h" |
7679 | #include "xfs_itable.h" | 7193 | #include "xfs_itable.h" |
7680 | #include "xfs_error.h" | 7194 | #include "xfs_error.h" |
7681 | @@ -750,6 +750,10 @@ xfs_merge_ioc_xflags( | 7195 | @@ -769,6 +769,10 @@ xfs_merge_ioc_xflags( |
7682 | xflags |= XFS_XFLAG_IMMUTABLE; | 7196 | xflags |= XFS_XFLAG_IMMUTABLE; |
7683 | else | 7197 | else |
7684 | xflags &= ~XFS_XFLAG_IMMUTABLE; | 7198 | xflags &= ~XFS_XFLAG_IMMUTABLE; |
@@ -7689,7 +7203,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7689 | if (flags & FS_APPEND_FL) | 7203 | if (flags & FS_APPEND_FL) |
7690 | xflags |= XFS_XFLAG_APPEND; | 7204 | xflags |= XFS_XFLAG_APPEND; |
7691 | else | 7205 | else |
7692 | @@ -778,6 +782,8 @@ xfs_di2lxflags( | 7206 | @@ -797,6 +801,8 @@ xfs_di2lxflags( |
7693 | 7207 | ||
7694 | if (di_flags & XFS_DIFLAG_IMMUTABLE) | 7208 | if (di_flags & XFS_DIFLAG_IMMUTABLE) |
7695 | flags |= FS_IMMUTABLE_FL; | 7209 | flags |= FS_IMMUTABLE_FL; |
@@ -7698,7 +7212,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7698 | if (di_flags & XFS_DIFLAG_APPEND) | 7212 | if (di_flags & XFS_DIFLAG_APPEND) |
7699 | flags |= FS_APPEND_FL; | 7213 | flags |= FS_APPEND_FL; |
7700 | if (di_flags & XFS_DIFLAG_SYNC) | 7214 | if (di_flags & XFS_DIFLAG_SYNC) |
7701 | @@ -838,6 +844,8 @@ xfs_set_diflags( | 7215 | @@ -857,6 +863,8 @@ xfs_set_diflags( |
7702 | di_flags = (ip->i_d.di_flags & XFS_DIFLAG_PREALLOC); | 7216 | di_flags = (ip->i_d.di_flags & XFS_DIFLAG_PREALLOC); |
7703 | if (xflags & XFS_XFLAG_IMMUTABLE) | 7217 | if (xflags & XFS_XFLAG_IMMUTABLE) |
7704 | di_flags |= XFS_DIFLAG_IMMUTABLE; | 7218 | di_flags |= XFS_DIFLAG_IMMUTABLE; |
@@ -7707,7 +7221,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7707 | if (xflags & XFS_XFLAG_APPEND) | 7221 | if (xflags & XFS_XFLAG_APPEND) |
7708 | di_flags |= XFS_DIFLAG_APPEND; | 7222 | di_flags |= XFS_DIFLAG_APPEND; |
7709 | if (xflags & XFS_XFLAG_SYNC) | 7223 | if (xflags & XFS_XFLAG_SYNC) |
7710 | @@ -880,6 +888,10 @@ xfs_diflags_to_linux( | 7224 | @@ -899,6 +907,10 @@ xfs_diflags_to_linux( |
7711 | inode->i_flags |= S_IMMUTABLE; | 7225 | inode->i_flags |= S_IMMUTABLE; |
7712 | else | 7226 | else |
7713 | inode->i_flags &= ~S_IMMUTABLE; | 7227 | inode->i_flags &= ~S_IMMUTABLE; |
@@ -7718,7 +7232,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7718 | if (xflags & XFS_XFLAG_APPEND) | 7232 | if (xflags & XFS_XFLAG_APPEND) |
7719 | inode->i_flags |= S_APPEND; | 7233 | inode->i_flags |= S_APPEND; |
7720 | else | 7234 | else |
7721 | @@ -1372,10 +1384,18 @@ xfs_file_ioctl( | 7235 | @@ -1403,10 +1415,18 @@ xfs_file_ioctl( |
7722 | case XFS_IOC_FSGETXATTRA: | 7236 | case XFS_IOC_FSGETXATTRA: |
7723 | return xfs_ioc_fsgetxattr(ip, 1, arg); | 7237 | return xfs_ioc_fsgetxattr(ip, 1, arg); |
7724 | case XFS_IOC_FSSETXATTR: | 7238 | case XFS_IOC_FSSETXATTR: |
@@ -7737,9 +7251,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7737 | return xfs_ioc_setxflags(ip, filp, arg); | 7251 | return xfs_ioc_setxflags(ip, filp, arg); |
7738 | 7252 | ||
7739 | case XFS_IOC_FSSETDM: { | 7253 | case XFS_IOC_FSSETDM: { |
7740 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ioctl.h | 7254 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_ioctl.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ioctl.h |
7741 | --- linux-3.4.57/fs/xfs/xfs_ioctl.h 2011-10-24 16:45:31.000000000 +0000 | 7255 | --- linux-3.10.17/fs/xfs/xfs_ioctl.h 2012-12-11 03:30:57.000000000 +0000 |
7742 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_ioctl.h 2012-05-21 16:15:05.000000000 +0000 | 7256 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_ioctl.h 2013-08-22 20:30:00.000000000 +0000 |
7743 | @@ -70,6 +70,12 @@ xfs_handle_to_dentry( | 7257 | @@ -70,6 +70,12 @@ xfs_handle_to_dentry( |
7744 | void __user *uhandle, | 7258 | void __user *uhandle, |
7745 | u32 hlen); | 7259 | u32 hlen); |
@@ -7753,10 +7267,10 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_ioctl.h linux-3.4.57-vs2.3.3.9/fs/ | |||
7753 | extern long | 7267 | extern long |
7754 | xfs_file_ioctl( | 7268 | xfs_file_ioctl( |
7755 | struct file *filp, | 7269 | struct file *filp, |
7756 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_iops.c | 7270 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_iops.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_iops.c |
7757 | --- linux-3.4.57/fs/xfs/xfs_iops.c 2013-08-13 14:13:35.000000000 +0000 | 7271 | --- linux-3.10.17/fs/xfs/xfs_iops.c 2013-07-14 17:01:30.000000000 +0000 |
7758 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_iops.c 2013-07-14 13:38:35.000000000 +0000 | 7272 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_iops.c 2013-08-22 20:30:00.000000000 +0000 |
7759 | @@ -30,6 +30,7 @@ | 7273 | @@ -28,6 +28,7 @@ |
7760 | #include "xfs_bmap_btree.h" | 7274 | #include "xfs_bmap_btree.h" |
7761 | #include "xfs_dinode.h" | 7275 | #include "xfs_dinode.h" |
7762 | #include "xfs_inode.h" | 7276 | #include "xfs_inode.h" |
@@ -7764,7 +7278,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7764 | #include "xfs_bmap.h" | 7278 | #include "xfs_bmap.h" |
7765 | #include "xfs_rtalloc.h" | 7279 | #include "xfs_rtalloc.h" |
7766 | #include "xfs_error.h" | 7280 | #include "xfs_error.h" |
7767 | @@ -49,6 +50,7 @@ | 7281 | @@ -47,6 +48,7 @@ |
7768 | #include <linux/security.h> | 7282 | #include <linux/security.h> |
7769 | #include <linux/fiemap.h> | 7283 | #include <linux/fiemap.h> |
7770 | #include <linux/slab.h> | 7284 | #include <linux/slab.h> |
@@ -7772,7 +7286,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7772 | 7286 | ||
7773 | static int | 7287 | static int |
7774 | xfs_initxattrs( | 7288 | xfs_initxattrs( |
7775 | @@ -424,6 +426,7 @@ xfs_vn_getattr( | 7289 | @@ -422,6 +424,7 @@ xfs_vn_getattr( |
7776 | stat->nlink = ip->i_d.di_nlink; | 7290 | stat->nlink = ip->i_d.di_nlink; |
7777 | stat->uid = ip->i_d.di_uid; | 7291 | stat->uid = ip->i_d.di_uid; |
7778 | stat->gid = ip->i_d.di_gid; | 7292 | stat->gid = ip->i_d.di_gid; |
@@ -7780,23 +7294,23 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7780 | stat->ino = ip->i_ino; | 7294 | stat->ino = ip->i_ino; |
7781 | stat->atime = inode->i_atime; | 7295 | stat->atime = inode->i_atime; |
7782 | stat->mtime = inode->i_mtime; | 7296 | stat->mtime = inode->i_mtime; |
7783 | @@ -1013,6 +1016,7 @@ static const struct inode_operations xfs | 7297 | @@ -1054,6 +1057,7 @@ static const struct inode_operations xfs |
7784 | .removexattr = generic_removexattr, | ||
7785 | .listxattr = xfs_vn_listxattr, | 7298 | .listxattr = xfs_vn_listxattr, |
7786 | .fiemap = xfs_vn_fiemap, | 7299 | .fiemap = xfs_vn_fiemap, |
7300 | .update_time = xfs_vn_update_time, | ||
7787 | + .sync_flags = xfs_sync_flags, | 7301 | + .sync_flags = xfs_sync_flags, |
7788 | }; | 7302 | }; |
7789 | 7303 | ||
7790 | static const struct inode_operations xfs_dir_inode_operations = { | 7304 | static const struct inode_operations xfs_dir_inode_operations = { |
7791 | @@ -1038,6 +1042,7 @@ static const struct inode_operations xfs | 7305 | @@ -1080,6 +1084,7 @@ static const struct inode_operations xfs |
7792 | .getxattr = generic_getxattr, | ||
7793 | .removexattr = generic_removexattr, | 7306 | .removexattr = generic_removexattr, |
7794 | .listxattr = xfs_vn_listxattr, | 7307 | .listxattr = xfs_vn_listxattr, |
7308 | .update_time = xfs_vn_update_time, | ||
7795 | + .sync_flags = xfs_sync_flags, | 7309 | + .sync_flags = xfs_sync_flags, |
7796 | }; | 7310 | }; |
7797 | 7311 | ||
7798 | static const struct inode_operations xfs_dir_ci_inode_operations = { | 7312 | static const struct inode_operations xfs_dir_ci_inode_operations = { |
7799 | @@ -1087,6 +1092,10 @@ xfs_diflags_to_iflags( | 7313 | @@ -1131,6 +1136,10 @@ xfs_diflags_to_iflags( |
7800 | inode->i_flags |= S_IMMUTABLE; | 7314 | inode->i_flags |= S_IMMUTABLE; |
7801 | else | 7315 | else |
7802 | inode->i_flags &= ~S_IMMUTABLE; | 7316 | inode->i_flags &= ~S_IMMUTABLE; |
@@ -7807,7 +7321,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7807 | if (ip->i_d.di_flags & XFS_DIFLAG_APPEND) | 7321 | if (ip->i_d.di_flags & XFS_DIFLAG_APPEND) |
7808 | inode->i_flags |= S_APPEND; | 7322 | inode->i_flags |= S_APPEND; |
7809 | else | 7323 | else |
7810 | @@ -1099,6 +1108,15 @@ xfs_diflags_to_iflags( | 7324 | @@ -1143,6 +1152,15 @@ xfs_diflags_to_iflags( |
7811 | inode->i_flags |= S_NOATIME; | 7325 | inode->i_flags |= S_NOATIME; |
7812 | else | 7326 | else |
7813 | inode->i_flags &= ~S_NOATIME; | 7327 | inode->i_flags &= ~S_NOATIME; |
@@ -7823,7 +7337,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7823 | } | 7337 | } |
7824 | 7338 | ||
7825 | /* | 7339 | /* |
7826 | @@ -1130,6 +1148,7 @@ xfs_setup_inode( | 7340 | @@ -1174,6 +1192,7 @@ xfs_setup_inode( |
7827 | set_nlink(inode, ip->i_d.di_nlink); | 7341 | set_nlink(inode, ip->i_d.di_nlink); |
7828 | inode->i_uid = ip->i_d.di_uid; | 7342 | inode->i_uid = ip->i_d.di_uid; |
7829 | inode->i_gid = ip->i_d.di_gid; | 7343 | inode->i_gid = ip->i_d.di_gid; |
@@ -7831,9 +7345,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_iops.c linux-3.4.57-vs2.3.3.9/fs/x | |||
7831 | 7345 | ||
7832 | switch (inode->i_mode & S_IFMT) { | 7346 | switch (inode->i_mode & S_IFMT) { |
7833 | case S_IFBLK: | 7347 | case S_IFBLK: |
7834 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_itable.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_itable.c | 7348 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_itable.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_itable.c |
7835 | --- linux-3.4.57/fs/xfs/xfs_itable.c 2012-05-21 16:07:27.000000000 +0000 | 7349 | --- linux-3.10.17/fs/xfs/xfs_itable.c 2013-02-19 13:58:49.000000000 +0000 |
7836 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_itable.c 2012-05-21 16:15:05.000000000 +0000 | 7350 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_itable.c 2013-08-22 20:30:00.000000000 +0000 |
7837 | @@ -97,6 +97,7 @@ xfs_bulkstat_one_int( | 7351 | @@ -97,6 +97,7 @@ xfs_bulkstat_one_int( |
7838 | buf->bs_mode = dic->di_mode; | 7352 | buf->bs_mode = dic->di_mode; |
7839 | buf->bs_uid = dic->di_uid; | 7353 | buf->bs_uid = dic->di_uid; |
@@ -7842,10 +7356,10 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_itable.c linux-3.4.57-vs2.3.3.9/fs | |||
7842 | buf->bs_size = dic->di_size; | 7356 | buf->bs_size = dic->di_size; |
7843 | buf->bs_atime.tv_sec = dic->di_atime.t_sec; | 7357 | buf->bs_atime.tv_sec = dic->di_atime.t_sec; |
7844 | buf->bs_atime.tv_nsec = dic->di_atime.t_nsec; | 7358 | buf->bs_atime.tv_nsec = dic->di_atime.t_nsec; |
7845 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_linux.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_linux.h | 7359 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_linux.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_linux.h |
7846 | --- linux-3.4.57/fs/xfs/xfs_linux.h 2011-10-24 16:45:31.000000000 +0000 | 7360 | --- linux-3.10.17/fs/xfs/xfs_linux.h 2013-07-14 17:01:30.000000000 +0000 |
7847 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_linux.h 2012-05-21 16:15:05.000000000 +0000 | 7361 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_linux.h 2013-08-22 20:30:00.000000000 +0000 |
7848 | @@ -121,6 +121,7 @@ | 7362 | @@ -124,6 +124,7 @@ |
7849 | 7363 | ||
7850 | #define current_cpu() (raw_smp_processor_id()) | 7364 | #define current_cpu() (raw_smp_processor_id()) |
7851 | #define current_pid() (current->pid) | 7365 | #define current_pid() (current->pid) |
@@ -7853,23 +7367,22 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_linux.h linux-3.4.57-vs2.3.3.9/fs/ | |||
7853 | #define current_test_flags(f) (current->flags & (f)) | 7367 | #define current_test_flags(f) (current->flags & (f)) |
7854 | #define current_set_flags_nested(sp, f) \ | 7368 | #define current_set_flags_nested(sp, f) \ |
7855 | (*(sp) = current->flags, current->flags |= (f)) | 7369 | (*(sp) = current->flags, current->flags |= (f)) |
7856 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_log_recover.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_log_recover.c | 7370 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_log_recover.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_log_recover.c |
7857 | --- linux-3.4.57/fs/xfs/xfs_log_recover.c 2013-08-13 14:13:35.000000000 +0000 | 7371 | --- linux-3.10.17/fs/xfs/xfs_log_recover.c 2013-07-14 17:01:31.000000000 +0000 |
7858 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_log_recover.c 2012-11-18 23:52:29.000000000 +0000 | 7372 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_log_recover.c 2013-08-22 21:48:01.000000000 +0000 |
7859 | @@ -2344,7 +2344,8 @@ xlog_recover_inode_pass2( | 7373 | @@ -2662,7 +2662,7 @@ xlog_recover_inode_pass2( |
7860 | } | 7374 | } |
7861 | 7375 | ||
7862 | /* The core is in in-core format */ | 7376 | /* The core is in in-core format */ |
7863 | - xfs_dinode_to_disk(dip, item->ri_buf[1].i_addr); | 7377 | - xfs_dinode_to_disk(dip, dicp); |
7864 | + xfs_dinode_to_disk(dip, item->ri_buf[1].i_addr, | 7378 | + xfs_dinode_to_disk(dip, dicp, mp->m_flags & XFS_MOUNT_TAGGED); |
7865 | + mp->m_flags & XFS_MOUNT_TAGGED); | ||
7866 | 7379 | ||
7867 | /* the rest is in on-disk format */ | 7380 | /* the rest is in on-disk format */ |
7868 | if (item->ri_buf[1].i_len > sizeof(struct xfs_icdinode)) { | 7381 | if (item->ri_buf[1].i_len > isize) { |
7869 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_mount.h linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_mount.h | 7382 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_mount.h linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_mount.h |
7870 | --- linux-3.4.57/fs/xfs/xfs_mount.h 2012-05-21 16:07:28.000000000 +0000 | 7383 | --- linux-3.10.17/fs/xfs/xfs_mount.h 2013-07-14 17:01:31.000000000 +0000 |
7871 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_mount.h 2012-05-21 16:15:05.000000000 +0000 | 7384 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_mount.h 2013-08-22 20:30:00.000000000 +0000 |
7872 | @@ -251,6 +251,7 @@ typedef struct xfs_mount { | 7385 | @@ -253,6 +253,7 @@ typedef struct xfs_mount { |
7873 | allocator */ | 7386 | allocator */ |
7874 | #define XFS_MOUNT_NOATTR2 (1ULL << 25) /* disable use of attr2 format */ | 7387 | #define XFS_MOUNT_NOATTR2 (1ULL << 25) /* disable use of attr2 format */ |
7875 | 7388 | ||
@@ -7877,10 +7390,10 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_mount.h linux-3.4.57-vs2.3.3.9/fs/ | |||
7877 | 7390 | ||
7878 | /* | 7391 | /* |
7879 | * Default minimum read and write sizes. | 7392 | * Default minimum read and write sizes. |
7880 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_super.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_super.c | 7393 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_super.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_super.c |
7881 | --- linux-3.4.57/fs/xfs/xfs_super.c 2012-05-21 16:07:28.000000000 +0000 | 7394 | --- linux-3.10.17/fs/xfs/xfs_super.c 2013-07-14 17:01:31.000000000 +0000 |
7882 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_super.c 2012-05-21 16:15:05.000000000 +0000 | 7395 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_super.c 2013-08-22 20:30:00.000000000 +0000 |
7883 | @@ -113,6 +113,9 @@ mempool_t *xfs_ioend_pool; | 7396 | @@ -114,6 +114,9 @@ mempool_t *xfs_ioend_pool; |
7884 | #define MNTOPT_NODELAYLOG "nodelaylog" /* Delayed logging disabled */ | 7397 | #define MNTOPT_NODELAYLOG "nodelaylog" /* Delayed logging disabled */ |
7885 | #define MNTOPT_DISCARD "discard" /* Discard unused blocks */ | 7398 | #define MNTOPT_DISCARD "discard" /* Discard unused blocks */ |
7886 | #define MNTOPT_NODISCARD "nodiscard" /* Do not discard unused blocks */ | 7399 | #define MNTOPT_NODISCARD "nodiscard" /* Do not discard unused blocks */ |
@@ -7890,22 +7403,26 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_super.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7890 | 7403 | ||
7891 | /* | 7404 | /* |
7892 | * Table driven mount option parser. | 7405 | * Table driven mount option parser. |
7893 | @@ -121,10 +124,14 @@ mempool_t *xfs_ioend_pool; | 7406 | @@ -126,6 +129,8 @@ enum { |
7894 | * in the future, too. | 7407 | Opt_nobarrier, |
7895 | */ | 7408 | Opt_inode64, |
7896 | enum { | 7409 | Opt_inode32, |
7897 | + Opt_tag, Opt_notag, | 7410 | + Opt_tag, |
7898 | Opt_barrier, Opt_nobarrier, Opt_err | 7411 | + Opt_notag, |
7412 | Opt_err | ||
7899 | }; | 7413 | }; |
7900 | 7414 | ||
7901 | static const match_table_t tokens = { | 7415 | @@ -134,6 +139,9 @@ static const match_table_t tokens = { |
7416 | {Opt_nobarrier, "nobarrier"}, | ||
7417 | {Opt_inode64, "inode64"}, | ||
7418 | {Opt_inode32, "inode32"}, | ||
7902 | + {Opt_tag, "tagxid"}, | 7419 | + {Opt_tag, "tagxid"}, |
7903 | + {Opt_tag, "tag"}, | 7420 | + {Opt_tag, "tag"}, |
7904 | + {Opt_notag, "notag"}, | 7421 | + {Opt_notag, "notag"}, |
7905 | {Opt_barrier, "barrier"}, | ||
7906 | {Opt_nobarrier, "nobarrier"}, | ||
7907 | {Opt_err, NULL} | 7422 | {Opt_err, NULL} |
7908 | @@ -372,6 +379,19 @@ xfs_parseargs( | 7423 | }; |
7424 | |||
7425 | @@ -392,6 +400,19 @@ xfs_parseargs( | ||
7909 | } else if (!strcmp(this_char, "irixsgid")) { | 7426 | } else if (!strcmp(this_char, "irixsgid")) { |
7910 | xfs_warn(mp, | 7427 | xfs_warn(mp, |
7911 | "irixsgid is now a sysctl(2) variable, option is deprecated."); | 7428 | "irixsgid is now a sysctl(2) variable, option is deprecated."); |
@@ -7925,9 +7442,9 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_super.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7925 | } else { | 7442 | } else { |
7926 | xfs_warn(mp, "unknown mount option [%s].", this_char); | 7443 | xfs_warn(mp, "unknown mount option [%s].", this_char); |
7927 | return EINVAL; | 7444 | return EINVAL; |
7928 | @@ -1127,6 +1147,16 @@ xfs_fs_remount( | 7445 | @@ -1238,6 +1259,16 @@ xfs_fs_remount( |
7929 | case Opt_nobarrier: | 7446 | case Opt_inode32: |
7930 | mp->m_flags &= ~XFS_MOUNT_BARRIER; | 7447 | mp->m_maxagi = xfs_set_inode32(mp); |
7931 | break; | 7448 | break; |
7932 | + case Opt_tag: | 7449 | + case Opt_tag: |
7933 | + if (!(sb->s_flags & MS_TAGGED)) { | 7450 | + if (!(sb->s_flags & MS_TAGGED)) { |
@@ -7942,7 +7459,7 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_super.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7942 | default: | 7459 | default: |
7943 | /* | 7460 | /* |
7944 | * Logically we would return an error here to prevent | 7461 | * Logically we would return an error here to prevent |
7945 | @@ -1346,6 +1376,9 @@ xfs_fs_fill_super( | 7462 | @@ -1469,6 +1500,9 @@ xfs_fs_fill_super( |
7946 | if (error) | 7463 | if (error) |
7947 | goto out_free_sb; | 7464 | goto out_free_sb; |
7948 | 7465 | ||
@@ -7952,10 +7469,10 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_super.c linux-3.4.57-vs2.3.3.9/fs/ | |||
7952 | /* | 7469 | /* |
7953 | * we must configure the block size in the superblock before we run the | 7470 | * we must configure the block size in the superblock before we run the |
7954 | * full mount process as the mount process can lookup and cache inodes. | 7471 | * full mount process as the mount process can lookup and cache inodes. |
7955 | diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_vnodeops.c linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_vnodeops.c | 7472 | diff -NurpP --minimal linux-3.10.17/fs/xfs/xfs_vnodeops.c linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_vnodeops.c |
7956 | --- linux-3.4.57/fs/xfs/xfs_vnodeops.c 2012-05-21 16:07:28.000000000 +0000 | 7473 | --- linux-3.10.17/fs/xfs/xfs_vnodeops.c 2013-07-14 17:01:31.000000000 +0000 |
7957 | +++ linux-3.4.57-vs2.3.3.9/fs/xfs/xfs_vnodeops.c 2012-05-21 16:15:05.000000000 +0000 | 7474 | +++ linux-3.10.17-vs2.3.6.6/fs/xfs/xfs_vnodeops.c 2013-08-22 20:30:00.000000000 +0000 |
7958 | @@ -106,6 +106,77 @@ xfs_readlink_bmap( | 7475 | @@ -155,6 +155,77 @@ xfs_free_eofblocks( |
7959 | return error; | 7476 | return error; |
7960 | } | 7477 | } |
7961 | 7478 | ||
@@ -8031,48 +7548,12 @@ diff -NurpP --minimal linux-3.4.57/fs/xfs/xfs_vnodeops.c linux-3.4.57-vs2.3.3.9/ | |||
8031 | + | 7548 | + |
8032 | + | 7549 | + |
8033 | int | 7550 | int |
8034 | xfs_readlink( | 7551 | xfs_release( |
8035 | xfs_inode_t *ip, | 7552 | xfs_inode_t *ip) |
8036 | diff -NurpP --minimal linux-3.4.57/include/linux/Kbuild linux-3.4.57-vs2.3.3.9/include/linux/Kbuild | 7553 | diff -NurpP --minimal linux-3.10.17/include/linux/cred.h linux-3.10.17-vs2.3.6.6/include/linux/cred.h |
8037 | --- linux-3.4.57/include/linux/Kbuild 2013-08-13 14:13:35.000000000 +0000 | 7554 | --- linux-3.10.17/include/linux/cred.h 2013-02-19 13:58:50.000000000 +0000 |
8038 | +++ linux-3.4.57-vs2.3.3.9/include/linux/Kbuild 2012-07-24 09:52:30.000000000 +0000 | 7555 | +++ linux-3.10.17-vs2.3.6.6/include/linux/cred.h 2013-08-22 20:30:00.000000000 +0000 |
8039 | @@ -18,6 +18,7 @@ header-y += netfilter_bridge/ | 7556 | @@ -143,6 +143,7 @@ extern void exit_creds(struct task_struc |
8040 | header-y += netfilter_ipv4/ | ||
8041 | header-y += netfilter_ipv6/ | ||
8042 | header-y += usb/ | ||
8043 | +header-y += vserver/ | ||
8044 | header-y += wimax/ | ||
8045 | |||
8046 | objhdr-y += version.h | ||
8047 | diff -NurpP --minimal linux-3.4.57/include/linux/capability.h linux-3.4.57-vs2.3.3.9/include/linux/capability.h | ||
8048 | --- linux-3.4.57/include/linux/capability.h 2012-03-19 18:47:27.000000000 +0000 | ||
8049 | +++ linux-3.4.57-vs2.3.3.9/include/linux/capability.h 2012-05-21 16:15:05.000000000 +0000 | ||
8050 | @@ -280,6 +280,7 @@ struct cpu_vfs_cap_data { | ||
8051 | arbitrary SCSI commands */ | ||
8052 | /* Allow setting encryption key on loopback filesystem */ | ||
8053 | /* Allow setting zone reclaim policy */ | ||
8054 | +/* Allow the selection of a security context */ | ||
8055 | |||
8056 | #define CAP_SYS_ADMIN 21 | ||
8057 | |||
8058 | @@ -363,7 +364,12 @@ struct cpu_vfs_cap_data { | ||
8059 | |||
8060 | #define CAP_LAST_CAP CAP_WAKE_ALARM | ||
8061 | |||
8062 | -#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) | ||
8063 | +/* Allow context manipulations */ | ||
8064 | +/* Allow changing context info on files */ | ||
8065 | + | ||
8066 | +#define CAP_CONTEXT 63 | ||
8067 | + | ||
8068 | +#define cap_valid(x) ((x) >= 0 && ((x) <= CAP_LAST_CAP || (x) == CAP_CONTEXT)) | ||
8069 | |||
8070 | /* | ||
8071 | * Bit location of each capability (used by user-space library and kernel) | ||
8072 | diff -NurpP --minimal linux-3.4.57/include/linux/cred.h linux-3.4.57-vs2.3.3.9/include/linux/cred.h | ||
8073 | --- linux-3.4.57/include/linux/cred.h 2012-03-19 18:47:27.000000000 +0000 | ||
8074 | +++ linux-3.4.57-vs2.3.3.9/include/linux/cred.h 2012-05-21 16:15:05.000000000 +0000 | ||
8075 | @@ -156,6 +156,7 @@ extern void exit_creds(struct task_struc | ||
8076 | extern int copy_creds(struct task_struct *, unsigned long); | 7557 | extern int copy_creds(struct task_struct *, unsigned long); |
8077 | extern const struct cred *get_task_cred(struct task_struct *); | 7558 | extern const struct cred *get_task_cred(struct task_struct *); |
8078 | extern struct cred *cred_alloc_blank(void); | 7559 | extern struct cred *cred_alloc_blank(void); |
@@ -8080,7 +7561,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/cred.h linux-3.4.57-vs2.3.3.9/i | |||
8080 | extern struct cred *prepare_creds(void); | 7561 | extern struct cred *prepare_creds(void); |
8081 | extern struct cred *prepare_exec_creds(void); | 7562 | extern struct cred *prepare_exec_creds(void); |
8082 | extern int commit_creds(struct cred *); | 7563 | extern int commit_creds(struct cred *); |
8083 | @@ -209,6 +210,31 @@ static inline void validate_process_cred | 7564 | @@ -196,6 +197,31 @@ static inline void validate_process_cred |
8084 | } | 7565 | } |
8085 | #endif | 7566 | #endif |
8086 | 7567 | ||
@@ -8112,96 +7593,19 @@ diff -NurpP --minimal linux-3.4.57/include/linux/cred.h linux-3.4.57-vs2.3.3.9/i | |||
8112 | /** | 7593 | /** |
8113 | * get_new_cred - Get a reference on a new set of credentials | 7594 | * get_new_cred - Get a reference on a new set of credentials |
8114 | * @cred: The new credentials to reference | 7595 | * @cred: The new credentials to reference |
8115 | diff -NurpP --minimal linux-3.4.57/include/linux/devpts_fs.h linux-3.4.57-vs2.3.3.9/include/linux/devpts_fs.h | 7596 | diff -NurpP --minimal linux-3.10.17/include/linux/devpts_fs.h linux-3.10.17-vs2.3.6.6/include/linux/devpts_fs.h |
8116 | --- linux-3.4.57/include/linux/devpts_fs.h 2008-12-24 23:26:37.000000000 +0000 | 7597 | --- linux-3.10.17/include/linux/devpts_fs.h 2013-02-19 13:58:50.000000000 +0000 |
8117 | +++ linux-3.4.57-vs2.3.3.9/include/linux/devpts_fs.h 2012-05-21 16:15:05.000000000 +0000 | 7598 | +++ linux-3.10.17-vs2.3.6.6/include/linux/devpts_fs.h 2013-08-22 20:30:00.000000000 +0000 |
8118 | @@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc | 7599 | @@ -45,5 +45,4 @@ static inline void devpts_pty_kill(struc |
8119 | 7600 | ||
8120 | #endif | 7601 | #endif |
8121 | 7602 | ||
8122 | - | 7603 | - |
8123 | #endif /* _LINUX_DEVPTS_FS_H */ | 7604 | #endif /* _LINUX_DEVPTS_FS_H */ |
8124 | diff -NurpP --minimal linux-3.4.57/include/linux/fs.h linux-3.4.57-vs2.3.3.9/include/linux/fs.h | 7605 | diff -NurpP --minimal linux-3.10.17/include/linux/fs.h linux-3.10.17-vs2.3.6.6/include/linux/fs.h |
8125 | --- linux-3.4.57/include/linux/fs.h 2012-05-21 16:07:29.000000000 +0000 | 7606 | --- linux-3.10.17/include/linux/fs.h 2013-07-14 17:01:32.000000000 +0000 |
8126 | +++ linux-3.4.57-vs2.3.3.9/include/linux/fs.h 2012-05-21 16:15:05.000000000 +0000 | 7607 | +++ linux-3.10.17-vs2.3.6.6/include/linux/fs.h 2013-08-22 20:30:00.000000000 +0000 |
8127 | @@ -214,6 +214,9 @@ struct inodes_stat_t { | 7608 | @@ -211,6 +211,7 @@ typedef void (dio_iodone_t)(struct kiocb |
8128 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ | ||
8129 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ | ||
8130 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ | ||
8131 | +#define MS_TAGGED (1<<25) /* use generic inode tagging */ | ||
8132 | +#define MS_TAGID (1<<26) /* use specific tag for this mount */ | ||
8133 | +#define MS_NOTAGCHECK (1<<27) /* don't check tags */ | ||
8134 | #define MS_NOSEC (1<<28) | ||
8135 | #define MS_BORN (1<<29) | ||
8136 | #define MS_ACTIVE (1<<30) | ||
8137 | @@ -245,6 +248,14 @@ struct inodes_stat_t { | ||
8138 | #define S_IMA 1024 /* Inode has an associated IMA struct */ | ||
8139 | #define S_AUTOMOUNT 2048 /* Automount/referral quasi-directory */ | ||
8140 | #define S_NOSEC 4096 /* no suid or xattr security attributes */ | ||
8141 | +#define S_IXUNLINK 8192 /* Immutable Invert on unlink */ | ||
8142 | + | ||
8143 | +/* Linux-VServer related Inode flags */ | ||
8144 | + | ||
8145 | +#define V_VALID 1 | ||
8146 | +#define V_XATTR 2 | ||
8147 | +#define V_BARRIER 4 /* Barrier for chroot() */ | ||
8148 | +#define V_COW 8 /* Copy on Write */ | ||
8149 | |||
8150 | /* | ||
8151 | * Note that nosuid etc flags are inode-specific: setting some file-system | ||
8152 | @@ -267,12 +278,15 @@ struct inodes_stat_t { | ||
8153 | #define IS_DIRSYNC(inode) (__IS_FLG(inode, MS_SYNCHRONOUS|MS_DIRSYNC) || \ | ||
8154 | ((inode)->i_flags & (S_SYNC|S_DIRSYNC))) | ||
8155 | #define IS_MANDLOCK(inode) __IS_FLG(inode, MS_MANDLOCK) | ||
8156 | -#define IS_NOATIME(inode) __IS_FLG(inode, MS_RDONLY|MS_NOATIME) | ||
8157 | -#define IS_I_VERSION(inode) __IS_FLG(inode, MS_I_VERSION) | ||
8158 | +#define IS_NOATIME(inode) __IS_FLG(inode, MS_RDONLY|MS_NOATIME) | ||
8159 | +#define IS_I_VERSION(inode) __IS_FLG(inode, MS_I_VERSION) | ||
8160 | +#define IS_TAGGED(inode) __IS_FLG(inode, MS_TAGGED) | ||
8161 | |||
8162 | #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) | ||
8163 | #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) | ||
8164 | #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) | ||
8165 | +#define IS_IXUNLINK(inode) ((inode)->i_flags & S_IXUNLINK) | ||
8166 | +#define IS_IXORUNLINK(inode) ((IS_IXUNLINK(inode) ? S_IMMUTABLE : 0) ^ IS_IMMUTABLE(inode)) | ||
8167 | #define IS_POSIXACL(inode) __IS_FLG(inode, MS_POSIXACL) | ||
8168 | |||
8169 | #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) | ||
8170 | @@ -283,6 +297,16 @@ struct inodes_stat_t { | ||
8171 | #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) | ||
8172 | #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) | ||
8173 | |||
8174 | +#define IS_BARRIER(inode) (S_ISDIR((inode)->i_mode) && ((inode)->i_vflags & V_BARRIER)) | ||
8175 | + | ||
8176 | +#ifdef CONFIG_VSERVER_COWBL | ||
8177 | +# define IS_COW(inode) (IS_IXUNLINK(inode) && IS_IMMUTABLE(inode)) | ||
8178 | +# define IS_COW_LINK(inode) (S_ISREG((inode)->i_mode) && ((inode)->i_nlink > 1)) | ||
8179 | +#else | ||
8180 | +# define IS_COW(inode) (0) | ||
8181 | +# define IS_COW_LINK(inode) (0) | ||
8182 | +#endif | ||
8183 | + | ||
8184 | /* the read-only stuff doesn't really belong here, but any other place is | ||
8185 | probably as bad and I don't want to create yet another include file. */ | ||
8186 | |||
8187 | @@ -369,11 +393,14 @@ struct inodes_stat_t { | ||
8188 | #define FS_EXTENT_FL 0x00080000 /* Extents */ | ||
8189 | #define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */ | ||
8190 | #define FS_NOCOW_FL 0x00800000 /* Do not cow file */ | ||
8191 | +#define FS_IXUNLINK_FL 0x08000000 /* Immutable invert on unlink */ | ||
8192 | #define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ | ||
8193 | |||
8194 | -#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ | ||
8195 | -#define FS_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ | ||
8196 | +#define FS_BARRIER_FL 0x04000000 /* Barrier for chroot() */ | ||
8197 | +#define FS_COW_FL 0x20000000 /* Copy on Write marker */ | ||
8198 | |||
8199 | +#define FS_FL_USER_VISIBLE 0x0103DFFF /* User visible flags */ | ||
8200 | +#define FS_FL_USER_MODIFIABLE 0x010380FF /* User modifiable flags */ | ||
8201 | |||
8202 | #define SYNC_FILE_RANGE_WAIT_BEFORE 1 | ||
8203 | #define SYNC_FILE_RANGE_WRITE 2 | ||
8204 | @@ -456,6 +483,7 @@ typedef void (dio_iodone_t)(struct kiocb | ||
8205 | #define ATTR_KILL_PRIV (1 << 14) | 7609 | #define ATTR_KILL_PRIV (1 << 14) |
8206 | #define ATTR_OPEN (1 << 15) /* Truncating from open(O_TRUNC) */ | 7610 | #define ATTR_OPEN (1 << 15) /* Truncating from open(O_TRUNC) */ |
8207 | #define ATTR_TIMES_SET (1 << 16) | 7611 | #define ATTR_TIMES_SET (1 << 16) |
@@ -8209,45 +7613,54 @@ diff -NurpP --minimal linux-3.4.57/include/linux/fs.h linux-3.4.57-vs2.3.3.9/inc | |||
8209 | 7613 | ||
8210 | /* | 7614 | /* |
8211 | * This is the Inode Attributes structure, used for notify_change(). It | 7615 | * This is the Inode Attributes structure, used for notify_change(). It |
8212 | @@ -471,6 +499,7 @@ struct iattr { | 7616 | @@ -226,6 +227,7 @@ struct iattr { |
8213 | umode_t ia_mode; | 7617 | umode_t ia_mode; |
8214 | uid_t ia_uid; | 7618 | kuid_t ia_uid; |
8215 | gid_t ia_gid; | 7619 | kgid_t ia_gid; |
8216 | + tag_t ia_tag; | 7620 | + ktag_t ia_tag; |
8217 | loff_t ia_size; | 7621 | loff_t ia_size; |
8218 | struct timespec ia_atime; | 7622 | struct timespec ia_atime; |
8219 | struct timespec ia_mtime; | 7623 | struct timespec ia_mtime; |
8220 | @@ -484,6 +513,9 @@ struct iattr { | 7624 | @@ -523,7 +525,9 @@ struct inode { |
8221 | struct file *ia_file; | ||
8222 | }; | ||
8223 | |||
8224 | +#define ATTR_FLAG_BARRIER 512 /* Barrier for chroot() */ | ||
8225 | +#define ATTR_FLAG_IXUNLINK 1024 /* Immutable invert on unlink */ | ||
8226 | + | ||
8227 | /* | ||
8228 | * Includes for diskquotas. | ||
8229 | */ | ||
8230 | @@ -763,7 +795,9 @@ struct inode { | ||
8231 | unsigned short i_opflags; | 7625 | unsigned short i_opflags; |
8232 | uid_t i_uid; | 7626 | kuid_t i_uid; |
8233 | gid_t i_gid; | 7627 | kgid_t i_gid; |
8234 | - unsigned int i_flags; | 7628 | - unsigned int i_flags; |
8235 | + tag_t i_tag; | 7629 | + ktag_t i_tag; |
8236 | + unsigned short i_flags; | 7630 | + unsigned short i_flags; |
8237 | + unsigned short i_vflags; | 7631 | + unsigned short i_vflags; |
8238 | 7632 | ||
8239 | #ifdef CONFIG_FS_POSIX_ACL | 7633 | #ifdef CONFIG_FS_POSIX_ACL |
8240 | struct posix_acl *i_acl; | 7634 | struct posix_acl *i_acl; |
8241 | @@ -792,6 +826,7 @@ struct inode { | 7635 | @@ -552,6 +556,7 @@ struct inode { |
8242 | unsigned int __i_nlink; | 7636 | unsigned int __i_nlink; |
8243 | }; | 7637 | }; |
8244 | dev_t i_rdev; | 7638 | dev_t i_rdev; |
8245 | + dev_t i_mdev; | 7639 | + dev_t i_mdev; |
7640 | loff_t i_size; | ||
8246 | struct timespec i_atime; | 7641 | struct timespec i_atime; |
8247 | struct timespec i_mtime; | 7642 | struct timespec i_mtime; |
8248 | struct timespec i_ctime; | 7643 | @@ -704,6 +709,11 @@ static inline gid_t i_gid_read(const str |
8249 | @@ -929,12 +964,12 @@ static inline void i_size_write(struct i | 7644 | return from_kgid(&init_user_ns, inode->i_gid); |
7645 | } | ||
7646 | |||
7647 | +static inline vtag_t i_tag_read(const struct inode *inode) | ||
7648 | +{ | ||
7649 | + return from_ktag(&init_user_ns, inode->i_tag); | ||
7650 | +} | ||
7651 | + | ||
7652 | static inline void i_uid_write(struct inode *inode, uid_t uid) | ||
7653 | { | ||
7654 | inode->i_uid = make_kuid(&init_user_ns, uid); | ||
7655 | @@ -714,14 +724,19 @@ static inline void i_gid_write(struct in | ||
7656 | inode->i_gid = make_kgid(&init_user_ns, gid); | ||
7657 | } | ||
8250 | 7658 | ||
7659 | +static inline void i_tag_write(struct inode *inode, vtag_t tag) | ||
7660 | +{ | ||
7661 | + inode->i_tag = make_ktag(&init_user_ns, tag); | ||
7662 | +} | ||
7663 | + | ||
8251 | static inline unsigned iminor(const struct inode *inode) | 7664 | static inline unsigned iminor(const struct inode *inode) |
8252 | { | 7665 | { |
8253 | - return MINOR(inode->i_rdev); | 7666 | - return MINOR(inode->i_rdev); |
@@ -8261,39 +7674,95 @@ diff -NurpP --minimal linux-3.4.57/include/linux/fs.h linux-3.4.57-vs2.3.3.9/inc | |||
8261 | } | 7674 | } |
8262 | 7675 | ||
8263 | extern struct block_device *I_BDEV(struct inode *inode); | 7676 | extern struct block_device *I_BDEV(struct inode *inode); |
8264 | @@ -1001,6 +1036,7 @@ struct file { | 7677 | @@ -788,6 +803,7 @@ struct file { |
8265 | loff_t f_pos; | 7678 | loff_t f_pos; |
8266 | struct fown_struct f_owner; | 7679 | struct fown_struct f_owner; |
8267 | const struct cred *f_cred; | 7680 | const struct cred *f_cred; |
8268 | + xid_t f_xid; | 7681 | + vxid_t f_xid; |
8269 | struct file_ra_state f_ra; | 7682 | struct file_ra_state f_ra; |
8270 | 7683 | ||
8271 | u64 f_version; | 7684 | u64 f_version; |
8272 | @@ -1148,6 +1184,7 @@ struct file_lock { | 7685 | @@ -939,6 +955,7 @@ struct file_lock { |
8273 | struct file *fl_file; | 7686 | struct file *fl_file; |
8274 | loff_t fl_start; | 7687 | loff_t fl_start; |
8275 | loff_t fl_end; | 7688 | loff_t fl_end; |
8276 | + xid_t fl_xid; | 7689 | + vxid_t fl_xid; |
8277 | 7690 | ||
8278 | struct fasync_struct * fl_fasync; /* for lease break notifications */ | 7691 | struct fasync_struct * fl_fasync; /* for lease break notifications */ |
8279 | /* for lease breaks: */ | 7692 | /* for lease breaks: */ |
8280 | @@ -1661,6 +1698,7 @@ struct inode_operations { | 7693 | @@ -1569,6 +1586,7 @@ struct inode_operations { |
8281 | ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); | 7694 | ssize_t (*getxattr) (struct dentry *, const char *, void *, size_t); |
8282 | ssize_t (*listxattr) (struct dentry *, char *, size_t); | 7695 | ssize_t (*listxattr) (struct dentry *, char *, size_t); |
8283 | int (*removexattr) (struct dentry *, const char *); | 7696 | int (*removexattr) (struct dentry *, const char *); |
8284 | + int (*sync_flags) (struct inode *, int, int); | 7697 | + int (*sync_flags) (struct inode *, int, int); |
8285 | void (*truncate_range)(struct inode *, loff_t, loff_t); | ||
8286 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, | 7698 | int (*fiemap)(struct inode *, struct fiemap_extent_info *, u64 start, |
8287 | u64 len); | 7699 | u64 len); |
8288 | @@ -1680,6 +1718,7 @@ extern ssize_t vfs_readv(struct file *, | 7700 | int (*update_time)(struct inode *, struct timespec *, int); |
8289 | unsigned long, loff_t *); | 7701 | @@ -1581,6 +1599,7 @@ ssize_t rw_copy_check_uvector(int type, |
8290 | extern ssize_t vfs_writev(struct file *, const struct iovec __user *, | 7702 | unsigned long nr_segs, unsigned long fast_segs, |
8291 | unsigned long, loff_t *); | 7703 | struct iovec *fast_pointer, |
7704 | struct iovec **ret_pointer); | ||
8292 | +ssize_t vfs_sendfile(struct file *, struct file *, loff_t *, size_t, loff_t); | 7705 | +ssize_t vfs_sendfile(struct file *, struct file *, loff_t *, size_t, loff_t); |
8293 | 7706 | ||
8294 | struct super_operations { | 7707 | extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *); |
8295 | struct inode *(*alloc_inode)(struct super_block *sb); | 7708 | extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *); |
8296 | @@ -2509,6 +2548,7 @@ extern int dcache_dir_open(struct inode | 7709 | @@ -1634,6 +1653,14 @@ struct super_operations { |
7710 | #define S_IMA 1024 /* Inode has an associated IMA struct */ | ||
7711 | #define S_AUTOMOUNT 2048 /* Automount/referral quasi-directory */ | ||
7712 | #define S_NOSEC 4096 /* no suid or xattr security attributes */ | ||
7713 | +#define S_IXUNLINK 8192 /* Immutable Invert on unlink */ | ||
7714 | + | ||
7715 | +/* Linux-VServer related Inode flags */ | ||
7716 | + | ||
7717 | +#define V_VALID 1 | ||
7718 | +#define V_XATTR 2 | ||
7719 | +#define V_BARRIER 4 /* Barrier for chroot() */ | ||
7720 | +#define V_COW 8 /* Copy on Write */ | ||
7721 | |||
7722 | /* | ||
7723 | * Note that nosuid etc flags are inode-specific: setting some file-system | ||
7724 | @@ -1658,10 +1685,13 @@ struct super_operations { | ||
7725 | #define IS_MANDLOCK(inode) __IS_FLG(inode, MS_MANDLOCK) | ||
7726 | #define IS_NOATIME(inode) __IS_FLG(inode, MS_RDONLY|MS_NOATIME) | ||
7727 | #define IS_I_VERSION(inode) __IS_FLG(inode, MS_I_VERSION) | ||
7728 | +#define IS_TAGGED(inode) __IS_FLG(inode, MS_TAGGED) | ||
7729 | |||
7730 | #define IS_NOQUOTA(inode) ((inode)->i_flags & S_NOQUOTA) | ||
7731 | #define IS_APPEND(inode) ((inode)->i_flags & S_APPEND) | ||
7732 | #define IS_IMMUTABLE(inode) ((inode)->i_flags & S_IMMUTABLE) | ||
7733 | +#define IS_IXUNLINK(inode) ((inode)->i_flags & S_IXUNLINK) | ||
7734 | +#define IS_IXORUNLINK(inode) ((IS_IXUNLINK(inode) ? S_IMMUTABLE : 0) ^ IS_IMMUTABLE(inode)) | ||
7735 | #define IS_POSIXACL(inode) __IS_FLG(inode, MS_POSIXACL) | ||
7736 | |||
7737 | #define IS_DEADDIR(inode) ((inode)->i_flags & S_DEAD) | ||
7738 | @@ -1672,6 +1702,16 @@ struct super_operations { | ||
7739 | #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) | ||
7740 | #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) | ||
7741 | |||
7742 | +#define IS_BARRIER(inode) (S_ISDIR((inode)->i_mode) && ((inode)->i_vflags & V_BARRIER)) | ||
7743 | + | ||
7744 | +#ifdef CONFIG_VSERVER_COWBL | ||
7745 | +# define IS_COW(inode) (IS_IXUNLINK(inode) && IS_IMMUTABLE(inode)) | ||
7746 | +# define IS_COW_LINK(inode) (S_ISREG((inode)->i_mode) && ((inode)->i_nlink > 1)) | ||
7747 | +#else | ||
7748 | +# define IS_COW(inode) (0) | ||
7749 | +# define IS_COW_LINK(inode) (0) | ||
7750 | +#endif | ||
7751 | + | ||
7752 | /* | ||
7753 | * Inode state bits. Protected by inode->i_lock | ||
7754 | * | ||
7755 | @@ -1900,6 +1940,9 @@ extern int rw_verify_area(int, struct fi | ||
7756 | extern int locks_mandatory_locked(struct inode *); | ||
7757 | extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t); | ||
7758 | |||
7759 | +#define ATTR_FLAG_BARRIER 512 /* Barrier for chroot() */ | ||
7760 | +#define ATTR_FLAG_IXUNLINK 1024 /* Immutable invert on unlink */ | ||
7761 | + | ||
7762 | /* | ||
7763 | * Candidates for mandatory locking have the setgid bit set | ||
7764 | * but no group execute bit - an otherwise meaningless combination. | ||
7765 | @@ -2525,6 +2568,7 @@ extern int dcache_dir_open(struct inode | ||
8297 | extern int dcache_dir_close(struct inode *, struct file *); | 7766 | extern int dcache_dir_close(struct inode *, struct file *); |
8298 | extern loff_t dcache_dir_lseek(struct file *, loff_t, int); | 7767 | extern loff_t dcache_dir_lseek(struct file *, loff_t, int); |
8299 | extern int dcache_readdir(struct file *, void *, filldir_t); | 7768 | extern int dcache_readdir(struct file *, void *, filldir_t); |
@@ -8301,47 +7770,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/fs.h linux-3.4.57-vs2.3.3.9/inc | |||
8301 | extern int simple_setattr(struct dentry *, struct iattr *); | 7770 | extern int simple_setattr(struct dentry *, struct iattr *); |
8302 | extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *); | 7771 | extern int simple_getattr(struct vfsmount *, struct dentry *, struct kstat *); |
8303 | extern int simple_statfs(struct dentry *, struct kstatfs *); | 7772 | extern int simple_statfs(struct dentry *, struct kstatfs *); |
8304 | diff -NurpP --minimal linux-3.4.57/include/linux/gfs2_ondisk.h linux-3.4.57-vs2.3.3.9/include/linux/gfs2_ondisk.h | 7773 | diff -NurpP --minimal linux-3.10.17/include/linux/init_task.h linux-3.10.17-vs2.3.6.6/include/linux/init_task.h |
8305 | --- linux-3.4.57/include/linux/gfs2_ondisk.h 2012-05-21 16:07:29.000000000 +0000 | 7774 | --- linux-3.10.17/include/linux/init_task.h 2013-05-31 13:45:27.000000000 +0000 |
8306 | +++ linux-3.4.57-vs2.3.3.9/include/linux/gfs2_ondisk.h 2012-05-21 16:15:05.000000000 +0000 | 7775 | +++ linux-3.10.17-vs2.3.6.6/include/linux/init_task.h 2013-08-22 20:30:00.000000000 +0000 |
8307 | @@ -214,6 +214,9 @@ enum { | 7776 | @@ -222,6 +222,10 @@ extern struct task_group root_task_group |
8308 | gfs2fl_NoAtime = 7, | ||
8309 | gfs2fl_Sync = 8, | ||
8310 | gfs2fl_System = 9, | ||
8311 | + gfs2fl_IXUnlink = 16, | ||
8312 | + gfs2fl_Barrier = 17, | ||
8313 | + gfs2fl_Cow = 18, | ||
8314 | gfs2fl_TruncInProg = 29, | ||
8315 | gfs2fl_InheritDirectio = 30, | ||
8316 | gfs2fl_InheritJdata = 31, | ||
8317 | @@ -230,6 +233,9 @@ enum { | ||
8318 | #define GFS2_DIF_NOATIME 0x00000080 | ||
8319 | #define GFS2_DIF_SYNC 0x00000100 | ||
8320 | #define GFS2_DIF_SYSTEM 0x00000200 /* New in gfs2 */ | ||
8321 | +#define GFS2_DIF_IXUNLINK 0x00010000 | ||
8322 | +#define GFS2_DIF_BARRIER 0x00020000 | ||
8323 | +#define GFS2_DIF_COW 0x00040000 | ||
8324 | #define GFS2_DIF_TRUNC_IN_PROG 0x20000000 /* New in gfs2 */ | ||
8325 | #define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 | ||
8326 | #define GFS2_DIF_INHERIT_JDATA 0x80000000 | ||
8327 | diff -NurpP --minimal linux-3.4.57/include/linux/if_tun.h linux-3.4.57-vs2.3.3.9/include/linux/if_tun.h | ||
8328 | --- linux-3.4.57/include/linux/if_tun.h 2010-08-02 14:52:54.000000000 +0000 | ||
8329 | +++ linux-3.4.57-vs2.3.3.9/include/linux/if_tun.h 2012-05-21 16:15:05.000000000 +0000 | ||
8330 | @@ -53,6 +53,7 @@ | ||
8331 | #define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog) | ||
8332 | #define TUNGETVNETHDRSZ _IOR('T', 215, int) | ||
8333 | #define TUNSETVNETHDRSZ _IOW('T', 216, int) | ||
8334 | +#define TUNSETNID _IOW('T', 217, int) | ||
8335 | |||
8336 | /* TUNSETIFF ifr flags */ | ||
8337 | #define IFF_TUN 0x0001 | ||
8338 | diff -NurpP --minimal linux-3.4.57/include/linux/init_task.h linux-3.4.57-vs2.3.3.9/include/linux/init_task.h | ||
8339 | --- linux-3.4.57/include/linux/init_task.h 2013-08-13 14:13:35.000000000 +0000 | ||
8340 | +++ linux-3.4.57-vs2.3.3.9/include/linux/init_task.h 2012-10-22 13:09:53.000000000 +0000 | ||
8341 | @@ -210,6 +210,10 @@ extern struct task_group root_task_group | ||
8342 | INIT_TRACE_RECURSION \ | ||
8343 | INIT_TASK_RCU_PREEMPT(tsk) \ | 7777 | INIT_TASK_RCU_PREEMPT(tsk) \ |
8344 | INIT_CPUSET_SEQ \ | 7778 | INIT_CPUSET_SEQ \ |
7779 | INIT_VTIME(tsk) \ | ||
8345 | + .xid = 0, \ | 7780 | + .xid = 0, \ |
8346 | + .vx_info = NULL, \ | 7781 | + .vx_info = NULL, \ |
8347 | + .nid = 0, \ | 7782 | + .nid = 0, \ |
@@ -8349,84 +7784,32 @@ diff -NurpP --minimal linux-3.4.57/include/linux/init_task.h linux-3.4.57-vs2.3. | |||
8349 | } | 7784 | } |
8350 | 7785 | ||
8351 | 7786 | ||
8352 | diff -NurpP --minimal linux-3.4.57/include/linux/ipc.h linux-3.4.57-vs2.3.3.9/include/linux/ipc.h | 7787 | diff -NurpP --minimal linux-3.10.17/include/linux/ipc.h linux-3.10.17-vs2.3.6.6/include/linux/ipc.h |
8353 | --- linux-3.4.57/include/linux/ipc.h 2012-03-19 18:47:28.000000000 +0000 | 7788 | --- linux-3.10.17/include/linux/ipc.h 2012-12-11 03:30:57.000000000 +0000 |
8354 | +++ linux-3.4.57-vs2.3.3.9/include/linux/ipc.h 2012-05-21 16:15:05.000000000 +0000 | 7789 | +++ linux-3.10.17-vs2.3.6.6/include/linux/ipc.h 2013-08-22 20:30:00.000000000 +0000 |
8355 | @@ -91,6 +91,7 @@ struct kern_ipc_perm | 7790 | @@ -16,6 +16,7 @@ struct kern_ipc_perm |
8356 | key_t key; | 7791 | key_t key; |
8357 | uid_t uid; | 7792 | kuid_t uid; |
8358 | gid_t gid; | 7793 | kgid_t gid; |
8359 | + xid_t xid; | 7794 | + vxid_t xid; |
8360 | uid_t cuid; | 7795 | kuid_t cuid; |
8361 | gid_t cgid; | 7796 | kgid_t cgid; |
8362 | umode_t mode; | 7797 | umode_t mode; |
8363 | diff -NurpP --minimal linux-3.4.57/include/linux/ipc_namespace.h linux-3.4.57-vs2.3.3.9/include/linux/ipc_namespace.h | 7798 | diff -NurpP --minimal linux-3.10.17/include/linux/loop.h linux-3.10.17-vs2.3.6.6/include/linux/loop.h |
8364 | --- linux-3.4.57/include/linux/ipc_namespace.h 2013-08-13 14:13:35.000000000 +0000 | 7799 | --- linux-3.10.17/include/linux/loop.h 2013-02-19 13:58:51.000000000 +0000 |
8365 | +++ linux-3.4.57-vs2.3.3.9/include/linux/ipc_namespace.h 2013-07-14 13:38:35.000000000 +0000 | 7800 | +++ linux-3.10.17-vs2.3.6.6/include/linux/loop.h 2013-08-22 20:30:00.000000000 +0000 |
8366 | @@ -101,7 +101,8 @@ static inline int mq_init_ns(struct ipc_ | 7801 | @@ -41,6 +41,7 @@ struct loop_device { |
8367 | |||
8368 | #if defined(CONFIG_IPC_NS) | ||
8369 | extern struct ipc_namespace *copy_ipcs(unsigned long flags, | ||
8370 | - struct task_struct *tsk); | ||
8371 | + struct ipc_namespace *old_ns, | ||
8372 | + struct user_namespace *user_ns); | ||
8373 | static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) | ||
8374 | { | ||
8375 | if (ns) | ||
8376 | @@ -112,12 +113,13 @@ static inline struct ipc_namespace *get_ | ||
8377 | extern void put_ipc_ns(struct ipc_namespace *ns); | ||
8378 | #else | ||
8379 | static inline struct ipc_namespace *copy_ipcs(unsigned long flags, | ||
8380 | - struct task_struct *tsk) | ||
8381 | + struct ipc_namespace *old_ns, | ||
8382 | + struct user_namespace *user_ns) | ||
8383 | { | ||
8384 | if (flags & CLONE_NEWIPC) | ||
8385 | return ERR_PTR(-EINVAL); | ||
8386 | |||
8387 | - return tsk->nsproxy->ipc_ns; | ||
8388 | + return old_ns; | ||
8389 | } | ||
8390 | |||
8391 | static inline struct ipc_namespace *get_ipc_ns(struct ipc_namespace *ns) | ||
8392 | diff -NurpP --minimal linux-3.4.57/include/linux/loop.h linux-3.4.57-vs2.3.3.9/include/linux/loop.h | ||
8393 | --- linux-3.4.57/include/linux/loop.h 2012-01-09 15:14:58.000000000 +0000 | ||
8394 | +++ linux-3.4.57-vs2.3.3.9/include/linux/loop.h 2012-05-21 16:15:05.000000000 +0000 | ||
8395 | @@ -45,6 +45,7 @@ struct loop_device { | ||
8396 | struct loop_func_table *lo_encryption; | 7802 | struct loop_func_table *lo_encryption; |
8397 | __u32 lo_init[2]; | 7803 | __u32 lo_init[2]; |
8398 | uid_t lo_key_owner; /* Who set the key */ | 7804 | kuid_t lo_key_owner; /* Who set the key */ |
8399 | + xid_t lo_xid; | 7805 | + vxid_t lo_xid; |
8400 | int (*ioctl)(struct loop_device *, int cmd, | 7806 | int (*ioctl)(struct loop_device *, int cmd, |
8401 | unsigned long arg); | 7807 | unsigned long arg); |
8402 | 7808 | ||
8403 | diff -NurpP --minimal linux-3.4.57/include/linux/magic.h linux-3.4.57-vs2.3.3.9/include/linux/magic.h | 7809 | diff -NurpP --minimal linux-3.10.17/include/linux/memcontrol.h linux-3.10.17-vs2.3.6.6/include/linux/memcontrol.h |
8404 | --- linux-3.4.57/include/linux/magic.h 2012-05-21 16:07:31.000000000 +0000 | 7810 | --- linux-3.10.17/include/linux/memcontrol.h 2013-05-31 13:45:28.000000000 +0000 |
8405 | +++ linux-3.4.57-vs2.3.3.9/include/linux/magic.h 2012-05-21 16:15:05.000000000 +0000 | 7811 | +++ linux-3.10.17-vs2.3.6.6/include/linux/memcontrol.h 2013-08-22 20:30:00.000000000 +0000 |
8406 | @@ -3,7 +3,7 @@ | 7812 | @@ -86,6 +86,13 @@ extern struct mem_cgroup *try_get_mem_cg |
8407 | |||
8408 | #define ADFS_SUPER_MAGIC 0xadf5 | ||
8409 | #define AFFS_SUPER_MAGIC 0xadff | ||
8410 | -#define AFS_SUPER_MAGIC 0x5346414F | ||
8411 | +#define AFS_SUPER_MAGIC 0x5346414F | ||
8412 | #define AUTOFS_SUPER_MAGIC 0x0187 | ||
8413 | #define CODA_SUPER_MAGIC 0x73757245 | ||
8414 | #define CRAMFS_MAGIC 0x28cd3d45 /* some random number */ | ||
8415 | diff -NurpP --minimal linux-3.4.57/include/linux/major.h linux-3.4.57-vs2.3.3.9/include/linux/major.h | ||
8416 | --- linux-3.4.57/include/linux/major.h 2009-09-10 13:26:25.000000000 +0000 | ||
8417 | +++ linux-3.4.57-vs2.3.3.9/include/linux/major.h 2012-05-21 16:15:05.000000000 +0000 | ||
8418 | @@ -15,6 +15,7 @@ | ||
8419 | #define HD_MAJOR IDE0_MAJOR | ||
8420 | #define PTY_SLAVE_MAJOR 3 | ||
8421 | #define TTY_MAJOR 4 | ||
8422 | +#define VROOT_MAJOR 4 | ||
8423 | #define TTYAUX_MAJOR 5 | ||
8424 | #define LP_MAJOR 6 | ||
8425 | #define VCS_MAJOR 7 | ||
8426 | diff -NurpP --minimal linux-3.4.57/include/linux/memcontrol.h linux-3.4.57-vs2.3.3.9/include/linux/memcontrol.h | ||
8427 | --- linux-3.4.57/include/linux/memcontrol.h 2012-05-21 16:07:31.000000000 +0000 | ||
8428 | +++ linux-3.4.57-vs2.3.3.9/include/linux/memcontrol.h 2012-05-21 16:15:05.000000000 +0000 | ||
8429 | @@ -88,6 +88,13 @@ extern struct mem_cgroup *try_get_mem_cg | ||
8430 | extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg); | 7813 | extern struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg); |
8431 | extern struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont); | 7814 | extern struct mem_cgroup *mem_cgroup_from_cont(struct cgroup *cont); |
8432 | 7815 | ||
@@ -8438,42 +7821,25 @@ diff -NurpP --minimal linux-3.4.57/include/linux/memcontrol.h linux-3.4.57-vs2.3 | |||
8438 | +extern s64 mem_cgroup_stat_read_mapped(struct mem_cgroup *mem); | 7821 | +extern s64 mem_cgroup_stat_read_mapped(struct mem_cgroup *mem); |
8439 | + | 7822 | + |
8440 | static inline | 7823 | static inline |
8441 | int mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *cgroup) | 7824 | bool mm_match_cgroup(const struct mm_struct *mm, const struct mem_cgroup *memcg) |
8442 | { | 7825 | { |
8443 | diff -NurpP --minimal linux-3.4.57/include/linux/mm_types.h linux-3.4.57-vs2.3.3.9/include/linux/mm_types.h | 7826 | diff -NurpP --minimal linux-3.10.17/include/linux/mm_types.h linux-3.10.17-vs2.3.6.6/include/linux/mm_types.h |
8444 | --- linux-3.4.57/include/linux/mm_types.h 2013-08-13 14:13:35.000000000 +0000 | 7827 | --- linux-3.10.17/include/linux/mm_types.h 2013-10-25 15:17:43.000000000 +0000 |
8445 | +++ linux-3.4.57-vs2.3.3.9/include/linux/mm_types.h 2012-07-17 22:29:43.000000000 +0000 | 7828 | +++ linux-3.10.17-vs2.3.6.6/include/linux/mm_types.h 2013-10-09 17:37:22.000000000 +0000 |
8446 | @@ -353,6 +353,7 @@ struct mm_struct { | 7829 | @@ -381,6 +381,7 @@ struct mm_struct { |
8447 | 7830 | ||
8448 | /* Architecture-specific MM context */ | 7831 | /* Architecture-specific MM context */ |
8449 | mm_context_t context; | 7832 | mm_context_t context; |
8450 | + struct vx_info *mm_vx_info; | 7833 | + struct vx_info *mm_vx_info; |
8451 | 7834 | ||
8452 | /* Swap token stuff */ | 7835 | unsigned long flags; /* Must use atomic bitops to access the bits */ |
8453 | /* | ||
8454 | diff -NurpP --minimal linux-3.4.57/include/linux/mmzone.h linux-3.4.57-vs2.3.3.9/include/linux/mmzone.h | ||
8455 | --- linux-3.4.57/include/linux/mmzone.h 2013-08-13 14:13:35.000000000 +0000 | ||
8456 | +++ linux-3.4.57-vs2.3.3.9/include/linux/mmzone.h 2012-07-17 22:29:43.000000000 +0000 | ||
8457 | @@ -684,6 +684,13 @@ typedef struct pglist_data { | ||
8458 | __pgdat->node_start_pfn + __pgdat->node_spanned_pages;\ | ||
8459 | }) | ||
8460 | |||
8461 | +#define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn) | ||
8462 | + | ||
8463 | +#define node_end_pfn(nid) ({\ | ||
8464 | + pg_data_t *__pgdat = NODE_DATA(nid);\ | ||
8465 | + __pgdat->node_start_pfn + __pgdat->node_spanned_pages;\ | ||
8466 | +}) | ||
8467 | + | ||
8468 | #include <linux/memory_hotplug.h> | ||
8469 | 7836 | ||
8470 | extern struct mutex zonelists_mutex; | 7837 | diff -NurpP --minimal linux-3.10.17/include/linux/mount.h linux-3.10.17-vs2.3.6.6/include/linux/mount.h |
8471 | diff -NurpP --minimal linux-3.4.57/include/linux/mount.h linux-3.4.57-vs2.3.3.9/include/linux/mount.h | 7838 | --- linux-3.10.17/include/linux/mount.h 2013-05-31 13:45:28.000000000 +0000 |
8472 | --- linux-3.4.57/include/linux/mount.h 2012-03-19 18:47:28.000000000 +0000 | 7839 | +++ linux-3.10.17-vs2.3.6.6/include/linux/mount.h 2013-08-22 20:30:00.000000000 +0000 |
8473 | +++ linux-3.4.57-vs2.3.3.9/include/linux/mount.h 2012-05-21 16:15:05.000000000 +0000 | 7840 | @@ -49,6 +49,9 @@ struct mnt_namespace; |
8474 | @@ -47,6 +47,9 @@ struct mnt_namespace; | ||
8475 | 7841 | ||
8476 | #define MNT_INTERNAL 0x4000 | 7842 | #define MNT_LOCK_READONLY 0x400000 |
8477 | 7843 | ||
8478 | +#define MNT_TAGID 0x10000 | 7844 | +#define MNT_TAGID 0x10000 |
8479 | +#define MNT_NOTAG 0x20000 | 7845 | +#define MNT_NOTAG 0x20000 |
@@ -8481,10 +7847,10 @@ diff -NurpP --minimal linux-3.4.57/include/linux/mount.h linux-3.4.57-vs2.3.3.9/ | |||
8481 | struct vfsmount { | 7847 | struct vfsmount { |
8482 | struct dentry *mnt_root; /* root of the mounted tree */ | 7848 | struct dentry *mnt_root; /* root of the mounted tree */ |
8483 | struct super_block *mnt_sb; /* pointer to superblock */ | 7849 | struct super_block *mnt_sb; /* pointer to superblock */ |
8484 | diff -NurpP --minimal linux-3.4.57/include/linux/net.h linux-3.4.57-vs2.3.3.9/include/linux/net.h | 7850 | diff -NurpP --minimal linux-3.10.17/include/linux/net.h linux-3.10.17-vs2.3.6.6/include/linux/net.h |
8485 | --- linux-3.4.57/include/linux/net.h 2013-08-13 14:13:35.000000000 +0000 | 7851 | --- linux-3.10.17/include/linux/net.h 2013-07-14 17:01:32.000000000 +0000 |
8486 | +++ linux-3.4.57-vs2.3.3.9/include/linux/net.h 2012-09-01 08:51:18.000000000 +0000 | 7852 | +++ linux-3.10.17-vs2.3.6.6/include/linux/net.h 2013-08-22 20:30:00.000000000 +0000 |
8487 | @@ -73,6 +73,7 @@ struct net; | 7853 | @@ -38,6 +38,7 @@ struct net; |
8488 | #define SOCK_PASSCRED 3 | 7854 | #define SOCK_PASSCRED 3 |
8489 | #define SOCK_PASSSEC 4 | 7855 | #define SOCK_PASSSEC 4 |
8490 | #define SOCK_EXTERNALLY_ALLOCATED 5 | 7856 | #define SOCK_EXTERNALLY_ALLOCATED 5 |
@@ -8492,33 +7858,20 @@ diff -NurpP --minimal linux-3.4.57/include/linux/net.h linux-3.4.57-vs2.3.3.9/in | |||
8492 | 7858 | ||
8493 | #ifndef ARCH_HAS_SOCKET_TYPES | 7859 | #ifndef ARCH_HAS_SOCKET_TYPES |
8494 | /** | 7860 | /** |
8495 | diff -NurpP --minimal linux-3.4.57/include/linux/netdevice.h linux-3.4.57-vs2.3.3.9/include/linux/netdevice.h | 7861 | diff -NurpP --minimal linux-3.10.17/include/linux/netdevice.h linux-3.10.17-vs2.3.6.6/include/linux/netdevice.h |
8496 | --- linux-3.4.57/include/linux/netdevice.h 2013-08-13 14:13:35.000000000 +0000 | 7862 | --- linux-3.10.17/include/linux/netdevice.h 2013-07-14 17:01:32.000000000 +0000 |
8497 | +++ linux-3.4.57-vs2.3.3.9/include/linux/netdevice.h 2013-07-14 13:38:35.000000000 +0000 | 7863 | +++ linux-3.10.17-vs2.3.6.6/include/linux/netdevice.h 2013-08-22 20:30:00.000000000 +0000 |
8498 | @@ -1624,6 +1624,7 @@ extern void netdev_resync_ops(struct ne | 7864 | @@ -1694,6 +1694,7 @@ extern int init_dummy_netdev(struct net |
8499 | 7865 | ||
8500 | extern struct net_device *dev_get_by_index(struct net *net, int ifindex); | 7866 | extern struct net_device *dev_get_by_index(struct net *net, int ifindex); |
8501 | extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); | 7867 | extern struct net_device *__dev_get_by_index(struct net *net, int ifindex); |
8502 | +extern struct net_device *dev_get_by_index_real_rcu(struct net *net, int ifindex); | 7868 | +extern struct net_device *dev_get_by_index_real_rcu(struct net *net, int ifindex); |
8503 | extern struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex); | 7869 | extern struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex); |
7870 | extern int netdev_get_name(struct net *net, char *name, int ifindex); | ||
8504 | extern int dev_restart(struct net_device *dev); | 7871 | extern int dev_restart(struct net_device *dev); |
8505 | #ifdef CONFIG_NETPOLL_TRAP | 7872 | diff -NurpP --minimal linux-3.10.17/include/linux/nsproxy.h linux-3.10.17-vs2.3.6.6/include/linux/nsproxy.h |
8506 | diff -NurpP --minimal linux-3.4.57/include/linux/nfs_mount.h linux-3.4.57-vs2.3.3.9/include/linux/nfs_mount.h | 7873 | --- linux-3.10.17/include/linux/nsproxy.h 2013-02-19 13:58:51.000000000 +0000 |
8507 | --- linux-3.4.57/include/linux/nfs_mount.h 2011-01-05 20:50:31.000000000 +0000 | 7874 | +++ linux-3.10.17-vs2.3.6.6/include/linux/nsproxy.h 2013-08-22 20:30:00.000000000 +0000 |
8508 | +++ linux-3.4.57-vs2.3.3.9/include/linux/nfs_mount.h 2012-05-21 16:15:05.000000000 +0000 | ||
8509 | @@ -63,7 +63,8 @@ struct nfs_mount_data { | ||
8510 | #define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */ | ||
8511 | #define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */ | ||
8512 | #define NFS_MOUNT_UNSHARED 0x8000 /* 5 */ | ||
8513 | -#define NFS_MOUNT_FLAGMASK 0xFFFF | ||
8514 | +#define NFS_MOUNT_TAGGED 0x10000 /* context tagging */ | ||
8515 | +#define NFS_MOUNT_FLAGMASK 0x1FFFF | ||
8516 | |||
8517 | /* The following are for internal use only */ | ||
8518 | #define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000 | ||
8519 | diff -NurpP --minimal linux-3.4.57/include/linux/nsproxy.h linux-3.4.57-vs2.3.3.9/include/linux/nsproxy.h | ||
8520 | --- linux-3.4.57/include/linux/nsproxy.h 2011-10-24 16:45:32.000000000 +0000 | ||
8521 | +++ linux-3.4.57-vs2.3.3.9/include/linux/nsproxy.h 2012-05-21 16:15:05.000000000 +0000 | ||
8522 | @@ -3,6 +3,7 @@ | 7875 | @@ -3,6 +3,7 @@ |
8523 | 7876 | ||
8524 | #include <linux/spinlock.h> | 7877 | #include <linux/spinlock.h> |
@@ -8536,7 +7889,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/nsproxy.h linux-3.4.57-vs2.3.3. | |||
8536 | void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new); | 7889 | void switch_task_namespaces(struct task_struct *tsk, struct nsproxy *new); |
8537 | void free_nsproxy(struct nsproxy *ns); | 7890 | void free_nsproxy(struct nsproxy *ns); |
8538 | @@ -70,16 +72,26 @@ int unshare_nsproxy_namespaces(unsigned | 7891 | @@ -70,16 +72,26 @@ int unshare_nsproxy_namespaces(unsigned |
8539 | struct fs_struct *); | 7892 | struct cred *, struct fs_struct *); |
8540 | int __init nsproxy_cache_init(void); | 7893 | int __init nsproxy_cache_init(void); |
8541 | 7894 | ||
8542 | -static inline void put_nsproxy(struct nsproxy *ns) | 7895 | -static inline void put_nsproxy(struct nsproxy *ns) |
@@ -8568,9 +7921,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/nsproxy.h linux-3.4.57-vs2.3.3. | |||
8568 | } | 7921 | } |
8569 | 7922 | ||
8570 | #endif | 7923 | #endif |
8571 | diff -NurpP --minimal linux-3.4.57/include/linux/pid.h linux-3.4.57-vs2.3.3.9/include/linux/pid.h | 7924 | diff -NurpP --minimal linux-3.10.17/include/linux/pid.h linux-3.10.17-vs2.3.6.6/include/linux/pid.h |
8572 | --- linux-3.4.57/include/linux/pid.h 2011-07-22 09:18:11.000000000 +0000 | 7925 | --- linux-3.10.17/include/linux/pid.h 2013-05-31 13:45:28.000000000 +0000 |
8573 | +++ linux-3.4.57-vs2.3.3.9/include/linux/pid.h 2012-05-21 16:15:05.000000000 +0000 | 7926 | +++ linux-3.10.17-vs2.3.6.6/include/linux/pid.h 2013-08-22 20:30:00.000000000 +0000 |
8574 | @@ -8,7 +8,8 @@ enum pid_type | 7927 | @@ -8,7 +8,8 @@ enum pid_type |
8575 | PIDTYPE_PID, | 7928 | PIDTYPE_PID, |
8576 | PIDTYPE_PGID, | 7929 | PIDTYPE_PGID, |
@@ -8581,7 +7934,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/pid.h linux-3.4.57-vs2.3.3.9/in | |||
8581 | }; | 7934 | }; |
8582 | 7935 | ||
8583 | /* | 7936 | /* |
8584 | @@ -171,6 +172,7 @@ static inline pid_t pid_nr(struct pid *p | 7937 | @@ -172,6 +173,7 @@ static inline pid_t pid_nr(struct pid *p |
8585 | } | 7938 | } |
8586 | 7939 | ||
8587 | pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); | 7940 | pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns); |
@@ -8589,47 +7942,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/pid.h linux-3.4.57-vs2.3.3.9/in | |||
8589 | pid_t pid_vnr(struct pid *pid); | 7942 | pid_t pid_vnr(struct pid *pid); |
8590 | 7943 | ||
8591 | #define do_each_pid_task(pid, type, task) \ | 7944 | #define do_each_pid_task(pid, type, task) \ |
8592 | diff -NurpP --minimal linux-3.4.57/include/linux/proc_fs.h linux-3.4.57-vs2.3.3.9/include/linux/proc_fs.h | 7945 | diff -NurpP --minimal linux-3.10.17/include/linux/quotaops.h linux-3.10.17-vs2.3.6.6/include/linux/quotaops.h |
8593 | --- linux-3.4.57/include/linux/proc_fs.h 2012-03-19 18:47:28.000000000 +0000 | 7946 | --- linux-3.10.17/include/linux/quotaops.h 2012-12-11 03:30:57.000000000 +0000 |
8594 | +++ linux-3.4.57-vs2.3.3.9/include/linux/proc_fs.h 2012-05-21 16:15:05.000000000 +0000 | 7947 | +++ linux-3.10.17-vs2.3.6.6/include/linux/quotaops.h 2013-08-22 20:30:00.000000000 +0000 |
8595 | @@ -54,6 +54,7 @@ struct proc_dir_entry { | ||
8596 | nlink_t nlink; | ||
8597 | uid_t uid; | ||
8598 | gid_t gid; | ||
8599 | + int vx_flags; | ||
8600 | loff_t size; | ||
8601 | const struct inode_operations *proc_iops; | ||
8602 | /* | ||
8603 | @@ -252,12 +253,18 @@ extern const struct proc_ns_operations n | ||
8604 | extern const struct proc_ns_operations utsns_operations; | ||
8605 | extern const struct proc_ns_operations ipcns_operations; | ||
8606 | |||
8607 | +struct vx_info; | ||
8608 | +struct nx_info; | ||
8609 | + | ||
8610 | union proc_op { | ||
8611 | int (*proc_get_link)(struct dentry *, struct path *); | ||
8612 | int (*proc_read)(struct task_struct *task, char *page); | ||
8613 | int (*proc_show)(struct seq_file *m, | ||
8614 | struct pid_namespace *ns, struct pid *pid, | ||
8615 | struct task_struct *task); | ||
8616 | + int (*proc_vs_read)(char *page); | ||
8617 | + int (*proc_vxi_read)(struct vx_info *vxi, char *page); | ||
8618 | + int (*proc_nxi_read)(struct nx_info *nxi, char *page); | ||
8619 | }; | ||
8620 | |||
8621 | struct ctl_table_header; | ||
8622 | @@ -265,6 +272,7 @@ struct ctl_table; | ||
8623 | |||
8624 | struct proc_inode { | ||
8625 | struct pid *pid; | ||
8626 | + int vx_flags; | ||
8627 | int fd; | ||
8628 | union proc_op op; | ||
8629 | struct proc_dir_entry *pde; | ||
8630 | diff -NurpP --minimal linux-3.4.57/include/linux/quotaops.h linux-3.4.57-vs2.3.3.9/include/linux/quotaops.h | ||
8631 | --- linux-3.4.57/include/linux/quotaops.h 2012-01-09 15:14:58.000000000 +0000 | ||
8632 | +++ linux-3.4.57-vs2.3.3.9/include/linux/quotaops.h 2012-05-21 16:15:05.000000000 +0000 | ||
8633 | @@ -8,6 +8,7 @@ | 7948 | @@ -8,6 +8,7 @@ |
8634 | #define _LINUX_QUOTAOPS_ | 7949 | #define _LINUX_QUOTAOPS_ |
8635 | 7950 | ||
@@ -8638,7 +7953,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/quotaops.h linux-3.4.57-vs2.3.3 | |||
8638 | 7953 | ||
8639 | #define DQUOT_SPACE_WARN 0x1 | 7954 | #define DQUOT_SPACE_WARN 0x1 |
8640 | #define DQUOT_SPACE_RESERVE 0x2 | 7955 | #define DQUOT_SPACE_RESERVE 0x2 |
8641 | @@ -204,11 +205,12 @@ static inline void dquot_drop(struct ino | 7956 | @@ -205,11 +206,12 @@ static inline void dquot_drop(struct ino |
8642 | 7957 | ||
8643 | static inline int dquot_alloc_inode(const struct inode *inode) | 7958 | static inline int dquot_alloc_inode(const struct inode *inode) |
8644 | { | 7959 | { |
@@ -8652,7 +7967,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/quotaops.h linux-3.4.57-vs2.3.3 | |||
8652 | } | 7967 | } |
8653 | 7968 | ||
8654 | static inline int dquot_transfer(struct inode *inode, struct iattr *iattr) | 7969 | static inline int dquot_transfer(struct inode *inode, struct iattr *iattr) |
8655 | @@ -219,6 +221,10 @@ static inline int dquot_transfer(struct | 7970 | @@ -220,6 +222,10 @@ static inline int dquot_transfer(struct |
8656 | static inline int __dquot_alloc_space(struct inode *inode, qsize_t number, | 7971 | static inline int __dquot_alloc_space(struct inode *inode, qsize_t number, |
8657 | int flags) | 7972 | int flags) |
8658 | { | 7973 | { |
@@ -8663,7 +7978,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/quotaops.h linux-3.4.57-vs2.3.3 | |||
8663 | if (!(flags & DQUOT_SPACE_RESERVE)) | 7978 | if (!(flags & DQUOT_SPACE_RESERVE)) |
8664 | inode_add_bytes(inode, number); | 7979 | inode_add_bytes(inode, number); |
8665 | return 0; | 7980 | return 0; |
8666 | @@ -229,6 +235,7 @@ static inline void __dquot_free_space(st | 7981 | @@ -230,6 +236,7 @@ static inline void __dquot_free_space(st |
8667 | { | 7982 | { |
8668 | if (!(flags & DQUOT_SPACE_RESERVE)) | 7983 | if (!(flags & DQUOT_SPACE_RESERVE)) |
8669 | inode_sub_bytes(inode, number); | 7984 | inode_sub_bytes(inode, number); |
@@ -8671,36 +7986,25 @@ diff -NurpP --minimal linux-3.4.57/include/linux/quotaops.h linux-3.4.57-vs2.3.3 | |||
8671 | } | 7986 | } |
8672 | 7987 | ||
8673 | static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) | 7988 | static inline int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) |
8674 | diff -NurpP --minimal linux-3.4.57/include/linux/reboot.h linux-3.4.57-vs2.3.3.9/include/linux/reboot.h | 7989 | diff -NurpP --minimal linux-3.10.17/include/linux/sched.h linux-3.10.17-vs2.3.6.6/include/linux/sched.h |
8675 | --- linux-3.4.57/include/linux/reboot.h 2011-10-24 16:45:32.000000000 +0000 | 7990 | --- linux-3.10.17/include/linux/sched.h 2013-07-14 17:01:33.000000000 +0000 |
8676 | +++ linux-3.4.57-vs2.3.3.9/include/linux/reboot.h 2012-05-21 16:15:05.000000000 +0000 | 7991 | +++ linux-3.10.17-vs2.3.6.6/include/linux/sched.h 2013-10-09 17:37:22.000000000 +0000 |
8677 | @@ -33,6 +33,7 @@ | 7992 | @@ -1233,6 +1233,14 @@ struct task_struct { |
8678 | #define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4 | ||
8679 | #define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2 | ||
8680 | #define LINUX_REBOOT_CMD_KEXEC 0x45584543 | ||
8681 | +#define LINUX_REBOOT_CMD_OOM 0xDEADBEEF | ||
8682 | |||
8683 | |||
8684 | #ifdef __KERNEL__ | ||
8685 | diff -NurpP --minimal linux-3.4.57/include/linux/sched.h linux-3.4.57-vs2.3.3.9/include/linux/sched.h | ||
8686 | --- linux-3.4.57/include/linux/sched.h 2013-08-13 14:13:36.000000000 +0000 | ||
8687 | +++ linux-3.4.57-vs2.3.3.9/include/linux/sched.h 2013-02-11 23:37:30.000000000 +0000 | ||
8688 | @@ -1455,6 +1455,14 @@ struct task_struct { | ||
8689 | #endif | 7993 | #endif |
8690 | seccomp_t seccomp; | 7994 | struct seccomp seccomp; |
8691 | 7995 | ||
8692 | +/* vserver context data */ | 7996 | +/* vserver context data */ |
8693 | + struct vx_info *vx_info; | 7997 | + struct vx_info *vx_info; |
8694 | + struct nx_info *nx_info; | 7998 | + struct nx_info *nx_info; |
8695 | + | 7999 | + |
8696 | + xid_t xid; | 8000 | + vxid_t xid; |
8697 | + nid_t nid; | 8001 | + vnid_t nid; |
8698 | + tag_t tag; | 8002 | + vtag_t tag; |
8699 | + | 8003 | + |
8700 | /* Thread group tracking */ | 8004 | /* Thread group tracking */ |
8701 | u32 parent_exec_id; | 8005 | u32 parent_exec_id; |
8702 | u32 self_exec_id; | 8006 | u32 self_exec_id; |
8703 | @@ -1699,6 +1707,11 @@ struct pid_namespace; | 8007 | @@ -1476,6 +1484,11 @@ struct pid_namespace; |
8704 | pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type, | 8008 | pid_t __task_pid_nr_ns(struct task_struct *task, enum pid_type type, |
8705 | struct pid_namespace *ns); | 8009 | struct pid_namespace *ns); |
8706 | 8010 | ||
@@ -8712,7 +8016,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/sched.h linux-3.4.57-vs2.3.3.9/ | |||
8712 | static inline pid_t task_pid_nr(struct task_struct *tsk) | 8016 | static inline pid_t task_pid_nr(struct task_struct *tsk) |
8713 | { | 8017 | { |
8714 | return tsk->pid; | 8018 | return tsk->pid; |
8715 | @@ -1712,7 +1725,8 @@ static inline pid_t task_pid_nr_ns(struc | 8019 | @@ -1489,7 +1502,8 @@ static inline pid_t task_pid_nr_ns(struc |
8716 | 8020 | ||
8717 | static inline pid_t task_pid_vnr(struct task_struct *tsk) | 8021 | static inline pid_t task_pid_vnr(struct task_struct *tsk) |
8718 | { | 8022 | { |
@@ -8722,7 +8026,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/sched.h linux-3.4.57-vs2.3.3.9/ | |||
8722 | } | 8026 | } |
8723 | 8027 | ||
8724 | 8028 | ||
8725 | @@ -1725,7 +1739,7 @@ pid_t task_tgid_nr_ns(struct task_struct | 8029 | @@ -1502,7 +1516,7 @@ pid_t task_tgid_nr_ns(struct task_struct |
8726 | 8030 | ||
8727 | static inline pid_t task_tgid_vnr(struct task_struct *tsk) | 8031 | static inline pid_t task_tgid_vnr(struct task_struct *tsk) |
8728 | { | 8032 | { |
@@ -8731,10 +8035,10 @@ diff -NurpP --minimal linux-3.4.57/include/linux/sched.h linux-3.4.57-vs2.3.3.9/ | |||
8731 | } | 8035 | } |
8732 | 8036 | ||
8733 | 8037 | ||
8734 | diff -NurpP --minimal linux-3.4.57/include/linux/shmem_fs.h linux-3.4.57-vs2.3.3.9/include/linux/shmem_fs.h | 8038 | diff -NurpP --minimal linux-3.10.17/include/linux/shmem_fs.h linux-3.10.17-vs2.3.6.6/include/linux/shmem_fs.h |
8735 | --- linux-3.4.57/include/linux/shmem_fs.h 2012-03-19 18:47:29.000000000 +0000 | 8039 | --- linux-3.10.17/include/linux/shmem_fs.h 2012-12-11 03:30:57.000000000 +0000 |
8736 | +++ linux-3.4.57-vs2.3.3.9/include/linux/shmem_fs.h 2012-05-21 16:15:05.000000000 +0000 | 8040 | +++ linux-3.10.17-vs2.3.6.6/include/linux/shmem_fs.h 2013-08-22 20:30:00.000000000 +0000 |
8737 | @@ -8,6 +8,9 @@ | 8041 | @@ -9,6 +9,9 @@ |
8738 | 8042 | ||
8739 | /* inode in-kernel data */ | 8043 | /* inode in-kernel data */ |
8740 | 8044 | ||
@@ -8744,31 +8048,31 @@ diff -NurpP --minimal linux-3.4.57/include/linux/shmem_fs.h linux-3.4.57-vs2.3.3 | |||
8744 | struct shmem_inode_info { | 8048 | struct shmem_inode_info { |
8745 | spinlock_t lock; | 8049 | spinlock_t lock; |
8746 | unsigned long flags; | 8050 | unsigned long flags; |
8747 | diff -NurpP --minimal linux-3.4.57/include/linux/stat.h linux-3.4.57-vs2.3.3.9/include/linux/stat.h | 8051 | diff -NurpP --minimal linux-3.10.17/include/linux/stat.h linux-3.10.17-vs2.3.6.6/include/linux/stat.h |
8748 | --- linux-3.4.57/include/linux/stat.h 2008-12-24 23:26:37.000000000 +0000 | 8052 | --- linux-3.10.17/include/linux/stat.h 2012-12-11 03:30:57.000000000 +0000 |
8749 | +++ linux-3.4.57-vs2.3.3.9/include/linux/stat.h 2012-05-21 16:15:05.000000000 +0000 | 8053 | +++ linux-3.10.17-vs2.3.6.6/include/linux/stat.h 2013-08-22 20:30:00.000000000 +0000 |
8750 | @@ -66,6 +66,7 @@ struct kstat { | 8054 | @@ -25,6 +25,7 @@ struct kstat { |
8751 | unsigned int nlink; | 8055 | unsigned int nlink; |
8752 | uid_t uid; | 8056 | kuid_t uid; |
8753 | gid_t gid; | 8057 | kgid_t gid; |
8754 | + tag_t tag; | 8058 | + ktag_t tag; |
8755 | dev_t rdev; | 8059 | dev_t rdev; |
8756 | loff_t size; | 8060 | loff_t size; |
8757 | struct timespec atime; | 8061 | struct timespec atime; |
8758 | diff -NurpP --minimal linux-3.4.57/include/linux/sunrpc/auth.h linux-3.4.57-vs2.3.3.9/include/linux/sunrpc/auth.h | 8062 | diff -NurpP --minimal linux-3.10.17/include/linux/sunrpc/auth.h linux-3.10.17-vs2.3.6.6/include/linux/sunrpc/auth.h |
8759 | --- linux-3.4.57/include/linux/sunrpc/auth.h 2012-05-21 16:07:32.000000000 +0000 | 8063 | --- linux-3.10.17/include/linux/sunrpc/auth.h 2013-07-14 17:01:33.000000000 +0000 |
8760 | +++ linux-3.4.57-vs2.3.3.9/include/linux/sunrpc/auth.h 2012-05-21 16:15:05.000000000 +0000 | 8064 | +++ linux-3.10.17-vs2.3.6.6/include/linux/sunrpc/auth.h 2013-08-22 20:30:00.000000000 +0000 |
8761 | @@ -25,6 +25,7 @@ | 8065 | @@ -28,6 +28,7 @@ struct rpcsec_gss_info; |
8762 | struct auth_cred { | 8066 | struct auth_cred { |
8763 | uid_t uid; | 8067 | kuid_t uid; |
8764 | gid_t gid; | 8068 | kgid_t gid; |
8765 | + tag_t tag; | 8069 | + ktag_t tag; |
8766 | struct group_info *group_info; | 8070 | struct group_info *group_info; |
8767 | const char *principal; | 8071 | const char *principal; |
8768 | unsigned char machine_cred : 1; | 8072 | unsigned char machine_cred : 1; |
8769 | diff -NurpP --minimal linux-3.4.57/include/linux/sunrpc/clnt.h linux-3.4.57-vs2.3.3.9/include/linux/sunrpc/clnt.h | 8073 | diff -NurpP --minimal linux-3.10.17/include/linux/sunrpc/clnt.h linux-3.10.17-vs2.3.6.6/include/linux/sunrpc/clnt.h |
8770 | --- linux-3.4.57/include/linux/sunrpc/clnt.h 2012-05-21 16:07:32.000000000 +0000 | 8074 | --- linux-3.10.17/include/linux/sunrpc/clnt.h 2013-07-14 17:01:33.000000000 +0000 |
8771 | +++ linux-3.4.57-vs2.3.3.9/include/linux/sunrpc/clnt.h 2012-05-21 16:15:05.000000000 +0000 | 8075 | +++ linux-3.10.17-vs2.3.6.6/include/linux/sunrpc/clnt.h 2013-08-22 20:30:00.000000000 +0000 |
8772 | @@ -49,7 +49,8 @@ struct rpc_clnt { | 8076 | @@ -49,7 +49,8 @@ struct rpc_clnt { |
8773 | unsigned int cl_softrtry : 1,/* soft timeouts */ | 8077 | unsigned int cl_softrtry : 1,/* soft timeouts */ |
8774 | cl_discrtry : 1,/* disconnect before retry */ | 8078 | cl_discrtry : 1,/* disconnect before retry */ |
@@ -8779,28 +8083,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/sunrpc/clnt.h linux-3.4.57-vs2. | |||
8779 | 8083 | ||
8780 | struct rpc_rtt * cl_rtt; /* RTO estimator data */ | 8084 | struct rpc_rtt * cl_rtt; /* RTO estimator data */ |
8781 | const struct rpc_timeout *cl_timeout; /* Timeout strategy */ | 8085 | const struct rpc_timeout *cl_timeout; /* Timeout strategy */ |
8782 | diff -NurpP --minimal linux-3.4.57/include/linux/sysctl.h linux-3.4.57-vs2.3.3.9/include/linux/sysctl.h | 8086 | diff -NurpP --minimal linux-3.10.17/include/linux/sysfs.h linux-3.10.17-vs2.3.6.6/include/linux/sysfs.h |
8783 | --- linux-3.4.57/include/linux/sysctl.h 2012-05-21 16:07:32.000000000 +0000 | 8087 | --- linux-3.10.17/include/linux/sysfs.h 2013-05-31 13:45:28.000000000 +0000 |
8784 | +++ linux-3.4.57-vs2.3.3.9/include/linux/sysctl.h 2012-05-21 16:15:05.000000000 +0000 | 8088 | +++ linux-3.10.17-vs2.3.6.6/include/linux/sysfs.h 2013-08-22 20:30:00.000000000 +0000 |
8785 | @@ -60,6 +60,7 @@ enum | ||
8786 | CTL_ABI=9, /* Binary emulation */ | ||
8787 | CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ | ||
8788 | CTL_ARLAN=254, /* arlan wireless driver */ | ||
8789 | + CTL_VSERVER=4242, /* Linux-VServer debug */ | ||
8790 | CTL_S390DBF=5677, /* s390 debug */ | ||
8791 | CTL_SUNRPC=7249, /* sunrpc debug */ | ||
8792 | CTL_PM=9899, /* frv power management */ | ||
8793 | @@ -94,6 +95,7 @@ enum | ||
8794 | |||
8795 | KERN_PANIC=15, /* int: panic timeout */ | ||
8796 | KERN_REALROOTDEV=16, /* real root device to mount after initrd */ | ||
8797 | + KERN_VSHELPER=17, /* string: path to vshelper policy agent */ | ||
8798 | |||
8799 | KERN_SPARC_REBOOT=21, /* reboot command on Sparc */ | ||
8800 | KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */ | ||
8801 | diff -NurpP --minimal linux-3.4.57/include/linux/sysfs.h linux-3.4.57-vs2.3.3.9/include/linux/sysfs.h | ||
8802 | --- linux-3.4.57/include/linux/sysfs.h 2012-03-19 18:47:29.000000000 +0000 | ||
8803 | +++ linux-3.4.57-vs2.3.3.9/include/linux/sysfs.h 2012-05-21 16:15:05.000000000 +0000 | ||
8804 | @@ -19,6 +19,8 @@ | 8089 | @@ -19,6 +19,8 @@ |
8805 | #include <linux/kobject_ns.h> | 8090 | #include <linux/kobject_ns.h> |
8806 | #include <linux/atomic.h> | 8091 | #include <linux/atomic.h> |
@@ -8810,63 +8095,144 @@ diff -NurpP --minimal linux-3.4.57/include/linux/sysfs.h linux-3.4.57-vs2.3.3.9/ | |||
8810 | struct kobject; | 8095 | struct kobject; |
8811 | struct module; | 8096 | struct module; |
8812 | enum kobj_ns_type; | 8097 | enum kobj_ns_type; |
8813 | diff -NurpP --minimal linux-3.4.57/include/linux/time.h linux-3.4.57-vs2.3.3.9/include/linux/time.h | 8098 | diff -NurpP --minimal linux-3.10.17/include/linux/types.h linux-3.10.17-vs2.3.6.6/include/linux/types.h |
8814 | --- linux-3.4.57/include/linux/time.h 2013-08-13 14:13:36.000000000 +0000 | 8099 | --- linux-3.10.17/include/linux/types.h 2013-02-19 13:58:52.000000000 +0000 |
8815 | +++ linux-3.4.57-vs2.3.3.9/include/linux/time.h 2012-10-22 13:09:53.000000000 +0000 | 8100 | +++ linux-3.10.17-vs2.3.6.6/include/linux/types.h 2013-08-22 20:30:00.000000000 +0000 |
8816 | @@ -281,6 +281,8 @@ static __always_inline void timespec_add | 8101 | @@ -32,6 +32,9 @@ typedef __kernel_uid32_t uid_t; |
8817 | a->tv_nsec = ns; | ||
8818 | } | ||
8819 | |||
8820 | +#include <linux/vs_time.h> | ||
8821 | + | ||
8822 | #endif /* __KERNEL__ */ | ||
8823 | |||
8824 | /* | ||
8825 | diff -NurpP --minimal linux-3.4.57/include/linux/types.h linux-3.4.57-vs2.3.3.9/include/linux/types.h | ||
8826 | --- linux-3.4.57/include/linux/types.h 2012-05-21 16:07:32.000000000 +0000 | ||
8827 | +++ linux-3.4.57-vs2.3.3.9/include/linux/types.h 2012-05-21 16:15:05.000000000 +0000 | ||
8828 | @@ -41,6 +41,9 @@ typedef __kernel_uid32_t uid_t; | ||
8829 | typedef __kernel_gid32_t gid_t; | 8102 | typedef __kernel_gid32_t gid_t; |
8830 | typedef __kernel_uid16_t uid16_t; | 8103 | typedef __kernel_uid16_t uid16_t; |
8831 | typedef __kernel_gid16_t gid16_t; | 8104 | typedef __kernel_gid16_t gid16_t; |
8832 | +typedef unsigned int xid_t; | 8105 | +typedef unsigned int vxid_t; |
8833 | +typedef unsigned int nid_t; | 8106 | +typedef unsigned int vnid_t; |
8834 | +typedef unsigned int tag_t; | 8107 | +typedef unsigned int vtag_t; |
8835 | 8108 | ||
8836 | typedef unsigned long uintptr_t; | 8109 | typedef unsigned long uintptr_t; |
8837 | 8110 | ||
8838 | diff -NurpP --minimal linux-3.4.57/include/linux/utsname.h linux-3.4.57-vs2.3.3.9/include/linux/utsname.h | 8111 | diff -NurpP --minimal linux-3.10.17/include/linux/uidgid.h linux-3.10.17-vs2.3.6.6/include/linux/uidgid.h |
8839 | --- linux-3.4.57/include/linux/utsname.h 2012-01-09 15:14:59.000000000 +0000 | 8112 | --- linux-3.10.17/include/linux/uidgid.h 2012-12-11 03:30:57.000000000 +0000 |
8840 | +++ linux-3.4.57-vs2.3.3.9/include/linux/utsname.h 2012-05-21 16:15:05.000000000 +0000 | 8113 | +++ linux-3.10.17-vs2.3.6.6/include/linux/uidgid.h 2013-08-22 20:30:00.000000000 +0000 |
8841 | @@ -62,7 +62,8 @@ static inline void get_uts_ns(struct uts | 8114 | @@ -23,13 +23,17 @@ typedef struct { |
8115 | uid_t val; | ||
8116 | } kuid_t; | ||
8117 | |||
8118 | - | ||
8119 | typedef struct { | ||
8120 | gid_t val; | ||
8121 | } kgid_t; | ||
8122 | |||
8123 | +typedef struct { | ||
8124 | + vtag_t val; | ||
8125 | +} ktag_t; | ||
8126 | + | ||
8127 | #define KUIDT_INIT(value) (kuid_t){ value } | ||
8128 | #define KGIDT_INIT(value) (kgid_t){ value } | ||
8129 | +#define KTAGT_INIT(value) (ktag_t){ value } | ||
8130 | |||
8131 | static inline uid_t __kuid_val(kuid_t uid) | ||
8132 | { | ||
8133 | @@ -41,10 +45,16 @@ static inline gid_t __kgid_val(kgid_t gi | ||
8134 | return gid.val; | ||
8842 | } | 8135 | } |
8843 | 8136 | ||
8844 | extern struct uts_namespace *copy_utsname(unsigned long flags, | 8137 | +static inline vtag_t __ktag_val(ktag_t tag) |
8845 | - struct task_struct *tsk); | 8138 | +{ |
8846 | + struct uts_namespace *old_ns, | 8139 | + return tag.val; |
8847 | + struct user_namespace *user_ns); | 8140 | +} |
8848 | extern void free_uts_ns(struct kref *kref); | 8141 | + |
8142 | #else | ||
8143 | |||
8144 | typedef uid_t kuid_t; | ||
8145 | typedef gid_t kgid_t; | ||
8146 | +typedef vtag_t ktag_t; | ||
8147 | |||
8148 | static inline uid_t __kuid_val(kuid_t uid) | ||
8149 | { | ||
8150 | @@ -56,16 +66,24 @@ static inline gid_t __kgid_val(kgid_t gi | ||
8151 | return gid; | ||
8152 | } | ||
8153 | |||
8154 | +static inline vtag_t __ktag_val(ktag_t tag) | ||
8155 | +{ | ||
8156 | + return tag; | ||
8157 | +} | ||
8158 | + | ||
8159 | #define KUIDT_INIT(value) ((kuid_t) value ) | ||
8160 | #define KGIDT_INIT(value) ((kgid_t) value ) | ||
8161 | +#define KTAGT_INIT(value) ((ktag_t) value ) | ||
8162 | |||
8163 | #endif | ||
8164 | |||
8165 | #define GLOBAL_ROOT_UID KUIDT_INIT(0) | ||
8166 | #define GLOBAL_ROOT_GID KGIDT_INIT(0) | ||
8167 | +#define GLOBAL_ROOT_TAG KTAGT_INIT(0) | ||
8849 | 8168 | ||
8850 | static inline void put_uts_ns(struct uts_namespace *ns) | 8169 | #define INVALID_UID KUIDT_INIT(-1) |
8851 | @@ -79,12 +80,13 @@ static inline void put_uts_ns(struct uts | 8170 | #define INVALID_GID KGIDT_INIT(-1) |
8171 | +#define INVALID_TAG KTAGT_INIT(-1) | ||
8172 | |||
8173 | static inline bool uid_eq(kuid_t left, kuid_t right) | ||
8174 | { | ||
8175 | @@ -77,6 +95,11 @@ static inline bool gid_eq(kgid_t left, k | ||
8176 | return __kgid_val(left) == __kgid_val(right); | ||
8852 | } | 8177 | } |
8853 | 8178 | ||
8854 | static inline struct uts_namespace *copy_utsname(unsigned long flags, | 8179 | +static inline bool tag_eq(ktag_t left, ktag_t right) |
8855 | - struct task_struct *tsk) | 8180 | +{ |
8856 | + struct uts_namespace *old_ns, | 8181 | + return __ktag_val(left) == __ktag_val(right); |
8857 | + struct user_namespace *user_ns) | 8182 | +} |
8183 | + | ||
8184 | static inline bool uid_gt(kuid_t left, kuid_t right) | ||
8858 | { | 8185 | { |
8859 | if (flags & CLONE_NEWUTS) | 8186 | return __kuid_val(left) > __kuid_val(right); |
8860 | return ERR_PTR(-EINVAL); | 8187 | @@ -127,13 +150,21 @@ static inline bool gid_valid(kgid_t gid) |
8188 | return !gid_eq(gid, INVALID_GID); | ||
8189 | } | ||
8190 | |||
8191 | +static inline bool tag_valid(ktag_t tag) | ||
8192 | +{ | ||
8193 | + return !tag_eq(tag, INVALID_TAG); | ||
8194 | +} | ||
8195 | + | ||
8196 | #ifdef CONFIG_USER_NS | ||
8861 | 8197 | ||
8862 | - return tsk->nsproxy->uts_ns; | 8198 | extern kuid_t make_kuid(struct user_namespace *from, uid_t uid); |
8863 | + return old_ns; | 8199 | extern kgid_t make_kgid(struct user_namespace *from, gid_t gid); |
8200 | +extern krag_t make_ktag(struct user_namespace *from, gid_t gid); | ||
8201 | |||
8202 | extern uid_t from_kuid(struct user_namespace *to, kuid_t uid); | ||
8203 | extern gid_t from_kgid(struct user_namespace *to, kgid_t gid); | ||
8204 | +extern vtag_t from_ktag(struct user_namespace *to, ktag_t tag); | ||
8205 | + | ||
8206 | extern uid_t from_kuid_munged(struct user_namespace *to, kuid_t uid); | ||
8207 | extern gid_t from_kgid_munged(struct user_namespace *to, kgid_t gid); | ||
8208 | |||
8209 | @@ -159,6 +190,11 @@ static inline kgid_t make_kgid(struct us | ||
8210 | return KGIDT_INIT(gid); | ||
8864 | } | 8211 | } |
8865 | #endif | ||
8866 | 8212 | ||
8867 | diff -NurpP --minimal linux-3.4.57/include/linux/vroot.h linux-3.4.57-vs2.3.3.9/include/linux/vroot.h | 8213 | +static inline ktag_t make_ktag(struct user_namespace *from, vtag_t tag) |
8868 | --- linux-3.4.57/include/linux/vroot.h 1970-01-01 00:00:00.000000000 +0000 | 8214 | +{ |
8869 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vroot.h 2012-05-21 16:15:05.000000000 +0000 | 8215 | + return KTAGT_INIT(tag); |
8216 | +} | ||
8217 | + | ||
8218 | static inline uid_t from_kuid(struct user_namespace *to, kuid_t kuid) | ||
8219 | { | ||
8220 | return __kuid_val(kuid); | ||
8221 | @@ -169,6 +205,11 @@ static inline gid_t from_kgid(struct use | ||
8222 | return __kgid_val(kgid); | ||
8223 | } | ||
8224 | |||
8225 | +static inline vtag_t from_ktag(struct user_namespace *to, ktag_t ktag) | ||
8226 | +{ | ||
8227 | + return __ktag_val(ktag); | ||
8228 | +} | ||
8229 | + | ||
8230 | static inline uid_t from_kuid_munged(struct user_namespace *to, kuid_t kuid) | ||
8231 | { | ||
8232 | uid_t uid = from_kuid(to, kuid); | ||
8233 | diff -NurpP --minimal linux-3.10.17/include/linux/vroot.h linux-3.10.17-vs2.3.6.6/include/linux/vroot.h | ||
8234 | --- linux-3.10.17/include/linux/vroot.h 1970-01-01 00:00:00.000000000 +0000 | ||
8235 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vroot.h 2013-08-22 20:30:00.000000000 +0000 | ||
8870 | @@ -0,0 +1,51 @@ | 8236 | @@ -0,0 +1,51 @@ |
8871 | + | 8237 | + |
8872 | +/* | 8238 | +/* |
@@ -8919,9 +8285,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vroot.h linux-3.4.57-vs2.3.3.9/ | |||
8919 | +#define VROOT_CLR_DEV 0x5601 | 8285 | +#define VROOT_CLR_DEV 0x5601 |
8920 | + | 8286 | + |
8921 | +#endif /* _LINUX_VROOT_H */ | 8287 | +#endif /* _LINUX_VROOT_H */ |
8922 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_base.h linux-3.4.57-vs2.3.3.9/include/linux/vs_base.h | 8288 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_base.h linux-3.10.17-vs2.3.6.6/include/linux/vs_base.h |
8923 | --- linux-3.4.57/include/linux/vs_base.h 1970-01-01 00:00:00.000000000 +0000 | 8289 | --- linux-3.10.17/include/linux/vs_base.h 1970-01-01 00:00:00.000000000 +0000 |
8924 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_base.h 2012-05-21 16:15:05.000000000 +0000 | 8290 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_base.h 2013-08-22 20:30:00.000000000 +0000 |
8925 | @@ -0,0 +1,10 @@ | 8291 | @@ -0,0 +1,10 @@ |
8926 | +#ifndef _VS_BASE_H | 8292 | +#ifndef _VS_BASE_H |
8927 | +#define _VS_BASE_H | 8293 | +#define _VS_BASE_H |
@@ -8933,9 +8299,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_base.h linux-3.4.57-vs2.3.3. | |||
8933 | +#else | 8299 | +#else |
8934 | +#warning duplicate inclusion | 8300 | +#warning duplicate inclusion |
8935 | +#endif | 8301 | +#endif |
8936 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_context.h linux-3.4.57-vs2.3.3.9/include/linux/vs_context.h | 8302 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_context.h linux-3.10.17-vs2.3.6.6/include/linux/vs_context.h |
8937 | --- linux-3.4.57/include/linux/vs_context.h 1970-01-01 00:00:00.000000000 +0000 | 8303 | --- linux-3.10.17/include/linux/vs_context.h 1970-01-01 00:00:00.000000000 +0000 |
8938 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_context.h 2012-05-21 16:15:05.000000000 +0000 | 8304 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_context.h 2013-08-22 20:30:00.000000000 +0000 |
8939 | @@ -0,0 +1,242 @@ | 8305 | @@ -0,0 +1,242 @@ |
8940 | +#ifndef _VS_CONTEXT_H | 8306 | +#ifndef _VS_CONTEXT_H |
8941 | +#define _VS_CONTEXT_H | 8307 | +#define _VS_CONTEXT_H |
@@ -9148,7 +8514,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_context.h linux-3.4.57-vs2.3 | |||
9148 | +static inline void __enter_vx_admin(struct vx_info_save *vxis) | 8514 | +static inline void __enter_vx_admin(struct vx_info_save *vxis) |
9149 | +{ | 8515 | +{ |
9150 | + vxis->vxi = xchg(¤t->vx_info, NULL); | 8516 | + vxis->vxi = xchg(¤t->vx_info, NULL); |
9151 | + vxis->xid = xchg(¤t->xid, (xid_t)0); | 8517 | + vxis->xid = xchg(¤t->xid, (vxid_t)0); |
9152 | +} | 8518 | +} |
9153 | + | 8519 | + |
9154 | +static inline void __leave_vx_admin(struct vx_info_save *vxis) | 8520 | +static inline void __leave_vx_admin(struct vx_info_save *vxis) |
@@ -9179,9 +8545,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_context.h linux-3.4.57-vs2.3 | |||
9179 | +#else | 8545 | +#else |
9180 | +#warning duplicate inclusion | 8546 | +#warning duplicate inclusion |
9181 | +#endif | 8547 | +#endif |
9182 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_cowbl.h linux-3.4.57-vs2.3.3.9/include/linux/vs_cowbl.h | 8548 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_cowbl.h linux-3.10.17-vs2.3.6.6/include/linux/vs_cowbl.h |
9183 | --- linux-3.4.57/include/linux/vs_cowbl.h 1970-01-01 00:00:00.000000000 +0000 | 8549 | --- linux-3.10.17/include/linux/vs_cowbl.h 1970-01-01 00:00:00.000000000 +0000 |
9184 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_cowbl.h 2012-05-21 16:15:05.000000000 +0000 | 8550 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_cowbl.h 2013-08-22 20:30:00.000000000 +0000 |
9185 | @@ -0,0 +1,48 @@ | 8551 | @@ -0,0 +1,48 @@ |
9186 | +#ifndef _VS_COWBL_H | 8552 | +#ifndef _VS_COWBL_H |
9187 | +#define _VS_COWBL_H | 8553 | +#define _VS_COWBL_H |
@@ -9231,9 +8597,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_cowbl.h linux-3.4.57-vs2.3.3 | |||
9231 | +#else | 8597 | +#else |
9232 | +#warning duplicate inclusion | 8598 | +#warning duplicate inclusion |
9233 | +#endif | 8599 | +#endif |
9234 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_cvirt.h linux-3.4.57-vs2.3.3.9/include/linux/vs_cvirt.h | 8600 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_cvirt.h linux-3.10.17-vs2.3.6.6/include/linux/vs_cvirt.h |
9235 | --- linux-3.4.57/include/linux/vs_cvirt.h 1970-01-01 00:00:00.000000000 +0000 | 8601 | --- linux-3.10.17/include/linux/vs_cvirt.h 1970-01-01 00:00:00.000000000 +0000 |
9236 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_cvirt.h 2012-05-21 16:15:05.000000000 +0000 | 8602 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_cvirt.h 2013-08-22 20:30:00.000000000 +0000 |
9237 | @@ -0,0 +1,50 @@ | 8603 | @@ -0,0 +1,50 @@ |
9238 | +#ifndef _VS_CVIRT_H | 8604 | +#ifndef _VS_CVIRT_H |
9239 | +#define _VS_CVIRT_H | 8605 | +#define _VS_CVIRT_H |
@@ -9285,9 +8651,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_cvirt.h linux-3.4.57-vs2.3.3 | |||
9285 | +#else | 8651 | +#else |
9286 | +#warning duplicate inclusion | 8652 | +#warning duplicate inclusion |
9287 | +#endif | 8653 | +#endif |
9288 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_device.h linux-3.4.57-vs2.3.3.9/include/linux/vs_device.h | 8654 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_device.h linux-3.10.17-vs2.3.6.6/include/linux/vs_device.h |
9289 | --- linux-3.4.57/include/linux/vs_device.h 1970-01-01 00:00:00.000000000 +0000 | 8655 | --- linux-3.10.17/include/linux/vs_device.h 1970-01-01 00:00:00.000000000 +0000 |
9290 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_device.h 2012-05-21 16:15:05.000000000 +0000 | 8656 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_device.h 2013-08-22 20:30:00.000000000 +0000 |
9291 | @@ -0,0 +1,45 @@ | 8657 | @@ -0,0 +1,45 @@ |
9292 | +#ifndef _VS_DEVICE_H | 8658 | +#ifndef _VS_DEVICE_H |
9293 | +#define _VS_DEVICE_H | 8659 | +#define _VS_DEVICE_H |
@@ -9334,9 +8700,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_device.h linux-3.4.57-vs2.3. | |||
9334 | +#else | 8700 | +#else |
9335 | +#warning duplicate inclusion | 8701 | +#warning duplicate inclusion |
9336 | +#endif | 8702 | +#endif |
9337 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3.3.9/include/linux/vs_dlimit.h | 8703 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_dlimit.h linux-3.10.17-vs2.3.6.6/include/linux/vs_dlimit.h |
9338 | --- linux-3.4.57/include/linux/vs_dlimit.h 1970-01-01 00:00:00.000000000 +0000 | 8704 | --- linux-3.10.17/include/linux/vs_dlimit.h 1970-01-01 00:00:00.000000000 +0000 |
9339 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_dlimit.h 2012-05-21 16:15:05.000000000 +0000 | 8705 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_dlimit.h 2013-08-22 20:30:00.000000000 +0000 |
9340 | @@ -0,0 +1,215 @@ | 8706 | @@ -0,0 +1,215 @@ |
9341 | +#ifndef _VS_DLIMIT_H | 8707 | +#ifndef _VS_DLIMIT_H |
9342 | +#define _VS_DLIMIT_H | 8708 | +#define _VS_DLIMIT_H |
@@ -9386,7 +8752,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9386 | +#define __dlimit_char(d) ((d) ? '*' : ' ') | 8752 | +#define __dlimit_char(d) ((d) ? '*' : ' ') |
9387 | + | 8753 | + |
9388 | +static inline int __dl_alloc_space(struct super_block *sb, | 8754 | +static inline int __dl_alloc_space(struct super_block *sb, |
9389 | + tag_t tag, dlsize_t nr, const char *file, int line) | 8755 | + vtag_t tag, dlsize_t nr, const char *file, int line) |
9390 | +{ | 8756 | +{ |
9391 | + struct dl_info *dli = NULL; | 8757 | + struct dl_info *dli = NULL; |
9392 | + int ret = 0; | 8758 | + int ret = 0; |
@@ -9412,7 +8778,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9412 | +} | 8778 | +} |
9413 | + | 8779 | + |
9414 | +static inline void __dl_free_space(struct super_block *sb, | 8780 | +static inline void __dl_free_space(struct super_block *sb, |
9415 | + tag_t tag, dlsize_t nr, const char *_file, int _line) | 8781 | + vtag_t tag, dlsize_t nr, const char *_file, int _line) |
9416 | +{ | 8782 | +{ |
9417 | + struct dl_info *dli = NULL; | 8783 | + struct dl_info *dli = NULL; |
9418 | + | 8784 | + |
@@ -9437,7 +8803,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9437 | +} | 8803 | +} |
9438 | + | 8804 | + |
9439 | +static inline int __dl_alloc_inode(struct super_block *sb, | 8805 | +static inline int __dl_alloc_inode(struct super_block *sb, |
9440 | + tag_t tag, const char *_file, int _line) | 8806 | + vtag_t tag, const char *_file, int _line) |
9441 | +{ | 8807 | +{ |
9442 | + struct dl_info *dli; | 8808 | + struct dl_info *dli; |
9443 | + int ret = 0; | 8809 | + int ret = 0; |
@@ -9459,7 +8825,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9459 | +} | 8825 | +} |
9460 | + | 8826 | + |
9461 | +static inline void __dl_free_inode(struct super_block *sb, | 8827 | +static inline void __dl_free_inode(struct super_block *sb, |
9462 | + tag_t tag, const char *_file, int _line) | 8828 | + vtag_t tag, const char *_file, int _line) |
9463 | +{ | 8829 | +{ |
9464 | + struct dl_info *dli; | 8830 | + struct dl_info *dli; |
9465 | + | 8831 | + |
@@ -9480,7 +8846,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9480 | + sb, tag, __dlimit_char(dli), _file, _line); | 8846 | + sb, tag, __dlimit_char(dli), _file, _line); |
9481 | +} | 8847 | +} |
9482 | + | 8848 | + |
9483 | +static inline void __dl_adjust_block(struct super_block *sb, tag_t tag, | 8849 | +static inline void __dl_adjust_block(struct super_block *sb, vtag_t tag, |
9484 | + unsigned long long *free_blocks, unsigned long long *root_blocks, | 8850 | + unsigned long long *free_blocks, unsigned long long *root_blocks, |
9485 | + const char *_file, int _line) | 8851 | + const char *_file, int _line) |
9486 | +{ | 8852 | +{ |
@@ -9516,34 +8882,34 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9516 | +} | 8882 | +} |
9517 | + | 8883 | + |
9518 | +#define dl_prealloc_space(in, bytes) \ | 8884 | +#define dl_prealloc_space(in, bytes) \ |
9519 | + __dl_alloc_space((in)->i_sb, (in)->i_tag, (dlsize_t)(bytes), \ | 8885 | + __dl_alloc_space((in)->i_sb, i_tag_read(in), (dlsize_t)(bytes), \ |
9520 | + __FILE__, __LINE__ ) | 8886 | + __FILE__, __LINE__ ) |
9521 | + | 8887 | + |
9522 | +#define dl_alloc_space(in, bytes) \ | 8888 | +#define dl_alloc_space(in, bytes) \ |
9523 | + __dl_alloc_space((in)->i_sb, (in)->i_tag, (dlsize_t)(bytes), \ | 8889 | + __dl_alloc_space((in)->i_sb, i_tag_read(in), (dlsize_t)(bytes), \ |
9524 | + __FILE__, __LINE__ ) | 8890 | + __FILE__, __LINE__ ) |
9525 | + | 8891 | + |
9526 | +#define dl_reserve_space(in, bytes) \ | 8892 | +#define dl_reserve_space(in, bytes) \ |
9527 | + __dl_alloc_space((in)->i_sb, (in)->i_tag, (dlsize_t)(bytes), \ | 8893 | + __dl_alloc_space((in)->i_sb, i_tag_read(in), (dlsize_t)(bytes), \ |
9528 | + __FILE__, __LINE__ ) | 8894 | + __FILE__, __LINE__ ) |
9529 | + | 8895 | + |
9530 | +#define dl_claim_space(in, bytes) (0) | 8896 | +#define dl_claim_space(in, bytes) (0) |
9531 | + | 8897 | + |
9532 | +#define dl_release_space(in, bytes) \ | 8898 | +#define dl_release_space(in, bytes) \ |
9533 | + __dl_free_space((in)->i_sb, (in)->i_tag, (dlsize_t)(bytes), \ | 8899 | + __dl_free_space((in)->i_sb, i_tag_read(in), (dlsize_t)(bytes), \ |
9534 | + __FILE__, __LINE__ ) | 8900 | + __FILE__, __LINE__ ) |
9535 | + | 8901 | + |
9536 | +#define dl_free_space(in, bytes) \ | 8902 | +#define dl_free_space(in, bytes) \ |
9537 | + __dl_free_space((in)->i_sb, (in)->i_tag, (dlsize_t)(bytes), \ | 8903 | + __dl_free_space((in)->i_sb, i_tag_read(in), (dlsize_t)(bytes), \ |
9538 | + __FILE__, __LINE__ ) | 8904 | + __FILE__, __LINE__ ) |
9539 | + | 8905 | + |
9540 | + | 8906 | + |
9541 | + | 8907 | + |
9542 | +#define dl_alloc_inode(in) \ | 8908 | +#define dl_alloc_inode(in) \ |
9543 | + __dl_alloc_inode((in)->i_sb, (in)->i_tag, __FILE__, __LINE__ ) | 8909 | + __dl_alloc_inode((in)->i_sb, i_tag_read(in), __FILE__, __LINE__ ) |
9544 | + | 8910 | + |
9545 | +#define dl_free_inode(in) \ | 8911 | +#define dl_free_inode(in) \ |
9546 | + __dl_free_inode((in)->i_sb, (in)->i_tag, __FILE__, __LINE__ ) | 8912 | + __dl_free_inode((in)->i_sb, i_tag_read(in), __FILE__, __LINE__ ) |
9547 | + | 8913 | + |
9548 | + | 8914 | + |
9549 | +#define dl_adjust_block(sb, tag, fb, rb) \ | 8915 | +#define dl_adjust_block(sb, tag, fb, rb) \ |
@@ -9553,10 +8919,10 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_dlimit.h linux-3.4.57-vs2.3. | |||
9553 | +#else | 8919 | +#else |
9554 | +#warning duplicate inclusion | 8920 | +#warning duplicate inclusion |
9555 | +#endif | 8921 | +#endif |
9556 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet.h linux-3.4.57-vs2.3.3.9/include/linux/vs_inet.h | 8922 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_inet.h linux-3.10.17-vs2.3.6.6/include/linux/vs_inet.h |
9557 | --- linux-3.4.57/include/linux/vs_inet.h 1970-01-01 00:00:00.000000000 +0000 | 8923 | --- linux-3.10.17/include/linux/vs_inet.h 1970-01-01 00:00:00.000000000 +0000 |
9558 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_inet.h 2012-05-21 16:15:05.000000000 +0000 | 8924 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_inet.h 2013-08-22 20:30:00.000000000 +0000 |
9559 | @@ -0,0 +1,353 @@ | 8925 | @@ -0,0 +1,364 @@ |
9560 | +#ifndef _VS_INET_H | 8926 | +#ifndef _VS_INET_H |
9561 | +#define _VS_INET_H | 8927 | +#define _VS_INET_H |
9562 | + | 8928 | + |
@@ -9618,6 +8984,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet.h linux-3.4.57-vs2.3.3. | |||
9618 | +int v4_addr_in_nx_info(struct nx_info *nxi, __be32 addr, uint16_t tmask) | 8984 | +int v4_addr_in_nx_info(struct nx_info *nxi, __be32 addr, uint16_t tmask) |
9619 | +{ | 8985 | +{ |
9620 | + struct nx_addr_v4 *nxa; | 8986 | + struct nx_addr_v4 *nxa; |
8987 | + unsigned long irqflags; | ||
9621 | + int ret = 1; | 8988 | + int ret = 1; |
9622 | + | 8989 | + |
9623 | + if (!nxi) | 8990 | + if (!nxi) |
@@ -9640,11 +9007,15 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet.h linux-3.4.57-vs2.3.3. | |||
9640 | + (nxi->v4_bcast.s_addr == addr)) | 9007 | + (nxi->v4_bcast.s_addr == addr)) |
9641 | + goto out; | 9008 | + goto out; |
9642 | + ret = 5; | 9009 | + ret = 5; |
9010 | + | ||
9643 | + /* check for v4 addresses */ | 9011 | + /* check for v4 addresses */ |
9012 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
9644 | + for (nxa = &nxi->v4; nxa; nxa = nxa->next) | 9013 | + for (nxa = &nxi->v4; nxa; nxa = nxa->next) |
9645 | + if (v4_addr_match(nxa, addr, tmask)) | 9014 | + if (v4_addr_match(nxa, addr, tmask)) |
9646 | + goto out; | 9015 | + goto out_unlock; |
9647 | + ret = 0; | 9016 | + ret = 0; |
9017 | +out_unlock: | ||
9018 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
9648 | +out: | 9019 | +out: |
9649 | + vxdprintk(VXD_CBIT(net, 0), | 9020 | + vxdprintk(VXD_CBIT(net, 0), |
9650 | + "v4_addr_in_nx_info(%p[#%u]," NIPQUAD_FMT ",%04x) = %d", | 9021 | + "v4_addr_in_nx_info(%p[#%u]," NIPQUAD_FMT ",%04x) = %d", |
@@ -9663,11 +9034,17 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet.h linux-3.4.57-vs2.3.3. | |||
9663 | +int v4_nx_addr_in_nx_info(struct nx_info *nxi, struct nx_addr_v4 *nxa, uint16_t mask) | 9034 | +int v4_nx_addr_in_nx_info(struct nx_info *nxi, struct nx_addr_v4 *nxa, uint16_t mask) |
9664 | +{ | 9035 | +{ |
9665 | + struct nx_addr_v4 *ptr; | 9036 | + struct nx_addr_v4 *ptr; |
9037 | + unsigned long irqflags; | ||
9038 | + int ret = 1; | ||
9666 | + | 9039 | + |
9040 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
9667 | + for (ptr = &nxi->v4; ptr; ptr = ptr->next) | 9041 | + for (ptr = &nxi->v4; ptr; ptr = ptr->next) |
9668 | + if (v4_nx_addr_match(ptr, nxa, mask)) | 9042 | + if (v4_nx_addr_match(ptr, nxa, mask)) |
9669 | + return 1; | 9043 | + goto out_unlock; |
9670 | + return 0; | 9044 | + ret = 0; |
9045 | +out_unlock: | ||
9046 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
9047 | + return ret; | ||
9671 | +} | 9048 | +} |
9672 | + | 9049 | + |
9673 | +#include <net/inet_sock.h> | 9050 | +#include <net/inet_sock.h> |
@@ -9910,10 +9287,10 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet.h linux-3.4.57-vs2.3.3. | |||
9910 | +#else | 9287 | +#else |
9911 | +// #warning duplicate inclusion | 9288 | +// #warning duplicate inclusion |
9912 | +#endif | 9289 | +#endif |
9913 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet6.h linux-3.4.57-vs2.3.3.9/include/linux/vs_inet6.h | 9290 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_inet6.h linux-3.10.17-vs2.3.6.6/include/linux/vs_inet6.h |
9914 | --- linux-3.4.57/include/linux/vs_inet6.h 1970-01-01 00:00:00.000000000 +0000 | 9291 | --- linux-3.10.17/include/linux/vs_inet6.h 1970-01-01 00:00:00.000000000 +0000 |
9915 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_inet6.h 2012-05-21 16:15:05.000000000 +0000 | 9292 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_inet6.h 2013-08-22 20:30:00.000000000 +0000 |
9916 | @@ -0,0 +1,246 @@ | 9293 | @@ -0,0 +1,257 @@ |
9917 | +#ifndef _VS_INET6_H | 9294 | +#ifndef _VS_INET6_H |
9918 | +#define _VS_INET6_H | 9295 | +#define _VS_INET6_H |
9919 | + | 9296 | + |
@@ -9957,14 +9334,19 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet6.h linux-3.4.57-vs2.3.3 | |||
9957 | + const struct in6_addr *addr, uint16_t mask) | 9334 | + const struct in6_addr *addr, uint16_t mask) |
9958 | +{ | 9335 | +{ |
9959 | + struct nx_addr_v6 *nxa; | 9336 | + struct nx_addr_v6 *nxa; |
9337 | + unsigned long irqflags; | ||
9960 | + int ret = 1; | 9338 | + int ret = 1; |
9961 | + | 9339 | + |
9962 | + if (!nxi) | 9340 | + if (!nxi) |
9963 | + goto out; | 9341 | + goto out; |
9342 | + | ||
9343 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
9964 | + for (nxa = &nxi->v6; nxa; nxa = nxa->next) | 9344 | + for (nxa = &nxi->v6; nxa; nxa = nxa->next) |
9965 | + if (v6_addr_match(nxa, addr, mask)) | 9345 | + if (v6_addr_match(nxa, addr, mask)) |
9966 | + goto out; | 9346 | + goto out_unlock; |
9967 | + ret = 0; | 9347 | + ret = 0; |
9348 | +out_unlock: | ||
9349 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
9968 | +out: | 9350 | +out: |
9969 | + vxdprintk(VXD_CBIT(net, 0), | 9351 | + vxdprintk(VXD_CBIT(net, 0), |
9970 | + "v6_addr_in_nx_info(%p[#%u],%pI6,%04x) = %d", | 9352 | + "v6_addr_in_nx_info(%p[#%u],%pI6,%04x) = %d", |
@@ -9983,11 +9365,17 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet6.h linux-3.4.57-vs2.3.3 | |||
9983 | +int v6_nx_addr_in_nx_info(struct nx_info *nxi, struct nx_addr_v6 *nxa, uint16_t mask) | 9365 | +int v6_nx_addr_in_nx_info(struct nx_info *nxi, struct nx_addr_v6 *nxa, uint16_t mask) |
9984 | +{ | 9366 | +{ |
9985 | + struct nx_addr_v6 *ptr; | 9367 | + struct nx_addr_v6 *ptr; |
9368 | + unsigned long irqflags; | ||
9369 | + int ret = 1; | ||
9986 | + | 9370 | + |
9371 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
9987 | + for (ptr = &nxi->v6; ptr; ptr = ptr->next) | 9372 | + for (ptr = &nxi->v6; ptr; ptr = ptr->next) |
9988 | + if (v6_nx_addr_match(ptr, nxa, mask)) | 9373 | + if (v6_nx_addr_match(ptr, nxa, mask)) |
9989 | + return 1; | 9374 | + goto out_unlock; |
9990 | + return 0; | 9375 | + ret = 0; |
9376 | +out_unlock: | ||
9377 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
9378 | + return ret; | ||
9991 | +} | 9379 | +} |
9992 | + | 9380 | + |
9993 | + | 9381 | + |
@@ -10160,9 +9548,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_inet6.h linux-3.4.57-vs2.3.3 | |||
10160 | +#else | 9548 | +#else |
10161 | +#warning duplicate inclusion | 9549 | +#warning duplicate inclusion |
10162 | +#endif | 9550 | +#endif |
10163 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_limit.h linux-3.4.57-vs2.3.3.9/include/linux/vs_limit.h | 9551 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_limit.h linux-3.10.17-vs2.3.6.6/include/linux/vs_limit.h |
10164 | --- linux-3.4.57/include/linux/vs_limit.h 1970-01-01 00:00:00.000000000 +0000 | 9552 | --- linux-3.10.17/include/linux/vs_limit.h 1970-01-01 00:00:00.000000000 +0000 |
10165 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_limit.h 2012-05-21 16:15:05.000000000 +0000 | 9553 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_limit.h 2013-08-22 20:30:00.000000000 +0000 |
10166 | @@ -0,0 +1,140 @@ | 9554 | @@ -0,0 +1,140 @@ |
10167 | +#ifndef _VS_LIMIT_H | 9555 | +#ifndef _VS_LIMIT_H |
10168 | +#define _VS_LIMIT_H | 9556 | +#define _VS_LIMIT_H |
@@ -10304,9 +9692,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_limit.h linux-3.4.57-vs2.3.3 | |||
10304 | +#else | 9692 | +#else |
10305 | +#warning duplicate inclusion | 9693 | +#warning duplicate inclusion |
10306 | +#endif | 9694 | +#endif |
10307 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_network.h linux-3.4.57-vs2.3.3.9/include/linux/vs_network.h | 9695 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_network.h linux-3.10.17-vs2.3.6.6/include/linux/vs_network.h |
10308 | --- linux-3.4.57/include/linux/vs_network.h 1970-01-01 00:00:00.000000000 +0000 | 9696 | --- linux-3.10.17/include/linux/vs_network.h 1970-01-01 00:00:00.000000000 +0000 |
10309 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_network.h 2012-05-21 16:15:05.000000000 +0000 | 9697 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_network.h 2013-08-22 20:30:00.000000000 +0000 |
10310 | @@ -0,0 +1,169 @@ | 9698 | @@ -0,0 +1,169 @@ |
10311 | +#ifndef _NX_VS_NETWORK_H | 9699 | +#ifndef _NX_VS_NETWORK_H |
10312 | +#define _NX_VS_NETWORK_H | 9700 | +#define _NX_VS_NETWORK_H |
@@ -10477,9 +9865,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_network.h linux-3.4.57-vs2.3 | |||
10477 | +#else | 9865 | +#else |
10478 | +#warning duplicate inclusion | 9866 | +#warning duplicate inclusion |
10479 | +#endif | 9867 | +#endif |
10480 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_pid.h linux-3.4.57-vs2.3.3.9/include/linux/vs_pid.h | 9868 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_pid.h linux-3.10.17-vs2.3.6.6/include/linux/vs_pid.h |
10481 | --- linux-3.4.57/include/linux/vs_pid.h 1970-01-01 00:00:00.000000000 +0000 | 9869 | --- linux-3.10.17/include/linux/vs_pid.h 1970-01-01 00:00:00.000000000 +0000 |
10482 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_pid.h 2012-05-21 16:15:05.000000000 +0000 | 9870 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_pid.h 2013-08-22 20:30:00.000000000 +0000 |
10483 | @@ -0,0 +1,50 @@ | 9871 | @@ -0,0 +1,50 @@ |
10484 | +#ifndef _VS_PID_H | 9872 | +#ifndef _VS_PID_H |
10485 | +#define _VS_PID_H | 9873 | +#define _VS_PID_H |
@@ -10531,9 +9919,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_pid.h linux-3.4.57-vs2.3.3.9 | |||
10531 | +#else | 9919 | +#else |
10532 | +#warning duplicate inclusion | 9920 | +#warning duplicate inclusion |
10533 | +#endif | 9921 | +#endif |
10534 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_sched.h linux-3.4.57-vs2.3.3.9/include/linux/vs_sched.h | 9922 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_sched.h linux-3.10.17-vs2.3.6.6/include/linux/vs_sched.h |
10535 | --- linux-3.4.57/include/linux/vs_sched.h 1970-01-01 00:00:00.000000000 +0000 | 9923 | --- linux-3.10.17/include/linux/vs_sched.h 1970-01-01 00:00:00.000000000 +0000 |
10536 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_sched.h 2012-05-21 16:15:05.000000000 +0000 | 9924 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_sched.h 2013-08-22 20:30:00.000000000 +0000 |
10537 | @@ -0,0 +1,40 @@ | 9925 | @@ -0,0 +1,40 @@ |
10538 | +#ifndef _VS_SCHED_H | 9926 | +#ifndef _VS_SCHED_H |
10539 | +#define _VS_SCHED_H | 9927 | +#define _VS_SCHED_H |
@@ -10575,9 +9963,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_sched.h linux-3.4.57-vs2.3.3 | |||
10575 | +#else | 9963 | +#else |
10576 | +#warning duplicate inclusion | 9964 | +#warning duplicate inclusion |
10577 | +#endif | 9965 | +#endif |
10578 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_socket.h linux-3.4.57-vs2.3.3.9/include/linux/vs_socket.h | 9966 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_socket.h linux-3.10.17-vs2.3.6.6/include/linux/vs_socket.h |
10579 | --- linux-3.4.57/include/linux/vs_socket.h 1970-01-01 00:00:00.000000000 +0000 | 9967 | --- linux-3.10.17/include/linux/vs_socket.h 1970-01-01 00:00:00.000000000 +0000 |
10580 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_socket.h 2012-05-21 16:15:05.000000000 +0000 | 9968 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_socket.h 2013-08-22 20:30:00.000000000 +0000 |
10581 | @@ -0,0 +1,67 @@ | 9969 | @@ -0,0 +1,67 @@ |
10582 | +#ifndef _VS_SOCKET_H | 9970 | +#ifndef _VS_SOCKET_H |
10583 | +#define _VS_SOCKET_H | 9971 | +#define _VS_SOCKET_H |
@@ -10646,9 +10034,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_socket.h linux-3.4.57-vs2.3. | |||
10646 | +#else | 10034 | +#else |
10647 | +#warning duplicate inclusion | 10035 | +#warning duplicate inclusion |
10648 | +#endif | 10036 | +#endif |
10649 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_tag.h linux-3.4.57-vs2.3.3.9/include/linux/vs_tag.h | 10037 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_tag.h linux-3.10.17-vs2.3.6.6/include/linux/vs_tag.h |
10650 | --- linux-3.4.57/include/linux/vs_tag.h 1970-01-01 00:00:00.000000000 +0000 | 10038 | --- linux-3.10.17/include/linux/vs_tag.h 1970-01-01 00:00:00.000000000 +0000 |
10651 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_tag.h 2012-05-21 16:15:05.000000000 +0000 | 10039 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_tag.h 2013-08-22 20:30:00.000000000 +0000 |
10652 | @@ -0,0 +1,47 @@ | 10040 | @@ -0,0 +1,47 @@ |
10653 | +#ifndef _VS_TAG_H | 10041 | +#ifndef _VS_TAG_H |
10654 | +#define _VS_TAG_H | 10042 | +#define _VS_TAG_H |
@@ -10679,7 +10067,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_tag.h linux-3.4.57-vs2.3.3.9 | |||
10679 | + * check current context for ADMIN/WATCH and | 10067 | + * check current context for ADMIN/WATCH and |
10680 | + * optionally against supplied argument | 10068 | + * optionally against supplied argument |
10681 | + */ | 10069 | + */ |
10682 | +static inline int __dx_check(tag_t cid, tag_t id, unsigned int mode) | 10070 | +static inline int __dx_check(vtag_t cid, vtag_t id, unsigned int mode) |
10683 | +{ | 10071 | +{ |
10684 | + if (mode & DX_ARG_MASK) { | 10072 | + if (mode & DX_ARG_MASK) { |
10685 | + if ((mode & DX_IDENT) && (id == cid)) | 10073 | + if ((mode & DX_IDENT) && (id == cid)) |
@@ -10697,9 +10085,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_tag.h linux-3.4.57-vs2.3.3.9 | |||
10697 | +#else | 10085 | +#else |
10698 | +#warning duplicate inclusion | 10086 | +#warning duplicate inclusion |
10699 | +#endif | 10087 | +#endif |
10700 | diff -NurpP --minimal linux-3.4.57/include/linux/vs_time.h linux-3.4.57-vs2.3.3.9/include/linux/vs_time.h | 10088 | diff -NurpP --minimal linux-3.10.17/include/linux/vs_time.h linux-3.10.17-vs2.3.6.6/include/linux/vs_time.h |
10701 | --- linux-3.4.57/include/linux/vs_time.h 1970-01-01 00:00:00.000000000 +0000 | 10089 | --- linux-3.10.17/include/linux/vs_time.h 1970-01-01 00:00:00.000000000 +0000 |
10702 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vs_time.h 2012-05-21 16:15:05.000000000 +0000 | 10090 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vs_time.h 2013-08-22 20:30:00.000000000 +0000 |
10703 | @@ -0,0 +1,19 @@ | 10091 | @@ -0,0 +1,19 @@ |
10704 | +#ifndef _VS_TIME_H | 10092 | +#ifndef _VS_TIME_H |
10705 | +#define _VS_TIME_H | 10093 | +#define _VS_TIME_H |
@@ -10720,24 +10108,12 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vs_time.h linux-3.4.57-vs2.3.3. | |||
10720 | +#else | 10108 | +#else |
10721 | +#warning duplicate inclusion | 10109 | +#warning duplicate inclusion |
10722 | +#endif | 10110 | +#endif |
10723 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/Kbuild linux-3.4.57-vs2.3.3.9/include/linux/vserver/Kbuild | 10111 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/base.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/base.h |
10724 | --- linux-3.4.57/include/linux/vserver/Kbuild 1970-01-01 00:00:00.000000000 +0000 | 10112 | --- linux-3.10.17/include/linux/vserver/base.h 1970-01-01 00:00:00.000000000 +0000 |
10725 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/Kbuild 2012-05-21 16:15:05.000000000 +0000 | 10113 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/base.h 2013-08-22 20:30:00.000000000 +0000 |
10726 | @@ -0,0 +1,8 @@ | 10114 | @@ -0,0 +1,181 @@ |
10727 | + | 10115 | +#ifndef _VSERVER_BASE_H |
10728 | +header-y += context_cmd.h network_cmd.h space_cmd.h \ | 10116 | +#define _VSERVER_BASE_H |
10729 | + cacct_cmd.h cvirt_cmd.h limit_cmd.h dlimit_cmd.h \ | ||
10730 | + inode_cmd.h tag_cmd.h sched_cmd.h signal_cmd.h \ | ||
10731 | + debug_cmd.h device_cmd.h | ||
10732 | + | ||
10733 | +header-y += switch.h network.h monitor.h inode.h device.h | ||
10734 | + | ||
10735 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/base.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/base.h | ||
10736 | --- linux-3.4.57/include/linux/vserver/base.h 1970-01-01 00:00:00.000000000 +0000 | ||
10737 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/base.h 2012-05-21 16:15:05.000000000 +0000 | ||
10738 | @@ -0,0 +1,178 @@ | ||
10739 | +#ifndef _VX_BASE_H | ||
10740 | +#define _VX_BASE_H | ||
10741 | + | 10117 | + |
10742 | + | 10118 | + |
10743 | +/* context state changes */ | 10119 | +/* context state changes */ |
@@ -10898,6 +10274,9 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/base.h linux-3.4.57-vs2 | |||
10898 | + (cap_raised(current_cap(), b) && \ | 10274 | + (cap_raised(current_cap(), b) && \ |
10899 | + !((f) & ~vx_current_umask()))) | 10275 | + !((f) & ~vx_current_umask()))) |
10900 | + | 10276 | + |
10277 | +#define vx_ns_can_unshare(n, b, f) (ns_capable(n, b) || \ | ||
10278 | + (cap_raised(current_cap(), b) && \ | ||
10279 | + !((f) & ~vx_current_umask()))) | ||
10901 | + | 10280 | + |
10902 | +#define __vx_wmask(v) ((v)->vx_wmask) | 10281 | +#define __vx_wmask(v) ((v)->vx_wmask) |
10903 | + | 10282 | + |
@@ -10914,12 +10293,12 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/base.h linux-3.4.57-vs2 | |||
10914 | +#define nx_info_state(n, m) (__nx_state(n) & (m)) | 10293 | +#define nx_info_state(n, m) (__nx_state(n) & (m)) |
10915 | + | 10294 | + |
10916 | +#endif | 10295 | +#endif |
10917 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct.h | 10296 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cacct.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct.h |
10918 | --- linux-3.4.57/include/linux/vserver/cacct.h 1970-01-01 00:00:00.000000000 +0000 | 10297 | --- linux-3.10.17/include/linux/vserver/cacct.h 1970-01-01 00:00:00.000000000 +0000 |
10919 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct.h 2012-05-21 16:15:05.000000000 +0000 | 10298 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct.h 2013-08-22 20:30:00.000000000 +0000 |
10920 | @@ -0,0 +1,15 @@ | 10299 | @@ -0,0 +1,15 @@ |
10921 | +#ifndef _VX_CACCT_H | 10300 | +#ifndef _VSERVER_CACCT_H |
10922 | +#define _VX_CACCT_H | 10301 | +#define _VSERVER_CACCT_H |
10923 | + | 10302 | + |
10924 | + | 10303 | + |
10925 | +enum sock_acc_field { | 10304 | +enum sock_acc_field { |
@@ -10932,40 +10311,27 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct.h linux-3.4.57-vs | |||
10932 | + VXA_SOCK_SIZE /* array size */ | 10311 | + VXA_SOCK_SIZE /* array size */ |
10933 | +}; | 10312 | +}; |
10934 | + | 10313 | + |
10935 | +#endif /* _VX_CACCT_H */ | 10314 | +#endif /* _VSERVER_CACCT_H */ |
10936 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_cmd.h | 10315 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cacct_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_cmd.h |
10937 | --- linux-3.4.57/include/linux/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 10316 | --- linux-3.10.17/include/linux/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
10938 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 10317 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
10939 | @@ -0,0 +1,23 @@ | 10318 | @@ -0,0 +1,10 @@ |
10940 | +#ifndef _VX_CACCT_CMD_H | 10319 | +#ifndef _VSERVER_CACCT_CMD_H |
10941 | +#define _VX_CACCT_CMD_H | 10320 | +#define _VSERVER_CACCT_CMD_H |
10942 | + | ||
10943 | + | ||
10944 | +/* virtual host info name commands */ | ||
10945 | + | ||
10946 | +#define VCMD_sock_stat VC_CMD(VSTAT, 5, 0) | ||
10947 | + | ||
10948 | +struct vcmd_sock_stat_v0 { | ||
10949 | + uint32_t field; | ||
10950 | + uint32_t count[3]; | ||
10951 | + uint64_t total[3]; | ||
10952 | +}; | ||
10953 | + | ||
10954 | + | 10321 | + |
10955 | +#ifdef __KERNEL__ | ||
10956 | + | 10322 | + |
10957 | +#include <linux/compiler.h> | 10323 | +#include <linux/compiler.h> |
10324 | +#include <uapi/vserver/cacct_cmd.h> | ||
10958 | + | 10325 | + |
10959 | +extern int vc_sock_stat(struct vx_info *, void __user *); | 10326 | +extern int vc_sock_stat(struct vx_info *, void __user *); |
10960 | + | 10327 | + |
10961 | +#endif /* __KERNEL__ */ | 10328 | +#endif /* _VSERVER_CACCT_CMD_H */ |
10962 | +#endif /* _VX_CACCT_CMD_H */ | 10329 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cacct_def.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_def.h |
10963 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct_def.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_def.h | 10330 | --- linux-3.10.17/include/linux/vserver/cacct_def.h 1970-01-01 00:00:00.000000000 +0000 |
10964 | --- linux-3.4.57/include/linux/vserver/cacct_def.h 1970-01-01 00:00:00.000000000 +0000 | 10331 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_def.h 2013-08-22 20:30:00.000000000 +0000 |
10965 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_def.h 2012-05-21 16:15:05.000000000 +0000 | ||
10966 | @@ -0,0 +1,43 @@ | 10332 | @@ -0,0 +1,43 @@ |
10967 | +#ifndef _VX_CACCT_DEF_H | 10333 | +#ifndef _VSERVER_CACCT_DEF_H |
10968 | +#define _VX_CACCT_DEF_H | 10334 | +#define _VSERVER_CACCT_DEF_H |
10969 | + | 10335 | + |
10970 | +#include <asm/atomic.h> | 10336 | +#include <asm/atomic.h> |
10971 | +#include <linux/vserver/cacct.h> | 10337 | +#include <linux/vserver/cacct.h> |
@@ -11006,16 +10372,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct_def.h linux-3.4.5 | |||
11006 | + | 10372 | + |
11007 | +#endif | 10373 | +#endif |
11008 | + | 10374 | + |
11009 | +#endif /* _VX_CACCT_DEF_H */ | 10375 | +#endif /* _VSERVER_CACCT_DEF_H */ |
11010 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct_int.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_int.h | 10376 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cacct_int.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_int.h |
11011 | --- linux-3.4.57/include/linux/vserver/cacct_int.h 1970-01-01 00:00:00.000000000 +0000 | 10377 | --- linux-3.10.17/include/linux/vserver/cacct_int.h 1970-01-01 00:00:00.000000000 +0000 |
11012 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cacct_int.h 2012-05-21 16:15:05.000000000 +0000 | 10378 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cacct_int.h 2013-08-22 20:30:00.000000000 +0000 |
11013 | @@ -0,0 +1,21 @@ | 10379 | @@ -0,0 +1,17 @@ |
11014 | +#ifndef _VX_CACCT_INT_H | 10380 | +#ifndef _VSERVER_CACCT_INT_H |
11015 | +#define _VX_CACCT_INT_H | 10381 | +#define _VSERVER_CACCT_INT_H |
11016 | + | ||
11017 | + | ||
11018 | +#ifdef __KERNEL__ | ||
11019 | + | 10382 | + |
11020 | +static inline | 10383 | +static inline |
11021 | +unsigned long vx_sock_count(struct _vx_cacct *cacct, int type, int pos) | 10384 | +unsigned long vx_sock_count(struct _vx_cacct *cacct, int type, int pos) |
@@ -11030,14 +10393,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cacct_int.h linux-3.4.5 | |||
11030 | + return atomic_long_read(&cacct->sock[type][pos].total); | 10393 | + return atomic_long_read(&cacct->sock[type][pos].total); |
11031 | +} | 10394 | +} |
11032 | + | 10395 | + |
11033 | +#endif /* __KERNEL__ */ | 10396 | +#endif /* _VSERVER_CACCT_INT_H */ |
11034 | +#endif /* _VX_CACCT_INT_H */ | 10397 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/check.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/check.h |
11035 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/check.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/check.h | 10398 | --- linux-3.10.17/include/linux/vserver/check.h 1970-01-01 00:00:00.000000000 +0000 |
11036 | --- linux-3.4.57/include/linux/vserver/check.h 1970-01-01 00:00:00.000000000 +0000 | 10399 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/check.h 2013-08-22 20:30:00.000000000 +0000 |
11037 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/check.h 2012-05-21 16:15:05.000000000 +0000 | ||
11038 | @@ -0,0 +1,89 @@ | 10400 | @@ -0,0 +1,89 @@ |
11039 | +#ifndef _VS_CHECK_H | 10401 | +#ifndef _VSERVER_CHECK_H |
11040 | +#define _VS_CHECK_H | 10402 | +#define _VSERVER_CHECK_H |
11041 | + | 10403 | + |
11042 | + | 10404 | + |
11043 | +#define MAX_S_CONTEXT 65535 /* Arbitrary limit */ | 10405 | +#define MAX_S_CONTEXT 65535 /* Arbitrary limit */ |
@@ -11125,95 +10487,18 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/check.h linux-3.4.57-vs | |||
11125 | +#define nx_weak_check(c, m) ((m) ? nx_check(c, m) : 1) | 10487 | +#define nx_weak_check(c, m) ((m) ? nx_check(c, m) : 1) |
11126 | + | 10488 | + |
11127 | +#endif | 10489 | +#endif |
11128 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/context.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/context.h | 10490 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/context.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/context.h |
11129 | --- linux-3.4.57/include/linux/vserver/context.h 1970-01-01 00:00:00.000000000 +0000 | 10491 | --- linux-3.10.17/include/linux/vserver/context.h 1970-01-01 00:00:00.000000000 +0000 |
11130 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/context.h 2012-05-21 16:15:05.000000000 +0000 | 10492 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/context.h 2013-08-22 20:30:00.000000000 +0000 |
11131 | @@ -0,0 +1,188 @@ | 10493 | @@ -0,0 +1,110 @@ |
11132 | +#ifndef _VX_CONTEXT_H | 10494 | +#ifndef _VSERVER_CONTEXT_H |
11133 | +#define _VX_CONTEXT_H | 10495 | +#define _VSERVER_CONTEXT_H |
11134 | + | 10496 | + |
11135 | +#include <linux/types.h> | ||
11136 | +#include <linux/capability.h> | ||
11137 | + | ||
11138 | + | ||
11139 | +/* context flags */ | ||
11140 | + | ||
11141 | +#define VXF_INFO_SCHED 0x00000002 | ||
11142 | +#define VXF_INFO_NPROC 0x00000004 | ||
11143 | +#define VXF_INFO_PRIVATE 0x00000008 | ||
11144 | + | ||
11145 | +#define VXF_INFO_INIT 0x00000010 | ||
11146 | +#define VXF_INFO_HIDE 0x00000020 | ||
11147 | +#define VXF_INFO_ULIMIT 0x00000040 | ||
11148 | +#define VXF_INFO_NSPACE 0x00000080 | ||
11149 | + | ||
11150 | +#define VXF_SCHED_HARD 0x00000100 | ||
11151 | +#define VXF_SCHED_PRIO 0x00000200 | ||
11152 | +#define VXF_SCHED_PAUSE 0x00000400 | ||
11153 | + | ||
11154 | +#define VXF_VIRT_MEM 0x00010000 | ||
11155 | +#define VXF_VIRT_UPTIME 0x00020000 | ||
11156 | +#define VXF_VIRT_CPU 0x00040000 | ||
11157 | +#define VXF_VIRT_LOAD 0x00080000 | ||
11158 | +#define VXF_VIRT_TIME 0x00100000 | ||
11159 | + | ||
11160 | +#define VXF_HIDE_MOUNT 0x01000000 | ||
11161 | +/* was VXF_HIDE_NETIF 0x02000000 */ | ||
11162 | +#define VXF_HIDE_VINFO 0x04000000 | ||
11163 | + | ||
11164 | +#define VXF_STATE_SETUP (1ULL << 32) | ||
11165 | +#define VXF_STATE_INIT (1ULL << 33) | ||
11166 | +#define VXF_STATE_ADMIN (1ULL << 34) | ||
11167 | + | ||
11168 | +#define VXF_SC_HELPER (1ULL << 36) | ||
11169 | +#define VXF_REBOOT_KILL (1ULL << 37) | ||
11170 | +#define VXF_PERSISTENT (1ULL << 38) | ||
11171 | + | ||
11172 | +#define VXF_FORK_RSS (1ULL << 48) | ||
11173 | +#define VXF_PROLIFIC (1ULL << 49) | ||
11174 | + | ||
11175 | +#define VXF_IGNEG_NICE (1ULL << 52) | ||
11176 | + | ||
11177 | +#define VXF_ONE_TIME (0x0007ULL << 32) | ||
11178 | + | ||
11179 | +#define VXF_INIT_SET (VXF_STATE_SETUP | VXF_STATE_INIT | VXF_STATE_ADMIN) | ||
11180 | + | ||
11181 | + | ||
11182 | +/* context migration */ | ||
11183 | + | ||
11184 | +#define VXM_SET_INIT 0x00000001 | ||
11185 | +#define VXM_SET_REAPER 0x00000002 | ||
11186 | + | ||
11187 | +/* context caps */ | ||
11188 | + | ||
11189 | +#define VXC_SET_UTSNAME 0x00000001 | ||
11190 | +#define VXC_SET_RLIMIT 0x00000002 | ||
11191 | +#define VXC_FS_SECURITY 0x00000004 | ||
11192 | +#define VXC_FS_TRUSTED 0x00000008 | ||
11193 | +#define VXC_TIOCSTI 0x00000010 | ||
11194 | + | ||
11195 | +/* was VXC_RAW_ICMP 0x00000100 */ | ||
11196 | +#define VXC_SYSLOG 0x00001000 | ||
11197 | +#define VXC_OOM_ADJUST 0x00002000 | ||
11198 | +#define VXC_AUDIT_CONTROL 0x00004000 | ||
11199 | + | ||
11200 | +#define VXC_SECURE_MOUNT 0x00010000 | ||
11201 | +#define VXC_SECURE_REMOUNT 0x00020000 | ||
11202 | +#define VXC_BINARY_MOUNT 0x00040000 | ||
11203 | + | ||
11204 | +#define VXC_QUOTA_CTL 0x00100000 | ||
11205 | +#define VXC_ADMIN_MAPPER 0x00200000 | ||
11206 | +#define VXC_ADMIN_CLOOP 0x00400000 | ||
11207 | + | ||
11208 | +#define VXC_KTHREAD 0x01000000 | ||
11209 | +#define VXC_NAMESPACE 0x02000000 | ||
11210 | + | ||
11211 | + | ||
11212 | +#ifdef __KERNEL__ | ||
11213 | + | 10497 | + |
11214 | +#include <linux/list.h> | 10498 | +#include <linux/list.h> |
11215 | +#include <linux/spinlock.h> | 10499 | +#include <linux/spinlock.h> |
11216 | +#include <linux/rcupdate.h> | 10500 | +#include <linux/rcupdate.h> |
10501 | +#include <uapi/vserver/context.h> | ||
11217 | + | 10502 | + |
11218 | +#include "limit_def.h" | 10503 | +#include "limit_def.h" |
11219 | +#include "sched_def.h" | 10504 | +#include "sched_def.h" |
@@ -11237,7 +10522,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/context.h linux-3.4.57- | |||
11237 | + | 10522 | + |
11238 | +struct vx_info { | 10523 | +struct vx_info { |
11239 | + struct hlist_node vx_hlist; /* linked list of contexts */ | 10524 | + struct hlist_node vx_hlist; /* linked list of contexts */ |
11240 | + xid_t vx_id; /* context id */ | 10525 | + vxid_t vx_id; /* context id */ |
11241 | + atomic_t vx_usecnt; /* usage count */ | 10526 | + atomic_t vx_usecnt; /* usage count */ |
11242 | + atomic_t vx_tasks; /* tasks count */ | 10527 | + atomic_t vx_tasks; /* tasks count */ |
11243 | + struct vx_info *vx_parent; /* parent context */ | 10528 | + struct vx_info *vx_parent; /* parent context */ |
@@ -11288,7 +10573,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/context.h linux-3.4.57- | |||
11288 | + | 10573 | + |
11289 | +struct vx_info_save { | 10574 | +struct vx_info_save { |
11290 | + struct vx_info *vxi; | 10575 | + struct vx_info *vxi; |
11291 | + xid_t xid; | 10576 | + vxid_t xid; |
11292 | +}; | 10577 | +}; |
11293 | + | 10578 | + |
11294 | + | 10579 | + |
@@ -11308,190 +10593,57 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/context.h linux-3.4.57- | |||
11308 | +extern struct vx_info *lookup_or_create_vx_info(int); | 10593 | +extern struct vx_info *lookup_or_create_vx_info(int); |
11309 | + | 10594 | + |
11310 | +extern int get_xid_list(int, unsigned int *, int); | 10595 | +extern int get_xid_list(int, unsigned int *, int); |
11311 | +extern int xid_is_hashed(xid_t); | 10596 | +extern int xid_is_hashed(vxid_t); |
11312 | + | 10597 | + |
11313 | +extern int vx_migrate_task(struct task_struct *, struct vx_info *, int); | 10598 | +extern int vx_migrate_task(struct task_struct *, struct vx_info *, int); |
11314 | + | 10599 | + |
11315 | +extern long vs_state_change(struct vx_info *, unsigned int); | 10600 | +extern long vs_state_change(struct vx_info *, unsigned int); |
11316 | + | 10601 | + |
11317 | + | 10602 | + |
11318 | +#endif /* __KERNEL__ */ | 10603 | +#endif /* _VSERVER_CONTEXT_H */ |
11319 | +#endif /* _VX_CONTEXT_H */ | 10604 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/context_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/context_cmd.h |
11320 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/context_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/context_cmd.h | 10605 | --- linux-3.10.17/include/linux/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
11321 | --- linux-3.4.57/include/linux/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 10606 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/context_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
11322 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/context_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 10607 | @@ -0,0 +1,33 @@ |
11323 | @@ -0,0 +1,162 @@ | 10608 | +#ifndef _VSERVER_CONTEXT_CMD_H |
11324 | +#ifndef _VX_CONTEXT_CMD_H | 10609 | +#define _VSERVER_CONTEXT_CMD_H |
11325 | +#define _VX_CONTEXT_CMD_H | ||
11326 | + | ||
11327 | + | 10610 | + |
11328 | +/* vinfo commands */ | 10611 | +#include <uapi/vserver/context_cmd.h> |
11329 | + | 10612 | + |
11330 | +#define VCMD_task_xid VC_CMD(VINFO, 1, 0) | ||
11331 | + | ||
11332 | +#ifdef __KERNEL__ | ||
11333 | +extern int vc_task_xid(uint32_t); | 10613 | +extern int vc_task_xid(uint32_t); |
11334 | + | 10614 | + |
11335 | +#endif /* __KERNEL__ */ | ||
11336 | + | ||
11337 | +#define VCMD_vx_info VC_CMD(VINFO, 5, 0) | ||
11338 | + | ||
11339 | +struct vcmd_vx_info_v0 { | ||
11340 | + uint32_t xid; | ||
11341 | + uint32_t initpid; | ||
11342 | + /* more to come */ | ||
11343 | +}; | ||
11344 | + | ||
11345 | +#ifdef __KERNEL__ | ||
11346 | +extern int vc_vx_info(struct vx_info *, void __user *); | 10615 | +extern int vc_vx_info(struct vx_info *, void __user *); |
11347 | + | 10616 | + |
11348 | +#endif /* __KERNEL__ */ | ||
11349 | + | ||
11350 | +#define VCMD_ctx_stat VC_CMD(VSTAT, 0, 0) | ||
11351 | + | ||
11352 | +struct vcmd_ctx_stat_v0 { | ||
11353 | + uint32_t usecnt; | ||
11354 | + uint32_t tasks; | ||
11355 | + /* more to come */ | ||
11356 | +}; | ||
11357 | + | ||
11358 | +#ifdef __KERNEL__ | ||
11359 | +extern int vc_ctx_stat(struct vx_info *, void __user *); | 10617 | +extern int vc_ctx_stat(struct vx_info *, void __user *); |
11360 | + | 10618 | + |
11361 | +#endif /* __KERNEL__ */ | ||
11362 | + | ||
11363 | +/* context commands */ | ||
11364 | + | ||
11365 | +#define VCMD_ctx_create_v0 VC_CMD(VPROC, 1, 0) | ||
11366 | +#define VCMD_ctx_create VC_CMD(VPROC, 1, 1) | ||
11367 | + | ||
11368 | +struct vcmd_ctx_create { | ||
11369 | + uint64_t flagword; | ||
11370 | +}; | ||
11371 | + | ||
11372 | +#define VCMD_ctx_migrate_v0 VC_CMD(PROCMIG, 1, 0) | ||
11373 | +#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 1) | ||
11374 | + | ||
11375 | +struct vcmd_ctx_migrate { | ||
11376 | + uint64_t flagword; | ||
11377 | +}; | ||
11378 | + | ||
11379 | +#ifdef __KERNEL__ | ||
11380 | +extern int vc_ctx_create(uint32_t, void __user *); | 10619 | +extern int vc_ctx_create(uint32_t, void __user *); |
11381 | +extern int vc_ctx_migrate(struct vx_info *, void __user *); | 10620 | +extern int vc_ctx_migrate(struct vx_info *, void __user *); |
11382 | + | 10621 | + |
11383 | +#endif /* __KERNEL__ */ | ||
11384 | + | ||
11385 | + | ||
11386 | +/* flag commands */ | ||
11387 | + | ||
11388 | +#define VCMD_get_cflags VC_CMD(FLAGS, 1, 0) | ||
11389 | +#define VCMD_set_cflags VC_CMD(FLAGS, 2, 0) | ||
11390 | + | ||
11391 | +struct vcmd_ctx_flags_v0 { | ||
11392 | + uint64_t flagword; | ||
11393 | + uint64_t mask; | ||
11394 | +}; | ||
11395 | + | ||
11396 | +#ifdef __KERNEL__ | ||
11397 | +extern int vc_get_cflags(struct vx_info *, void __user *); | 10622 | +extern int vc_get_cflags(struct vx_info *, void __user *); |
11398 | +extern int vc_set_cflags(struct vx_info *, void __user *); | 10623 | +extern int vc_set_cflags(struct vx_info *, void __user *); |
11399 | + | 10624 | + |
11400 | +#endif /* __KERNEL__ */ | ||
11401 | + | ||
11402 | + | ||
11403 | +/* context caps commands */ | ||
11404 | + | ||
11405 | +#define VCMD_get_ccaps VC_CMD(FLAGS, 3, 1) | ||
11406 | +#define VCMD_set_ccaps VC_CMD(FLAGS, 4, 1) | ||
11407 | + | ||
11408 | +struct vcmd_ctx_caps_v1 { | ||
11409 | + uint64_t ccaps; | ||
11410 | + uint64_t cmask; | ||
11411 | +}; | ||
11412 | + | ||
11413 | +#ifdef __KERNEL__ | ||
11414 | +extern int vc_get_ccaps(struct vx_info *, void __user *); | 10625 | +extern int vc_get_ccaps(struct vx_info *, void __user *); |
11415 | +extern int vc_set_ccaps(struct vx_info *, void __user *); | 10626 | +extern int vc_set_ccaps(struct vx_info *, void __user *); |
11416 | + | 10627 | + |
11417 | +#endif /* __KERNEL__ */ | ||
11418 | + | ||
11419 | + | ||
11420 | +/* bcaps commands */ | ||
11421 | + | ||
11422 | +#define VCMD_get_bcaps VC_CMD(FLAGS, 9, 0) | ||
11423 | +#define VCMD_set_bcaps VC_CMD(FLAGS, 10, 0) | ||
11424 | + | ||
11425 | +struct vcmd_bcaps { | ||
11426 | + uint64_t bcaps; | ||
11427 | + uint64_t bmask; | ||
11428 | +}; | ||
11429 | + | ||
11430 | +#ifdef __KERNEL__ | ||
11431 | +extern int vc_get_bcaps(struct vx_info *, void __user *); | 10628 | +extern int vc_get_bcaps(struct vx_info *, void __user *); |
11432 | +extern int vc_set_bcaps(struct vx_info *, void __user *); | 10629 | +extern int vc_set_bcaps(struct vx_info *, void __user *); |
11433 | + | 10630 | + |
11434 | +#endif /* __KERNEL__ */ | ||
11435 | + | ||
11436 | + | ||
11437 | +/* umask commands */ | ||
11438 | + | ||
11439 | +#define VCMD_get_umask VC_CMD(FLAGS, 13, 0) | ||
11440 | +#define VCMD_set_umask VC_CMD(FLAGS, 14, 0) | ||
11441 | + | ||
11442 | +struct vcmd_umask { | ||
11443 | + uint64_t umask; | ||
11444 | + uint64_t mask; | ||
11445 | +}; | ||
11446 | + | ||
11447 | +#ifdef __KERNEL__ | ||
11448 | +extern int vc_get_umask(struct vx_info *, void __user *); | 10631 | +extern int vc_get_umask(struct vx_info *, void __user *); |
11449 | +extern int vc_set_umask(struct vx_info *, void __user *); | 10632 | +extern int vc_set_umask(struct vx_info *, void __user *); |
11450 | + | 10633 | + |
11451 | +#endif /* __KERNEL__ */ | ||
11452 | + | ||
11453 | + | ||
11454 | +/* wmask commands */ | ||
11455 | + | ||
11456 | +#define VCMD_get_wmask VC_CMD(FLAGS, 15, 0) | ||
11457 | +#define VCMD_set_wmask VC_CMD(FLAGS, 16, 0) | ||
11458 | + | ||
11459 | +struct vcmd_wmask { | ||
11460 | + uint64_t wmask; | ||
11461 | + uint64_t mask; | ||
11462 | +}; | ||
11463 | + | ||
11464 | +#ifdef __KERNEL__ | ||
11465 | +extern int vc_get_wmask(struct vx_info *, void __user *); | 10634 | +extern int vc_get_wmask(struct vx_info *, void __user *); |
11466 | +extern int vc_set_wmask(struct vx_info *, void __user *); | 10635 | +extern int vc_set_wmask(struct vx_info *, void __user *); |
11467 | + | 10636 | + |
11468 | +#endif /* __KERNEL__ */ | ||
11469 | + | ||
11470 | + | ||
11471 | +/* OOM badness */ | ||
11472 | + | ||
11473 | +#define VCMD_get_badness VC_CMD(MEMCTRL, 5, 0) | ||
11474 | +#define VCMD_set_badness VC_CMD(MEMCTRL, 6, 0) | ||
11475 | + | ||
11476 | +struct vcmd_badness_v0 { | ||
11477 | + int64_t bias; | ||
11478 | +}; | ||
11479 | + | ||
11480 | +#ifdef __KERNEL__ | ||
11481 | +extern int vc_get_badness(struct vx_info *, void __user *); | 10637 | +extern int vc_get_badness(struct vx_info *, void __user *); |
11482 | +extern int vc_set_badness(struct vx_info *, void __user *); | 10638 | +extern int vc_set_badness(struct vx_info *, void __user *); |
11483 | + | 10639 | + |
11484 | +#endif /* __KERNEL__ */ | 10640 | +#endif /* _VSERVER_CONTEXT_CMD_H */ |
11485 | +#endif /* _VX_CONTEXT_CMD_H */ | 10641 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cvirt.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt.h |
11486 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cvirt.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt.h | 10642 | --- linux-3.10.17/include/linux/vserver/cvirt.h 1970-01-01 00:00:00.000000000 +0000 |
11487 | --- linux-3.4.57/include/linux/vserver/cvirt.h 1970-01-01 00:00:00.000000000 +0000 | 10643 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt.h 2013-08-22 20:30:00.000000000 +0000 |
11488 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt.h 2012-05-21 16:15:05.000000000 +0000 | 10644 | @@ -0,0 +1,18 @@ |
11489 | @@ -0,0 +1,22 @@ | 10645 | +#ifndef _VSERVER_CVIRT_H |
11490 | +#ifndef _VX_CVIRT_H | 10646 | +#define _VSERVER_CVIRT_H |
11491 | +#define _VX_CVIRT_H | ||
11492 | + | ||
11493 | + | ||
11494 | +#ifdef __KERNEL__ | ||
11495 | + | 10647 | + |
11496 | +struct timespec; | 10648 | +struct timespec; |
11497 | + | 10649 | + |
@@ -11507,71 +10659,30 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cvirt.h linux-3.4.57-vs | |||
11507 | + | 10659 | + |
11508 | +int vx_do_syslog(int, char __user *, int); | 10660 | +int vx_do_syslog(int, char __user *, int); |
11509 | + | 10661 | + |
11510 | +#endif /* __KERNEL__ */ | 10662 | +#endif /* _VSERVER_CVIRT_H */ |
11511 | +#endif /* _VX_CVIRT_H */ | 10663 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cvirt_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt_cmd.h |
11512 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cvirt_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt_cmd.h | 10664 | --- linux-3.10.17/include/linux/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
11513 | --- linux-3.4.57/include/linux/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 10665 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
11514 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 10666 | @@ -0,0 +1,13 @@ |
11515 | @@ -0,0 +1,53 @@ | 10667 | +#ifndef _VSERVER_CVIRT_CMD_H |
11516 | +#ifndef _VX_CVIRT_CMD_H | 10668 | +#define _VSERVER_CVIRT_CMD_H |
11517 | +#define _VX_CVIRT_CMD_H | ||
11518 | + | ||
11519 | + | ||
11520 | +/* virtual host info name commands */ | ||
11521 | + | ||
11522 | +#define VCMD_set_vhi_name VC_CMD(VHOST, 1, 0) | ||
11523 | +#define VCMD_get_vhi_name VC_CMD(VHOST, 2, 0) | ||
11524 | + | ||
11525 | +struct vcmd_vhi_name_v0 { | ||
11526 | + uint32_t field; | ||
11527 | + char name[65]; | ||
11528 | +}; | ||
11529 | + | ||
11530 | + | ||
11531 | +enum vhi_name_field { | ||
11532 | + VHIN_CONTEXT = 0, | ||
11533 | + VHIN_SYSNAME, | ||
11534 | + VHIN_NODENAME, | ||
11535 | + VHIN_RELEASE, | ||
11536 | + VHIN_VERSION, | ||
11537 | + VHIN_MACHINE, | ||
11538 | + VHIN_DOMAINNAME, | ||
11539 | +}; | ||
11540 | + | 10669 | + |
11541 | + | 10670 | + |
11542 | +#ifdef __KERNEL__ | ||
11543 | + | ||
11544 | +#include <linux/compiler.h> | 10671 | +#include <linux/compiler.h> |
10672 | +#include <uapi/vserver/cvirt_cmd.h> | ||
11545 | + | 10673 | + |
11546 | +extern int vc_set_vhi_name(struct vx_info *, void __user *); | 10674 | +extern int vc_set_vhi_name(struct vx_info *, void __user *); |
11547 | +extern int vc_get_vhi_name(struct vx_info *, void __user *); | 10675 | +extern int vc_get_vhi_name(struct vx_info *, void __user *); |
11548 | + | 10676 | + |
11549 | +#endif /* __KERNEL__ */ | ||
11550 | + | ||
11551 | +#define VCMD_virt_stat VC_CMD(VSTAT, 3, 0) | ||
11552 | + | ||
11553 | +struct vcmd_virt_stat_v0 { | ||
11554 | + uint64_t offset; | ||
11555 | + uint64_t uptime; | ||
11556 | + uint32_t nr_threads; | ||
11557 | + uint32_t nr_running; | ||
11558 | + uint32_t nr_uninterruptible; | ||
11559 | + uint32_t nr_onhold; | ||
11560 | + uint32_t nr_forks; | ||
11561 | + uint32_t load[3]; | ||
11562 | +}; | ||
11563 | + | ||
11564 | +#ifdef __KERNEL__ | ||
11565 | +extern int vc_virt_stat(struct vx_info *, void __user *); | 10677 | +extern int vc_virt_stat(struct vx_info *, void __user *); |
11566 | + | 10678 | + |
11567 | +#endif /* __KERNEL__ */ | 10679 | +#endif /* _VSERVER_CVIRT_CMD_H */ |
11568 | +#endif /* _VX_CVIRT_CMD_H */ | 10680 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/cvirt_def.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt_def.h |
11569 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cvirt_def.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt_def.h | 10681 | --- linux-3.10.17/include/linux/vserver/cvirt_def.h 1970-01-01 00:00:00.000000000 +0000 |
11570 | --- linux-3.4.57/include/linux/vserver/cvirt_def.h 1970-01-01 00:00:00.000000000 +0000 | 10682 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/cvirt_def.h 2013-08-22 20:30:00.000000000 +0000 |
11571 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/cvirt_def.h 2012-05-21 16:15:05.000000000 +0000 | ||
11572 | @@ -0,0 +1,80 @@ | 10683 | @@ -0,0 +1,80 @@ |
11573 | +#ifndef _VX_CVIRT_DEF_H | 10684 | +#ifndef _VSERVER_CVIRT_DEF_H |
11574 | +#define _VX_CVIRT_DEF_H | 10685 | +#define _VSERVER_CVIRT_DEF_H |
11575 | + | 10686 | + |
11576 | +#include <linux/jiffies.h> | 10687 | +#include <linux/jiffies.h> |
11577 | +#include <linux/spinlock.h> | 10688 | +#include <linux/spinlock.h> |
@@ -11649,13 +10760,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/cvirt_def.h linux-3.4.5 | |||
11649 | + | 10760 | + |
11650 | +#endif | 10761 | +#endif |
11651 | + | 10762 | + |
11652 | +#endif /* _VX_CVIRT_DEF_H */ | 10763 | +#endif /* _VSERVER_CVIRT_DEF_H */ |
11653 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/debug.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/debug.h | 10764 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/debug.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/debug.h |
11654 | --- linux-3.4.57/include/linux/vserver/debug.h 1970-01-01 00:00:00.000000000 +0000 | 10765 | --- linux-3.10.17/include/linux/vserver/debug.h 1970-01-01 00:00:00.000000000 +0000 |
11655 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/debug.h 2012-05-21 16:15:05.000000000 +0000 | 10766 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/debug.h 2013-08-22 20:30:00.000000000 +0000 |
11656 | @@ -0,0 +1,145 @@ | 10767 | @@ -0,0 +1,146 @@ |
11657 | +#ifndef _VX_DEBUG_H | 10768 | +#ifndef _VSERVER_DEBUG_H |
11658 | +#define _VX_DEBUG_H | 10769 | +#define _VSERVER_DEBUG_H |
11659 | + | 10770 | + |
11660 | + | 10771 | + |
11661 | +#define VXD_CBIT(n, m) (vs_debug_ ## n & (1 << (m))) | 10772 | +#define VXD_CBIT(n, m) (vs_debug_ ## n & (1 << (m))) |
@@ -11780,7 +10891,8 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/debug.h linux-3.4.57-vs | |||
11780 | +#define vxwprintk_task(c, f, x...) \ | 10891 | +#define vxwprintk_task(c, f, x...) \ |
11781 | + vxwprintk(c, VX_WARN_TASK f, \ | 10892 | + vxwprintk(c, VX_WARN_TASK f, \ |
11782 | + current->comm, current->pid, \ | 10893 | + current->comm, current->pid, \ |
11783 | + current->xid, current->nid, current->tag, ##x) | 10894 | + current->xid, current->nid, \ |
10895 | + current->tag, ##x) | ||
11784 | +#define vxwprintk_xid(c, f, x...) \ | 10896 | +#define vxwprintk_xid(c, f, x...) \ |
11785 | + vxwprintk(c, VX_WARN_XID f, current->xid, x) | 10897 | + vxwprintk(c, VX_WARN_XID f, current->xid, x) |
11786 | +#define vxwprintk_nid(c, f, x...) \ | 10898 | +#define vxwprintk_nid(c, f, x...) \ |
@@ -11798,36 +10910,16 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/debug.h linux-3.4.57-vs | |||
11798 | +#endif | 10910 | +#endif |
11799 | + | 10911 | + |
11800 | + | 10912 | + |
11801 | +#endif /* _VX_DEBUG_H */ | 10913 | +#endif /* _VSERVER_DEBUG_H */ |
11802 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/debug_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/debug_cmd.h | 10914 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/debug_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/debug_cmd.h |
11803 | --- linux-3.4.57/include/linux/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 10915 | --- linux-3.10.17/include/linux/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
11804 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/debug_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 10916 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/debug_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
11805 | @@ -0,0 +1,58 @@ | 10917 | @@ -0,0 +1,37 @@ |
11806 | +#ifndef _VX_DEBUG_CMD_H | 10918 | +#ifndef _VSERVER_DEBUG_CMD_H |
11807 | +#define _VX_DEBUG_CMD_H | 10919 | +#define _VSERVER_DEBUG_CMD_H |
11808 | + | 10920 | + |
10921 | +#include <uapi/vserver/debug_cmd.h> | ||
11809 | + | 10922 | + |
11810 | +/* debug commands */ | ||
11811 | + | ||
11812 | +#define VCMD_dump_history VC_CMD(DEBUG, 1, 0) | ||
11813 | + | ||
11814 | +#define VCMD_read_history VC_CMD(DEBUG, 5, 0) | ||
11815 | +#define VCMD_read_monitor VC_CMD(DEBUG, 6, 0) | ||
11816 | + | ||
11817 | +struct vcmd_read_history_v0 { | ||
11818 | + uint32_t index; | ||
11819 | + uint32_t count; | ||
11820 | + char __user *data; | ||
11821 | +}; | ||
11822 | + | ||
11823 | +struct vcmd_read_monitor_v0 { | ||
11824 | + uint32_t index; | ||
11825 | + uint32_t count; | ||
11826 | + char __user *data; | ||
11827 | +}; | ||
11828 | + | ||
11829 | + | ||
11830 | +#ifdef __KERNEL__ | ||
11831 | + | 10923 | + |
11832 | +#ifdef CONFIG_COMPAT | 10924 | +#ifdef CONFIG_COMPAT |
11833 | + | 10925 | + |
@@ -11859,48 +10951,29 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/debug_cmd.h linux-3.4.5 | |||
11859 | + | 10951 | + |
11860 | +#endif /* CONFIG_COMPAT */ | 10952 | +#endif /* CONFIG_COMPAT */ |
11861 | + | 10953 | + |
11862 | +#endif /* __KERNEL__ */ | 10954 | +#endif /* _VSERVER_DEBUG_CMD_H */ |
11863 | +#endif /* _VX_DEBUG_CMD_H */ | 10955 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/device.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/device.h |
11864 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/device.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/device.h | 10956 | --- linux-3.10.17/include/linux/vserver/device.h 1970-01-01 00:00:00.000000000 +0000 |
11865 | --- linux-3.4.57/include/linux/vserver/device.h 1970-01-01 00:00:00.000000000 +0000 | 10957 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/device.h 2013-08-22 20:30:00.000000000 +0000 |
11866 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/device.h 2012-05-21 16:15:05.000000000 +0000 | 10958 | @@ -0,0 +1,9 @@ |
11867 | @@ -0,0 +1,15 @@ | 10959 | +#ifndef _VSERVER_DEVICE_H |
11868 | +#ifndef _VX_DEVICE_H | 10960 | +#define _VSERVER_DEVICE_H |
11869 | +#define _VX_DEVICE_H | ||
11870 | + | 10961 | + |
11871 | + | 10962 | + |
11872 | +#define DATTR_CREATE 0x00000001 | 10963 | +#include <uapi/vserver/device.h> |
11873 | +#define DATTR_OPEN 0x00000002 | ||
11874 | + | 10964 | + |
11875 | +#define DATTR_REMAP 0x00000010 | 10965 | +#else /* _VSERVER_DEVICE_H */ |
11876 | + | ||
11877 | +#define DATTR_MASK 0x00000013 | ||
11878 | + | ||
11879 | + | ||
11880 | +#else /* _VX_DEVICE_H */ | ||
11881 | +#warning duplicate inclusion | 10966 | +#warning duplicate inclusion |
11882 | +#endif /* _VX_DEVICE_H */ | 10967 | +#endif /* _VSERVER_DEVICE_H */ |
11883 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/device_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/device_cmd.h | 10968 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/device_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/device_cmd.h |
11884 | --- linux-3.4.57/include/linux/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 10969 | --- linux-3.10.17/include/linux/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
11885 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/device_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 10970 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/device_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
11886 | @@ -0,0 +1,44 @@ | 10971 | @@ -0,0 +1,31 @@ |
11887 | +#ifndef _VX_DEVICE_CMD_H | 10972 | +#ifndef _VSERVER_DEVICE_CMD_H |
11888 | +#define _VX_DEVICE_CMD_H | 10973 | +#define _VSERVER_DEVICE_CMD_H |
11889 | + | ||
11890 | + | ||
11891 | +/* device vserver commands */ | ||
11892 | + | ||
11893 | +#define VCMD_set_mapping VC_CMD(DEVICE, 1, 0) | ||
11894 | +#define VCMD_unset_mapping VC_CMD(DEVICE, 2, 0) | ||
11895 | + | ||
11896 | +struct vcmd_set_mapping_v0 { | ||
11897 | + const char __user *device; | ||
11898 | + const char __user *target; | ||
11899 | + uint32_t flags; | ||
11900 | +}; | ||
11901 | + | 10974 | + |
10975 | +#include <uapi/vserver/device_cmd.h> | ||
11902 | + | 10976 | + |
11903 | +#ifdef __KERNEL__ | ||
11904 | + | 10977 | + |
11905 | +#ifdef CONFIG_COMPAT | 10978 | +#ifdef CONFIG_COMPAT |
11906 | + | 10979 | + |
@@ -11926,14 +10999,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/device_cmd.h linux-3.4. | |||
11926 | + | 10999 | + |
11927 | +#endif /* CONFIG_COMPAT */ | 11000 | +#endif /* CONFIG_COMPAT */ |
11928 | + | 11001 | + |
11929 | +#endif /* __KERNEL__ */ | 11002 | +#endif /* _VSERVER_DEVICE_CMD_H */ |
11930 | +#endif /* _VX_DEVICE_CMD_H */ | 11003 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/device_def.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/device_def.h |
11931 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/device_def.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/device_def.h | 11004 | --- linux-3.10.17/include/linux/vserver/device_def.h 1970-01-01 00:00:00.000000000 +0000 |
11932 | --- linux-3.4.57/include/linux/vserver/device_def.h 1970-01-01 00:00:00.000000000 +0000 | 11005 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/device_def.h 2013-08-22 20:30:00.000000000 +0000 |
11933 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/device_def.h 2012-05-21 16:15:05.000000000 +0000 | ||
11934 | @@ -0,0 +1,17 @@ | 11006 | @@ -0,0 +1,17 @@ |
11935 | +#ifndef _VX_DEVICE_DEF_H | 11007 | +#ifndef _VSERVER_DEVICE_DEF_H |
11936 | +#define _VX_DEVICE_DEF_H | 11008 | +#define _VSERVER_DEVICE_DEF_H |
11937 | + | 11009 | + |
11938 | +#include <linux/types.h> | 11010 | +#include <linux/types.h> |
11939 | + | 11011 | + |
@@ -11948,13 +11020,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/device_def.h linux-3.4. | |||
11948 | +#endif | 11020 | +#endif |
11949 | +}; | 11021 | +}; |
11950 | + | 11022 | + |
11951 | +#endif /* _VX_DEVICE_DEF_H */ | 11023 | +#endif /* _VSERVER_DEVICE_DEF_H */ |
11952 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/dlimit.h | 11024 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/dlimit.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/dlimit.h |
11953 | --- linux-3.4.57/include/linux/vserver/dlimit.h 1970-01-01 00:00:00.000000000 +0000 | 11025 | --- linux-3.10.17/include/linux/vserver/dlimit.h 1970-01-01 00:00:00.000000000 +0000 |
11954 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/dlimit.h 2012-05-21 16:15:05.000000000 +0000 | 11026 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/dlimit.h 2013-08-22 20:30:00.000000000 +0000 |
11955 | @@ -0,0 +1,54 @@ | 11027 | @@ -0,0 +1,54 @@ |
11956 | +#ifndef _VX_DLIMIT_H | 11028 | +#ifndef _VSERVER_DLIMIT_H |
11957 | +#define _VX_DLIMIT_H | 11029 | +#define _VSERVER_DLIMIT_H |
11958 | + | 11030 | + |
11959 | +#include "switch.h" | 11031 | +#include "switch.h" |
11960 | + | 11032 | + |
@@ -11973,7 +11045,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit.h linux-3.4.57-v | |||
11973 | +struct dl_info { | 11045 | +struct dl_info { |
11974 | + struct hlist_node dl_hlist; /* linked list of contexts */ | 11046 | + struct hlist_node dl_hlist; /* linked list of contexts */ |
11975 | + struct rcu_head dl_rcu; /* the rcu head */ | 11047 | + struct rcu_head dl_rcu; /* the rcu head */ |
11976 | + tag_t dl_tag; /* context tag */ | 11048 | + vtag_t dl_tag; /* context tag */ |
11977 | + atomic_t dl_usecnt; /* usage count */ | 11049 | + atomic_t dl_usecnt; /* usage count */ |
11978 | + atomic_t dl_refcnt; /* reference count */ | 11050 | + atomic_t dl_refcnt; /* reference count */ |
11979 | + | 11051 | + |
@@ -11994,7 +11066,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit.h linux-3.4.57-v | |||
11994 | +extern void rcu_free_dl_info(struct rcu_head *); | 11066 | +extern void rcu_free_dl_info(struct rcu_head *); |
11995 | +extern void unhash_dl_info(struct dl_info *); | 11067 | +extern void unhash_dl_info(struct dl_info *); |
11996 | + | 11068 | + |
11997 | +extern struct dl_info *locate_dl_info(struct super_block *, tag_t); | 11069 | +extern struct dl_info *locate_dl_info(struct super_block *, vtag_t); |
11998 | + | 11070 | + |
11999 | + | 11071 | + |
12000 | +struct kstatfs; | 11072 | +struct kstatfs; |
@@ -12004,80 +11076,18 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit.h linux-3.4.57-v | |||
12004 | +typedef uint64_t dlsize_t; | 11076 | +typedef uint64_t dlsize_t; |
12005 | + | 11077 | + |
12006 | +#endif /* __KERNEL__ */ | 11078 | +#endif /* __KERNEL__ */ |
12007 | +#else /* _VX_DLIMIT_H */ | 11079 | +#else /* _VSERVER_DLIMIT_H */ |
12008 | +#warning duplicate inclusion | 11080 | +#warning duplicate inclusion |
12009 | +#endif /* _VX_DLIMIT_H */ | 11081 | +#endif /* _VSERVER_DLIMIT_H */ |
12010 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/dlimit_cmd.h | 11082 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/dlimit_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/dlimit_cmd.h |
12011 | --- linux-3.4.57/include/linux/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 11083 | --- linux-3.10.17/include/linux/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
12012 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/dlimit_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 11084 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/dlimit_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
12013 | @@ -0,0 +1,109 @@ | 11085 | @@ -0,0 +1,46 @@ |
12014 | +#ifndef _VX_DLIMIT_CMD_H | 11086 | +#ifndef _VSERVER_DLIMIT_CMD_H |
12015 | +#define _VX_DLIMIT_CMD_H | 11087 | +#define _VSERVER_DLIMIT_CMD_H |
12016 | + | ||
12017 | + | ||
12018 | +/* dlimit vserver commands */ | ||
12019 | + | ||
12020 | +#define VCMD_add_dlimit VC_CMD(DLIMIT, 1, 0) | ||
12021 | +#define VCMD_rem_dlimit VC_CMD(DLIMIT, 2, 0) | ||
12022 | + | ||
12023 | +#define VCMD_set_dlimit VC_CMD(DLIMIT, 5, 0) | ||
12024 | +#define VCMD_get_dlimit VC_CMD(DLIMIT, 6, 0) | ||
12025 | + | ||
12026 | +struct vcmd_ctx_dlimit_base_v0 { | ||
12027 | + const char __user *name; | ||
12028 | + uint32_t flags; | ||
12029 | +}; | ||
12030 | + | ||
12031 | +struct vcmd_ctx_dlimit_v0 { | ||
12032 | + const char __user *name; | ||
12033 | + uint32_t space_used; /* used space in kbytes */ | ||
12034 | + uint32_t space_total; /* maximum space in kbytes */ | ||
12035 | + uint32_t inodes_used; /* used inodes */ | ||
12036 | + uint32_t inodes_total; /* maximum inodes */ | ||
12037 | + uint32_t reserved; /* reserved for root in % */ | ||
12038 | + uint32_t flags; | ||
12039 | +}; | ||
12040 | + | ||
12041 | +#define CDLIM_UNSET ((uint32_t)0UL) | ||
12042 | +#define CDLIM_INFINITY ((uint32_t)~0UL) | ||
12043 | +#define CDLIM_KEEP ((uint32_t)~1UL) | ||
12044 | + | ||
12045 | +#define DLIME_UNIT 0 | ||
12046 | +#define DLIME_KILO 1 | ||
12047 | +#define DLIME_MEGA 2 | ||
12048 | +#define DLIME_GIGA 3 | ||
12049 | + | 11088 | + |
12050 | +#define DLIMF_SHIFT 0x10 | 11089 | +#include <uapi/vserver/dlimit_cmd.h> |
12051 | + | ||
12052 | +#define DLIMS_USED 0 | ||
12053 | +#define DLIMS_TOTAL 2 | ||
12054 | + | ||
12055 | +static inline | ||
12056 | +uint64_t dlimit_space_32to64(uint32_t val, uint32_t flags, int shift) | ||
12057 | +{ | ||
12058 | + int exp = (flags & DLIMF_SHIFT) ? | ||
12059 | + (flags >> shift) & DLIME_GIGA : DLIME_KILO; | ||
12060 | + return ((uint64_t)val) << (10 * exp); | ||
12061 | +} | ||
12062 | + | 11090 | + |
12063 | +static inline | ||
12064 | +uint32_t dlimit_space_64to32(uint64_t val, uint32_t *flags, int shift) | ||
12065 | +{ | ||
12066 | + int exp = 0; | ||
12067 | + | ||
12068 | + if (*flags & DLIMF_SHIFT) { | ||
12069 | + while (val > (1LL << 32) && (exp < 3)) { | ||
12070 | + val >>= 10; | ||
12071 | + exp++; | ||
12072 | + } | ||
12073 | + *flags &= ~(DLIME_GIGA << shift); | ||
12074 | + *flags |= exp << shift; | ||
12075 | + } else | ||
12076 | + val >>= 10; | ||
12077 | + return val; | ||
12078 | +} | ||
12079 | + | ||
12080 | +#ifdef __KERNEL__ | ||
12081 | + | 11091 | + |
12082 | +#ifdef CONFIG_COMPAT | 11092 | +#ifdef CONFIG_COMPAT |
12083 | + | 11093 | + |
@@ -12118,14 +11128,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/dlimit_cmd.h linux-3.4. | |||
12118 | + | 11128 | + |
12119 | +#endif /* CONFIG_COMPAT */ | 11129 | +#endif /* CONFIG_COMPAT */ |
12120 | + | 11130 | + |
12121 | +#endif /* __KERNEL__ */ | 11131 | +#endif /* _VSERVER_DLIMIT_CMD_H */ |
12122 | +#endif /* _VX_DLIMIT_CMD_H */ | 11132 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/global.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/global.h |
12123 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/global.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/global.h | 11133 | --- linux-3.10.17/include/linux/vserver/global.h 1970-01-01 00:00:00.000000000 +0000 |
12124 | --- linux-3.4.57/include/linux/vserver/global.h 1970-01-01 00:00:00.000000000 +0000 | 11134 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/global.h 2013-08-22 20:30:00.000000000 +0000 |
12125 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/global.h 2012-05-21 16:15:05.000000000 +0000 | ||
12126 | @@ -0,0 +1,19 @@ | 11135 | @@ -0,0 +1,19 @@ |
12127 | +#ifndef _VX_GLOBAL_H | 11136 | +#ifndef _VSERVER_GLOBAL_H |
12128 | +#define _VX_GLOBAL_H | 11137 | +#define _VSERVER_GLOBAL_H |
12129 | + | 11138 | + |
12130 | + | 11139 | + |
12131 | +extern atomic_t vx_global_ctotal; | 11140 | +extern atomic_t vx_global_ctotal; |
@@ -12142,13 +11151,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/global.h linux-3.4.57-v | |||
12142 | +extern atomic_t vs_global_pid_ns; | 11151 | +extern atomic_t vs_global_pid_ns; |
12143 | + | 11152 | + |
12144 | + | 11153 | + |
12145 | +#endif /* _VX_GLOBAL_H */ | 11154 | +#endif /* _VSERVER_GLOBAL_H */ |
12146 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/history.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/history.h | 11155 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/history.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/history.h |
12147 | --- linux-3.4.57/include/linux/vserver/history.h 1970-01-01 00:00:00.000000000 +0000 | 11156 | --- linux-3.10.17/include/linux/vserver/history.h 1970-01-01 00:00:00.000000000 +0000 |
12148 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/history.h 2012-05-21 16:15:05.000000000 +0000 | 11157 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/history.h 2013-08-22 20:30:00.000000000 +0000 |
12149 | @@ -0,0 +1,197 @@ | 11158 | @@ -0,0 +1,197 @@ |
12150 | +#ifndef _VX_HISTORY_H | 11159 | +#ifndef _VSERVER_HISTORY_H |
12151 | +#define _VX_HISTORY_H | 11160 | +#define _VSERVER_HISTORY_H |
12152 | + | 11161 | + |
12153 | + | 11162 | + |
12154 | +enum { | 11163 | +enum { |
@@ -12343,28 +11352,15 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/history.h linux-3.4.57- | |||
12343 | + | 11352 | + |
12344 | +#endif /* CONFIG_VSERVER_HISTORY */ | 11353 | +#endif /* CONFIG_VSERVER_HISTORY */ |
12345 | + | 11354 | + |
12346 | +#endif /* _VX_HISTORY_H */ | 11355 | +#endif /* _VSERVER_HISTORY_H */ |
12347 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/inode.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/inode.h | 11356 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/inode.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/inode.h |
12348 | --- linux-3.4.57/include/linux/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000 | 11357 | --- linux-3.10.17/include/linux/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000 |
12349 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/inode.h 2012-05-21 16:15:05.000000000 +0000 | 11358 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/inode.h 2013-08-22 20:30:00.000000000 +0000 |
12350 | @@ -0,0 +1,39 @@ | 11359 | @@ -0,0 +1,19 @@ |
12351 | +#ifndef _VX_INODE_H | 11360 | +#ifndef _VSERVER_INODE_H |
12352 | +#define _VX_INODE_H | 11361 | +#define _VSERVER_INODE_H |
12353 | + | ||
12354 | + | ||
12355 | +#define IATTR_TAG 0x01000000 | ||
12356 | + | ||
12357 | +#define IATTR_ADMIN 0x00000001 | ||
12358 | +#define IATTR_WATCH 0x00000002 | ||
12359 | +#define IATTR_HIDE 0x00000004 | ||
12360 | +#define IATTR_FLAGS 0x00000007 | ||
12361 | + | ||
12362 | +#define IATTR_BARRIER 0x00010000 | ||
12363 | +#define IATTR_IXUNLINK 0x00020000 | ||
12364 | +#define IATTR_IMMUTABLE 0x00040000 | ||
12365 | +#define IATTR_COW 0x00080000 | ||
12366 | + | 11362 | + |
12367 | +#ifdef __KERNEL__ | 11363 | +#include <uapi/vserver/inode.h> |
12368 | + | 11364 | + |
12369 | + | 11365 | + |
12370 | +#ifdef CONFIG_VSERVER_PROC_SECURE | 11366 | +#ifdef CONFIG_VSERVER_PROC_SECURE |
@@ -12377,47 +11373,18 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/inode.h linux-3.4.57-vs | |||
12377 | + | 11373 | + |
12378 | +#define vx_hide_check(c, m) (((m) & IATTR_HIDE) ? vx_check(c, m) : 1) | 11374 | +#define vx_hide_check(c, m) (((m) & IATTR_HIDE) ? vx_check(c, m) : 1) |
12379 | + | 11375 | + |
12380 | +#endif /* __KERNEL__ */ | 11376 | +#else /* _VSERVER_INODE_H */ |
12381 | + | ||
12382 | +/* inode ioctls */ | ||
12383 | + | ||
12384 | +#define FIOC_GETXFLG _IOR('x', 5, long) | ||
12385 | +#define FIOC_SETXFLG _IOW('x', 6, long) | ||
12386 | + | ||
12387 | +#else /* _VX_INODE_H */ | ||
12388 | +#warning duplicate inclusion | 11377 | +#warning duplicate inclusion |
12389 | +#endif /* _VX_INODE_H */ | 11378 | +#endif /* _VSERVER_INODE_H */ |
12390 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/inode_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/inode_cmd.h | 11379 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/inode_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/inode_cmd.h |
12391 | --- linux-3.4.57/include/linux/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 11380 | --- linux-3.10.17/include/linux/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
12392 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/inode_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 11381 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/inode_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
12393 | @@ -0,0 +1,59 @@ | 11382 | @@ -0,0 +1,36 @@ |
12394 | +#ifndef _VX_INODE_CMD_H | 11383 | +#ifndef _VSERVER_INODE_CMD_H |
12395 | +#define _VX_INODE_CMD_H | 11384 | +#define _VSERVER_INODE_CMD_H |
12396 | + | ||
12397 | + | ||
12398 | +/* inode vserver commands */ | ||
12399 | + | ||
12400 | +#define VCMD_get_iattr VC_CMD(INODE, 1, 1) | ||
12401 | +#define VCMD_set_iattr VC_CMD(INODE, 2, 1) | ||
12402 | + | ||
12403 | +#define VCMD_fget_iattr VC_CMD(INODE, 3, 0) | ||
12404 | +#define VCMD_fset_iattr VC_CMD(INODE, 4, 0) | ||
12405 | + | ||
12406 | +struct vcmd_ctx_iattr_v1 { | ||
12407 | + const char __user *name; | ||
12408 | + uint32_t tag; | ||
12409 | + uint32_t flags; | ||
12410 | + uint32_t mask; | ||
12411 | +}; | ||
12412 | + | ||
12413 | +struct vcmd_ctx_fiattr_v0 { | ||
12414 | + uint32_t tag; | ||
12415 | + uint32_t flags; | ||
12416 | + uint32_t mask; | ||
12417 | +}; | ||
12418 | + | 11385 | + |
11386 | +#include <uapi/vserver/inode_cmd.h> | ||
12419 | + | 11387 | + |
12420 | +#ifdef __KERNEL__ | ||
12421 | + | 11388 | + |
12422 | + | 11389 | + |
12423 | +#ifdef CONFIG_COMPAT | 11390 | +#ifdef CONFIG_COMPAT |
@@ -12448,27 +11415,17 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/inode_cmd.h linux-3.4.5 | |||
12448 | + | 11415 | + |
12449 | +#endif /* CONFIG_COMPAT */ | 11416 | +#endif /* CONFIG_COMPAT */ |
12450 | + | 11417 | + |
12451 | +#endif /* __KERNEL__ */ | 11418 | +#endif /* _VSERVER_INODE_CMD_H */ |
12452 | +#endif /* _VX_INODE_CMD_H */ | 11419 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/limit.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit.h |
12453 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit.h | 11420 | --- linux-3.10.17/include/linux/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000 |
12454 | --- linux-3.4.57/include/linux/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000 | 11421 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit.h 2013-08-22 20:30:00.000000000 +0000 |
12455 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit.h 2012-05-21 16:15:05.000000000 +0000 | 11422 | @@ -0,0 +1,61 @@ |
12456 | @@ -0,0 +1,71 @@ | 11423 | +#ifndef _VSERVER_LIMIT_H |
12457 | +#ifndef _VX_LIMIT_H | 11424 | +#define _VSERVER_LIMIT_H |
12458 | +#define _VX_LIMIT_H | ||
12459 | + | 11425 | + |
12460 | +#define VLIMIT_NSOCK 16 | 11426 | +#include <uapi/vserver/limit.h> |
12461 | +#define VLIMIT_OPENFD 17 | ||
12462 | +#define VLIMIT_ANON 18 | ||
12463 | +#define VLIMIT_SHMEM 19 | ||
12464 | +#define VLIMIT_SEMARY 20 | ||
12465 | +#define VLIMIT_NSEMS 21 | ||
12466 | +#define VLIMIT_DENTRY 22 | ||
12467 | +#define VLIMIT_MAPPED 23 | ||
12468 | + | 11427 | + |
12469 | + | 11428 | + |
12470 | +#ifdef __KERNEL__ | ||
12471 | + | ||
12472 | +#define VLIM_NOCHECK ((1L << VLIMIT_DENTRY) | (1L << RLIMIT_RSS)) | 11429 | +#define VLIM_NOCHECK ((1L << VLIMIT_DENTRY) | (1L << RLIMIT_RSS)) |
12473 | + | 11430 | + |
12474 | +/* keep in sync with CRLIM_INFINITY */ | 11431 | +/* keep in sync with CRLIM_INFINITY */ |
@@ -12523,52 +11480,16 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit.h linux-3.4.57-vs | |||
12523 | + | 11480 | + |
12524 | +#define NUM_LIMITS 24 | 11481 | +#define NUM_LIMITS 24 |
12525 | + | 11482 | + |
12526 | +#endif /* __KERNEL__ */ | 11483 | +#endif /* _VSERVER_LIMIT_H */ |
12527 | +#endif /* _VX_LIMIT_H */ | 11484 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/limit_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_cmd.h |
12528 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_cmd.h | 11485 | --- linux-3.10.17/include/linux/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
12529 | --- linux-3.4.57/include/linux/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 11486 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
12530 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 11487 | @@ -0,0 +1,35 @@ |
12531 | @@ -0,0 +1,71 @@ | 11488 | +#ifndef _VSERVER_LIMIT_CMD_H |
12532 | +#ifndef _VX_LIMIT_CMD_H | 11489 | +#define _VSERVER_LIMIT_CMD_H |
12533 | +#define _VX_LIMIT_CMD_H | ||
12534 | + | 11490 | + |
11491 | +#include <uapi/vserver/limit_cmd.h> | ||
12535 | + | 11492 | + |
12536 | +/* rlimit vserver commands */ | ||
12537 | + | ||
12538 | +#define VCMD_get_rlimit VC_CMD(RLIMIT, 1, 0) | ||
12539 | +#define VCMD_set_rlimit VC_CMD(RLIMIT, 2, 0) | ||
12540 | +#define VCMD_get_rlimit_mask VC_CMD(RLIMIT, 3, 0) | ||
12541 | +#define VCMD_reset_hits VC_CMD(RLIMIT, 7, 0) | ||
12542 | +#define VCMD_reset_minmax VC_CMD(RLIMIT, 9, 0) | ||
12543 | + | ||
12544 | +struct vcmd_ctx_rlimit_v0 { | ||
12545 | + uint32_t id; | ||
12546 | + uint64_t minimum; | ||
12547 | + uint64_t softlimit; | ||
12548 | + uint64_t maximum; | ||
12549 | +}; | ||
12550 | + | ||
12551 | +struct vcmd_ctx_rlimit_mask_v0 { | ||
12552 | + uint32_t minimum; | ||
12553 | + uint32_t softlimit; | ||
12554 | + uint32_t maximum; | ||
12555 | +}; | ||
12556 | + | ||
12557 | +#define VCMD_rlimit_stat VC_CMD(VSTAT, 1, 0) | ||
12558 | + | ||
12559 | +struct vcmd_rlimit_stat_v0 { | ||
12560 | + uint32_t id; | ||
12561 | + uint32_t hits; | ||
12562 | + uint64_t value; | ||
12563 | + uint64_t minimum; | ||
12564 | + uint64_t maximum; | ||
12565 | +}; | ||
12566 | + | ||
12567 | +#define CRLIM_UNSET (0ULL) | ||
12568 | +#define CRLIM_INFINITY (~0ULL) | ||
12569 | +#define CRLIM_KEEP (~1ULL) | ||
12570 | + | ||
12571 | +#ifdef __KERNEL__ | ||
12572 | + | 11493 | + |
12573 | +#ifdef CONFIG_IA32_EMULATION | 11494 | +#ifdef CONFIG_IA32_EMULATION |
12574 | + | 11495 | + |
@@ -12598,14 +11519,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_cmd.h linux-3.4.5 | |||
12598 | + | 11519 | + |
12599 | +#endif /* CONFIG_IA32_EMULATION */ | 11520 | +#endif /* CONFIG_IA32_EMULATION */ |
12600 | + | 11521 | + |
12601 | +#endif /* __KERNEL__ */ | 11522 | +#endif /* _VSERVER_LIMIT_CMD_H */ |
12602 | +#endif /* _VX_LIMIT_CMD_H */ | 11523 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/limit_def.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_def.h |
12603 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_def.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_def.h | 11524 | --- linux-3.10.17/include/linux/vserver/limit_def.h 1970-01-01 00:00:00.000000000 +0000 |
12604 | --- linux-3.4.57/include/linux/vserver/limit_def.h 1970-01-01 00:00:00.000000000 +0000 | 11525 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_def.h 2013-08-22 20:30:00.000000000 +0000 |
12605 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_def.h 2012-05-21 16:15:05.000000000 +0000 | ||
12606 | @@ -0,0 +1,47 @@ | 11526 | @@ -0,0 +1,47 @@ |
12607 | +#ifndef _VX_LIMIT_DEF_H | 11527 | +#ifndef _VSERVER_LIMIT_DEF_H |
12608 | +#define _VX_LIMIT_DEF_H | 11528 | +#define _VSERVER_LIMIT_DEF_H |
12609 | + | 11529 | + |
12610 | +#include <asm/atomic.h> | 11530 | +#include <asm/atomic.h> |
12611 | +#include <asm/resource.h> | 11531 | +#include <asm/resource.h> |
@@ -12650,17 +11570,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_def.h linux-3.4.5 | |||
12650 | + | 11570 | + |
12651 | +#endif | 11571 | +#endif |
12652 | + | 11572 | + |
12653 | +#endif /* _VX_LIMIT_DEF_H */ | 11573 | +#endif /* _VSERVER_LIMIT_DEF_H */ |
12654 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_int.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_int.h | 11574 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/limit_int.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_int.h |
12655 | --- linux-3.4.57/include/linux/vserver/limit_int.h 1970-01-01 00:00:00.000000000 +0000 | 11575 | --- linux-3.10.17/include/linux/vserver/limit_int.h 1970-01-01 00:00:00.000000000 +0000 |
12656 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/limit_int.h 2012-05-21 16:15:05.000000000 +0000 | 11576 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/limit_int.h 2013-08-22 20:30:00.000000000 +0000 |
12657 | @@ -0,0 +1,198 @@ | 11577 | @@ -0,0 +1,193 @@ |
12658 | +#ifndef _VX_LIMIT_INT_H | 11578 | +#ifndef _VSERVER_LIMIT_INT_H |
12659 | +#define _VX_LIMIT_INT_H | 11579 | +#define _VSERVER_LIMIT_INT_H |
12660 | + | ||
12661 | +#include "context.h" | ||
12662 | + | ||
12663 | +#ifdef __KERNEL__ | ||
12664 | + | 11580 | + |
12665 | +#define VXD_RCRES_COND(r) VXD_CBIT(cres, r) | 11581 | +#define VXD_RCRES_COND(r) VXD_CBIT(cres, r) |
12666 | +#define VXD_RLIMIT_COND(r) VXD_CBIT(limit, r) | 11582 | +#define VXD_RLIMIT_COND(r) VXD_CBIT(limit, r) |
@@ -12851,188 +11767,24 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/limit_int.h linux-3.4.5 | |||
12851 | +} | 11767 | +} |
12852 | + | 11768 | + |
12853 | + | 11769 | + |
12854 | +#endif /* __KERNEL__ */ | 11770 | +#endif /* _VSERVER_LIMIT_INT_H */ |
12855 | +#endif /* _VX_LIMIT_INT_H */ | 11771 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/monitor.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/monitor.h |
12856 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/monitor.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/monitor.h | 11772 | --- linux-3.10.17/include/linux/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000 |
12857 | --- linux-3.4.57/include/linux/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000 | 11773 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/monitor.h 2013-08-22 20:30:00.000000000 +0000 |
12858 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/monitor.h 2012-05-21 16:15:05.000000000 +0000 | 11774 | @@ -0,0 +1,6 @@ |
12859 | @@ -0,0 +1,96 @@ | 11775 | +#ifndef _VSERVER_MONITOR_H |
12860 | +#ifndef _VX_MONITOR_H | 11776 | +#define _VSERVER_MONITOR_H |
12861 | +#define _VX_MONITOR_H | ||
12862 | + | ||
12863 | +#include <linux/types.h> | ||
12864 | + | ||
12865 | +enum { | ||
12866 | + VXM_UNUSED = 0, | ||
12867 | + | ||
12868 | + VXM_SYNC = 0x10, | ||
12869 | + | ||
12870 | + VXM_UPDATE = 0x20, | ||
12871 | + VXM_UPDATE_1, | ||
12872 | + VXM_UPDATE_2, | ||
12873 | + | ||
12874 | + VXM_RQINFO_1 = 0x24, | ||
12875 | + VXM_RQINFO_2, | ||
12876 | + | ||
12877 | + VXM_ACTIVATE = 0x40, | ||
12878 | + VXM_DEACTIVATE, | ||
12879 | + VXM_IDLE, | ||
12880 | + | ||
12881 | + VXM_HOLD = 0x44, | ||
12882 | + VXM_UNHOLD, | ||
12883 | + | ||
12884 | + VXM_MIGRATE = 0x48, | ||
12885 | + VXM_RESCHED, | ||
12886 | + | ||
12887 | + /* all other bits are flags */ | ||
12888 | + VXM_SCHED = 0x80, | ||
12889 | +}; | ||
12890 | + | ||
12891 | +struct _vxm_update_1 { | ||
12892 | + uint32_t tokens_max; | ||
12893 | + uint32_t fill_rate; | ||
12894 | + uint32_t interval; | ||
12895 | +}; | ||
12896 | + | ||
12897 | +struct _vxm_update_2 { | ||
12898 | + uint32_t tokens_min; | ||
12899 | + uint32_t fill_rate; | ||
12900 | + uint32_t interval; | ||
12901 | +}; | ||
12902 | + | ||
12903 | +struct _vxm_rqinfo_1 { | ||
12904 | + uint16_t running; | ||
12905 | + uint16_t onhold; | ||
12906 | + uint16_t iowait; | ||
12907 | + uint16_t uintr; | ||
12908 | + uint32_t idle_tokens; | ||
12909 | +}; | ||
12910 | + | ||
12911 | +struct _vxm_rqinfo_2 { | ||
12912 | + uint32_t norm_time; | ||
12913 | + uint32_t idle_time; | ||
12914 | + uint32_t idle_skip; | ||
12915 | +}; | ||
12916 | + | ||
12917 | +struct _vxm_sched { | ||
12918 | + uint32_t tokens; | ||
12919 | + uint32_t norm_time; | ||
12920 | + uint32_t idle_time; | ||
12921 | +}; | ||
12922 | + | 11777 | + |
12923 | +struct _vxm_task { | 11778 | +#include <uapi/vserver/monitor.h> |
12924 | + uint16_t pid; | ||
12925 | + uint16_t state; | ||
12926 | +}; | ||
12927 | + | 11779 | + |
12928 | +struct _vxm_event { | 11780 | +#endif /* _VSERVER_MONITOR_H */ |
12929 | + uint32_t jif; | 11781 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/network.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/network.h |
12930 | + union { | 11782 | --- linux-3.10.17/include/linux/vserver/network.h 1970-01-01 00:00:00.000000000 +0000 |
12931 | + uint32_t seq; | 11783 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/network.h 2013-08-22 20:30:00.000000000 +0000 |
12932 | + uint32_t sec; | 11784 | @@ -0,0 +1,76 @@ |
12933 | + }; | 11785 | +#ifndef _VSERVER_NETWORK_H |
12934 | + union { | 11786 | +#define _VSERVER_NETWORK_H |
12935 | + uint32_t tokens; | ||
12936 | + uint32_t nsec; | ||
12937 | + struct _vxm_task tsk; | ||
12938 | + }; | ||
12939 | +}; | ||
12940 | + | ||
12941 | +struct _vx_mon_entry { | ||
12942 | + uint16_t type; | ||
12943 | + uint16_t xid; | ||
12944 | + union { | ||
12945 | + struct _vxm_event ev; | ||
12946 | + struct _vxm_sched sd; | ||
12947 | + struct _vxm_update_1 u1; | ||
12948 | + struct _vxm_update_2 u2; | ||
12949 | + struct _vxm_rqinfo_1 q1; | ||
12950 | + struct _vxm_rqinfo_2 q2; | ||
12951 | + }; | ||
12952 | +}; | ||
12953 | + | ||
12954 | + | ||
12955 | +#endif /* _VX_MONITOR_H */ | ||
12956 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/network.h | ||
12957 | --- linux-3.4.57/include/linux/vserver/network.h 1970-01-01 00:00:00.000000000 +0000 | ||
12958 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/network.h 2012-05-21 16:15:05.000000000 +0000 | ||
12959 | @@ -0,0 +1,148 @@ | ||
12960 | +#ifndef _VX_NETWORK_H | ||
12961 | +#define _VX_NETWORK_H | ||
12962 | + | ||
12963 | +#include <linux/types.h> | ||
12964 | + | ||
12965 | + | ||
12966 | +#define MAX_N_CONTEXT 65535 /* Arbitrary limit */ | ||
12967 | + | ||
12968 | + | ||
12969 | +/* network flags */ | ||
12970 | + | ||
12971 | +#define NXF_INFO_PRIVATE 0x00000008 | ||
12972 | + | ||
12973 | +#define NXF_SINGLE_IP 0x00000100 | ||
12974 | +#define NXF_LBACK_REMAP 0x00000200 | ||
12975 | +#define NXF_LBACK_ALLOW 0x00000400 | ||
12976 | + | ||
12977 | +#define NXF_HIDE_NETIF 0x02000000 | ||
12978 | +#define NXF_HIDE_LBACK 0x04000000 | ||
12979 | + | ||
12980 | +#define NXF_STATE_SETUP (1ULL << 32) | ||
12981 | +#define NXF_STATE_ADMIN (1ULL << 34) | ||
12982 | + | ||
12983 | +#define NXF_SC_HELPER (1ULL << 36) | ||
12984 | +#define NXF_PERSISTENT (1ULL << 38) | ||
12985 | + | ||
12986 | +#define NXF_ONE_TIME (0x0005ULL << 32) | ||
12987 | + | ||
12988 | + | ||
12989 | +#define NXF_INIT_SET (__nxf_init_set()) | ||
12990 | + | ||
12991 | +static inline uint64_t __nxf_init_set(void) { | ||
12992 | + return NXF_STATE_ADMIN | ||
12993 | +#ifdef CONFIG_VSERVER_AUTO_LBACK | ||
12994 | + | NXF_LBACK_REMAP | ||
12995 | + | NXF_HIDE_LBACK | ||
12996 | +#endif | ||
12997 | +#ifdef CONFIG_VSERVER_AUTO_SINGLE | ||
12998 | + | NXF_SINGLE_IP | ||
12999 | +#endif | ||
13000 | + | NXF_HIDE_NETIF; | ||
13001 | +} | ||
13002 | + | ||
13003 | + | ||
13004 | +/* network caps */ | ||
13005 | + | ||
13006 | +#define NXC_TUN_CREATE 0x00000001 | ||
13007 | + | ||
13008 | +#define NXC_RAW_ICMP 0x00000100 | ||
13009 | + | ||
13010 | +#define NXC_MULTICAST 0x00001000 | ||
13011 | + | ||
13012 | + | ||
13013 | +/* address types */ | ||
13014 | + | ||
13015 | +#define NXA_TYPE_IPV4 0x0001 | ||
13016 | +#define NXA_TYPE_IPV6 0x0002 | ||
13017 | + | ||
13018 | +#define NXA_TYPE_NONE 0x0000 | ||
13019 | +#define NXA_TYPE_ANY 0x00FF | ||
13020 | + | ||
13021 | +#define NXA_TYPE_ADDR 0x0010 | ||
13022 | +#define NXA_TYPE_MASK 0x0020 | ||
13023 | +#define NXA_TYPE_RANGE 0x0040 | ||
13024 | + | ||
13025 | +#define NXA_MASK_ALL (NXA_TYPE_ADDR | NXA_TYPE_MASK | NXA_TYPE_RANGE) | ||
13026 | + | ||
13027 | +#define NXA_MOD_BCAST 0x0100 | ||
13028 | +#define NXA_MOD_LBACK 0x0200 | ||
13029 | + | ||
13030 | +#define NXA_LOOPBACK 0x1000 | ||
13031 | + | ||
13032 | +#define NXA_MASK_BIND (NXA_MASK_ALL | NXA_MOD_BCAST | NXA_MOD_LBACK) | ||
13033 | +#define NXA_MASK_SHOW (NXA_MASK_ALL | NXA_LOOPBACK) | ||
13034 | + | 11787 | + |
13035 | +#ifdef __KERNEL__ | ||
13036 | + | 11788 | + |
13037 | +#include <linux/list.h> | 11789 | +#include <linux/list.h> |
13038 | +#include <linux/spinlock.h> | 11790 | +#include <linux/spinlock.h> |
@@ -13040,6 +11792,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57- | |||
13040 | +#include <linux/in.h> | 11792 | +#include <linux/in.h> |
13041 | +#include <linux/in6.h> | 11793 | +#include <linux/in6.h> |
13042 | +#include <asm/atomic.h> | 11794 | +#include <asm/atomic.h> |
11795 | +#include <uapi/vserver/network.h> | ||
13043 | + | 11796 | + |
13044 | +struct nx_addr_v4 { | 11797 | +struct nx_addr_v4 { |
13045 | + struct nx_addr_v4 *next; | 11798 | + struct nx_addr_v4 *next; |
@@ -13060,7 +11813,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57- | |||
13060 | + | 11813 | + |
13061 | +struct nx_info { | 11814 | +struct nx_info { |
13062 | + struct hlist_node nx_hlist; /* linked list of nxinfos */ | 11815 | + struct hlist_node nx_hlist; /* linked list of nxinfos */ |
13063 | + nid_t nx_id; /* vnet id */ | 11816 | + vnid_t nx_id; /* vnet id */ |
13064 | + atomic_t nx_usecnt; /* usage count */ | 11817 | + atomic_t nx_usecnt; /* usage count */ |
13065 | + atomic_t nx_tasks; /* tasks count */ | 11818 | + atomic_t nx_tasks; /* tasks count */ |
13066 | + int nx_state; /* context state */ | 11819 | + int nx_state; /* context state */ |
@@ -13068,6 +11821,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57- | |||
13068 | + uint64_t nx_flags; /* network flag word */ | 11821 | + uint64_t nx_flags; /* network flag word */ |
13069 | + uint64_t nx_ncaps; /* network capabilities */ | 11822 | + uint64_t nx_ncaps; /* network capabilities */ |
13070 | + | 11823 | + |
11824 | + spinlock_t addr_lock; /* protect address changes */ | ||
13071 | + struct in_addr v4_lback; /* Loopback address */ | 11825 | + struct in_addr v4_lback; /* Loopback address */ |
13072 | + struct in_addr v4_bcast; /* Broadcast address */ | 11826 | + struct in_addr v4_bcast; /* Broadcast address */ |
13073 | + struct nx_addr_v4 v4; /* First/Single ipv4 address */ | 11827 | + struct nx_addr_v4 v4; /* First/Single ipv4 address */ |
@@ -13087,7 +11841,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57- | |||
13087 | +extern struct nx_info *lookup_nx_info(int); | 11841 | +extern struct nx_info *lookup_nx_info(int); |
13088 | + | 11842 | + |
13089 | +extern int get_nid_list(int, unsigned int *, int); | 11843 | +extern int get_nid_list(int, unsigned int *, int); |
13090 | +extern int nid_is_hashed(nid_t); | 11844 | +extern int nid_is_hashed(vnid_t); |
13091 | + | 11845 | + |
13092 | +extern int nx_migrate_task(struct task_struct *, struct nx_info *); | 11846 | +extern int nx_migrate_task(struct task_struct *, struct nx_info *); |
13093 | + | 11847 | + |
@@ -13103,119 +11857,20 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network.h linux-3.4.57- | |||
13103 | +#define NX_IPV6(n) (0) | 11857 | +#define NX_IPV6(n) (0) |
13104 | +#endif | 11858 | +#endif |
13105 | + | 11859 | + |
13106 | +#endif /* __KERNEL__ */ | 11860 | +#endif /* _VSERVER_NETWORK_H */ |
13107 | +#endif /* _VX_NETWORK_H */ | 11861 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/network_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/network_cmd.h |
13108 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/network_cmd.h | 11862 | --- linux-3.10.17/include/linux/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
13109 | --- linux-3.4.57/include/linux/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 11863 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/network_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
13110 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/network_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 11864 | @@ -0,0 +1,37 @@ |
13111 | @@ -0,0 +1,164 @@ | 11865 | +#ifndef _VSERVER_NETWORK_CMD_H |
13112 | +#ifndef _VX_NETWORK_CMD_H | 11866 | +#define _VSERVER_NETWORK_CMD_H |
13113 | +#define _VX_NETWORK_CMD_H | ||
13114 | + | ||
13115 | + | 11867 | + |
13116 | +/* vinfo commands */ | 11868 | +#include <uapi/vserver/network_cmd.h> |
13117 | + | 11869 | + |
13118 | +#define VCMD_task_nid VC_CMD(VINFO, 2, 0) | ||
13119 | + | ||
13120 | +#ifdef __KERNEL__ | ||
13121 | +extern int vc_task_nid(uint32_t); | 11870 | +extern int vc_task_nid(uint32_t); |
13122 | + | 11871 | + |
13123 | +#endif /* __KERNEL__ */ | ||
13124 | + | ||
13125 | +#define VCMD_nx_info VC_CMD(VINFO, 6, 0) | ||
13126 | + | ||
13127 | +struct vcmd_nx_info_v0 { | ||
13128 | + uint32_t nid; | ||
13129 | + /* more to come */ | ||
13130 | +}; | ||
13131 | + | ||
13132 | +#ifdef __KERNEL__ | ||
13133 | +extern int vc_nx_info(struct nx_info *, void __user *); | 11872 | +extern int vc_nx_info(struct nx_info *, void __user *); |
13134 | + | 11873 | + |
13135 | +#endif /* __KERNEL__ */ | ||
13136 | + | ||
13137 | +#include <linux/in.h> | ||
13138 | +#include <linux/in6.h> | ||
13139 | + | ||
13140 | +#define VCMD_net_create_v0 VC_CMD(VNET, 1, 0) | ||
13141 | +#define VCMD_net_create VC_CMD(VNET, 1, 1) | ||
13142 | + | ||
13143 | +struct vcmd_net_create { | ||
13144 | + uint64_t flagword; | ||
13145 | +}; | ||
13146 | + | ||
13147 | +#define VCMD_net_migrate VC_CMD(NETMIG, 1, 0) | ||
13148 | + | ||
13149 | +#define VCMD_net_add VC_CMD(NETALT, 1, 0) | ||
13150 | +#define VCMD_net_remove VC_CMD(NETALT, 2, 0) | ||
13151 | + | ||
13152 | +struct vcmd_net_addr_v0 { | ||
13153 | + uint16_t type; | ||
13154 | + uint16_t count; | ||
13155 | + struct in_addr ip[4]; | ||
13156 | + struct in_addr mask[4]; | ||
13157 | +}; | ||
13158 | + | ||
13159 | +#define VCMD_net_add_ipv4_v1 VC_CMD(NETALT, 1, 1) | ||
13160 | +#define VCMD_net_rem_ipv4_v1 VC_CMD(NETALT, 2, 1) | ||
13161 | + | ||
13162 | +struct vcmd_net_addr_ipv4_v1 { | ||
13163 | + uint16_t type; | ||
13164 | + uint16_t flags; | ||
13165 | + struct in_addr ip; | ||
13166 | + struct in_addr mask; | ||
13167 | +}; | ||
13168 | + | ||
13169 | +#define VCMD_net_add_ipv4 VC_CMD(NETALT, 1, 2) | ||
13170 | +#define VCMD_net_rem_ipv4 VC_CMD(NETALT, 2, 2) | ||
13171 | + | ||
13172 | +struct vcmd_net_addr_ipv4_v2 { | ||
13173 | + uint16_t type; | ||
13174 | + uint16_t flags; | ||
13175 | + struct in_addr ip; | ||
13176 | + struct in_addr ip2; | ||
13177 | + struct in_addr mask; | ||
13178 | +}; | ||
13179 | + | ||
13180 | +#define VCMD_net_add_ipv6 VC_CMD(NETALT, 3, 1) | ||
13181 | +#define VCMD_net_remove_ipv6 VC_CMD(NETALT, 4, 1) | ||
13182 | + | ||
13183 | +struct vcmd_net_addr_ipv6_v1 { | ||
13184 | + uint16_t type; | ||
13185 | + uint16_t flags; | ||
13186 | + uint32_t prefix; | ||
13187 | + struct in6_addr ip; | ||
13188 | + struct in6_addr mask; | ||
13189 | +}; | ||
13190 | + | ||
13191 | +#define VCMD_add_match_ipv4 VC_CMD(NETALT, 5, 0) | ||
13192 | +#define VCMD_get_match_ipv4 VC_CMD(NETALT, 6, 0) | ||
13193 | + | ||
13194 | +struct vcmd_match_ipv4_v0 { | ||
13195 | + uint16_t type; | ||
13196 | + uint16_t flags; | ||
13197 | + uint16_t parent; | ||
13198 | + uint16_t prefix; | ||
13199 | + struct in_addr ip; | ||
13200 | + struct in_addr ip2; | ||
13201 | + struct in_addr mask; | ||
13202 | +}; | ||
13203 | + | ||
13204 | +#define VCMD_add_match_ipv6 VC_CMD(NETALT, 7, 0) | ||
13205 | +#define VCMD_get_match_ipv6 VC_CMD(NETALT, 8, 0) | ||
13206 | + | ||
13207 | +struct vcmd_match_ipv6_v0 { | ||
13208 | + uint16_t type; | ||
13209 | + uint16_t flags; | ||
13210 | + uint16_t parent; | ||
13211 | + uint16_t prefix; | ||
13212 | + struct in6_addr ip; | ||
13213 | + struct in6_addr ip2; | ||
13214 | + struct in6_addr mask; | ||
13215 | +}; | ||
13216 | + | ||
13217 | + | ||
13218 | +#ifdef __KERNEL__ | ||
13219 | +extern int vc_net_create(uint32_t, void __user *); | 11874 | +extern int vc_net_create(uint32_t, void __user *); |
13220 | +extern int vc_net_migrate(struct nx_info *, void __user *); | 11875 | +extern int vc_net_migrate(struct nx_info *, void __user *); |
13221 | + | 11876 | + |
@@ -13237,48 +11892,19 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/network_cmd.h linux-3.4 | |||
13237 | +extern int vc_add_match_ipv6(struct nx_info *, void __user *); | 11892 | +extern int vc_add_match_ipv6(struct nx_info *, void __user *); |
13238 | +extern int vc_get_match_ipv6(struct nx_info *, void __user *); | 11893 | +extern int vc_get_match_ipv6(struct nx_info *, void __user *); |
13239 | + | 11894 | + |
13240 | +#endif /* __KERNEL__ */ | ||
13241 | + | ||
13242 | + | ||
13243 | +/* flag commands */ | ||
13244 | + | ||
13245 | +#define VCMD_get_nflags VC_CMD(FLAGS, 5, 0) | ||
13246 | +#define VCMD_set_nflags VC_CMD(FLAGS, 6, 0) | ||
13247 | + | ||
13248 | +struct vcmd_net_flags_v0 { | ||
13249 | + uint64_t flagword; | ||
13250 | + uint64_t mask; | ||
13251 | +}; | ||
13252 | + | ||
13253 | +#ifdef __KERNEL__ | ||
13254 | +extern int vc_get_nflags(struct nx_info *, void __user *); | 11895 | +extern int vc_get_nflags(struct nx_info *, void __user *); |
13255 | +extern int vc_set_nflags(struct nx_info *, void __user *); | 11896 | +extern int vc_set_nflags(struct nx_info *, void __user *); |
13256 | + | 11897 | + |
13257 | +#endif /* __KERNEL__ */ | ||
13258 | + | ||
13259 | + | ||
13260 | +/* network caps commands */ | ||
13261 | + | ||
13262 | +#define VCMD_get_ncaps VC_CMD(FLAGS, 7, 0) | ||
13263 | +#define VCMD_set_ncaps VC_CMD(FLAGS, 8, 0) | ||
13264 | + | ||
13265 | +struct vcmd_net_caps_v0 { | ||
13266 | + uint64_t ncaps; | ||
13267 | + uint64_t cmask; | ||
13268 | +}; | ||
13269 | + | ||
13270 | +#ifdef __KERNEL__ | ||
13271 | +extern int vc_get_ncaps(struct nx_info *, void __user *); | 11898 | +extern int vc_get_ncaps(struct nx_info *, void __user *); |
13272 | +extern int vc_set_ncaps(struct nx_info *, void __user *); | 11899 | +extern int vc_set_ncaps(struct nx_info *, void __user *); |
13273 | + | 11900 | + |
13274 | +#endif /* __KERNEL__ */ | 11901 | +#endif /* _VSERVER_CONTEXT_CMD_H */ |
13275 | +#endif /* _VX_CONTEXT_CMD_H */ | 11902 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/percpu.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/percpu.h |
13276 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/percpu.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/percpu.h | 11903 | --- linux-3.10.17/include/linux/vserver/percpu.h 1970-01-01 00:00:00.000000000 +0000 |
13277 | --- linux-3.4.57/include/linux/vserver/percpu.h 1970-01-01 00:00:00.000000000 +0000 | 11904 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/percpu.h 2013-08-22 20:30:00.000000000 +0000 |
13278 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/percpu.h 2012-05-21 16:15:05.000000000 +0000 | ||
13279 | @@ -0,0 +1,14 @@ | 11905 | @@ -0,0 +1,14 @@ |
13280 | +#ifndef _VX_PERCPU_H | 11906 | +#ifndef _VSERVER_PERCPU_H |
13281 | +#define _VX_PERCPU_H | 11907 | +#define _VSERVER_PERCPU_H |
13282 | + | 11908 | + |
13283 | +#include "cvirt_def.h" | 11909 | +#include "cvirt_def.h" |
13284 | +#include "sched_def.h" | 11910 | +#include "sched_def.h" |
@@ -13290,10 +11916,10 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/percpu.h linux-3.4.57-v | |||
13290 | + | 11916 | + |
13291 | +#define PERCPU_PERCTX (sizeof(struct _vx_percpu)) | 11917 | +#define PERCPU_PERCTX (sizeof(struct _vx_percpu)) |
13292 | + | 11918 | + |
13293 | +#endif /* _VX_PERCPU_H */ | 11919 | +#endif /* _VSERVER_PERCPU_H */ |
13294 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/pid.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/pid.h | 11920 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/pid.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/pid.h |
13295 | --- linux-3.4.57/include/linux/vserver/pid.h 1970-01-01 00:00:00.000000000 +0000 | 11921 | --- linux-3.10.17/include/linux/vserver/pid.h 1970-01-01 00:00:00.000000000 +0000 |
13296 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/pid.h 2012-05-21 16:15:05.000000000 +0000 | 11922 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/pid.h 2013-08-22 20:30:00.000000000 +0000 |
13297 | @@ -0,0 +1,51 @@ | 11923 | @@ -0,0 +1,51 @@ |
13298 | +#ifndef _VSERVER_PID_H | 11924 | +#ifndef _VSERVER_PID_H |
13299 | +#define _VSERVER_PID_H | 11925 | +#define _VSERVER_PID_H |
@@ -13346,12 +11972,12 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/pid.h linux-3.4.57-vs2. | |||
13346 | +} | 11972 | +} |
13347 | + | 11973 | + |
13348 | +#endif | 11974 | +#endif |
13349 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/sched.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched.h | 11975 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/sched.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched.h |
13350 | --- linux-3.4.57/include/linux/vserver/sched.h 1970-01-01 00:00:00.000000000 +0000 | 11976 | --- linux-3.10.17/include/linux/vserver/sched.h 1970-01-01 00:00:00.000000000 +0000 |
13351 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched.h 2012-05-21 16:15:05.000000000 +0000 | 11977 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched.h 2013-08-22 20:30:00.000000000 +0000 |
13352 | @@ -0,0 +1,23 @@ | 11978 | @@ -0,0 +1,23 @@ |
13353 | +#ifndef _VX_SCHED_H | 11979 | +#ifndef _VSERVER_SCHED_H |
13354 | +#define _VX_SCHED_H | 11980 | +#define _VSERVER_SCHED_H |
13355 | + | 11981 | + |
13356 | + | 11982 | + |
13357 | +#ifdef __KERNEL__ | 11983 | +#ifdef __KERNEL__ |
@@ -13370,40 +11996,30 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/sched.h linux-3.4.57-vs | |||
13370 | + struct _vx_sched_pc *sched_pc); | 11996 | + struct _vx_sched_pc *sched_pc); |
13371 | + | 11997 | + |
13372 | +#endif /* __KERNEL__ */ | 11998 | +#endif /* __KERNEL__ */ |
13373 | +#else /* _VX_SCHED_H */ | 11999 | +#else /* _VSERVER_SCHED_H */ |
13374 | +#warning duplicate inclusion | 12000 | +#warning duplicate inclusion |
13375 | +#endif /* _VX_SCHED_H */ | 12001 | +#endif /* _VSERVER_SCHED_H */ |
13376 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/sched_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched_cmd.h | 12002 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/sched_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched_cmd.h |
13377 | --- linux-3.4.57/include/linux/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 12003 | --- linux-3.10.17/include/linux/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
13378 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 12004 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
13379 | @@ -0,0 +1,21 @@ | 12005 | @@ -0,0 +1,11 @@ |
13380 | +#ifndef _VX_SCHED_CMD_H | 12006 | +#ifndef _VSERVER_SCHED_CMD_H |
13381 | +#define _VX_SCHED_CMD_H | 12007 | +#define _VSERVER_SCHED_CMD_H |
13382 | + | 12008 | + |
13383 | + | 12009 | + |
13384 | +struct vcmd_prio_bias { | ||
13385 | + int32_t cpu_id; | ||
13386 | + int32_t prio_bias; | ||
13387 | +}; | ||
13388 | + | ||
13389 | +#define VCMD_set_prio_bias VC_CMD(SCHED, 4, 0) | ||
13390 | +#define VCMD_get_prio_bias VC_CMD(SCHED, 5, 0) | ||
13391 | + | ||
13392 | +#ifdef __KERNEL__ | ||
13393 | + | ||
13394 | +#include <linux/compiler.h> | 12010 | +#include <linux/compiler.h> |
12011 | +#include <uapi/vserver/sched_cmd.h> | ||
13395 | + | 12012 | + |
13396 | +extern int vc_set_prio_bias(struct vx_info *, void __user *); | 12013 | +extern int vc_set_prio_bias(struct vx_info *, void __user *); |
13397 | +extern int vc_get_prio_bias(struct vx_info *, void __user *); | 12014 | +extern int vc_get_prio_bias(struct vx_info *, void __user *); |
13398 | + | 12015 | + |
13399 | +#endif /* __KERNEL__ */ | 12016 | +#endif /* _VSERVER_SCHED_CMD_H */ |
13400 | +#endif /* _VX_SCHED_CMD_H */ | 12017 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/sched_def.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched_def.h |
13401 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/sched_def.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched_def.h | 12018 | --- linux-3.10.17/include/linux/vserver/sched_def.h 1970-01-01 00:00:00.000000000 +0000 |
13402 | --- linux-3.4.57/include/linux/vserver/sched_def.h 1970-01-01 00:00:00.000000000 +0000 | 12019 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/sched_def.h 2013-08-22 20:30:00.000000000 +0000 |
13403 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/sched_def.h 2012-05-21 16:15:05.000000000 +0000 | ||
13404 | @@ -0,0 +1,38 @@ | 12020 | @@ -0,0 +1,38 @@ |
13405 | +#ifndef _VX_SCHED_DEF_H | 12021 | +#ifndef _VSERVER_SCHED_DEF_H |
13406 | +#define _VX_SCHED_DEF_H | 12022 | +#define _VSERVER_SCHED_DEF_H |
13407 | + | 12023 | + |
13408 | +#include <linux/spinlock.h> | 12024 | +#include <linux/spinlock.h> |
13409 | +#include <linux/jiffies.h> | 12025 | +#include <linux/jiffies.h> |
@@ -13439,13 +12055,13 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/sched_def.h linux-3.4.5 | |||
13439 | + | 12055 | + |
13440 | +#endif | 12056 | +#endif |
13441 | + | 12057 | + |
13442 | +#endif /* _VX_SCHED_DEF_H */ | 12058 | +#endif /* _VSERVER_SCHED_DEF_H */ |
13443 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/signal.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/signal.h | 12059 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/signal.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/signal.h |
13444 | --- linux-3.4.57/include/linux/vserver/signal.h 1970-01-01 00:00:00.000000000 +0000 | 12060 | --- linux-3.10.17/include/linux/vserver/signal.h 1970-01-01 00:00:00.000000000 +0000 |
13445 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/signal.h 2012-05-21 16:15:05.000000000 +0000 | 12061 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/signal.h 2013-08-22 20:30:00.000000000 +0000 |
13446 | @@ -0,0 +1,14 @@ | 12062 | @@ -0,0 +1,14 @@ |
13447 | +#ifndef _VX_SIGNAL_H | 12063 | +#ifndef _VSERVER_SIGNAL_H |
13448 | +#define _VX_SIGNAL_H | 12064 | +#define _VSERVER_SIGNAL_H |
13449 | + | 12065 | + |
13450 | + | 12066 | + |
13451 | +#ifdef __KERNEL__ | 12067 | +#ifdef __KERNEL__ |
@@ -13455,62 +12071,33 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/signal.h linux-3.4.57-v | |||
13455 | +int vx_info_kill(struct vx_info *, int, int); | 12071 | +int vx_info_kill(struct vx_info *, int, int); |
13456 | + | 12072 | + |
13457 | +#endif /* __KERNEL__ */ | 12073 | +#endif /* __KERNEL__ */ |
13458 | +#else /* _VX_SIGNAL_H */ | 12074 | +#else /* _VSERVER_SIGNAL_H */ |
13459 | +#warning duplicate inclusion | 12075 | +#warning duplicate inclusion |
13460 | +#endif /* _VX_SIGNAL_H */ | 12076 | +#endif /* _VSERVER_SIGNAL_H */ |
13461 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/signal_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/signal_cmd.h | 12077 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/signal_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/signal_cmd.h |
13462 | --- linux-3.4.57/include/linux/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 12078 | --- linux-3.10.17/include/linux/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
13463 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/signal_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 12079 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/signal_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
13464 | @@ -0,0 +1,43 @@ | 12080 | @@ -0,0 +1,14 @@ |
13465 | +#ifndef _VX_SIGNAL_CMD_H | 12081 | +#ifndef _VSERVER_SIGNAL_CMD_H |
13466 | +#define _VX_SIGNAL_CMD_H | 12082 | +#define _VSERVER_SIGNAL_CMD_H |
13467 | + | ||
13468 | + | ||
13469 | +/* signalling vserver commands */ | ||
13470 | + | ||
13471 | +#define VCMD_ctx_kill VC_CMD(PROCTRL, 1, 0) | ||
13472 | +#define VCMD_wait_exit VC_CMD(EVENT, 99, 0) | ||
13473 | + | ||
13474 | +struct vcmd_ctx_kill_v0 { | ||
13475 | + int32_t pid; | ||
13476 | + int32_t sig; | ||
13477 | +}; | ||
13478 | + | 12083 | + |
13479 | +struct vcmd_wait_exit_v0 { | 12084 | +#include <uapi/vserver/signal_cmd.h> |
13480 | + int32_t reboot_cmd; | ||
13481 | + int32_t exit_code; | ||
13482 | +}; | ||
13483 | + | 12085 | + |
13484 | +#ifdef __KERNEL__ | ||
13485 | + | 12086 | + |
13486 | +extern int vc_ctx_kill(struct vx_info *, void __user *); | 12087 | +extern int vc_ctx_kill(struct vx_info *, void __user *); |
13487 | +extern int vc_wait_exit(struct vx_info *, void __user *); | 12088 | +extern int vc_wait_exit(struct vx_info *, void __user *); |
13488 | + | 12089 | + |
13489 | +#endif /* __KERNEL__ */ | ||
13490 | + | ||
13491 | +/* process alteration commands */ | ||
13492 | + | ||
13493 | +#define VCMD_get_pflags VC_CMD(PROCALT, 5, 0) | ||
13494 | +#define VCMD_set_pflags VC_CMD(PROCALT, 6, 0) | ||
13495 | + | ||
13496 | +struct vcmd_pflags_v0 { | ||
13497 | + uint32_t flagword; | ||
13498 | + uint32_t mask; | ||
13499 | +}; | ||
13500 | + | ||
13501 | +#ifdef __KERNEL__ | ||
13502 | + | 12090 | + |
13503 | +extern int vc_get_pflags(uint32_t pid, void __user *); | 12091 | +extern int vc_get_pflags(uint32_t pid, void __user *); |
13504 | +extern int vc_set_pflags(uint32_t pid, void __user *); | 12092 | +extern int vc_set_pflags(uint32_t pid, void __user *); |
13505 | + | 12093 | + |
13506 | +#endif /* __KERNEL__ */ | 12094 | +#endif /* _VSERVER_SIGNAL_CMD_H */ |
13507 | +#endif /* _VX_SIGNAL_CMD_H */ | 12095 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/space.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/space.h |
13508 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/space.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/space.h | 12096 | --- linux-3.10.17/include/linux/vserver/space.h 1970-01-01 00:00:00.000000000 +0000 |
13509 | --- linux-3.4.57/include/linux/vserver/space.h 1970-01-01 00:00:00.000000000 +0000 | 12097 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/space.h 2013-08-22 20:30:00.000000000 +0000 |
13510 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/space.h 2012-05-21 16:15:05.000000000 +0000 | ||
13511 | @@ -0,0 +1,12 @@ | 12098 | @@ -0,0 +1,12 @@ |
13512 | +#ifndef _VX_SPACE_H | 12099 | +#ifndef _VSERVER_SPACE_H |
13513 | +#define _VX_SPACE_H | 12100 | +#define _VSERVER_SPACE_H |
13514 | + | 12101 | + |
13515 | +#include <linux/types.h> | 12102 | +#include <linux/types.h> |
13516 | + | 12103 | + |
@@ -13518,42 +12105,18 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/space.h linux-3.4.57-vs | |||
13518 | + | 12105 | + |
13519 | +int vx_set_space(struct vx_info *vxi, unsigned long mask, unsigned index); | 12106 | +int vx_set_space(struct vx_info *vxi, unsigned long mask, unsigned index); |
13520 | + | 12107 | + |
13521 | +#else /* _VX_SPACE_H */ | 12108 | +#else /* _VSERVER_SPACE_H */ |
13522 | +#warning duplicate inclusion | 12109 | +#warning duplicate inclusion |
13523 | +#endif /* _VX_SPACE_H */ | 12110 | +#endif /* _VSERVER_SPACE_H */ |
13524 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/space_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/space_cmd.h | 12111 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/space_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/space_cmd.h |
13525 | --- linux-3.4.57/include/linux/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 12112 | --- linux-3.10.17/include/linux/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
13526 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/space_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 12113 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/space_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
13527 | @@ -0,0 +1,38 @@ | 12114 | @@ -0,0 +1,13 @@ |
13528 | +#ifndef _VX_SPACE_CMD_H | 12115 | +#ifndef _VSERVER_SPACE_CMD_H |
13529 | +#define _VX_SPACE_CMD_H | 12116 | +#define _VSERVER_SPACE_CMD_H |
13530 | + | ||
13531 | + | ||
13532 | +#define VCMD_enter_space_v0 VC_CMD(PROCALT, 1, 0) | ||
13533 | +#define VCMD_enter_space_v1 VC_CMD(PROCALT, 1, 1) | ||
13534 | +#define VCMD_enter_space VC_CMD(PROCALT, 1, 2) | ||
13535 | + | 12117 | + |
13536 | +#define VCMD_set_space_v0 VC_CMD(PROCALT, 3, 0) | 12118 | +#include <uapi/vserver/space_cmd.h> |
13537 | +#define VCMD_set_space_v1 VC_CMD(PROCALT, 3, 1) | ||
13538 | +#define VCMD_set_space VC_CMD(PROCALT, 3, 2) | ||
13539 | + | 12119 | + |
13540 | +#define VCMD_get_space_mask_v0 VC_CMD(PROCALT, 4, 0) | ||
13541 | + | ||
13542 | +#define VCMD_get_space_mask VC_CMD(VSPACE, 0, 1) | ||
13543 | +#define VCMD_get_space_default VC_CMD(VSPACE, 1, 0) | ||
13544 | + | ||
13545 | + | ||
13546 | +struct vcmd_space_mask_v1 { | ||
13547 | + uint64_t mask; | ||
13548 | +}; | ||
13549 | + | ||
13550 | +struct vcmd_space_mask_v2 { | ||
13551 | + uint64_t mask; | ||
13552 | + uint32_t index; | ||
13553 | +}; | ||
13554 | + | ||
13555 | + | ||
13556 | +#ifdef __KERNEL__ | ||
13557 | + | 12120 | + |
13558 | +extern int vc_enter_space_v1(struct vx_info *, void __user *); | 12121 | +extern int vc_enter_space_v1(struct vx_info *, void __user *); |
13559 | +extern int vc_set_space_v1(struct vx_info *, void __user *); | 12122 | +extern int vc_set_space_v1(struct vx_info *, void __user *); |
@@ -13561,118 +12124,28 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/space_cmd.h linux-3.4.5 | |||
13561 | +extern int vc_set_space(struct vx_info *, void __user *); | 12124 | +extern int vc_set_space(struct vx_info *, void __user *); |
13562 | +extern int vc_get_space_mask(void __user *, int); | 12125 | +extern int vc_get_space_mask(void __user *, int); |
13563 | + | 12126 | + |
13564 | +#endif /* __KERNEL__ */ | 12127 | +#endif /* _VSERVER_SPACE_CMD_H */ |
13565 | +#endif /* _VX_SPACE_CMD_H */ | 12128 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/switch.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/switch.h |
13566 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/switch.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/switch.h | 12129 | --- linux-3.10.17/include/linux/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000 |
13567 | --- linux-3.4.57/include/linux/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000 | 12130 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/switch.h 2013-08-22 20:30:00.000000000 +0000 |
13568 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/switch.h 2012-05-21 16:15:05.000000000 +0000 | 12131 | @@ -0,0 +1,8 @@ |
13569 | @@ -0,0 +1,98 @@ | 12132 | +#ifndef _VSERVER_SWITCH_H |
13570 | +#ifndef _VX_SWITCH_H | 12133 | +#define _VSERVER_SWITCH_H |
13571 | +#define _VX_SWITCH_H | ||
13572 | + | ||
13573 | +#include <linux/types.h> | ||
13574 | + | ||
13575 | + | ||
13576 | +#define VC_CATEGORY(c) (((c) >> 24) & 0x3F) | ||
13577 | +#define VC_COMMAND(c) (((c) >> 16) & 0xFF) | ||
13578 | +#define VC_VERSION(c) ((c) & 0xFFF) | ||
13579 | + | ||
13580 | +#define VC_CMD(c, i, v) ((((VC_CAT_ ## c) & 0x3F) << 24) \ | ||
13581 | + | (((i) & 0xFF) << 16) | ((v) & 0xFFF)) | ||
13582 | + | ||
13583 | +/* | ||
13584 | + | ||
13585 | + Syscall Matrix V2.8 | ||
13586 | + | ||
13587 | + |VERSION|CREATE |MODIFY |MIGRATE|CONTROL|EXPERIM| |SPECIAL|SPECIAL| | ||
13588 | + |STATS |DESTROY|ALTER |CHANGE |LIMIT |TEST | | | | | ||
13589 | + |INFO |SETUP | |MOVE | | | | | | | ||
13590 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13591 | + SYSTEM |VERSION|VSETUP |VHOST | | | | |DEVICE | | | ||
13592 | + HOST | 00| 01| 02| 03| 04| 05| | 06| 07| | ||
13593 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13594 | + CPU | |VPROC |PROCALT|PROCMIG|PROCTRL| | |SCHED. | | | ||
13595 | + PROCESS| 08| 09| 10| 11| 12| 13| | 14| 15| | ||
13596 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13597 | + MEMORY | | | | |MEMCTRL| | |SWAP | | | ||
13598 | + | 16| 17| 18| 19| 20| 21| | 22| 23| | ||
13599 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13600 | + NETWORK| |VNET |NETALT |NETMIG |NETCTL | | |SERIAL | | | ||
13601 | + | 24| 25| 26| 27| 28| 29| | 30| 31| | ||
13602 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13603 | + DISK | | | |TAGMIG |DLIMIT | | |INODE | | | ||
13604 | + VFS | 32| 33| 34| 35| 36| 37| | 38| 39| | ||
13605 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13606 | + OTHER |VSTAT | | | | | | |VINFO | | | ||
13607 | + | 40| 41| 42| 43| 44| 45| | 46| 47| | ||
13608 | + =======+=======+=======+=======+=======+=======+=======+ +=======+=======+ | ||
13609 | + SPECIAL|EVENT | | | |FLAGS | | |VSPACE | | | ||
13610 | + | 48| 49| 50| 51| 52| 53| | 54| 55| | ||
13611 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13612 | + SPECIAL|DEBUG | | | |RLIMIT |SYSCALL| | |COMPAT | | ||
13613 | + | 56| 57| 58| 59| 60|TEST 61| | 62| 63| | ||
13614 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13615 | + | ||
13616 | +*/ | ||
13617 | + | ||
13618 | +#define VC_CAT_VERSION 0 | ||
13619 | + | ||
13620 | +#define VC_CAT_VSETUP 1 | ||
13621 | +#define VC_CAT_VHOST 2 | ||
13622 | + | ||
13623 | +#define VC_CAT_DEVICE 6 | ||
13624 | + | ||
13625 | +#define VC_CAT_VPROC 9 | ||
13626 | +#define VC_CAT_PROCALT 10 | ||
13627 | +#define VC_CAT_PROCMIG 11 | ||
13628 | +#define VC_CAT_PROCTRL 12 | ||
13629 | + | ||
13630 | +#define VC_CAT_SCHED 14 | ||
13631 | +#define VC_CAT_MEMCTRL 20 | ||
13632 | + | ||
13633 | +#define VC_CAT_VNET 25 | ||
13634 | +#define VC_CAT_NETALT 26 | ||
13635 | +#define VC_CAT_NETMIG 27 | ||
13636 | +#define VC_CAT_NETCTRL 28 | ||
13637 | + | ||
13638 | +#define VC_CAT_TAGMIG 35 | ||
13639 | +#define VC_CAT_DLIMIT 36 | ||
13640 | +#define VC_CAT_INODE 38 | ||
13641 | + | ||
13642 | +#define VC_CAT_VSTAT 40 | ||
13643 | +#define VC_CAT_VINFO 46 | ||
13644 | +#define VC_CAT_EVENT 48 | ||
13645 | + | ||
13646 | +#define VC_CAT_FLAGS 52 | ||
13647 | +#define VC_CAT_VSPACE 54 | ||
13648 | +#define VC_CAT_DEBUG 56 | ||
13649 | +#define VC_CAT_RLIMIT 60 | ||
13650 | + | ||
13651 | +#define VC_CAT_SYSTEST 61 | ||
13652 | +#define VC_CAT_COMPAT 63 | ||
13653 | + | ||
13654 | +/* query version */ | ||
13655 | + | ||
13656 | +#define VCMD_get_version VC_CMD(VERSION, 0, 0) | ||
13657 | +#define VCMD_get_vci VC_CMD(VERSION, 1, 0) | ||
13658 | + | ||
13659 | + | 12134 | + |
13660 | +#ifdef __KERNEL__ | ||
13661 | + | 12135 | + |
13662 | +#include <linux/errno.h> | 12136 | +#include <linux/errno.h> |
12137 | +#include <uapi/vserver/switch.h> | ||
13663 | + | 12138 | + |
13664 | +#endif /* __KERNEL__ */ | 12139 | +#endif /* _VSERVER_SWITCH_H */ |
13665 | + | 12140 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/tag.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/tag.h |
13666 | +#endif /* _VX_SWITCH_H */ | 12141 | --- linux-3.10.17/include/linux/vserver/tag.h 1970-01-01 00:00:00.000000000 +0000 |
13667 | + | 12142 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/tag.h 2013-08-22 20:30:00.000000000 +0000 |
13668 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/tag.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/tag.h | 12143 | @@ -0,0 +1,160 @@ |
13669 | --- linux-3.4.57/include/linux/vserver/tag.h 1970-01-01 00:00:00.000000000 +0000 | ||
13670 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/tag.h 2012-05-21 16:15:05.000000000 +0000 | ||
13671 | @@ -0,0 +1,143 @@ | ||
13672 | +#ifndef _DX_TAG_H | 12144 | +#ifndef _DX_TAG_H |
13673 | +#define _DX_TAG_H | 12145 | +#define _DX_TAG_H |
13674 | + | 12146 | + |
13675 | +#include <linux/types.h> | 12147 | +#include <linux/types.h> |
12148 | +#include <linux/uidgid.h> | ||
13676 | + | 12149 | + |
13677 | + | 12150 | + |
13678 | +#define DX_TAG(in) (IS_TAGGED(in)) | 12151 | +#define DX_TAG(in) (IS_TAGGED(in)) |
@@ -13771,11 +12244,27 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/tag.h linux-3.4.57-vs2. | |||
13771 | +#define TAGINO_TAG(cond, tag) ((cond) ? (tag) : 0) | 12244 | +#define TAGINO_TAG(cond, tag) ((cond) ? (tag) : 0) |
13772 | +#endif | 12245 | +#endif |
13773 | + | 12246 | + |
12247 | +#define TAGINO_KUID(cond, kuid, ktag) \ | ||
12248 | + KUIDT_INIT(TAGINO_UID(cond, __kuid_val(kuid), __ktag_val(ktag))) | ||
12249 | +#define TAGINO_KGID(cond, kgid, ktag) \ | ||
12250 | + KGIDT_INIT(TAGINO_GID(cond, __kgid_val(kgid), __ktag_val(ktag))) | ||
12251 | +#define TAGINO_KTAG(cond, ktag) \ | ||
12252 | + KTAGT_INIT(TAGINO_TAG(cond, __ktag_val(ktag))) | ||
12253 | + | ||
12254 | + | ||
13774 | +#define INOTAG_UID(cond, uid, gid) \ | 12255 | +#define INOTAG_UID(cond, uid, gid) \ |
13775 | + ((cond) ? ((uid) & MAX_UID) : (uid)) | 12256 | + ((cond) ? ((uid) & MAX_UID) : (uid)) |
13776 | +#define INOTAG_GID(cond, uid, gid) \ | 12257 | +#define INOTAG_GID(cond, uid, gid) \ |
13777 | + ((cond) ? ((gid) & MAX_GID) : (gid)) | 12258 | + ((cond) ? ((gid) & MAX_GID) : (gid)) |
13778 | + | 12259 | + |
12260 | +#define INOTAG_KUID(cond, kuid, kgid) \ | ||
12261 | + KUIDT_INIT(INOTAG_UID(cond, __kuid_val(kuid), __kgid_val(kgid))) | ||
12262 | +#define INOTAG_KGID(cond, kuid, kgid) \ | ||
12263 | + KGIDT_INIT(INOTAG_GID(cond, __kuid_val(kuid), __kgid_val(kgid))) | ||
12264 | +#define INOTAG_KTAG(cond, kuid, kgid, ktag) \ | ||
12265 | + KTAGT_INIT(INOTAG_TAG(cond, \ | ||
12266 | + __kuid_val(kuid), __kgid_val(kgid), __ktag_val(ktag))) | ||
12267 | + | ||
13779 | + | 12268 | + |
13780 | +static inline uid_t dx_map_uid(uid_t uid) | 12269 | +static inline uid_t dx_map_uid(uid_t uid) |
13781 | +{ | 12270 | +{ |
@@ -13798,7 +12287,7 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/tag.h linux-3.4.57-vs2. | |||
13798 | + | 12287 | + |
13799 | +#define dx_notagcheck(sb) ((sb) && ((sb)->s_flags & MS_NOTAGCHECK)) | 12288 | +#define dx_notagcheck(sb) ((sb) && ((sb)->s_flags & MS_NOTAGCHECK)) |
13800 | + | 12289 | + |
13801 | +int dx_parse_tag(char *string, tag_t *tag, int remove, int *mnt_flags, | 12290 | +int dx_parse_tag(char *string, vtag_t *tag, int remove, int *mnt_flags, |
13802 | + unsigned long *flags); | 12291 | + unsigned long *flags); |
13803 | + | 12292 | + |
13804 | +#ifdef CONFIG_PROPAGATE | 12293 | +#ifdef CONFIG_PROPAGATE |
@@ -13812,37 +12301,25 @@ diff -NurpP --minimal linux-3.4.57/include/linux/vserver/tag.h linux-3.4.57-vs2. | |||
13812 | +#endif | 12301 | +#endif |
13813 | + | 12302 | + |
13814 | +#endif /* _DX_TAG_H */ | 12303 | +#endif /* _DX_TAG_H */ |
13815 | diff -NurpP --minimal linux-3.4.57/include/linux/vserver/tag_cmd.h linux-3.4.57-vs2.3.3.9/include/linux/vserver/tag_cmd.h | 12304 | diff -NurpP --minimal linux-3.10.17/include/linux/vserver/tag_cmd.h linux-3.10.17-vs2.3.6.6/include/linux/vserver/tag_cmd.h |
13816 | --- linux-3.4.57/include/linux/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000 | 12305 | --- linux-3.10.17/include/linux/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000 |
13817 | +++ linux-3.4.57-vs2.3.3.9/include/linux/vserver/tag_cmd.h 2012-05-21 16:15:05.000000000 +0000 | 12306 | +++ linux-3.10.17-vs2.3.6.6/include/linux/vserver/tag_cmd.h 2013-08-22 20:30:00.000000000 +0000 |
13818 | @@ -0,0 +1,22 @@ | 12307 | @@ -0,0 +1,10 @@ |
13819 | +#ifndef _VX_TAG_CMD_H | 12308 | +#ifndef _VSERVER_TAG_CMD_H |
13820 | +#define _VX_TAG_CMD_H | 12309 | +#define _VSERVER_TAG_CMD_H |
13821 | + | ||
13822 | + | ||
13823 | +/* vinfo commands */ | ||
13824 | + | 12310 | + |
13825 | +#define VCMD_task_tag VC_CMD(VINFO, 3, 0) | 12311 | +#include <uapi/vserver/tag_cmd.h> |
13826 | + | 12312 | + |
13827 | +#ifdef __KERNEL__ | ||
13828 | +extern int vc_task_tag(uint32_t); | 12313 | +extern int vc_task_tag(uint32_t); |
13829 | + | 12314 | + |
13830 | +#endif /* __KERNEL__ */ | ||
13831 | + | ||
13832 | +/* context commands */ | ||
13833 | + | ||
13834 | +#define VCMD_tag_migrate VC_CMD(TAGMIG, 1, 0) | ||
13835 | + | ||
13836 | +#ifdef __KERNEL__ | ||
13837 | +extern int vc_tag_migrate(uint32_t); | 12315 | +extern int vc_tag_migrate(uint32_t); |
13838 | + | 12316 | + |
13839 | +#endif /* __KERNEL__ */ | 12317 | +#endif /* _VSERVER_TAG_CMD_H */ |
13840 | +#endif /* _VX_TAG_CMD_H */ | 12318 | diff -NurpP --minimal linux-3.10.17/include/net/addrconf.h linux-3.10.17-vs2.3.6.6/include/net/addrconf.h |
13841 | diff -NurpP --minimal linux-3.4.57/include/net/addrconf.h linux-3.4.57-vs2.3.3.9/include/net/addrconf.h | 12319 | --- linux-3.10.17/include/net/addrconf.h 2013-10-25 15:17:44.000000000 +0000 |
13842 | --- linux-3.4.57/include/net/addrconf.h 2013-08-13 14:13:36.000000000 +0000 | 12320 | +++ linux-3.10.17-vs2.3.6.6/include/net/addrconf.h 2013-10-26 18:03:17.000000000 +0000 |
13843 | +++ linux-3.4.57-vs2.3.3.9/include/net/addrconf.h 2013-08-13 17:08:10.000000000 +0000 | 12321 | @@ -89,7 +89,8 @@ extern int ipv6_dev_get_saddr(struct n |
13844 | @@ -80,7 +80,8 @@ extern int ipv6_dev_get_saddr(struct n | 12322 | const struct net_device *dev, |
13845 | struct net_device *dev, | ||
13846 | const struct in6_addr *daddr, | 12323 | const struct in6_addr *daddr, |
13847 | unsigned int srcprefs, | 12324 | unsigned int srcprefs, |
13848 | - struct in6_addr *saddr); | 12325 | - struct in6_addr *saddr); |
@@ -13851,9 +12328,9 @@ diff -NurpP --minimal linux-3.4.57/include/net/addrconf.h linux-3.4.57-vs2.3.3.9 | |||
13851 | extern int __ipv6_get_lladdr(struct inet6_dev *idev, | 12328 | extern int __ipv6_get_lladdr(struct inet6_dev *idev, |
13852 | struct in6_addr *addr, | 12329 | struct in6_addr *addr, |
13853 | unsigned char banned_flags); | 12330 | unsigned char banned_flags); |
13854 | diff -NurpP --minimal linux-3.4.57/include/net/af_unix.h linux-3.4.57-vs2.3.3.9/include/net/af_unix.h | 12331 | diff -NurpP --minimal linux-3.10.17/include/net/af_unix.h linux-3.10.17-vs2.3.6.6/include/net/af_unix.h |
13855 | --- linux-3.4.57/include/net/af_unix.h 2012-05-21 16:07:33.000000000 +0000 | 12332 | --- linux-3.10.17/include/net/af_unix.h 2013-07-14 17:01:33.000000000 +0000 |
13856 | +++ linux-3.4.57-vs2.3.3.9/include/net/af_unix.h 2012-05-21 16:15:05.000000000 +0000 | 12333 | +++ linux-3.10.17-vs2.3.6.6/include/net/af_unix.h 2013-08-22 20:30:00.000000000 +0000 |
13857 | @@ -4,6 +4,7 @@ | 12334 | @@ -4,6 +4,7 @@ |
13858 | #include <linux/socket.h> | 12335 | #include <linux/socket.h> |
13859 | #include <linux/un.h> | 12336 | #include <linux/un.h> |
@@ -13862,24 +12339,24 @@ diff -NurpP --minimal linux-3.4.57/include/net/af_unix.h linux-3.4.57-vs2.3.3.9/ | |||
13862 | #include <net/sock.h> | 12339 | #include <net/sock.h> |
13863 | 12340 | ||
13864 | extern void unix_inflight(struct file *fp); | 12341 | extern void unix_inflight(struct file *fp); |
13865 | diff -NurpP --minimal linux-3.4.57/include/net/inet_timewait_sock.h linux-3.4.57-vs2.3.3.9/include/net/inet_timewait_sock.h | 12342 | diff -NurpP --minimal linux-3.10.17/include/net/inet_timewait_sock.h linux-3.10.17-vs2.3.6.6/include/net/inet_timewait_sock.h |
13866 | --- linux-3.4.57/include/net/inet_timewait_sock.h 2012-03-19 18:47:29.000000000 +0000 | 12343 | --- linux-3.10.17/include/net/inet_timewait_sock.h 2013-05-31 13:45:28.000000000 +0000 |
13867 | +++ linux-3.4.57-vs2.3.3.9/include/net/inet_timewait_sock.h 2012-05-21 16:15:05.000000000 +0000 | 12344 | +++ linux-3.10.17-vs2.3.6.6/include/net/inet_timewait_sock.h 2013-08-22 20:30:00.000000000 +0000 |
13868 | @@ -112,6 +112,10 @@ struct inet_timewait_sock { | 12345 | @@ -116,6 +116,10 @@ struct inet_timewait_sock { |
13869 | #define tw_net __tw_common.skc_net | 12346 | #define tw_dport __tw_common.skc_dport |
13870 | #define tw_daddr __tw_common.skc_daddr | 12347 | #define tw_num __tw_common.skc_num |
13871 | #define tw_rcv_saddr __tw_common.skc_rcv_saddr | 12348 | #define tw_portpair __tw_common.skc_portpair |
13872 | +#define tw_xid __tw_common.skc_xid | 12349 | +#define tw_xid __tw_common.skc_xid |
13873 | +#define tw_vx_info __tw_common.skc_vx_info | 12350 | +#define tw_vx_info __tw_common.skc_vx_info |
13874 | +#define tw_nid __tw_common.skc_nid | 12351 | +#define tw_nid __tw_common.skc_nid |
13875 | +#define tw_nx_info __tw_common.skc_nx_info | 12352 | +#define tw_nx_info __tw_common.skc_nx_info |
12353 | |||
13876 | int tw_timeout; | 12354 | int tw_timeout; |
13877 | volatile unsigned char tw_substate; | 12355 | volatile unsigned char tw_substate; |
13878 | unsigned char tw_rcv_wscale; | 12356 | diff -NurpP --minimal linux-3.10.17/include/net/ip6_route.h linux-3.10.17-vs2.3.6.6/include/net/ip6_route.h |
13879 | diff -NurpP --minimal linux-3.4.57/include/net/ip6_route.h linux-3.4.57-vs2.3.3.9/include/net/ip6_route.h | 12357 | --- linux-3.10.17/include/net/ip6_route.h 2013-05-31 13:45:28.000000000 +0000 |
13880 | --- linux-3.4.57/include/net/ip6_route.h 2012-03-19 18:47:29.000000000 +0000 | 12358 | +++ linux-3.10.17-vs2.3.6.6/include/net/ip6_route.h 2013-08-22 20:30:00.000000000 +0000 |
13881 | +++ linux-3.4.57-vs2.3.3.9/include/net/ip6_route.h 2012-05-21 16:15:05.000000000 +0000 | 12359 | @@ -95,7 +95,8 @@ extern int ip6_route_get_saddr(struct |
13882 | @@ -88,7 +88,8 @@ extern int ip6_route_get_saddr(struct | ||
13883 | struct rt6_info *rt, | 12360 | struct rt6_info *rt, |
13884 | const struct in6_addr *daddr, | 12361 | const struct in6_addr *daddr, |
13885 | unsigned int prefs, | 12362 | unsigned int prefs, |
@@ -13889,11 +12366,11 @@ diff -NurpP --minimal linux-3.4.57/include/net/ip6_route.h linux-3.4.57-vs2.3.3. | |||
13889 | 12366 | ||
13890 | extern struct rt6_info *rt6_lookup(struct net *net, | 12367 | extern struct rt6_info *rt6_lookup(struct net *net, |
13891 | const struct in6_addr *daddr, | 12368 | const struct in6_addr *daddr, |
13892 | diff -NurpP --minimal linux-3.4.57/include/net/route.h linux-3.4.57-vs2.3.3.9/include/net/route.h | 12369 | diff -NurpP --minimal linux-3.10.17/include/net/route.h linux-3.10.17-vs2.3.6.6/include/net/route.h |
13893 | --- linux-3.4.57/include/net/route.h 2012-03-19 18:47:29.000000000 +0000 | 12370 | --- linux-3.10.17/include/net/route.h 2013-02-19 13:58:52.000000000 +0000 |
13894 | +++ linux-3.4.57-vs2.3.3.9/include/net/route.h 2012-05-21 16:15:05.000000000 +0000 | 12371 | +++ linux-3.10.17-vs2.3.6.6/include/net/route.h 2013-08-22 20:30:00.000000000 +0000 |
13895 | @@ -202,6 +202,9 @@ static inline void ip_rt_put(struct rtab | 12372 | @@ -207,6 +207,9 @@ static inline void ip_rt_put(struct rtab |
13896 | dst_release(&rt->dst); | 12373 | dst_release(&rt->dst); |
13897 | } | 12374 | } |
13898 | 12375 | ||
13899 | +#include <linux/vs_base.h> | 12376 | +#include <linux/vs_base.h> |
@@ -13902,7 +12379,7 @@ diff -NurpP --minimal linux-3.4.57/include/net/route.h linux-3.4.57-vs2.3.3.9/in | |||
13902 | #define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3) | 12379 | #define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3) |
13903 | 12380 | ||
13904 | extern const __u8 ip_tos2prio[16]; | 12381 | extern const __u8 ip_tos2prio[16]; |
13905 | @@ -253,6 +256,9 @@ static inline void ip_route_connect_init | 12382 | @@ -256,6 +259,9 @@ static inline void ip_route_connect_init |
13906 | protocol, flow_flags, dst, src, dport, sport); | 12383 | protocol, flow_flags, dst, src, dport, sport); |
13907 | } | 12384 | } |
13908 | 12385 | ||
@@ -13912,7 +12389,7 @@ diff -NurpP --minimal linux-3.4.57/include/net/route.h linux-3.4.57-vs2.3.3.9/in | |||
13912 | static inline struct rtable *ip_route_connect(struct flowi4 *fl4, | 12389 | static inline struct rtable *ip_route_connect(struct flowi4 *fl4, |
13913 | __be32 dst, __be32 src, u32 tos, | 12390 | __be32 dst, __be32 src, u32 tos, |
13914 | int oif, u8 protocol, | 12391 | int oif, u8 protocol, |
13915 | @@ -261,11 +267,25 @@ static inline struct rtable *ip_route_co | 12392 | @@ -264,11 +270,25 @@ static inline struct rtable *ip_route_co |
13916 | { | 12393 | { |
13917 | struct net *net = sock_net(sk); | 12394 | struct net *net = sock_net(sk); |
13918 | struct rtable *rt; | 12395 | struct rtable *rt; |
@@ -13939,21 +12416,21 @@ diff -NurpP --minimal linux-3.4.57/include/net/route.h linux-3.4.57-vs2.3.3.9/in | |||
13939 | rt = __ip_route_output_key(net, fl4); | 12416 | rt = __ip_route_output_key(net, fl4); |
13940 | if (IS_ERR(rt)) | 12417 | if (IS_ERR(rt)) |
13941 | return rt; | 12418 | return rt; |
13942 | diff -NurpP --minimal linux-3.4.57/include/net/sock.h linux-3.4.57-vs2.3.3.9/include/net/sock.h | 12419 | diff -NurpP --minimal linux-3.10.17/include/net/sock.h linux-3.10.17-vs2.3.6.6/include/net/sock.h |
13943 | --- linux-3.4.57/include/net/sock.h 2013-08-13 14:13:36.000000000 +0000 | 12420 | --- linux-3.10.17/include/net/sock.h 2013-07-14 17:01:33.000000000 +0000 |
13944 | +++ linux-3.4.57-vs2.3.3.9/include/net/sock.h 2013-07-14 13:38:35.000000000 +0000 | 12421 | +++ linux-3.10.17-vs2.3.6.6/include/net/sock.h 2013-08-22 20:30:00.000000000 +0000 |
13945 | @@ -170,6 +170,10 @@ struct sock_common { | 12422 | @@ -191,6 +191,10 @@ struct sock_common { |
13946 | #ifdef CONFIG_NET_NS | 12423 | #ifdef CONFIG_NET_NS |
13947 | struct net *skc_net; | 12424 | struct net *skc_net; |
13948 | #endif | 12425 | #endif |
13949 | + xid_t skc_xid; | 12426 | + vxid_t skc_xid; |
13950 | + struct vx_info *skc_vx_info; | 12427 | + struct vx_info *skc_vx_info; |
13951 | + nid_t skc_nid; | 12428 | + vnid_t skc_nid; |
13952 | + struct nx_info *skc_nx_info; | 12429 | + struct nx_info *skc_nx_info; |
13953 | /* | 12430 | /* |
13954 | * fields between dontcopy_begin/dontcopy_end | 12431 | * fields between dontcopy_begin/dontcopy_end |
13955 | * are not copied in sock_copy() | 12432 | * are not copied in sock_copy() |
13956 | @@ -282,6 +286,10 @@ struct sock { | 12433 | @@ -304,6 +308,10 @@ struct sock { |
13957 | #define sk_bind_node __sk_common.skc_bind_node | 12434 | #define sk_bind_node __sk_common.skc_bind_node |
13958 | #define sk_prot __sk_common.skc_prot | 12435 | #define sk_prot __sk_common.skc_prot |
13959 | #define sk_net __sk_common.skc_net | 12436 | #define sk_net __sk_common.skc_net |
@@ -13964,10 +12441,1200 @@ diff -NurpP --minimal linux-3.4.57/include/net/sock.h linux-3.4.57-vs2.3.3.9/inc | |||
13964 | socket_lock_t sk_lock; | 12441 | socket_lock_t sk_lock; |
13965 | struct sk_buff_head sk_receive_queue; | 12442 | struct sk_buff_head sk_receive_queue; |
13966 | /* | 12443 | /* |
13967 | diff -NurpP --minimal linux-3.4.57/init/Kconfig linux-3.4.57-vs2.3.3.9/init/Kconfig | 12444 | diff -NurpP --minimal linux-3.10.17/include/uapi/Kbuild linux-3.10.17-vs2.3.6.6/include/uapi/Kbuild |
13968 | --- linux-3.4.57/init/Kconfig 2012-05-21 16:07:33.000000000 +0000 | 12445 | --- linux-3.10.17/include/uapi/Kbuild 2012-12-11 03:30:57.000000000 +0000 |
13969 | +++ linux-3.4.57-vs2.3.3.9/init/Kconfig 2012-05-21 16:15:05.000000000 +0000 | 12446 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/Kbuild 2013-08-22 20:30:00.000000000 +0000 |
13970 | @@ -579,6 +579,7 @@ config HAVE_UNSTABLE_SCHED_CLOCK | 12447 | @@ -12,3 +12,4 @@ header-y += video/ |
12448 | header-y += drm/ | ||
12449 | header-y += xen/ | ||
12450 | header-y += scsi/ | ||
12451 | +header-y += vserver/ | ||
12452 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/capability.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/capability.h | ||
12453 | --- linux-3.10.17/include/uapi/linux/capability.h 2012-12-11 03:30:57.000000000 +0000 | ||
12454 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/capability.h 2013-08-22 20:30:00.000000000 +0000 | ||
12455 | @@ -259,6 +259,7 @@ struct vfs_cap_data { | ||
12456 | arbitrary SCSI commands */ | ||
12457 | /* Allow setting encryption key on loopback filesystem */ | ||
12458 | /* Allow setting zone reclaim policy */ | ||
12459 | +/* Allow the selection of a security context */ | ||
12460 | |||
12461 | #define CAP_SYS_ADMIN 21 | ||
12462 | |||
12463 | @@ -345,7 +346,12 @@ struct vfs_cap_data { | ||
12464 | |||
12465 | #define CAP_LAST_CAP CAP_BLOCK_SUSPEND | ||
12466 | |||
12467 | -#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) | ||
12468 | +/* Allow context manipulations */ | ||
12469 | +/* Allow changing context info on files */ | ||
12470 | + | ||
12471 | +#define CAP_CONTEXT 63 | ||
12472 | + | ||
12473 | +#define cap_valid(x) ((x) >= 0 && ((x) <= CAP_LAST_CAP || (x) == CAP_CONTEXT)) | ||
12474 | |||
12475 | /* | ||
12476 | * Bit location of each capability (used by user-space library and kernel) | ||
12477 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/fs.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/fs.h | ||
12478 | --- linux-3.10.17/include/uapi/linux/fs.h 2013-07-14 17:01:34.000000000 +0000 | ||
12479 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/fs.h 2013-08-22 20:30:00.000000000 +0000 | ||
12480 | @@ -86,6 +86,9 @@ struct inodes_stat_t { | ||
12481 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ | ||
12482 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ | ||
12483 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ | ||
12484 | +#define MS_TAGGED (1<<8) /* use generic inode tagging */ | ||
12485 | +#define MS_NOTAGCHECK (1<<9) /* don't check tags */ | ||
12486 | +#define MS_TAGID (1<<25) /* use specific tag for this mount */ | ||
12487 | |||
12488 | /* These sb flags are internal to the kernel */ | ||
12489 | #define MS_NOSEC (1<<28) | ||
12490 | @@ -191,11 +194,14 @@ struct inodes_stat_t { | ||
12491 | #define FS_EXTENT_FL 0x00080000 /* Extents */ | ||
12492 | #define FS_DIRECTIO_FL 0x00100000 /* Use direct i/o */ | ||
12493 | #define FS_NOCOW_FL 0x00800000 /* Do not cow file */ | ||
12494 | +#define FS_IXUNLINK_FL 0x08000000 /* Immutable invert on unlink */ | ||
12495 | #define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ | ||
12496 | |||
12497 | -#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ | ||
12498 | -#define FS_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ | ||
12499 | +#define FS_BARRIER_FL 0x04000000 /* Barrier for chroot() */ | ||
12500 | +#define FS_COW_FL 0x20000000 /* Copy on Write marker */ | ||
12501 | |||
12502 | +#define FS_FL_USER_VISIBLE 0x0103DFFF /* User visible flags */ | ||
12503 | +#define FS_FL_USER_MODIFIABLE 0x010380FF /* User modifiable flags */ | ||
12504 | |||
12505 | #define SYNC_FILE_RANGE_WAIT_BEFORE 1 | ||
12506 | #define SYNC_FILE_RANGE_WRITE 2 | ||
12507 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/gfs2_ondisk.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/gfs2_ondisk.h | ||
12508 | --- linux-3.10.17/include/uapi/linux/gfs2_ondisk.h 2012-12-11 03:30:57.000000000 +0000 | ||
12509 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/gfs2_ondisk.h 2013-08-22 20:30:00.000000000 +0000 | ||
12510 | @@ -225,6 +225,9 @@ enum { | ||
12511 | gfs2fl_Sync = 8, | ||
12512 | gfs2fl_System = 9, | ||
12513 | gfs2fl_TopLevel = 10, | ||
12514 | + gfs2fl_IXUnlink = 16, | ||
12515 | + gfs2fl_Barrier = 17, | ||
12516 | + gfs2fl_Cow = 18, | ||
12517 | gfs2fl_TruncInProg = 29, | ||
12518 | gfs2fl_InheritDirectio = 30, | ||
12519 | gfs2fl_InheritJdata = 31, | ||
12520 | @@ -242,6 +245,9 @@ enum { | ||
12521 | #define GFS2_DIF_SYNC 0x00000100 | ||
12522 | #define GFS2_DIF_SYSTEM 0x00000200 /* New in gfs2 */ | ||
12523 | #define GFS2_DIF_TOPDIR 0x00000400 /* New in gfs2 */ | ||
12524 | +#define GFS2_DIF_IXUNLINK 0x00010000 | ||
12525 | +#define GFS2_DIF_BARRIER 0x00020000 | ||
12526 | +#define GFS2_DIF_COW 0x00040000 | ||
12527 | #define GFS2_DIF_TRUNC_IN_PROG 0x20000000 /* New in gfs2 */ | ||
12528 | #define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 /* only in gfs1 */ | ||
12529 | #define GFS2_DIF_INHERIT_JDATA 0x80000000 | ||
12530 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/if_tun.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/if_tun.h | ||
12531 | --- linux-3.10.17/include/uapi/linux/if_tun.h 2013-02-19 13:58:55.000000000 +0000 | ||
12532 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/if_tun.h 2013-08-22 20:30:00.000000000 +0000 | ||
12533 | @@ -56,6 +56,7 @@ | ||
12534 | #define TUNGETVNETHDRSZ _IOR('T', 215, int) | ||
12535 | #define TUNSETVNETHDRSZ _IOW('T', 216, int) | ||
12536 | #define TUNSETQUEUE _IOW('T', 217, int) | ||
12537 | +#define TUNSETNID _IOW('T', 218, int) | ||
12538 | |||
12539 | /* TUNSETIFF ifr flags */ | ||
12540 | #define IFF_TUN 0x0001 | ||
12541 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/major.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/major.h | ||
12542 | --- linux-3.10.17/include/uapi/linux/major.h 2012-12-11 03:30:57.000000000 +0000 | ||
12543 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/major.h 2013-08-22 20:30:00.000000000 +0000 | ||
12544 | @@ -15,6 +15,7 @@ | ||
12545 | #define HD_MAJOR IDE0_MAJOR | ||
12546 | #define PTY_SLAVE_MAJOR 3 | ||
12547 | #define TTY_MAJOR 4 | ||
12548 | +#define VROOT_MAJOR 4 | ||
12549 | #define TTYAUX_MAJOR 5 | ||
12550 | #define LP_MAJOR 6 | ||
12551 | #define VCS_MAJOR 7 | ||
12552 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/nfs_mount.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/nfs_mount.h | ||
12553 | --- linux-3.10.17/include/uapi/linux/nfs_mount.h 2012-12-11 03:30:57.000000000 +0000 | ||
12554 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/nfs_mount.h 2013-08-22 20:30:00.000000000 +0000 | ||
12555 | @@ -63,7 +63,8 @@ struct nfs_mount_data { | ||
12556 | #define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */ | ||
12557 | #define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */ | ||
12558 | #define NFS_MOUNT_UNSHARED 0x8000 /* 5 */ | ||
12559 | -#define NFS_MOUNT_FLAGMASK 0xFFFF | ||
12560 | +#define NFS_MOUNT_TAGGED 0x10000 /* context tagging */ | ||
12561 | +#define NFS_MOUNT_FLAGMASK 0x1FFFF | ||
12562 | |||
12563 | /* The following are for internal use only */ | ||
12564 | #define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000 | ||
12565 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/reboot.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/reboot.h | ||
12566 | --- linux-3.10.17/include/uapi/linux/reboot.h 2012-12-11 03:30:57.000000000 +0000 | ||
12567 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/reboot.h 2013-08-22 20:30:00.000000000 +0000 | ||
12568 | @@ -33,7 +33,7 @@ | ||
12569 | #define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4 | ||
12570 | #define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2 | ||
12571 | #define LINUX_REBOOT_CMD_KEXEC 0x45584543 | ||
12572 | - | ||
12573 | +#define LINUX_REBOOT_CMD_OOM 0xDEADBEEF | ||
12574 | |||
12575 | |||
12576 | #endif /* _UAPI_LINUX_REBOOT_H */ | ||
12577 | diff -NurpP --minimal linux-3.10.17/include/uapi/linux/sysctl.h linux-3.10.17-vs2.3.6.6/include/uapi/linux/sysctl.h | ||
12578 | --- linux-3.10.17/include/uapi/linux/sysctl.h 2012-12-11 03:30:57.000000000 +0000 | ||
12579 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/linux/sysctl.h 2013-08-22 20:30:00.000000000 +0000 | ||
12580 | @@ -60,6 +60,7 @@ enum | ||
12581 | CTL_ABI=9, /* Binary emulation */ | ||
12582 | CTL_CPU=10, /* CPU stuff (speed scaling, etc) */ | ||
12583 | CTL_ARLAN=254, /* arlan wireless driver */ | ||
12584 | + CTL_VSERVER=4242, /* Linux-VServer debug */ | ||
12585 | CTL_S390DBF=5677, /* s390 debug */ | ||
12586 | CTL_SUNRPC=7249, /* sunrpc debug */ | ||
12587 | CTL_PM=9899, /* frv power management */ | ||
12588 | @@ -94,6 +95,7 @@ enum | ||
12589 | |||
12590 | KERN_PANIC=15, /* int: panic timeout */ | ||
12591 | KERN_REALROOTDEV=16, /* real root device to mount after initrd */ | ||
12592 | + KERN_VSHELPER=17, /* string: path to vshelper policy agent */ | ||
12593 | |||
12594 | KERN_SPARC_REBOOT=21, /* reboot command on Sparc */ | ||
12595 | KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */ | ||
12596 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/Kbuild linux-3.10.17-vs2.3.6.6/include/uapi/vserver/Kbuild | ||
12597 | --- linux-3.10.17/include/uapi/vserver/Kbuild 1970-01-01 00:00:00.000000000 +0000 | ||
12598 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/Kbuild 2013-08-22 20:30:00.000000000 +0000 | ||
12599 | @@ -0,0 +1,9 @@ | ||
12600 | + | ||
12601 | +header-y += context_cmd.h network_cmd.h space_cmd.h \ | ||
12602 | + cacct_cmd.h cvirt_cmd.h limit_cmd.h dlimit_cmd.h \ | ||
12603 | + inode_cmd.h tag_cmd.h sched_cmd.h signal_cmd.h \ | ||
12604 | + debug_cmd.h device_cmd.h | ||
12605 | + | ||
12606 | +header-y += switch.h context.h network.h monitor.h \ | ||
12607 | + limit.h inode.h device.h | ||
12608 | + | ||
12609 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/cacct_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/cacct_cmd.h | ||
12610 | --- linux-3.10.17/include/uapi/vserver/cacct_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12611 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/cacct_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12612 | @@ -0,0 +1,15 @@ | ||
12613 | +#ifndef _UAPI_VS_CACCT_CMD_H | ||
12614 | +#define _UAPI_VS_CACCT_CMD_H | ||
12615 | + | ||
12616 | + | ||
12617 | +/* virtual host info name commands */ | ||
12618 | + | ||
12619 | +#define VCMD_sock_stat VC_CMD(VSTAT, 5, 0) | ||
12620 | + | ||
12621 | +struct vcmd_sock_stat_v0 { | ||
12622 | + uint32_t field; | ||
12623 | + uint32_t count[3]; | ||
12624 | + uint64_t total[3]; | ||
12625 | +}; | ||
12626 | + | ||
12627 | +#endif /* _UAPI_VS_CACCT_CMD_H */ | ||
12628 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/context.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/context.h | ||
12629 | --- linux-3.10.17/include/uapi/vserver/context.h 1970-01-01 00:00:00.000000000 +0000 | ||
12630 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/context.h 2013-08-22 20:30:00.000000000 +0000 | ||
12631 | @@ -0,0 +1,81 @@ | ||
12632 | +#ifndef _UAPI_VS_CONTEXT_H | ||
12633 | +#define _UAPI_VS_CONTEXT_H | ||
12634 | + | ||
12635 | +#include <linux/types.h> | ||
12636 | +#include <linux/capability.h> | ||
12637 | + | ||
12638 | + | ||
12639 | +/* context flags */ | ||
12640 | + | ||
12641 | +#define VXF_INFO_SCHED 0x00000002 | ||
12642 | +#define VXF_INFO_NPROC 0x00000004 | ||
12643 | +#define VXF_INFO_PRIVATE 0x00000008 | ||
12644 | + | ||
12645 | +#define VXF_INFO_INIT 0x00000010 | ||
12646 | +#define VXF_INFO_HIDE 0x00000020 | ||
12647 | +#define VXF_INFO_ULIMIT 0x00000040 | ||
12648 | +#define VXF_INFO_NSPACE 0x00000080 | ||
12649 | + | ||
12650 | +#define VXF_SCHED_HARD 0x00000100 | ||
12651 | +#define VXF_SCHED_PRIO 0x00000200 | ||
12652 | +#define VXF_SCHED_PAUSE 0x00000400 | ||
12653 | + | ||
12654 | +#define VXF_VIRT_MEM 0x00010000 | ||
12655 | +#define VXF_VIRT_UPTIME 0x00020000 | ||
12656 | +#define VXF_VIRT_CPU 0x00040000 | ||
12657 | +#define VXF_VIRT_LOAD 0x00080000 | ||
12658 | +#define VXF_VIRT_TIME 0x00100000 | ||
12659 | + | ||
12660 | +#define VXF_HIDE_MOUNT 0x01000000 | ||
12661 | +/* was VXF_HIDE_NETIF 0x02000000 */ | ||
12662 | +#define VXF_HIDE_VINFO 0x04000000 | ||
12663 | + | ||
12664 | +#define VXF_STATE_SETUP (1ULL << 32) | ||
12665 | +#define VXF_STATE_INIT (1ULL << 33) | ||
12666 | +#define VXF_STATE_ADMIN (1ULL << 34) | ||
12667 | + | ||
12668 | +#define VXF_SC_HELPER (1ULL << 36) | ||
12669 | +#define VXF_REBOOT_KILL (1ULL << 37) | ||
12670 | +#define VXF_PERSISTENT (1ULL << 38) | ||
12671 | + | ||
12672 | +#define VXF_FORK_RSS (1ULL << 48) | ||
12673 | +#define VXF_PROLIFIC (1ULL << 49) | ||
12674 | + | ||
12675 | +#define VXF_IGNEG_NICE (1ULL << 52) | ||
12676 | + | ||
12677 | +#define VXF_ONE_TIME (0x0007ULL << 32) | ||
12678 | + | ||
12679 | +#define VXF_INIT_SET (VXF_STATE_SETUP | VXF_STATE_INIT | VXF_STATE_ADMIN) | ||
12680 | + | ||
12681 | + | ||
12682 | +/* context migration */ | ||
12683 | + | ||
12684 | +#define VXM_SET_INIT 0x00000001 | ||
12685 | +#define VXM_SET_REAPER 0x00000002 | ||
12686 | + | ||
12687 | +/* context caps */ | ||
12688 | + | ||
12689 | +#define VXC_SET_UTSNAME 0x00000001 | ||
12690 | +#define VXC_SET_RLIMIT 0x00000002 | ||
12691 | +#define VXC_FS_SECURITY 0x00000004 | ||
12692 | +#define VXC_FS_TRUSTED 0x00000008 | ||
12693 | +#define VXC_TIOCSTI 0x00000010 | ||
12694 | + | ||
12695 | +/* was VXC_RAW_ICMP 0x00000100 */ | ||
12696 | +#define VXC_SYSLOG 0x00001000 | ||
12697 | +#define VXC_OOM_ADJUST 0x00002000 | ||
12698 | +#define VXC_AUDIT_CONTROL 0x00004000 | ||
12699 | + | ||
12700 | +/* #define VXC_SECURE_MOUNT 0x00010000 | ||
12701 | +#define VXC_SECURE_REMOUNT 0x00020000 */ | ||
12702 | +#define VXC_BINARY_MOUNT 0x00040000 | ||
12703 | +#define VXC_DEV_MOUNT 0x00080000 | ||
12704 | + | ||
12705 | +#define VXC_QUOTA_CTL 0x00100000 | ||
12706 | +#define VXC_ADMIN_MAPPER 0x00200000 | ||
12707 | +#define VXC_ADMIN_CLOOP 0x00400000 | ||
12708 | + | ||
12709 | +#define VXC_KTHREAD 0x01000000 | ||
12710 | +#define VXC_NAMESPACE 0x02000000 | ||
12711 | + | ||
12712 | +#endif /* _UAPI_VS_CONTEXT_H */ | ||
12713 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/context_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/context_cmd.h | ||
12714 | --- linux-3.10.17/include/uapi/vserver/context_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12715 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/context_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12716 | @@ -0,0 +1,115 @@ | ||
12717 | +#ifndef _UAPI_VS_CONTEXT_CMD_H | ||
12718 | +#define _UAPI_VS_CONTEXT_CMD_H | ||
12719 | + | ||
12720 | + | ||
12721 | +/* vinfo commands */ | ||
12722 | + | ||
12723 | +#define VCMD_task_xid VC_CMD(VINFO, 1, 0) | ||
12724 | + | ||
12725 | + | ||
12726 | +#define VCMD_vx_info VC_CMD(VINFO, 5, 0) | ||
12727 | + | ||
12728 | +struct vcmd_vx_info_v0 { | ||
12729 | + uint32_t xid; | ||
12730 | + uint32_t initpid; | ||
12731 | + /* more to come */ | ||
12732 | +}; | ||
12733 | + | ||
12734 | + | ||
12735 | +#define VCMD_ctx_stat VC_CMD(VSTAT, 0, 0) | ||
12736 | + | ||
12737 | +struct vcmd_ctx_stat_v0 { | ||
12738 | + uint32_t usecnt; | ||
12739 | + uint32_t tasks; | ||
12740 | + /* more to come */ | ||
12741 | +}; | ||
12742 | + | ||
12743 | + | ||
12744 | +/* context commands */ | ||
12745 | + | ||
12746 | +#define VCMD_ctx_create_v0 VC_CMD(VPROC, 1, 0) | ||
12747 | +#define VCMD_ctx_create VC_CMD(VPROC, 1, 1) | ||
12748 | + | ||
12749 | +struct vcmd_ctx_create { | ||
12750 | + uint64_t flagword; | ||
12751 | +}; | ||
12752 | + | ||
12753 | +#define VCMD_ctx_migrate_v0 VC_CMD(PROCMIG, 1, 0) | ||
12754 | +#define VCMD_ctx_migrate VC_CMD(PROCMIG, 1, 1) | ||
12755 | + | ||
12756 | +struct vcmd_ctx_migrate { | ||
12757 | + uint64_t flagword; | ||
12758 | +}; | ||
12759 | + | ||
12760 | + | ||
12761 | + | ||
12762 | +/* flag commands */ | ||
12763 | + | ||
12764 | +#define VCMD_get_cflags VC_CMD(FLAGS, 1, 0) | ||
12765 | +#define VCMD_set_cflags VC_CMD(FLAGS, 2, 0) | ||
12766 | + | ||
12767 | +struct vcmd_ctx_flags_v0 { | ||
12768 | + uint64_t flagword; | ||
12769 | + uint64_t mask; | ||
12770 | +}; | ||
12771 | + | ||
12772 | + | ||
12773 | + | ||
12774 | +/* context caps commands */ | ||
12775 | + | ||
12776 | +#define VCMD_get_ccaps VC_CMD(FLAGS, 3, 1) | ||
12777 | +#define VCMD_set_ccaps VC_CMD(FLAGS, 4, 1) | ||
12778 | + | ||
12779 | +struct vcmd_ctx_caps_v1 { | ||
12780 | + uint64_t ccaps; | ||
12781 | + uint64_t cmask; | ||
12782 | +}; | ||
12783 | + | ||
12784 | + | ||
12785 | + | ||
12786 | +/* bcaps commands */ | ||
12787 | + | ||
12788 | +#define VCMD_get_bcaps VC_CMD(FLAGS, 9, 0) | ||
12789 | +#define VCMD_set_bcaps VC_CMD(FLAGS, 10, 0) | ||
12790 | + | ||
12791 | +struct vcmd_bcaps { | ||
12792 | + uint64_t bcaps; | ||
12793 | + uint64_t bmask; | ||
12794 | +}; | ||
12795 | + | ||
12796 | + | ||
12797 | + | ||
12798 | +/* umask commands */ | ||
12799 | + | ||
12800 | +#define VCMD_get_umask VC_CMD(FLAGS, 13, 0) | ||
12801 | +#define VCMD_set_umask VC_CMD(FLAGS, 14, 0) | ||
12802 | + | ||
12803 | +struct vcmd_umask { | ||
12804 | + uint64_t umask; | ||
12805 | + uint64_t mask; | ||
12806 | +}; | ||
12807 | + | ||
12808 | + | ||
12809 | + | ||
12810 | +/* wmask commands */ | ||
12811 | + | ||
12812 | +#define VCMD_get_wmask VC_CMD(FLAGS, 15, 0) | ||
12813 | +#define VCMD_set_wmask VC_CMD(FLAGS, 16, 0) | ||
12814 | + | ||
12815 | +struct vcmd_wmask { | ||
12816 | + uint64_t wmask; | ||
12817 | + uint64_t mask; | ||
12818 | +}; | ||
12819 | + | ||
12820 | + | ||
12821 | + | ||
12822 | +/* OOM badness */ | ||
12823 | + | ||
12824 | +#define VCMD_get_badness VC_CMD(MEMCTRL, 5, 0) | ||
12825 | +#define VCMD_set_badness VC_CMD(MEMCTRL, 6, 0) | ||
12826 | + | ||
12827 | +struct vcmd_badness_v0 { | ||
12828 | + int64_t bias; | ||
12829 | +}; | ||
12830 | + | ||
12831 | +#endif /* _UAPI_VS_CONTEXT_CMD_H */ | ||
12832 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/cvirt_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/cvirt_cmd.h | ||
12833 | --- linux-3.10.17/include/uapi/vserver/cvirt_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12834 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/cvirt_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12835 | @@ -0,0 +1,41 @@ | ||
12836 | +#ifndef _UAPI_VS_CVIRT_CMD_H | ||
12837 | +#define _UAPI_VS_CVIRT_CMD_H | ||
12838 | + | ||
12839 | + | ||
12840 | +/* virtual host info name commands */ | ||
12841 | + | ||
12842 | +#define VCMD_set_vhi_name VC_CMD(VHOST, 1, 0) | ||
12843 | +#define VCMD_get_vhi_name VC_CMD(VHOST, 2, 0) | ||
12844 | + | ||
12845 | +struct vcmd_vhi_name_v0 { | ||
12846 | + uint32_t field; | ||
12847 | + char name[65]; | ||
12848 | +}; | ||
12849 | + | ||
12850 | + | ||
12851 | +enum vhi_name_field { | ||
12852 | + VHIN_CONTEXT = 0, | ||
12853 | + VHIN_SYSNAME, | ||
12854 | + VHIN_NODENAME, | ||
12855 | + VHIN_RELEASE, | ||
12856 | + VHIN_VERSION, | ||
12857 | + VHIN_MACHINE, | ||
12858 | + VHIN_DOMAINNAME, | ||
12859 | +}; | ||
12860 | + | ||
12861 | + | ||
12862 | + | ||
12863 | +#define VCMD_virt_stat VC_CMD(VSTAT, 3, 0) | ||
12864 | + | ||
12865 | +struct vcmd_virt_stat_v0 { | ||
12866 | + uint64_t offset; | ||
12867 | + uint64_t uptime; | ||
12868 | + uint32_t nr_threads; | ||
12869 | + uint32_t nr_running; | ||
12870 | + uint32_t nr_uninterruptible; | ||
12871 | + uint32_t nr_onhold; | ||
12872 | + uint32_t nr_forks; | ||
12873 | + uint32_t load[3]; | ||
12874 | +}; | ||
12875 | + | ||
12876 | +#endif /* _UAPI_VS_CVIRT_CMD_H */ | ||
12877 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/debug_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/debug_cmd.h | ||
12878 | --- linux-3.10.17/include/uapi/vserver/debug_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12879 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/debug_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12880 | @@ -0,0 +1,24 @@ | ||
12881 | +#ifndef _UAPI_VS_DEBUG_CMD_H | ||
12882 | +#define _UAPI_VS_DEBUG_CMD_H | ||
12883 | + | ||
12884 | + | ||
12885 | +/* debug commands */ | ||
12886 | + | ||
12887 | +#define VCMD_dump_history VC_CMD(DEBUG, 1, 0) | ||
12888 | + | ||
12889 | +#define VCMD_read_history VC_CMD(DEBUG, 5, 0) | ||
12890 | +#define VCMD_read_monitor VC_CMD(DEBUG, 6, 0) | ||
12891 | + | ||
12892 | +struct vcmd_read_history_v0 { | ||
12893 | + uint32_t index; | ||
12894 | + uint32_t count; | ||
12895 | + char __user *data; | ||
12896 | +}; | ||
12897 | + | ||
12898 | +struct vcmd_read_monitor_v0 { | ||
12899 | + uint32_t index; | ||
12900 | + uint32_t count; | ||
12901 | + char __user *data; | ||
12902 | +}; | ||
12903 | + | ||
12904 | +#endif /* _UAPI_VS_DEBUG_CMD_H */ | ||
12905 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/device.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/device.h | ||
12906 | --- linux-3.10.17/include/uapi/vserver/device.h 1970-01-01 00:00:00.000000000 +0000 | ||
12907 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/device.h 2013-08-22 20:30:00.000000000 +0000 | ||
12908 | @@ -0,0 +1,12 @@ | ||
12909 | +#ifndef _UAPI_VS_DEVICE_H | ||
12910 | +#define _UAPI_VS_DEVICE_H | ||
12911 | + | ||
12912 | + | ||
12913 | +#define DATTR_CREATE 0x00000001 | ||
12914 | +#define DATTR_OPEN 0x00000002 | ||
12915 | + | ||
12916 | +#define DATTR_REMAP 0x00000010 | ||
12917 | + | ||
12918 | +#define DATTR_MASK 0x00000013 | ||
12919 | + | ||
12920 | +#endif /* _UAPI_VS_DEVICE_H */ | ||
12921 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/device_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/device_cmd.h | ||
12922 | --- linux-3.10.17/include/uapi/vserver/device_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12923 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/device_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12924 | @@ -0,0 +1,16 @@ | ||
12925 | +#ifndef _UAPI_VS_DEVICE_CMD_H | ||
12926 | +#define _UAPI_VS_DEVICE_CMD_H | ||
12927 | + | ||
12928 | + | ||
12929 | +/* device vserver commands */ | ||
12930 | + | ||
12931 | +#define VCMD_set_mapping VC_CMD(DEVICE, 1, 0) | ||
12932 | +#define VCMD_unset_mapping VC_CMD(DEVICE, 2, 0) | ||
12933 | + | ||
12934 | +struct vcmd_set_mapping_v0 { | ||
12935 | + const char __user *device; | ||
12936 | + const char __user *target; | ||
12937 | + uint32_t flags; | ||
12938 | +}; | ||
12939 | + | ||
12940 | +#endif /* _UAPI_VS_DEVICE_CMD_H */ | ||
12941 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/dlimit_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/dlimit_cmd.h | ||
12942 | --- linux-3.10.17/include/uapi/vserver/dlimit_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
12943 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/dlimit_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
12944 | @@ -0,0 +1,67 @@ | ||
12945 | +#ifndef _UAPI_VS_DLIMIT_CMD_H | ||
12946 | +#define _UAPI_VS_DLIMIT_CMD_H | ||
12947 | + | ||
12948 | + | ||
12949 | +/* dlimit vserver commands */ | ||
12950 | + | ||
12951 | +#define VCMD_add_dlimit VC_CMD(DLIMIT, 1, 0) | ||
12952 | +#define VCMD_rem_dlimit VC_CMD(DLIMIT, 2, 0) | ||
12953 | + | ||
12954 | +#define VCMD_set_dlimit VC_CMD(DLIMIT, 5, 0) | ||
12955 | +#define VCMD_get_dlimit VC_CMD(DLIMIT, 6, 0) | ||
12956 | + | ||
12957 | +struct vcmd_ctx_dlimit_base_v0 { | ||
12958 | + const char __user *name; | ||
12959 | + uint32_t flags; | ||
12960 | +}; | ||
12961 | + | ||
12962 | +struct vcmd_ctx_dlimit_v0 { | ||
12963 | + const char __user *name; | ||
12964 | + uint32_t space_used; /* used space in kbytes */ | ||
12965 | + uint32_t space_total; /* maximum space in kbytes */ | ||
12966 | + uint32_t inodes_used; /* used inodes */ | ||
12967 | + uint32_t inodes_total; /* maximum inodes */ | ||
12968 | + uint32_t reserved; /* reserved for root in % */ | ||
12969 | + uint32_t flags; | ||
12970 | +}; | ||
12971 | + | ||
12972 | +#define CDLIM_UNSET ((uint32_t)0UL) | ||
12973 | +#define CDLIM_INFINITY ((uint32_t)~0UL) | ||
12974 | +#define CDLIM_KEEP ((uint32_t)~1UL) | ||
12975 | + | ||
12976 | +#define DLIME_UNIT 0 | ||
12977 | +#define DLIME_KILO 1 | ||
12978 | +#define DLIME_MEGA 2 | ||
12979 | +#define DLIME_GIGA 3 | ||
12980 | + | ||
12981 | +#define DLIMF_SHIFT 0x10 | ||
12982 | + | ||
12983 | +#define DLIMS_USED 0 | ||
12984 | +#define DLIMS_TOTAL 2 | ||
12985 | + | ||
12986 | +static inline | ||
12987 | +uint64_t dlimit_space_32to64(uint32_t val, uint32_t flags, int shift) | ||
12988 | +{ | ||
12989 | + int exp = (flags & DLIMF_SHIFT) ? | ||
12990 | + (flags >> shift) & DLIME_GIGA : DLIME_KILO; | ||
12991 | + return ((uint64_t)val) << (10 * exp); | ||
12992 | +} | ||
12993 | + | ||
12994 | +static inline | ||
12995 | +uint32_t dlimit_space_64to32(uint64_t val, uint32_t *flags, int shift) | ||
12996 | +{ | ||
12997 | + int exp = 0; | ||
12998 | + | ||
12999 | + if (*flags & DLIMF_SHIFT) { | ||
13000 | + while (val > (1LL << 32) && (exp < 3)) { | ||
13001 | + val >>= 10; | ||
13002 | + exp++; | ||
13003 | + } | ||
13004 | + *flags &= ~(DLIME_GIGA << shift); | ||
13005 | + *flags |= exp << shift; | ||
13006 | + } else | ||
13007 | + val >>= 10; | ||
13008 | + return val; | ||
13009 | +} | ||
13010 | + | ||
13011 | +#endif /* _UAPI_VS_DLIMIT_CMD_H */ | ||
13012 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/inode.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/inode.h | ||
13013 | --- linux-3.10.17/include/uapi/vserver/inode.h 1970-01-01 00:00:00.000000000 +0000 | ||
13014 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/inode.h 2013-08-22 20:30:00.000000000 +0000 | ||
13015 | @@ -0,0 +1,23 @@ | ||
13016 | +#ifndef _UAPI_VS_INODE_H | ||
13017 | +#define _UAPI_VS_INODE_H | ||
13018 | + | ||
13019 | + | ||
13020 | +#define IATTR_TAG 0x01000000 | ||
13021 | + | ||
13022 | +#define IATTR_ADMIN 0x00000001 | ||
13023 | +#define IATTR_WATCH 0x00000002 | ||
13024 | +#define IATTR_HIDE 0x00000004 | ||
13025 | +#define IATTR_FLAGS 0x00000007 | ||
13026 | + | ||
13027 | +#define IATTR_BARRIER 0x00010000 | ||
13028 | +#define IATTR_IXUNLINK 0x00020000 | ||
13029 | +#define IATTR_IMMUTABLE 0x00040000 | ||
13030 | +#define IATTR_COW 0x00080000 | ||
13031 | + | ||
13032 | + | ||
13033 | +/* inode ioctls */ | ||
13034 | + | ||
13035 | +#define FIOC_GETXFLG _IOR('x', 5, long) | ||
13036 | +#define FIOC_SETXFLG _IOW('x', 6, long) | ||
13037 | + | ||
13038 | +#endif /* _UAPI_VS_INODE_H */ | ||
13039 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/inode_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/inode_cmd.h | ||
13040 | --- linux-3.10.17/include/uapi/vserver/inode_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13041 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/inode_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13042 | @@ -0,0 +1,26 @@ | ||
13043 | +#ifndef _UAPI_VS_INODE_CMD_H | ||
13044 | +#define _UAPI_VS_INODE_CMD_H | ||
13045 | + | ||
13046 | + | ||
13047 | +/* inode vserver commands */ | ||
13048 | + | ||
13049 | +#define VCMD_get_iattr VC_CMD(INODE, 1, 1) | ||
13050 | +#define VCMD_set_iattr VC_CMD(INODE, 2, 1) | ||
13051 | + | ||
13052 | +#define VCMD_fget_iattr VC_CMD(INODE, 3, 0) | ||
13053 | +#define VCMD_fset_iattr VC_CMD(INODE, 4, 0) | ||
13054 | + | ||
13055 | +struct vcmd_ctx_iattr_v1 { | ||
13056 | + const char __user *name; | ||
13057 | + uint32_t tag; | ||
13058 | + uint32_t flags; | ||
13059 | + uint32_t mask; | ||
13060 | +}; | ||
13061 | + | ||
13062 | +struct vcmd_ctx_fiattr_v0 { | ||
13063 | + uint32_t tag; | ||
13064 | + uint32_t flags; | ||
13065 | + uint32_t mask; | ||
13066 | +}; | ||
13067 | + | ||
13068 | +#endif /* _UAPI_VS_INODE_CMD_H */ | ||
13069 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/limit.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/limit.h | ||
13070 | --- linux-3.10.17/include/uapi/vserver/limit.h 1970-01-01 00:00:00.000000000 +0000 | ||
13071 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/limit.h 2013-08-22 20:30:00.000000000 +0000 | ||
13072 | @@ -0,0 +1,14 @@ | ||
13073 | +#ifndef _UAPI_VS_LIMIT_H | ||
13074 | +#define _UAPI_VS_LIMIT_H | ||
13075 | + | ||
13076 | + | ||
13077 | +#define VLIMIT_NSOCK 16 | ||
13078 | +#define VLIMIT_OPENFD 17 | ||
13079 | +#define VLIMIT_ANON 18 | ||
13080 | +#define VLIMIT_SHMEM 19 | ||
13081 | +#define VLIMIT_SEMARY 20 | ||
13082 | +#define VLIMIT_NSEMS 21 | ||
13083 | +#define VLIMIT_DENTRY 22 | ||
13084 | +#define VLIMIT_MAPPED 23 | ||
13085 | + | ||
13086 | +#endif /* _UAPI_VS_LIMIT_H */ | ||
13087 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/limit_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/limit_cmd.h | ||
13088 | --- linux-3.10.17/include/uapi/vserver/limit_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13089 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/limit_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13090 | @@ -0,0 +1,40 @@ | ||
13091 | +#ifndef _UAPI_VS_LIMIT_CMD_H | ||
13092 | +#define _UAPI_VS_LIMIT_CMD_H | ||
13093 | + | ||
13094 | + | ||
13095 | +/* rlimit vserver commands */ | ||
13096 | + | ||
13097 | +#define VCMD_get_rlimit VC_CMD(RLIMIT, 1, 0) | ||
13098 | +#define VCMD_set_rlimit VC_CMD(RLIMIT, 2, 0) | ||
13099 | +#define VCMD_get_rlimit_mask VC_CMD(RLIMIT, 3, 0) | ||
13100 | +#define VCMD_reset_hits VC_CMD(RLIMIT, 7, 0) | ||
13101 | +#define VCMD_reset_minmax VC_CMD(RLIMIT, 9, 0) | ||
13102 | + | ||
13103 | +struct vcmd_ctx_rlimit_v0 { | ||
13104 | + uint32_t id; | ||
13105 | + uint64_t minimum; | ||
13106 | + uint64_t softlimit; | ||
13107 | + uint64_t maximum; | ||
13108 | +}; | ||
13109 | + | ||
13110 | +struct vcmd_ctx_rlimit_mask_v0 { | ||
13111 | + uint32_t minimum; | ||
13112 | + uint32_t softlimit; | ||
13113 | + uint32_t maximum; | ||
13114 | +}; | ||
13115 | + | ||
13116 | +#define VCMD_rlimit_stat VC_CMD(VSTAT, 1, 0) | ||
13117 | + | ||
13118 | +struct vcmd_rlimit_stat_v0 { | ||
13119 | + uint32_t id; | ||
13120 | + uint32_t hits; | ||
13121 | + uint64_t value; | ||
13122 | + uint64_t minimum; | ||
13123 | + uint64_t maximum; | ||
13124 | +}; | ||
13125 | + | ||
13126 | +#define CRLIM_UNSET (0ULL) | ||
13127 | +#define CRLIM_INFINITY (~0ULL) | ||
13128 | +#define CRLIM_KEEP (~1ULL) | ||
13129 | + | ||
13130 | +#endif /* _UAPI_VS_LIMIT_CMD_H */ | ||
13131 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/monitor.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/monitor.h | ||
13132 | --- linux-3.10.17/include/uapi/vserver/monitor.h 1970-01-01 00:00:00.000000000 +0000 | ||
13133 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/monitor.h 2013-08-22 20:30:00.000000000 +0000 | ||
13134 | @@ -0,0 +1,96 @@ | ||
13135 | +#ifndef _UAPI_VS_MONITOR_H | ||
13136 | +#define _UAPI_VS_MONITOR_H | ||
13137 | + | ||
13138 | +#include <linux/types.h> | ||
13139 | + | ||
13140 | + | ||
13141 | +enum { | ||
13142 | + VXM_UNUSED = 0, | ||
13143 | + | ||
13144 | + VXM_SYNC = 0x10, | ||
13145 | + | ||
13146 | + VXM_UPDATE = 0x20, | ||
13147 | + VXM_UPDATE_1, | ||
13148 | + VXM_UPDATE_2, | ||
13149 | + | ||
13150 | + VXM_RQINFO_1 = 0x24, | ||
13151 | + VXM_RQINFO_2, | ||
13152 | + | ||
13153 | + VXM_ACTIVATE = 0x40, | ||
13154 | + VXM_DEACTIVATE, | ||
13155 | + VXM_IDLE, | ||
13156 | + | ||
13157 | + VXM_HOLD = 0x44, | ||
13158 | + VXM_UNHOLD, | ||
13159 | + | ||
13160 | + VXM_MIGRATE = 0x48, | ||
13161 | + VXM_RESCHED, | ||
13162 | + | ||
13163 | + /* all other bits are flags */ | ||
13164 | + VXM_SCHED = 0x80, | ||
13165 | +}; | ||
13166 | + | ||
13167 | +struct _vxm_update_1 { | ||
13168 | + uint32_t tokens_max; | ||
13169 | + uint32_t fill_rate; | ||
13170 | + uint32_t interval; | ||
13171 | +}; | ||
13172 | + | ||
13173 | +struct _vxm_update_2 { | ||
13174 | + uint32_t tokens_min; | ||
13175 | + uint32_t fill_rate; | ||
13176 | + uint32_t interval; | ||
13177 | +}; | ||
13178 | + | ||
13179 | +struct _vxm_rqinfo_1 { | ||
13180 | + uint16_t running; | ||
13181 | + uint16_t onhold; | ||
13182 | + uint16_t iowait; | ||
13183 | + uint16_t uintr; | ||
13184 | + uint32_t idle_tokens; | ||
13185 | +}; | ||
13186 | + | ||
13187 | +struct _vxm_rqinfo_2 { | ||
13188 | + uint32_t norm_time; | ||
13189 | + uint32_t idle_time; | ||
13190 | + uint32_t idle_skip; | ||
13191 | +}; | ||
13192 | + | ||
13193 | +struct _vxm_sched { | ||
13194 | + uint32_t tokens; | ||
13195 | + uint32_t norm_time; | ||
13196 | + uint32_t idle_time; | ||
13197 | +}; | ||
13198 | + | ||
13199 | +struct _vxm_task { | ||
13200 | + uint16_t pid; | ||
13201 | + uint16_t state; | ||
13202 | +}; | ||
13203 | + | ||
13204 | +struct _vxm_event { | ||
13205 | + uint32_t jif; | ||
13206 | + union { | ||
13207 | + uint32_t seq; | ||
13208 | + uint32_t sec; | ||
13209 | + }; | ||
13210 | + union { | ||
13211 | + uint32_t tokens; | ||
13212 | + uint32_t nsec; | ||
13213 | + struct _vxm_task tsk; | ||
13214 | + }; | ||
13215 | +}; | ||
13216 | + | ||
13217 | +struct _vx_mon_entry { | ||
13218 | + uint16_t type; | ||
13219 | + uint16_t xid; | ||
13220 | + union { | ||
13221 | + struct _vxm_event ev; | ||
13222 | + struct _vxm_sched sd; | ||
13223 | + struct _vxm_update_1 u1; | ||
13224 | + struct _vxm_update_2 u2; | ||
13225 | + struct _vxm_rqinfo_1 q1; | ||
13226 | + struct _vxm_rqinfo_2 q2; | ||
13227 | + }; | ||
13228 | +}; | ||
13229 | + | ||
13230 | +#endif /* _UAPI_VS_MONITOR_H */ | ||
13231 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/network.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/network.h | ||
13232 | --- linux-3.10.17/include/uapi/vserver/network.h 1970-01-01 00:00:00.000000000 +0000 | ||
13233 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/network.h 2013-08-22 20:30:00.000000000 +0000 | ||
13234 | @@ -0,0 +1,76 @@ | ||
13235 | +#ifndef _UAPI_VS_NETWORK_H | ||
13236 | +#define _UAPI_VS_NETWORK_H | ||
13237 | + | ||
13238 | +#include <linux/types.h> | ||
13239 | + | ||
13240 | + | ||
13241 | +#define MAX_N_CONTEXT 65535 /* Arbitrary limit */ | ||
13242 | + | ||
13243 | + | ||
13244 | +/* network flags */ | ||
13245 | + | ||
13246 | +#define NXF_INFO_PRIVATE 0x00000008 | ||
13247 | + | ||
13248 | +#define NXF_SINGLE_IP 0x00000100 | ||
13249 | +#define NXF_LBACK_REMAP 0x00000200 | ||
13250 | +#define NXF_LBACK_ALLOW 0x00000400 | ||
13251 | + | ||
13252 | +#define NXF_HIDE_NETIF 0x02000000 | ||
13253 | +#define NXF_HIDE_LBACK 0x04000000 | ||
13254 | + | ||
13255 | +#define NXF_STATE_SETUP (1ULL << 32) | ||
13256 | +#define NXF_STATE_ADMIN (1ULL << 34) | ||
13257 | + | ||
13258 | +#define NXF_SC_HELPER (1ULL << 36) | ||
13259 | +#define NXF_PERSISTENT (1ULL << 38) | ||
13260 | + | ||
13261 | +#define NXF_ONE_TIME (0x0005ULL << 32) | ||
13262 | + | ||
13263 | + | ||
13264 | +#define NXF_INIT_SET (__nxf_init_set()) | ||
13265 | + | ||
13266 | +static inline uint64_t __nxf_init_set(void) { | ||
13267 | + return NXF_STATE_ADMIN | ||
13268 | +#ifdef CONFIG_VSERVER_AUTO_LBACK | ||
13269 | + | NXF_LBACK_REMAP | ||
13270 | + | NXF_HIDE_LBACK | ||
13271 | +#endif | ||
13272 | +#ifdef CONFIG_VSERVER_AUTO_SINGLE | ||
13273 | + | NXF_SINGLE_IP | ||
13274 | +#endif | ||
13275 | + | NXF_HIDE_NETIF; | ||
13276 | +} | ||
13277 | + | ||
13278 | + | ||
13279 | +/* network caps */ | ||
13280 | + | ||
13281 | +#define NXC_TUN_CREATE 0x00000001 | ||
13282 | + | ||
13283 | +#define NXC_RAW_ICMP 0x00000100 | ||
13284 | + | ||
13285 | +#define NXC_MULTICAST 0x00001000 | ||
13286 | + | ||
13287 | + | ||
13288 | +/* address types */ | ||
13289 | + | ||
13290 | +#define NXA_TYPE_IPV4 0x0001 | ||
13291 | +#define NXA_TYPE_IPV6 0x0002 | ||
13292 | + | ||
13293 | +#define NXA_TYPE_NONE 0x0000 | ||
13294 | +#define NXA_TYPE_ANY 0x00FF | ||
13295 | + | ||
13296 | +#define NXA_TYPE_ADDR 0x0010 | ||
13297 | +#define NXA_TYPE_MASK 0x0020 | ||
13298 | +#define NXA_TYPE_RANGE 0x0040 | ||
13299 | + | ||
13300 | +#define NXA_MASK_ALL (NXA_TYPE_ADDR | NXA_TYPE_MASK | NXA_TYPE_RANGE) | ||
13301 | + | ||
13302 | +#define NXA_MOD_BCAST 0x0100 | ||
13303 | +#define NXA_MOD_LBACK 0x0200 | ||
13304 | + | ||
13305 | +#define NXA_LOOPBACK 0x1000 | ||
13306 | + | ||
13307 | +#define NXA_MASK_BIND (NXA_MASK_ALL | NXA_MOD_BCAST | NXA_MOD_LBACK) | ||
13308 | +#define NXA_MASK_SHOW (NXA_MASK_ALL | NXA_LOOPBACK) | ||
13309 | + | ||
13310 | +#endif /* _UAPI_VS_NETWORK_H */ | ||
13311 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/network_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/network_cmd.h | ||
13312 | --- linux-3.10.17/include/uapi/vserver/network_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13313 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/network_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13314 | @@ -0,0 +1,123 @@ | ||
13315 | +#ifndef _UAPI_VS_NETWORK_CMD_H | ||
13316 | +#define _UAPI_VS_NETWORK_CMD_H | ||
13317 | + | ||
13318 | + | ||
13319 | +/* vinfo commands */ | ||
13320 | + | ||
13321 | +#define VCMD_task_nid VC_CMD(VINFO, 2, 0) | ||
13322 | + | ||
13323 | + | ||
13324 | +#define VCMD_nx_info VC_CMD(VINFO, 6, 0) | ||
13325 | + | ||
13326 | +struct vcmd_nx_info_v0 { | ||
13327 | + uint32_t nid; | ||
13328 | + /* more to come */ | ||
13329 | +}; | ||
13330 | + | ||
13331 | + | ||
13332 | +#include <linux/in.h> | ||
13333 | +#include <linux/in6.h> | ||
13334 | + | ||
13335 | +#define VCMD_net_create_v0 VC_CMD(VNET, 1, 0) | ||
13336 | +#define VCMD_net_create VC_CMD(VNET, 1, 1) | ||
13337 | + | ||
13338 | +struct vcmd_net_create { | ||
13339 | + uint64_t flagword; | ||
13340 | +}; | ||
13341 | + | ||
13342 | +#define VCMD_net_migrate VC_CMD(NETMIG, 1, 0) | ||
13343 | + | ||
13344 | +#define VCMD_net_add VC_CMD(NETALT, 1, 0) | ||
13345 | +#define VCMD_net_remove VC_CMD(NETALT, 2, 0) | ||
13346 | + | ||
13347 | +struct vcmd_net_addr_v0 { | ||
13348 | + uint16_t type; | ||
13349 | + uint16_t count; | ||
13350 | + struct in_addr ip[4]; | ||
13351 | + struct in_addr mask[4]; | ||
13352 | +}; | ||
13353 | + | ||
13354 | +#define VCMD_net_add_ipv4_v1 VC_CMD(NETALT, 1, 1) | ||
13355 | +#define VCMD_net_rem_ipv4_v1 VC_CMD(NETALT, 2, 1) | ||
13356 | + | ||
13357 | +struct vcmd_net_addr_ipv4_v1 { | ||
13358 | + uint16_t type; | ||
13359 | + uint16_t flags; | ||
13360 | + struct in_addr ip; | ||
13361 | + struct in_addr mask; | ||
13362 | +}; | ||
13363 | + | ||
13364 | +#define VCMD_net_add_ipv4 VC_CMD(NETALT, 1, 2) | ||
13365 | +#define VCMD_net_rem_ipv4 VC_CMD(NETALT, 2, 2) | ||
13366 | + | ||
13367 | +struct vcmd_net_addr_ipv4_v2 { | ||
13368 | + uint16_t type; | ||
13369 | + uint16_t flags; | ||
13370 | + struct in_addr ip; | ||
13371 | + struct in_addr ip2; | ||
13372 | + struct in_addr mask; | ||
13373 | +}; | ||
13374 | + | ||
13375 | +#define VCMD_net_add_ipv6 VC_CMD(NETALT, 3, 1) | ||
13376 | +#define VCMD_net_remove_ipv6 VC_CMD(NETALT, 4, 1) | ||
13377 | + | ||
13378 | +struct vcmd_net_addr_ipv6_v1 { | ||
13379 | + uint16_t type; | ||
13380 | + uint16_t flags; | ||
13381 | + uint32_t prefix; | ||
13382 | + struct in6_addr ip; | ||
13383 | + struct in6_addr mask; | ||
13384 | +}; | ||
13385 | + | ||
13386 | +#define VCMD_add_match_ipv4 VC_CMD(NETALT, 5, 0) | ||
13387 | +#define VCMD_get_match_ipv4 VC_CMD(NETALT, 6, 0) | ||
13388 | + | ||
13389 | +struct vcmd_match_ipv4_v0 { | ||
13390 | + uint16_t type; | ||
13391 | + uint16_t flags; | ||
13392 | + uint16_t parent; | ||
13393 | + uint16_t prefix; | ||
13394 | + struct in_addr ip; | ||
13395 | + struct in_addr ip2; | ||
13396 | + struct in_addr mask; | ||
13397 | +}; | ||
13398 | + | ||
13399 | +#define VCMD_add_match_ipv6 VC_CMD(NETALT, 7, 0) | ||
13400 | +#define VCMD_get_match_ipv6 VC_CMD(NETALT, 8, 0) | ||
13401 | + | ||
13402 | +struct vcmd_match_ipv6_v0 { | ||
13403 | + uint16_t type; | ||
13404 | + uint16_t flags; | ||
13405 | + uint16_t parent; | ||
13406 | + uint16_t prefix; | ||
13407 | + struct in6_addr ip; | ||
13408 | + struct in6_addr ip2; | ||
13409 | + struct in6_addr mask; | ||
13410 | +}; | ||
13411 | + | ||
13412 | + | ||
13413 | + | ||
13414 | + | ||
13415 | +/* flag commands */ | ||
13416 | + | ||
13417 | +#define VCMD_get_nflags VC_CMD(FLAGS, 5, 0) | ||
13418 | +#define VCMD_set_nflags VC_CMD(FLAGS, 6, 0) | ||
13419 | + | ||
13420 | +struct vcmd_net_flags_v0 { | ||
13421 | + uint64_t flagword; | ||
13422 | + uint64_t mask; | ||
13423 | +}; | ||
13424 | + | ||
13425 | + | ||
13426 | + | ||
13427 | +/* network caps commands */ | ||
13428 | + | ||
13429 | +#define VCMD_get_ncaps VC_CMD(FLAGS, 7, 0) | ||
13430 | +#define VCMD_set_ncaps VC_CMD(FLAGS, 8, 0) | ||
13431 | + | ||
13432 | +struct vcmd_net_caps_v0 { | ||
13433 | + uint64_t ncaps; | ||
13434 | + uint64_t cmask; | ||
13435 | +}; | ||
13436 | + | ||
13437 | +#endif /* _UAPI_VS_NETWORK_CMD_H */ | ||
13438 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/sched_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/sched_cmd.h | ||
13439 | --- linux-3.10.17/include/uapi/vserver/sched_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13440 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/sched_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13441 | @@ -0,0 +1,13 @@ | ||
13442 | +#ifndef _UAPI_VS_SCHED_CMD_H | ||
13443 | +#define _UAPI_VS_SCHED_CMD_H | ||
13444 | + | ||
13445 | + | ||
13446 | +struct vcmd_prio_bias { | ||
13447 | + int32_t cpu_id; | ||
13448 | + int32_t prio_bias; | ||
13449 | +}; | ||
13450 | + | ||
13451 | +#define VCMD_set_prio_bias VC_CMD(SCHED, 4, 0) | ||
13452 | +#define VCMD_get_prio_bias VC_CMD(SCHED, 5, 0) | ||
13453 | + | ||
13454 | +#endif /* _UAPI_VS_SCHED_CMD_H */ | ||
13455 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/signal_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/signal_cmd.h | ||
13456 | --- linux-3.10.17/include/uapi/vserver/signal_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13457 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/signal_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13458 | @@ -0,0 +1,31 @@ | ||
13459 | +#ifndef _UAPI_VS_SIGNAL_CMD_H | ||
13460 | +#define _UAPI_VS_SIGNAL_CMD_H | ||
13461 | + | ||
13462 | + | ||
13463 | +/* signalling vserver commands */ | ||
13464 | + | ||
13465 | +#define VCMD_ctx_kill VC_CMD(PROCTRL, 1, 0) | ||
13466 | +#define VCMD_wait_exit VC_CMD(EVENT, 99, 0) | ||
13467 | + | ||
13468 | +struct vcmd_ctx_kill_v0 { | ||
13469 | + int32_t pid; | ||
13470 | + int32_t sig; | ||
13471 | +}; | ||
13472 | + | ||
13473 | +struct vcmd_wait_exit_v0 { | ||
13474 | + int32_t reboot_cmd; | ||
13475 | + int32_t exit_code; | ||
13476 | +}; | ||
13477 | + | ||
13478 | + | ||
13479 | +/* process alteration commands */ | ||
13480 | + | ||
13481 | +#define VCMD_get_pflags VC_CMD(PROCALT, 5, 0) | ||
13482 | +#define VCMD_set_pflags VC_CMD(PROCALT, 6, 0) | ||
13483 | + | ||
13484 | +struct vcmd_pflags_v0 { | ||
13485 | + uint32_t flagword; | ||
13486 | + uint32_t mask; | ||
13487 | +}; | ||
13488 | + | ||
13489 | +#endif /* _UAPI_VS_SIGNAL_CMD_H */ | ||
13490 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/space_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/space_cmd.h | ||
13491 | --- linux-3.10.17/include/uapi/vserver/space_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13492 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/space_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13493 | @@ -0,0 +1,28 @@ | ||
13494 | +#ifndef _UAPI_VS_SPACE_CMD_H | ||
13495 | +#define _UAPI_VS_SPACE_CMD_H | ||
13496 | + | ||
13497 | + | ||
13498 | +#define VCMD_enter_space_v0 VC_CMD(PROCALT, 1, 0) | ||
13499 | +#define VCMD_enter_space_v1 VC_CMD(PROCALT, 1, 1) | ||
13500 | +#define VCMD_enter_space VC_CMD(PROCALT, 1, 2) | ||
13501 | + | ||
13502 | +#define VCMD_set_space_v0 VC_CMD(PROCALT, 3, 0) | ||
13503 | +#define VCMD_set_space_v1 VC_CMD(PROCALT, 3, 1) | ||
13504 | +#define VCMD_set_space VC_CMD(PROCALT, 3, 2) | ||
13505 | + | ||
13506 | +#define VCMD_get_space_mask_v0 VC_CMD(PROCALT, 4, 0) | ||
13507 | + | ||
13508 | +#define VCMD_get_space_mask VC_CMD(VSPACE, 0, 1) | ||
13509 | +#define VCMD_get_space_default VC_CMD(VSPACE, 1, 0) | ||
13510 | + | ||
13511 | + | ||
13512 | +struct vcmd_space_mask_v1 { | ||
13513 | + uint64_t mask; | ||
13514 | +}; | ||
13515 | + | ||
13516 | +struct vcmd_space_mask_v2 { | ||
13517 | + uint64_t mask; | ||
13518 | + uint32_t index; | ||
13519 | +}; | ||
13520 | + | ||
13521 | +#endif /* _UAPI_VS_SPACE_CMD_H */ | ||
13522 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/switch.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/switch.h | ||
13523 | --- linux-3.10.17/include/uapi/vserver/switch.h 1970-01-01 00:00:00.000000000 +0000 | ||
13524 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/switch.h 2013-08-22 20:30:00.000000000 +0000 | ||
13525 | @@ -0,0 +1,90 @@ | ||
13526 | +#ifndef _UAPI_VS_SWITCH_H | ||
13527 | +#define _UAPI_VS_SWITCH_H | ||
13528 | + | ||
13529 | +#include <linux/types.h> | ||
13530 | + | ||
13531 | + | ||
13532 | +#define VC_CATEGORY(c) (((c) >> 24) & 0x3F) | ||
13533 | +#define VC_COMMAND(c) (((c) >> 16) & 0xFF) | ||
13534 | +#define VC_VERSION(c) ((c) & 0xFFF) | ||
13535 | + | ||
13536 | +#define VC_CMD(c, i, v) ((((VC_CAT_ ## c) & 0x3F) << 24) \ | ||
13537 | + | (((i) & 0xFF) << 16) | ((v) & 0xFFF)) | ||
13538 | + | ||
13539 | +/* | ||
13540 | + | ||
13541 | + Syscall Matrix V2.8 | ||
13542 | + | ||
13543 | + |VERSION|CREATE |MODIFY |MIGRATE|CONTROL|EXPERIM| |SPECIAL|SPECIAL| | ||
13544 | + |STATS |DESTROY|ALTER |CHANGE |LIMIT |TEST | | | | | ||
13545 | + |INFO |SETUP | |MOVE | | | | | | | ||
13546 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13547 | + SYSTEM |VERSION|VSETUP |VHOST | | | | |DEVICE | | | ||
13548 | + HOST | 00| 01| 02| 03| 04| 05| | 06| 07| | ||
13549 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13550 | + CPU | |VPROC |PROCALT|PROCMIG|PROCTRL| | |SCHED. | | | ||
13551 | + PROCESS| 08| 09| 10| 11| 12| 13| | 14| 15| | ||
13552 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13553 | + MEMORY | | | | |MEMCTRL| | |SWAP | | | ||
13554 | + | 16| 17| 18| 19| 20| 21| | 22| 23| | ||
13555 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13556 | + NETWORK| |VNET |NETALT |NETMIG |NETCTL | | |SERIAL | | | ||
13557 | + | 24| 25| 26| 27| 28| 29| | 30| 31| | ||
13558 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13559 | + DISK | | | |TAGMIG |DLIMIT | | |INODE | | | ||
13560 | + VFS | 32| 33| 34| 35| 36| 37| | 38| 39| | ||
13561 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13562 | + OTHER |VSTAT | | | | | | |VINFO | | | ||
13563 | + | 40| 41| 42| 43| 44| 45| | 46| 47| | ||
13564 | + =======+=======+=======+=======+=======+=======+=======+ +=======+=======+ | ||
13565 | + SPECIAL|EVENT | | | |FLAGS | | |VSPACE | | | ||
13566 | + | 48| 49| 50| 51| 52| 53| | 54| 55| | ||
13567 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13568 | + SPECIAL|DEBUG | | | |RLIMIT |SYSCALL| | |COMPAT | | ||
13569 | + | 56| 57| 58| 59| 60|TEST 61| | 62| 63| | ||
13570 | + -------+-------+-------+-------+-------+-------+-------+ +-------+-------+ | ||
13571 | + | ||
13572 | +*/ | ||
13573 | + | ||
13574 | +#define VC_CAT_VERSION 0 | ||
13575 | + | ||
13576 | +#define VC_CAT_VSETUP 1 | ||
13577 | +#define VC_CAT_VHOST 2 | ||
13578 | + | ||
13579 | +#define VC_CAT_DEVICE 6 | ||
13580 | + | ||
13581 | +#define VC_CAT_VPROC 9 | ||
13582 | +#define VC_CAT_PROCALT 10 | ||
13583 | +#define VC_CAT_PROCMIG 11 | ||
13584 | +#define VC_CAT_PROCTRL 12 | ||
13585 | + | ||
13586 | +#define VC_CAT_SCHED 14 | ||
13587 | +#define VC_CAT_MEMCTRL 20 | ||
13588 | + | ||
13589 | +#define VC_CAT_VNET 25 | ||
13590 | +#define VC_CAT_NETALT 26 | ||
13591 | +#define VC_CAT_NETMIG 27 | ||
13592 | +#define VC_CAT_NETCTRL 28 | ||
13593 | + | ||
13594 | +#define VC_CAT_TAGMIG 35 | ||
13595 | +#define VC_CAT_DLIMIT 36 | ||
13596 | +#define VC_CAT_INODE 38 | ||
13597 | + | ||
13598 | +#define VC_CAT_VSTAT 40 | ||
13599 | +#define VC_CAT_VINFO 46 | ||
13600 | +#define VC_CAT_EVENT 48 | ||
13601 | + | ||
13602 | +#define VC_CAT_FLAGS 52 | ||
13603 | +#define VC_CAT_VSPACE 54 | ||
13604 | +#define VC_CAT_DEBUG 56 | ||
13605 | +#define VC_CAT_RLIMIT 60 | ||
13606 | + | ||
13607 | +#define VC_CAT_SYSTEST 61 | ||
13608 | +#define VC_CAT_COMPAT 63 | ||
13609 | + | ||
13610 | +/* query version */ | ||
13611 | + | ||
13612 | +#define VCMD_get_version VC_CMD(VERSION, 0, 0) | ||
13613 | +#define VCMD_get_vci VC_CMD(VERSION, 1, 0) | ||
13614 | + | ||
13615 | +#endif /* _UAPI_VS_SWITCH_H */ | ||
13616 | diff -NurpP --minimal linux-3.10.17/include/uapi/vserver/tag_cmd.h linux-3.10.17-vs2.3.6.6/include/uapi/vserver/tag_cmd.h | ||
13617 | --- linux-3.10.17/include/uapi/vserver/tag_cmd.h 1970-01-01 00:00:00.000000000 +0000 | ||
13618 | +++ linux-3.10.17-vs2.3.6.6/include/uapi/vserver/tag_cmd.h 2013-08-22 20:30:00.000000000 +0000 | ||
13619 | @@ -0,0 +1,14 @@ | ||
13620 | +#ifndef _UAPI_VS_TAG_CMD_H | ||
13621 | +#define _UAPI_VS_TAG_CMD_H | ||
13622 | + | ||
13623 | + | ||
13624 | +/* vinfo commands */ | ||
13625 | + | ||
13626 | +#define VCMD_task_tag VC_CMD(VINFO, 3, 0) | ||
13627 | + | ||
13628 | + | ||
13629 | +/* context commands */ | ||
13630 | + | ||
13631 | +#define VCMD_tag_migrate VC_CMD(TAGMIG, 1, 0) | ||
13632 | + | ||
13633 | +#endif /* _UAPI_VS_TAG_CMD_H */ | ||
13634 | diff -NurpP --minimal linux-3.10.17/init/Kconfig linux-3.10.17-vs2.3.6.6/init/Kconfig | ||
13635 | --- linux-3.10.17/init/Kconfig 2013-07-14 17:01:34.000000000 +0000 | ||
13636 | +++ linux-3.10.17-vs2.3.6.6/init/Kconfig 2013-08-22 20:30:00.000000000 +0000 | ||
13637 | @@ -805,6 +805,7 @@ config NUMA_BALANCING | ||
13971 | menuconfig CGROUPS | 13638 | menuconfig CGROUPS |
13972 | boolean "Control Group support" | 13639 | boolean "Control Group support" |
13973 | depends on EVENTFD | 13640 | depends on EVENTFD |
@@ -13975,29 +13642,29 @@ diff -NurpP --minimal linux-3.4.57/init/Kconfig linux-3.4.57-vs2.3.3.9/init/Kcon | |||
13975 | help | 13642 | help |
13976 | This option adds support for grouping sets of processes together, for | 13643 | This option adds support for grouping sets of processes together, for |
13977 | use with process control subsystems such as Cpusets, CFS, memory | 13644 | use with process control subsystems such as Cpusets, CFS, memory |
13978 | @@ -828,6 +829,7 @@ config IPC_NS | 13645 | @@ -1067,6 +1068,7 @@ config IPC_NS |
13979 | config USER_NS | 13646 | config USER_NS |
13980 | bool "User namespace (EXPERIMENTAL)" | 13647 | bool "User namespace" |
13981 | depends on EXPERIMENTAL | 13648 | depends on UIDGID_CONVERTED |
13982 | + depends on VSERVER_DISABLED | 13649 | + depends on VSERVER_DISABLED |
13983 | default y | 13650 | select UIDGID_STRICT_TYPE_CHECKS |
13984 | help | 13651 | |
13985 | This allows containers, i.e. vservers, to use user namespaces | 13652 | default n |
13986 | diff -NurpP --minimal linux-3.4.57/init/main.c linux-3.4.57-vs2.3.3.9/init/main.c | 13653 | diff -NurpP --minimal linux-3.10.17/init/main.c linux-3.10.17-vs2.3.6.6/init/main.c |
13987 | --- linux-3.4.57/init/main.c 2013-08-13 14:13:36.000000000 +0000 | 13654 | --- linux-3.10.17/init/main.c 2013-10-25 15:17:44.000000000 +0000 |
13988 | +++ linux-3.4.57-vs2.3.3.9/init/main.c 2013-02-19 14:42:56.000000000 +0000 | 13655 | +++ linux-3.10.17-vs2.3.6.6/init/main.c 2013-10-26 18:07:38.000000000 +0000 |
13989 | @@ -68,6 +68,7 @@ | 13656 | @@ -75,6 +75,7 @@ |
13990 | #include <linux/shmem_fs.h> | 13657 | #include <linux/blkdev.h> |
13991 | #include <linux/slab.h> | 13658 | #include <linux/elevator.h> |
13992 | #include <linux/perf_event.h> | 13659 | #include <linux/random.h> |
13993 | +#include <linux/vserver/percpu.h> | 13660 | +#include <linux/vserver/percpu.h> |
13994 | 13661 | ||
13995 | #include <asm/io.h> | 13662 | #include <asm/io.h> |
13996 | #include <asm/bugs.h> | 13663 | #include <asm/bugs.h> |
13997 | diff -NurpP --minimal linux-3.4.57/ipc/mqueue.c linux-3.4.57-vs2.3.3.9/ipc/mqueue.c | 13664 | diff -NurpP --minimal linux-3.10.17/ipc/mqueue.c linux-3.10.17-vs2.3.6.6/ipc/mqueue.c |
13998 | --- linux-3.4.57/ipc/mqueue.c 2012-05-21 16:07:34.000000000 +0000 | 13665 | --- linux-3.10.17/ipc/mqueue.c 2013-05-31 13:45:29.000000000 +0000 |
13999 | +++ linux-3.4.57-vs2.3.3.9/ipc/mqueue.c 2012-05-21 16:15:05.000000000 +0000 | 13666 | +++ linux-3.10.17-vs2.3.6.6/ipc/mqueue.c 2013-08-22 20:30:00.000000000 +0000 |
14000 | @@ -34,6 +34,8 @@ | 13667 | @@ -35,6 +35,8 @@ |
14001 | #include <linux/ipc_namespace.h> | 13668 | #include <linux/ipc_namespace.h> |
14002 | #include <linux/user_namespace.h> | 13669 | #include <linux/user_namespace.h> |
14003 | #include <linux/slab.h> | 13670 | #include <linux/slab.h> |
@@ -14006,31 +13673,31 @@ diff -NurpP --minimal linux-3.4.57/ipc/mqueue.c linux-3.4.57-vs2.3.3.9/ipc/mqueu | |||
14006 | 13673 | ||
14007 | #include <net/sock.h> | 13674 | #include <net/sock.h> |
14008 | #include "util.h" | 13675 | #include "util.h" |
14009 | @@ -67,6 +69,7 @@ struct mqueue_inode_info { | 13676 | @@ -76,6 +78,7 @@ struct mqueue_inode_info { |
14010 | struct sigevent notify; | ||
14011 | struct pid* notify_owner; | 13677 | struct pid* notify_owner; |
13678 | struct user_namespace *notify_user_ns; | ||
14012 | struct user_struct *user; /* user who created, for accounting */ | 13679 | struct user_struct *user; /* user who created, for accounting */ |
14013 | + struct vx_info *vxi; | 13680 | + struct vx_info *vxi; |
14014 | struct sock *notify_sock; | 13681 | struct sock *notify_sock; |
14015 | struct sk_buff *notify_cookie; | 13682 | struct sk_buff *notify_cookie; |
14016 | 13683 | ||
14017 | @@ -129,6 +132,7 @@ static struct inode *mqueue_get_inode(st | 13684 | @@ -234,6 +237,7 @@ static struct inode *mqueue_get_inode(st |
14018 | if (S_ISREG(mode)) { | 13685 | if (S_ISREG(mode)) { |
14019 | struct mqueue_inode_info *info; | 13686 | struct mqueue_inode_info *info; |
14020 | unsigned long mq_bytes, mq_msg_tblsz; | 13687 | unsigned long mq_bytes, mq_treesize; |
14021 | + struct vx_info *vxi = current_vx_info(); | 13688 | + struct vx_info *vxi = current_vx_info(); |
14022 | 13689 | ||
14023 | inode->i_fop = &mqueue_file_operations; | 13690 | inode->i_fop = &mqueue_file_operations; |
14024 | inode->i_size = FILENT_SIZE; | 13691 | inode->i_size = FILENT_SIZE; |
14025 | @@ -141,6 +145,7 @@ static struct inode *mqueue_get_inode(st | 13692 | @@ -247,6 +251,7 @@ static struct inode *mqueue_get_inode(st |
14026 | info->notify_owner = NULL; | 13693 | info->notify_user_ns = NULL; |
14027 | info->qsize = 0; | 13694 | info->qsize = 0; |
14028 | info->user = NULL; /* set when all is ok */ | 13695 | info->user = NULL; /* set when all is ok */ |
14029 | + info->vxi = NULL; | 13696 | + info->vxi = NULL; |
13697 | info->msg_tree = RB_ROOT; | ||
13698 | info->node_cache = NULL; | ||
14030 | memset(&info->attr, 0, sizeof(info->attr)); | 13699 | memset(&info->attr, 0, sizeof(info->attr)); |
14031 | info->attr.mq_maxmsg = ipc_ns->mq_msg_max; | 13700 | @@ -280,17 +285,20 @@ static struct inode *mqueue_get_inode(st |
14032 | info->attr.mq_msgsize = ipc_ns->mq_msgsize_max; | ||
14033 | @@ -158,17 +163,20 @@ static struct inode *mqueue_get_inode(st | ||
14034 | 13701 | ||
14035 | spin_lock(&mq_lock); | 13702 | spin_lock(&mq_lock); |
14036 | if (u->mq_bytes + mq_bytes < u->mq_bytes || | 13703 | if (u->mq_bytes + mq_bytes < u->mq_bytes || |
@@ -14052,8 +13719,8 @@ diff -NurpP --minimal linux-3.4.57/ipc/mqueue.c linux-3.4.57-vs2.3.3.9/ipc/mqueu | |||
14052 | } else if (S_ISDIR(mode)) { | 13719 | } else if (S_ISDIR(mode)) { |
14053 | inc_nlink(inode); | 13720 | inc_nlink(inode); |
14054 | /* Some things misbehave if size == 0 on a directory */ | 13721 | /* Some things misbehave if size == 0 on a directory */ |
14055 | @@ -267,8 +275,11 @@ static void mqueue_evict_inode(struct in | 13722 | @@ -402,8 +410,11 @@ static void mqueue_evict_inode(struct in |
14056 | + info->attr.mq_msgsize); | 13723 | |
14057 | user = info->user; | 13724 | user = info->user; |
14058 | if (user) { | 13725 | if (user) { |
14059 | + struct vx_info *vxi = info->vxi; | 13726 | + struct vx_info *vxi = info->vxi; |
@@ -14064,7 +13731,7 @@ diff -NurpP --minimal linux-3.4.57/ipc/mqueue.c linux-3.4.57-vs2.3.3.9/ipc/mqueu | |||
14064 | /* | 13731 | /* |
14065 | * get_ns_from_inode() ensures that the | 13732 | * get_ns_from_inode() ensures that the |
14066 | * (ipc_ns = sb->s_fs_info) is either a valid ipc_ns | 13733 | * (ipc_ns = sb->s_fs_info) is either a valid ipc_ns |
14067 | @@ -278,6 +289,7 @@ static void mqueue_evict_inode(struct in | 13734 | @@ -413,6 +424,7 @@ static void mqueue_evict_inode(struct in |
14068 | if (ipc_ns) | 13735 | if (ipc_ns) |
14069 | ipc_ns->mq_queues_count--; | 13736 | ipc_ns->mq_queues_count--; |
14070 | spin_unlock(&mq_lock); | 13737 | spin_unlock(&mq_lock); |
@@ -14072,9 +13739,9 @@ diff -NurpP --minimal linux-3.4.57/ipc/mqueue.c linux-3.4.57-vs2.3.3.9/ipc/mqueu | |||
14072 | free_uid(user); | 13739 | free_uid(user); |
14073 | } | 13740 | } |
14074 | if (ipc_ns) | 13741 | if (ipc_ns) |
14075 | diff -NurpP --minimal linux-3.4.57/ipc/msg.c linux-3.4.57-vs2.3.3.9/ipc/msg.c | 13742 | diff -NurpP --minimal linux-3.10.17/ipc/msg.c linux-3.10.17-vs2.3.6.6/ipc/msg.c |
14076 | --- linux-3.4.57/ipc/msg.c 2011-05-22 14:17:59.000000000 +0000 | 13743 | --- linux-3.10.17/ipc/msg.c 2013-10-25 15:17:44.000000000 +0000 |
14077 | +++ linux-3.4.57-vs2.3.3.9/ipc/msg.c 2012-05-21 16:15:05.000000000 +0000 | 13744 | +++ linux-3.10.17-vs2.3.6.6/ipc/msg.c 2013-10-26 18:03:17.000000000 +0000 |
14078 | @@ -37,6 +37,7 @@ | 13745 | @@ -37,6 +37,7 @@ |
14079 | #include <linux/rwsem.h> | 13746 | #include <linux/rwsem.h> |
14080 | #include <linux/nsproxy.h> | 13747 | #include <linux/nsproxy.h> |
@@ -14083,7 +13750,7 @@ diff -NurpP --minimal linux-3.4.57/ipc/msg.c linux-3.4.57-vs2.3.3.9/ipc/msg.c | |||
14083 | 13750 | ||
14084 | #include <asm/current.h> | 13751 | #include <asm/current.h> |
14085 | #include <asm/uaccess.h> | 13752 | #include <asm/uaccess.h> |
14086 | @@ -190,6 +191,7 @@ static int newque(struct ipc_namespace * | 13753 | @@ -194,6 +195,7 @@ static int newque(struct ipc_namespace * |
14087 | 13754 | ||
14088 | msq->q_perm.mode = msgflg & S_IRWXUGO; | 13755 | msq->q_perm.mode = msgflg & S_IRWXUGO; |
14089 | msq->q_perm.key = key; | 13756 | msq->q_perm.key = key; |
@@ -14091,52 +13758,9 @@ diff -NurpP --minimal linux-3.4.57/ipc/msg.c linux-3.4.57-vs2.3.3.9/ipc/msg.c | |||
14091 | 13758 | ||
14092 | msq->q_perm.security = NULL; | 13759 | msq->q_perm.security = NULL; |
14093 | retval = security_msg_queue_alloc(msq); | 13760 | retval = security_msg_queue_alloc(msq); |
14094 | diff -NurpP --minimal linux-3.4.57/ipc/namespace.c linux-3.4.57-vs2.3.3.9/ipc/namespace.c | 13761 | diff -NurpP --minimal linux-3.10.17/ipc/sem.c linux-3.10.17-vs2.3.6.6/ipc/sem.c |
14095 | --- linux-3.4.57/ipc/namespace.c 2011-07-22 09:18:12.000000000 +0000 | 13762 | --- linux-3.10.17/ipc/sem.c 2013-10-25 15:17:44.000000000 +0000 |
14096 | +++ linux-3.4.57-vs2.3.3.9/ipc/namespace.c 2012-05-21 16:15:05.000000000 +0000 | 13763 | +++ linux-3.10.17-vs2.3.6.6/ipc/sem.c 2013-10-26 18:07:06.000000000 +0000 |
14097 | @@ -13,11 +13,12 @@ | ||
14098 | #include <linux/mount.h> | ||
14099 | #include <linux/user_namespace.h> | ||
14100 | #include <linux/proc_fs.h> | ||
14101 | +#include <linux/vs_base.h> | ||
14102 | +#include <linux/vserver/global.h> | ||
14103 | |||
14104 | #include "util.h" | ||
14105 | |||
14106 | -static struct ipc_namespace *create_ipc_ns(struct task_struct *tsk, | ||
14107 | - struct ipc_namespace *old_ns) | ||
14108 | +static struct ipc_namespace *create_ipc_ns(struct user_namespace *user_ns) | ||
14109 | { | ||
14110 | struct ipc_namespace *ns; | ||
14111 | int err; | ||
14112 | @@ -46,19 +47,18 @@ static struct ipc_namespace *create_ipc_ | ||
14113 | ipcns_notify(IPCNS_CREATED); | ||
14114 | register_ipcns_notifier(ns); | ||
14115 | |||
14116 | - ns->user_ns = get_user_ns(task_cred_xxx(tsk, user)->user_ns); | ||
14117 | + ns->user_ns = get_user_ns(user_ns); | ||
14118 | |||
14119 | return ns; | ||
14120 | } | ||
14121 | |||
14122 | struct ipc_namespace *copy_ipcs(unsigned long flags, | ||
14123 | - struct task_struct *tsk) | ||
14124 | + struct ipc_namespace *old_ns, | ||
14125 | + struct user_namespace *user_ns) | ||
14126 | { | ||
14127 | - struct ipc_namespace *ns = tsk->nsproxy->ipc_ns; | ||
14128 | - | ||
14129 | if (!(flags & CLONE_NEWIPC)) | ||
14130 | - return get_ipc_ns(ns); | ||
14131 | - return create_ipc_ns(tsk, ns); | ||
14132 | + return get_ipc_ns(old_ns); | ||
14133 | + return create_ipc_ns(user_ns); | ||
14134 | } | ||
14135 | |||
14136 | /* | ||
14137 | diff -NurpP --minimal linux-3.4.57/ipc/sem.c linux-3.4.57-vs2.3.3.9/ipc/sem.c | ||
14138 | --- linux-3.4.57/ipc/sem.c 2012-01-09 15:14:59.000000000 +0000 | ||
14139 | +++ linux-3.4.57-vs2.3.3.9/ipc/sem.c 2012-05-21 16:15:05.000000000 +0000 | ||
14140 | @@ -86,6 +86,8 @@ | 13764 | @@ -86,6 +86,8 @@ |
14141 | #include <linux/rwsem.h> | 13765 | #include <linux/rwsem.h> |
14142 | #include <linux/nsproxy.h> | 13766 | #include <linux/nsproxy.h> |
@@ -14146,7 +13770,7 @@ diff -NurpP --minimal linux-3.4.57/ipc/sem.c linux-3.4.57-vs2.3.3.9/ipc/sem.c | |||
14146 | 13770 | ||
14147 | #include <asm/uaccess.h> | 13771 | #include <asm/uaccess.h> |
14148 | #include "util.h" | 13772 | #include "util.h" |
14149 | @@ -306,6 +308,7 @@ static int newary(struct ipc_namespace * | 13773 | @@ -500,6 +502,7 @@ static int newary(struct ipc_namespace * |
14150 | 13774 | ||
14151 | sma->sem_perm.mode = (semflg & S_IRWXUGO); | 13775 | sma->sem_perm.mode = (semflg & S_IRWXUGO); |
14152 | sma->sem_perm.key = key; | 13776 | sma->sem_perm.key = key; |
@@ -14154,7 +13778,7 @@ diff -NurpP --minimal linux-3.4.57/ipc/sem.c linux-3.4.57-vs2.3.3.9/ipc/sem.c | |||
14154 | 13778 | ||
14155 | sma->sem_perm.security = NULL; | 13779 | sma->sem_perm.security = NULL; |
14156 | retval = security_sem_alloc(sma); | 13780 | retval = security_sem_alloc(sma); |
14157 | @@ -321,6 +324,9 @@ static int newary(struct ipc_namespace * | 13781 | @@ -514,6 +517,9 @@ static int newary(struct ipc_namespace * |
14158 | return id; | 13782 | return id; |
14159 | } | 13783 | } |
14160 | ns->used_sems += nsems; | 13784 | ns->used_sems += nsems; |
@@ -14164,20 +13788,20 @@ diff -NurpP --minimal linux-3.4.57/ipc/sem.c linux-3.4.57-vs2.3.3.9/ipc/sem.c | |||
14164 | 13788 | ||
14165 | sma->sem_base = (struct sem *) &sma[1]; | 13789 | sma->sem_base = (struct sem *) &sma[1]; |
14166 | 13790 | ||
14167 | @@ -770,6 +776,9 @@ static void freeary(struct ipc_namespace | 13791 | @@ -1103,6 +1109,9 @@ static void freeary(struct ipc_namespace |
14168 | 13792 | ||
14169 | wake_up_sem_queue_do(&tasks); | 13793 | wake_up_sem_queue_do(&tasks); |
14170 | ns->used_sems -= sma->sem_nsems; | 13794 | ns->used_sems -= sma->sem_nsems; |
14171 | + /* FIXME: obsoleted? */ | 13795 | + /* FIXME: obsoleted? */ |
14172 | + vx_nsems_sub(sma, sma->sem_nsems); | 13796 | + vx_nsems_sub(sma, sma->sem_nsems); |
14173 | + vx_semary_dec(sma); | 13797 | + vx_semary_dec(sma); |
14174 | security_sem_free(sma); | 13798 | ipc_rcu_putref(sma, sem_rcu_free); |
14175 | ipc_rcu_putref(sma); | ||
14176 | } | 13799 | } |
14177 | diff -NurpP --minimal linux-3.4.57/ipc/shm.c linux-3.4.57-vs2.3.3.9/ipc/shm.c | 13800 | |
14178 | --- linux-3.4.57/ipc/shm.c 2013-08-13 14:13:36.000000000 +0000 | 13801 | diff -NurpP --minimal linux-3.10.17/ipc/shm.c linux-3.10.17-vs2.3.6.6/ipc/shm.c |
14179 | +++ linux-3.4.57-vs2.3.3.9/ipc/shm.c 2013-07-14 13:38:36.000000000 +0000 | 13802 | --- linux-3.10.17/ipc/shm.c 2013-10-25 15:17:44.000000000 +0000 |
14180 | @@ -39,6 +39,8 @@ | 13803 | +++ linux-3.10.17-vs2.3.6.6/ipc/shm.c 2013-10-26 18:05:26.000000000 +0000 |
13804 | @@ -42,6 +42,8 @@ | ||
14181 | #include <linux/nsproxy.h> | 13805 | #include <linux/nsproxy.h> |
14182 | #include <linux/mount.h> | 13806 | #include <linux/mount.h> |
14183 | #include <linux/ipc_namespace.h> | 13807 | #include <linux/ipc_namespace.h> |
@@ -14186,7 +13810,7 @@ diff -NurpP --minimal linux-3.4.57/ipc/shm.c linux-3.4.57-vs2.3.3.9/ipc/shm.c | |||
14186 | 13810 | ||
14187 | #include <asm/uaccess.h> | 13811 | #include <asm/uaccess.h> |
14188 | 13812 | ||
14189 | @@ -187,7 +189,12 @@ static void shm_open(struct vm_area_stru | 13813 | @@ -208,7 +210,12 @@ static void shm_open(struct vm_area_stru |
14190 | */ | 13814 | */ |
14191 | static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp) | 13815 | static void shm_destroy(struct ipc_namespace *ns, struct shmid_kernel *shp) |
14192 | { | 13816 | { |
@@ -14200,15 +13824,15 @@ diff -NurpP --minimal linux-3.4.57/ipc/shm.c linux-3.4.57-vs2.3.3.9/ipc/shm.c | |||
14200 | shm_rmid(ns, shp); | 13824 | shm_rmid(ns, shp); |
14201 | shm_unlock(shp); | 13825 | shm_unlock(shp); |
14202 | if (!is_file_hugepages(shp->shm_file)) | 13826 | if (!is_file_hugepages(shp->shm_file)) |
14203 | @@ -197,6 +204,7 @@ static void shm_destroy(struct ipc_names | 13827 | @@ -217,6 +224,7 @@ static void shm_destroy(struct ipc_names |
13828 | user_shm_unlock(file_inode(shp->shm_file)->i_size, | ||
14204 | shp->mlock_user); | 13829 | shp->mlock_user); |
14205 | fput (shp->shm_file); | 13830 | fput (shp->shm_file); |
14206 | security_shm_free(shp); | ||
14207 | + put_vx_info(vxi); | 13831 | + put_vx_info(vxi); |
14208 | ipc_rcu_putref(shp); | 13832 | ipc_rcu_putref(shp, shm_rcu_free); |
14209 | } | 13833 | } |
14210 | 13834 | ||
14211 | @@ -462,11 +470,15 @@ static int newseg(struct ipc_namespace * | 13835 | @@ -494,11 +502,15 @@ static int newseg(struct ipc_namespace * |
14212 | if (ns->shm_tot + numpages > ns->shm_ctlall) | 13836 | if (ns->shm_tot + numpages > ns->shm_ctlall) |
14213 | return -ENOSPC; | 13837 | return -ENOSPC; |
14214 | 13838 | ||
@@ -14224,30 +13848,34 @@ diff -NurpP --minimal linux-3.4.57/ipc/shm.c linux-3.4.57-vs2.3.3.9/ipc/shm.c | |||
14224 | shp->shm_perm.mode = (shmflg & S_IRWXUGO); | 13848 | shp->shm_perm.mode = (shmflg & S_IRWXUGO); |
14225 | shp->mlock_user = NULL; | 13849 | shp->mlock_user = NULL; |
14226 | 13850 | ||
14227 | @@ -523,6 +535,7 @@ static int newseg(struct ipc_namespace * | 13851 | @@ -564,9 +576,10 @@ static int newseg(struct ipc_namespace * |
13852 | |||
14228 | ns->shm_tot += numpages; | 13853 | ns->shm_tot += numpages; |
14229 | error = shp->shm_perm.id; | 13854 | error = shp->shm_perm.id; |
14230 | shm_unlock(shp); | 13855 | - |
13856 | + shm_unlock(shp); | ||
13857 | ipc_unlock_object(&shp->shm_perm); | ||
13858 | rcu_read_unlock(); | ||
14231 | + vx_ipcshm_add(current_vx_info(), key, numpages); | 13859 | + vx_ipcshm_add(current_vx_info(), key, numpages); |
14232 | return error; | 13860 | return error; |
14233 | 13861 | ||
14234 | no_id: | 13862 | no_id: |
14235 | diff -NurpP --minimal linux-3.4.57/kernel/Makefile linux-3.4.57-vs2.3.3.9/kernel/Makefile | 13863 | diff -NurpP --minimal linux-3.10.17/kernel/Makefile linux-3.10.17-vs2.3.6.6/kernel/Makefile |
14236 | --- linux-3.4.57/kernel/Makefile 2012-05-21 16:07:34.000000000 +0000 | 13864 | --- linux-3.10.17/kernel/Makefile 2013-07-14 17:01:34.000000000 +0000 |
14237 | +++ linux-3.4.57-vs2.3.3.9/kernel/Makefile 2012-05-21 16:15:05.000000000 +0000 | 13865 | +++ linux-3.10.17-vs2.3.6.6/kernel/Makefile 2013-08-22 21:18:32.000000000 +0000 |
14238 | @@ -25,6 +25,7 @@ endif | 13866 | @@ -25,6 +25,7 @@ endif |
14239 | obj-y += sched/ | 13867 | obj-y += sched/ |
14240 | obj-y += power/ | 13868 | obj-y += power/ |
14241 | 13869 | obj-y += cpu/ | |
14242 | +obj-y += vserver/ | 13870 | +obj-y += vserver/ |
13871 | |||
13872 | obj-$(CONFIG_CHECKPOINT_RESTORE) += kcmp.o | ||
14243 | obj-$(CONFIG_FREEZER) += freezer.o | 13873 | obj-$(CONFIG_FREEZER) += freezer.o |
14244 | obj-$(CONFIG_PROFILING) += profile.o | 13874 | diff -NurpP --minimal linux-3.10.17/kernel/auditsc.c linux-3.10.17-vs2.3.6.6/kernel/auditsc.c |
14245 | obj-$(CONFIG_STACKTRACE) += stacktrace.o | 13875 | --- linux-3.10.17/kernel/auditsc.c 2013-07-14 17:01:34.000000000 +0000 |
14246 | diff -NurpP --minimal linux-3.4.57/kernel/auditsc.c linux-3.4.57-vs2.3.3.9/kernel/auditsc.c | 13876 | +++ linux-3.10.17-vs2.3.6.6/kernel/auditsc.c 2013-08-22 20:30:00.000000000 +0000 |
14247 | --- linux-3.4.57/kernel/auditsc.c 2012-03-19 18:47:29.000000000 +0000 | 13877 | @@ -1976,7 +1976,7 @@ int audit_set_loginuid(kuid_t loginuid) |
14248 | +++ linux-3.4.57-vs2.3.3.9/kernel/auditsc.c 2012-05-21 16:15:05.000000000 +0000 | 13878 | if (audit_loginuid_set(task)) |
14249 | @@ -2308,7 +2308,7 @@ int audit_set_loginuid(uid_t loginuid) | ||
14250 | if (task->loginuid != -1) | ||
14251 | return -EPERM; | 13879 | return -EPERM; |
14252 | #else /* CONFIG_AUDIT_LOGINUID_IMMUTABLE */ | 13880 | #else /* CONFIG_AUDIT_LOGINUID_IMMUTABLE */ |
14253 | - if (!capable(CAP_AUDIT_CONTROL)) | 13881 | - if (!capable(CAP_AUDIT_CONTROL)) |
@@ -14255,9 +13883,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/auditsc.c linux-3.4.57-vs2.3.3.9/kerne | |||
14255 | return -EPERM; | 13883 | return -EPERM; |
14256 | #endif /* CONFIG_AUDIT_LOGINUID_IMMUTABLE */ | 13884 | #endif /* CONFIG_AUDIT_LOGINUID_IMMUTABLE */ |
14257 | 13885 | ||
14258 | diff -NurpP --minimal linux-3.4.57/kernel/capability.c linux-3.4.57-vs2.3.3.9/kernel/capability.c | 13886 | diff -NurpP --minimal linux-3.10.17/kernel/capability.c linux-3.10.17-vs2.3.6.6/kernel/capability.c |
14259 | --- linux-3.4.57/kernel/capability.c 2012-03-19 18:47:29.000000000 +0000 | 13887 | --- linux-3.10.17/kernel/capability.c 2013-05-31 13:45:29.000000000 +0000 |
14260 | +++ linux-3.4.57-vs2.3.3.9/kernel/capability.c 2012-05-21 16:15:05.000000000 +0000 | 13888 | +++ linux-3.10.17-vs2.3.6.6/kernel/capability.c 2013-08-22 20:30:00.000000000 +0000 |
14261 | @@ -15,6 +15,7 @@ | 13889 | @@ -15,6 +15,7 @@ |
14262 | #include <linux/syscalls.h> | 13890 | #include <linux/syscalls.h> |
14263 | #include <linux/pid_namespace.h> | 13891 | #include <linux/pid_namespace.h> |
@@ -14283,10 +13911,18 @@ diff -NurpP --minimal linux-3.4.57/kernel/capability.c linux-3.4.57-vs2.3.3.9/ke | |||
14283 | /** | 13911 | /** |
14284 | * has_capability_noaudit - Does a task have a capability (unaudited) in the | 13912 | * has_capability_noaudit - Does a task have a capability (unaudited) in the |
14285 | * initial user ns | 13913 | * initial user ns |
14286 | diff -NurpP --minimal linux-3.4.57/kernel/compat.c linux-3.4.57-vs2.3.3.9/kernel/compat.c | 13914 | diff -NurpP --minimal linux-3.10.17/kernel/compat.c linux-3.10.17-vs2.3.6.6/kernel/compat.c |
14287 | --- linux-3.4.57/kernel/compat.c 2012-05-21 16:07:34.000000000 +0000 | 13915 | --- linux-3.10.17/kernel/compat.c 2013-07-14 17:01:34.000000000 +0000 |
14288 | +++ linux-3.4.57-vs2.3.3.9/kernel/compat.c 2012-05-21 16:15:05.000000000 +0000 | 13916 | +++ linux-3.10.17-vs2.3.6.6/kernel/compat.c 2013-08-22 20:30:00.000000000 +0000 |
14289 | @@ -1054,7 +1054,7 @@ asmlinkage long compat_sys_stime(compat_ | 13917 | @@ -27,6 +27,7 @@ |
13918 | #include <linux/times.h> | ||
13919 | #include <linux/ptrace.h> | ||
13920 | #include <linux/gfp.h> | ||
13921 | +#include <linux/vs_time.h> | ||
13922 | |||
13923 | #include <asm/uaccess.h> | ||
13924 | |||
13925 | @@ -1040,7 +1041,7 @@ asmlinkage long compat_sys_stime(compat_ | ||
14290 | if (err) | 13926 | if (err) |
14291 | return err; | 13927 | return err; |
14292 | 13928 | ||
@@ -14295,11 +13931,11 @@ diff -NurpP --minimal linux-3.4.57/kernel/compat.c linux-3.4.57-vs2.3.3.9/kernel | |||
14295 | return 0; | 13931 | return 0; |
14296 | } | 13932 | } |
14297 | 13933 | ||
14298 | diff -NurpP --minimal linux-3.4.57/kernel/cred.c linux-3.4.57-vs2.3.3.9/kernel/cred.c | 13934 | diff -NurpP --minimal linux-3.10.17/kernel/cred.c linux-3.10.17-vs2.3.6.6/kernel/cred.c |
14299 | --- linux-3.4.57/kernel/cred.c 2012-05-21 16:07:34.000000000 +0000 | 13935 | --- linux-3.10.17/kernel/cred.c 2013-02-19 13:58:56.000000000 +0000 |
14300 | +++ linux-3.4.57-vs2.3.3.9/kernel/cred.c 2012-05-21 16:15:05.000000000 +0000 | 13936 | +++ linux-3.10.17-vs2.3.6.6/kernel/cred.c 2013-08-22 20:30:00.000000000 +0000 |
14301 | @@ -62,31 +62,6 @@ struct cred init_cred = { | 13937 | @@ -56,31 +56,6 @@ struct cred init_cred = { |
14302 | #endif | 13938 | .group_info = &init_groups, |
14303 | }; | 13939 | }; |
14304 | 13940 | ||
14305 | -static inline void set_cred_subscribers(struct cred *cred, int n) | 13941 | -static inline void set_cred_subscribers(struct cred *cred, int n) |
@@ -14328,9 +13964,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/cred.c linux-3.4.57-vs2.3.3.9/kernel/c | |||
14328 | -} | 13964 | -} |
14329 | - | 13965 | - |
14330 | /* | 13966 | /* |
14331 | * Dispose of the shared task group credentials | 13967 | * The RCU callback to actually dispose of a set of credentials |
14332 | */ | 13968 | */ |
14333 | @@ -282,21 +257,16 @@ error: | 13969 | @@ -232,21 +207,16 @@ error: |
14334 | * | 13970 | * |
14335 | * Call commit_creds() or abort_creds() to clean up. | 13971 | * Call commit_creds() or abort_creds() to clean up. |
14336 | */ | 13972 | */ |
@@ -14353,7 +13989,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/cred.c linux-3.4.57-vs2.3.3.9/kernel/c | |||
14353 | memcpy(new, old, sizeof(struct cred)); | 13989 | memcpy(new, old, sizeof(struct cred)); |
14354 | 13990 | ||
14355 | atomic_set(&new->usage, 1); | 13991 | atomic_set(&new->usage, 1); |
14356 | @@ -323,6 +293,13 @@ error: | 13992 | @@ -275,6 +245,13 @@ error: |
14357 | abort_creds(new); | 13993 | abort_creds(new); |
14358 | return NULL; | 13994 | return NULL; |
14359 | } | 13995 | } |
@@ -14367,9 +14003,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/cred.c linux-3.4.57-vs2.3.3.9/kernel/c | |||
14367 | EXPORT_SYMBOL(prepare_creds); | 14003 | EXPORT_SYMBOL(prepare_creds); |
14368 | 14004 | ||
14369 | /* | 14005 | /* |
14370 | diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/exit.c | 14006 | diff -NurpP --minimal linux-3.10.17/kernel/exit.c linux-3.10.17-vs2.3.6.6/kernel/exit.c |
14371 | --- linux-3.4.57/kernel/exit.c 2013-08-13 14:13:37.000000000 +0000 | 14007 | --- linux-3.10.17/kernel/exit.c 2013-07-14 17:01:35.000000000 +0000 |
14372 | +++ linux-3.4.57-vs2.3.3.9/kernel/exit.c 2012-12-08 00:54:06.000000000 +0000 | 14008 | +++ linux-3.10.17-vs2.3.6.6/kernel/exit.c 2013-08-22 20:30:00.000000000 +0000 |
14373 | @@ -48,6 +48,10 @@ | 14009 | @@ -48,6 +48,10 @@ |
14374 | #include <linux/fs_struct.h> | 14010 | #include <linux/fs_struct.h> |
14375 | #include <linux/init_task.h> | 14011 | #include <linux/init_task.h> |
@@ -14381,19 +14017,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14381 | #include <trace/events/sched.h> | 14017 | #include <trace/events/sched.h> |
14382 | #include <linux/hw_breakpoint.h> | 14018 | #include <linux/hw_breakpoint.h> |
14383 | #include <linux/oom.h> | 14019 | #include <linux/oom.h> |
14384 | @@ -482,9 +486,11 @@ static void close_files(struct files_str | 14020 | @@ -514,15 +518,25 @@ static struct task_struct *find_new_reap |
14385 | filp_close(file, files); | ||
14386 | cond_resched(); | ||
14387 | } | ||
14388 | + vx_openfd_dec(i); | ||
14389 | } | ||
14390 | i++; | ||
14391 | set >>= 1; | ||
14392 | + cond_resched(); | ||
14393 | } | ||
14394 | } | ||
14395 | } | ||
14396 | @@ -699,15 +705,25 @@ static struct task_struct *find_new_reap | ||
14397 | __acquires(&tasklist_lock) | 14021 | __acquires(&tasklist_lock) |
14398 | { | 14022 | { |
14399 | struct pid_namespace *pid_ns = task_active_pid_ns(father); | 14023 | struct pid_namespace *pid_ns = task_active_pid_ns(father); |
@@ -14422,7 +14046,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14422 | } | 14046 | } |
14423 | 14047 | ||
14424 | if (unlikely(pid_ns->child_reaper == father)) { | 14048 | if (unlikely(pid_ns->child_reaper == father)) { |
14425 | @@ -751,7 +767,9 @@ static struct task_struct *find_new_reap | 14049 | @@ -560,7 +574,9 @@ static struct task_struct *find_new_reap |
14426 | } | 14050 | } |
14427 | } | 14051 | } |
14428 | 14052 | ||
@@ -14433,7 +14057,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14433 | } | 14057 | } |
14434 | 14058 | ||
14435 | /* | 14059 | /* |
14436 | @@ -802,10 +820,15 @@ static void forget_original_parent(struc | 14060 | @@ -611,10 +627,15 @@ static void forget_original_parent(struc |
14437 | list_for_each_entry_safe(p, n, &father->children, sibling) { | 14061 | list_for_each_entry_safe(p, n, &father->children, sibling) { |
14438 | struct task_struct *t = p; | 14062 | struct task_struct *t = p; |
14439 | do { | 14063 | do { |
@@ -14451,7 +14075,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14451 | } | 14075 | } |
14452 | if (t->pdeath_signal) | 14076 | if (t->pdeath_signal) |
14453 | group_send_sig_info(t->pdeath_signal, | 14077 | group_send_sig_info(t->pdeath_signal, |
14454 | @@ -1013,6 +1036,9 @@ void do_exit(long code) | 14078 | @@ -821,6 +842,9 @@ void do_exit(long code) |
14455 | */ | 14079 | */ |
14456 | ptrace_put_breakpoints(tsk); | 14080 | ptrace_put_breakpoints(tsk); |
14457 | 14081 | ||
@@ -14461,7 +14085,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14461 | exit_notify(tsk, group_dead); | 14085 | exit_notify(tsk, group_dead); |
14462 | #ifdef CONFIG_NUMA | 14086 | #ifdef CONFIG_NUMA |
14463 | task_lock(tsk); | 14087 | task_lock(tsk); |
14464 | @@ -1063,10 +1089,15 @@ void do_exit(long code) | 14088 | @@ -874,10 +898,15 @@ void do_exit(long code) |
14465 | smp_mb(); | 14089 | smp_mb(); |
14466 | raw_spin_unlock_wait(&tsk->pi_lock); | 14090 | raw_spin_unlock_wait(&tsk->pi_lock); |
14467 | 14091 | ||
@@ -14477,29 +14101,29 @@ diff -NurpP --minimal linux-3.4.57/kernel/exit.c linux-3.4.57-vs2.3.3.9/kernel/e | |||
14477 | BUG(); | 14101 | BUG(); |
14478 | /* Avoid "noreturn function does return". */ | 14102 | /* Avoid "noreturn function does return". */ |
14479 | for (;;) | 14103 | for (;;) |
14480 | diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/fork.c | 14104 | diff -NurpP --minimal linux-3.10.17/kernel/fork.c linux-3.10.17-vs2.3.6.6/kernel/fork.c |
14481 | --- linux-3.4.57/kernel/fork.c 2013-08-13 14:13:37.000000000 +0000 | 14105 | --- linux-3.10.17/kernel/fork.c 2013-10-25 15:17:44.000000000 +0000 |
14482 | +++ linux-3.4.57-vs2.3.3.9/kernel/fork.c 2012-06-28 14:45:07.000000000 +0000 | 14106 | +++ linux-3.10.17-vs2.3.6.6/kernel/fork.c 2013-10-09 17:37:22.000000000 +0000 |
14483 | @@ -68,6 +68,9 @@ | 14107 | @@ -71,6 +71,9 @@ |
14484 | #include <linux/oom.h> | ||
14485 | #include <linux/khugepaged.h> | ||
14486 | #include <linux/signalfd.h> | 14108 | #include <linux/signalfd.h> |
14109 | #include <linux/uprobes.h> | ||
14110 | #include <linux/aio.h> | ||
14487 | +#include <linux/vs_context.h> | 14111 | +#include <linux/vs_context.h> |
14488 | +#include <linux/vs_network.h> | 14112 | +#include <linux/vs_network.h> |
14489 | +#include <linux/vs_limit.h> | 14113 | +#include <linux/vs_limit.h> |
14490 | 14114 | ||
14491 | #include <asm/pgtable.h> | 14115 | #include <asm/pgtable.h> |
14492 | #include <asm/pgalloc.h> | 14116 | #include <asm/pgalloc.h> |
14493 | @@ -170,6 +173,8 @@ void free_task(struct task_struct *tsk) | 14117 | @@ -211,6 +214,8 @@ void free_task(struct task_struct *tsk) |
14494 | account_kernel_stack(tsk->stack, -1); | 14118 | arch_release_thread_info(tsk->stack); |
14495 | free_thread_info(tsk->stack); | 14119 | free_thread_info(tsk->stack); |
14496 | rt_mutex_debug_task_free(tsk); | 14120 | rt_mutex_debug_task_free(tsk); |
14497 | + clr_vx_info(&tsk->vx_info); | 14121 | + clr_vx_info(&tsk->vx_info); |
14498 | + clr_nx_info(&tsk->nx_info); | 14122 | + clr_nx_info(&tsk->nx_info); |
14499 | ftrace_graph_exit_task(tsk); | 14123 | ftrace_graph_exit_task(tsk); |
14500 | free_task_struct(tsk); | 14124 | put_seccomp_filter(tsk); |
14501 | } | 14125 | arch_release_task_struct(tsk); |
14502 | @@ -507,6 +512,7 @@ static struct mm_struct *mm_init(struct | 14126 | @@ -548,6 +553,7 @@ static struct mm_struct *mm_init(struct |
14503 | if (likely(!mm_alloc_pgd(mm))) { | 14127 | if (likely(!mm_alloc_pgd(mm))) { |
14504 | mm->def_flags = 0; | 14128 | mm->def_flags = 0; |
14505 | mmu_notifier_mm_init(mm); | 14129 | mmu_notifier_mm_init(mm); |
@@ -14507,7 +14131,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/f | |||
14507 | return mm; | 14131 | return mm; |
14508 | } | 14132 | } |
14509 | 14133 | ||
14510 | @@ -559,6 +565,7 @@ void __mmdrop(struct mm_struct *mm) | 14134 | @@ -600,6 +606,7 @@ void __mmdrop(struct mm_struct *mm) |
14511 | destroy_context(mm); | 14135 | destroy_context(mm); |
14512 | mmu_notifier_mm_destroy(mm); | 14136 | mmu_notifier_mm_destroy(mm); |
14513 | check_mm(mm); | 14137 | check_mm(mm); |
@@ -14515,15 +14139,15 @@ diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/f | |||
14515 | free_mm(mm); | 14139 | free_mm(mm); |
14516 | } | 14140 | } |
14517 | EXPORT_SYMBOL_GPL(__mmdrop); | 14141 | EXPORT_SYMBOL_GPL(__mmdrop); |
14518 | @@ -794,6 +801,7 @@ struct mm_struct *dup_mm(struct task_str | 14142 | @@ -819,6 +826,7 @@ struct mm_struct *dup_mm(struct task_str |
14519 | goto fail_nomem; | 14143 | goto fail_nomem; |
14520 | 14144 | ||
14521 | memcpy(mm, oldmm, sizeof(*mm)); | 14145 | memcpy(mm, oldmm, sizeof(*mm)); |
14522 | + mm->mm_vx_info = NULL; | 14146 | + mm->mm_vx_info = NULL; |
14523 | mm_init_cpumask(mm); | 14147 | mm_init_cpumask(mm); |
14524 | 14148 | ||
14525 | /* Initializing for Swap token stuff */ | 14149 | #ifdef CONFIG_TRANSPARENT_HUGEPAGE |
14526 | @@ -837,6 +845,7 @@ fail_nocontext: | 14150 | @@ -860,6 +868,7 @@ fail_nocontext: |
14527 | * If init_new_context() failed, we cannot use mmput() to free the mm | 14151 | * If init_new_context() failed, we cannot use mmput() to free the mm |
14528 | * because it calls destroy_context() | 14152 | * because it calls destroy_context() |
14529 | */ | 14153 | */ |
@@ -14531,16 +14155,16 @@ diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/f | |||
14531 | mm_free_pgd(mm); | 14155 | mm_free_pgd(mm); |
14532 | free_mm(mm); | 14156 | free_mm(mm); |
14533 | return NULL; | 14157 | return NULL; |
14534 | @@ -1125,6 +1134,8 @@ static struct task_struct *copy_process( | 14158 | @@ -1138,6 +1147,8 @@ static struct task_struct *copy_process( |
14159 | { | ||
14535 | int retval; | 14160 | int retval; |
14536 | struct task_struct *p; | 14161 | struct task_struct *p; |
14537 | int cgroup_callbacks_done = 0; | ||
14538 | + struct vx_info *vxi; | 14162 | + struct vx_info *vxi; |
14539 | + struct nx_info *nxi; | 14163 | + struct nx_info *nxi; |
14540 | 14164 | ||
14541 | if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS)) | 14165 | if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS)) |
14542 | return ERR_PTR(-EINVAL); | 14166 | return ERR_PTR(-EINVAL); |
14543 | @@ -1171,7 +1182,12 @@ static struct task_struct *copy_process( | 14167 | @@ -1197,7 +1208,12 @@ static struct task_struct *copy_process( |
14544 | DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); | 14168 | DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); |
14545 | DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); | 14169 | DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); |
14546 | #endif | 14170 | #endif |
@@ -14553,7 +14177,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/f | |||
14553 | if (atomic_read(&p->real_cred->user->processes) >= | 14177 | if (atomic_read(&p->real_cred->user->processes) >= |
14554 | task_rlimit(p, RLIMIT_NPROC)) { | 14178 | task_rlimit(p, RLIMIT_NPROC)) { |
14555 | if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && | 14179 | if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && |
14556 | @@ -1448,6 +1464,18 @@ static struct task_struct *copy_process( | 14180 | @@ -1478,6 +1494,18 @@ static struct task_struct *copy_process( |
14557 | 14181 | ||
14558 | total_forks++; | 14182 | total_forks++; |
14559 | spin_unlock(¤t->sighand->siglock); | 14183 | spin_unlock(¤t->sighand->siglock); |
@@ -14572,20 +14196,20 @@ diff -NurpP --minimal linux-3.4.57/kernel/fork.c linux-3.4.57-vs2.3.3.9/kernel/f | |||
14572 | write_unlock_irq(&tasklist_lock); | 14196 | write_unlock_irq(&tasklist_lock); |
14573 | proc_fork_connector(p); | 14197 | proc_fork_connector(p); |
14574 | cgroup_post_fork(p); | 14198 | cgroup_post_fork(p); |
14575 | diff -NurpP --minimal linux-3.4.57/kernel/kthread.c linux-3.4.57-vs2.3.3.9/kernel/kthread.c | 14199 | diff -NurpP --minimal linux-3.10.17/kernel/kthread.c linux-3.10.17-vs2.3.6.6/kernel/kthread.c |
14576 | --- linux-3.4.57/kernel/kthread.c 2013-08-13 14:13:40.000000000 +0000 | 14200 | --- linux-3.10.17/kernel/kthread.c 2013-07-14 17:01:35.000000000 +0000 |
14577 | +++ linux-3.4.57-vs2.3.3.9/kernel/kthread.c 2012-10-22 13:09:53.000000000 +0000 | 14201 | +++ linux-3.10.17-vs2.3.6.6/kernel/kthread.c 2013-08-22 21:14:28.000000000 +0000 |
14578 | @@ -16,6 +16,7 @@ | 14202 | @@ -18,6 +18,7 @@ |
14579 | #include <linux/mutex.h> | ||
14580 | #include <linux/slab.h> | ||
14581 | #include <linux/freezer.h> | 14203 | #include <linux/freezer.h> |
14204 | #include <linux/ptrace.h> | ||
14205 | #include <linux/uaccess.h> | ||
14582 | +#include <linux/vs_pid.h> | 14206 | +#include <linux/vs_pid.h> |
14583 | #include <trace/events/sched.h> | 14207 | #include <trace/events/sched.h> |
14584 | 14208 | ||
14585 | static DEFINE_SPINLOCK(kthread_create_lock); | 14209 | static DEFINE_SPINLOCK(kthread_create_lock); |
14586 | diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kernel/nsproxy.c | 14210 | diff -NurpP --minimal linux-3.10.17/kernel/nsproxy.c linux-3.10.17-vs2.3.6.6/kernel/nsproxy.c |
14587 | --- linux-3.4.57/kernel/nsproxy.c 2012-01-09 15:15:00.000000000 +0000 | 14211 | --- linux-3.10.17/kernel/nsproxy.c 2013-07-14 17:01:35.000000000 +0000 |
14588 | +++ linux-3.4.57-vs2.3.3.9/kernel/nsproxy.c 2012-05-21 16:15:05.000000000 +0000 | 14212 | +++ linux-3.10.17-vs2.3.6.6/kernel/nsproxy.c 2013-08-22 21:09:55.000000000 +0000 |
14589 | @@ -20,11 +20,14 @@ | 14213 | @@ -20,11 +20,14 @@ |
14590 | #include <linux/mnt_namespace.h> | 14214 | #include <linux/mnt_namespace.h> |
14591 | #include <linux/utsname.h> | 14215 | #include <linux/utsname.h> |
@@ -14594,7 +14218,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14594 | +#include <linux/vserver/debug.h> | 14218 | +#include <linux/vserver/debug.h> |
14595 | #include <net/net_namespace.h> | 14219 | #include <net/net_namespace.h> |
14596 | #include <linux/ipc_namespace.h> | 14220 | #include <linux/ipc_namespace.h> |
14597 | #include <linux/proc_fs.h> | 14221 | #include <linux/proc_ns.h> |
14598 | #include <linux/file.h> | 14222 | #include <linux/file.h> |
14599 | #include <linux/syscalls.h> | 14223 | #include <linux/syscalls.h> |
14600 | +#include "../fs/mount.h" | 14224 | +#include "../fs/mount.h" |
@@ -14614,67 +14238,70 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14614 | return nsproxy; | 14238 | return nsproxy; |
14615 | } | 14239 | } |
14616 | 14240 | ||
14617 | @@ -56,8 +62,11 @@ static inline struct nsproxy *create_nsp | 14241 | @@ -56,9 +62,12 @@ static inline struct nsproxy *create_nsp |
14618 | * Return the newly created nsproxy. Do not attach this to the task, | 14242 | * Return the newly created nsproxy. Do not attach this to the task, |
14619 | * leave it to the caller to do proper locking and attach it to task. | 14243 | * leave it to the caller to do proper locking and attach it to task. |
14620 | */ | 14244 | */ |
14621 | -static struct nsproxy *create_new_namespaces(unsigned long flags, | 14245 | -static struct nsproxy *create_new_namespaces(unsigned long flags, |
14622 | - struct task_struct *tsk, struct fs_struct *new_fs) | 14246 | - struct task_struct *tsk, struct user_namespace *user_ns, |
14623 | +static struct nsproxy *unshare_namespaces(unsigned long flags, | 14247 | - struct fs_struct *new_fs) |
14624 | + struct nsproxy *orig, | 14248 | +static struct nsproxy *unshare_namespaces( |
14625 | + struct fs_struct *new_fs, | 14249 | + unsigned long flags, |
14626 | + struct user_namespace *new_user, | 14250 | + struct nsproxy *orig, |
14627 | + struct pid_namespace *new_pid) | 14251 | + struct fs_struct *new_fs, |
14252 | + struct user_namespace *new_user, | ||
14253 | + struct pid_namespace *new_pid) | ||
14628 | { | 14254 | { |
14629 | struct nsproxy *new_nsp; | 14255 | struct nsproxy *new_nsp; |
14630 | int err; | 14256 | int err; |
14631 | @@ -66,31 +75,31 @@ static struct nsproxy *create_new_namesp | 14257 | @@ -67,31 +76,31 @@ static struct nsproxy *create_new_namesp |
14632 | if (!new_nsp) | 14258 | if (!new_nsp) |
14633 | return ERR_PTR(-ENOMEM); | 14259 | return ERR_PTR(-ENOMEM); |
14634 | 14260 | ||
14635 | - new_nsp->mnt_ns = copy_mnt_ns(flags, tsk->nsproxy->mnt_ns, new_fs); | 14261 | - new_nsp->mnt_ns = copy_mnt_ns(flags, tsk->nsproxy->mnt_ns, user_ns, new_fs); |
14636 | + new_nsp->mnt_ns = copy_mnt_ns(flags, orig->mnt_ns, new_fs); | 14262 | + new_nsp->mnt_ns = copy_mnt_ns(flags, orig->mnt_ns, new_user, new_fs); |
14637 | if (IS_ERR(new_nsp->mnt_ns)) { | 14263 | if (IS_ERR(new_nsp->mnt_ns)) { |
14638 | err = PTR_ERR(new_nsp->mnt_ns); | 14264 | err = PTR_ERR(new_nsp->mnt_ns); |
14639 | goto out_ns; | 14265 | goto out_ns; |
14640 | } | 14266 | } |
14641 | 14267 | ||
14642 | - new_nsp->uts_ns = copy_utsname(flags, tsk); | 14268 | - new_nsp->uts_ns = copy_utsname(flags, user_ns, tsk->nsproxy->uts_ns); |
14643 | + new_nsp->uts_ns = copy_utsname(flags, orig->uts_ns, new_user); | 14269 | + new_nsp->uts_ns = copy_utsname(flags, new_user, orig->uts_ns); |
14644 | if (IS_ERR(new_nsp->uts_ns)) { | 14270 | if (IS_ERR(new_nsp->uts_ns)) { |
14645 | err = PTR_ERR(new_nsp->uts_ns); | 14271 | err = PTR_ERR(new_nsp->uts_ns); |
14646 | goto out_uts; | 14272 | goto out_uts; |
14647 | } | 14273 | } |
14648 | 14274 | ||
14649 | - new_nsp->ipc_ns = copy_ipcs(flags, tsk); | 14275 | - new_nsp->ipc_ns = copy_ipcs(flags, user_ns, tsk->nsproxy->ipc_ns); |
14650 | + new_nsp->ipc_ns = copy_ipcs(flags, orig->ipc_ns, new_user); | 14276 | + new_nsp->ipc_ns = copy_ipcs(flags, new_user, orig->ipc_ns); |
14651 | if (IS_ERR(new_nsp->ipc_ns)) { | 14277 | if (IS_ERR(new_nsp->ipc_ns)) { |
14652 | err = PTR_ERR(new_nsp->ipc_ns); | 14278 | err = PTR_ERR(new_nsp->ipc_ns); |
14653 | goto out_ipc; | 14279 | goto out_ipc; |
14654 | } | 14280 | } |
14655 | 14281 | ||
14656 | - new_nsp->pid_ns = copy_pid_ns(flags, task_active_pid_ns(tsk)); | 14282 | - new_nsp->pid_ns = copy_pid_ns(flags, user_ns, tsk->nsproxy->pid_ns); |
14657 | + new_nsp->pid_ns = copy_pid_ns(flags, new_pid); | 14283 | + new_nsp->pid_ns = copy_pid_ns(flags, new_user, new_pid); |
14658 | if (IS_ERR(new_nsp->pid_ns)) { | 14284 | if (IS_ERR(new_nsp->pid_ns)) { |
14659 | err = PTR_ERR(new_nsp->pid_ns); | 14285 | err = PTR_ERR(new_nsp->pid_ns); |
14660 | goto out_pid; | 14286 | goto out_pid; |
14661 | } | 14287 | } |
14662 | 14288 | ||
14663 | - new_nsp->net_ns = copy_net_ns(flags, tsk->nsproxy->net_ns); | 14289 | - new_nsp->net_ns = copy_net_ns(flags, user_ns, tsk->nsproxy->net_ns); |
14664 | + new_nsp->net_ns = copy_net_ns(flags, orig->net_ns); | 14290 | + new_nsp->net_ns = copy_net_ns(flags, new_user, orig->net_ns); |
14665 | if (IS_ERR(new_nsp->net_ns)) { | 14291 | if (IS_ERR(new_nsp->net_ns)) { |
14666 | err = PTR_ERR(new_nsp->net_ns); | 14292 | err = PTR_ERR(new_nsp->net_ns); |
14667 | goto out_net; | 14293 | goto out_net; |
14668 | @@ -115,6 +124,40 @@ out_ns: | 14294 | @@ -116,6 +125,41 @@ out_ns: |
14669 | return ERR_PTR(err); | 14295 | return ERR_PTR(err); |
14670 | } | 14296 | } |
14671 | 14297 | ||
14672 | +static struct nsproxy *create_new_namespaces(unsigned long flags, | 14298 | +static struct nsproxy *create_new_namespaces(unsigned long flags, |
14673 | + struct task_struct *tsk, struct fs_struct *new_fs) | 14299 | + struct task_struct *tsk, struct user_namespace *user_ns, |
14300 | + struct fs_struct *new_fs) | ||
14301 | + | ||
14674 | +{ | 14302 | +{ |
14675 | + return unshare_namespaces(flags, tsk->nsproxy, | 14303 | + return unshare_namespaces(flags, tsk->nsproxy, |
14676 | + new_fs, task_cred_xxx(tsk, user)->user_ns, | 14304 | + new_fs, user_ns, task_active_pid_ns(tsk)); |
14677 | + task_active_pid_ns(tsk)); | ||
14678 | +} | 14305 | +} |
14679 | + | 14306 | + |
14680 | +/* | 14307 | +/* |
@@ -14706,10 +14333,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14706 | /* | 14333 | /* |
14707 | * called from clone. This now handles copy for nsproxy and all | 14334 | * called from clone. This now handles copy for nsproxy and all |
14708 | * namespaces therein. | 14335 | * namespaces therein. |
14709 | @@ -122,9 +165,12 @@ out_ns: | 14336 | @@ -124,9 +168,12 @@ int copy_namespaces(unsigned long flags, |
14710 | int copy_namespaces(unsigned long flags, struct task_struct *tsk) | ||
14711 | { | 14337 | { |
14712 | struct nsproxy *old_ns = tsk->nsproxy; | 14338 | struct nsproxy *old_ns = tsk->nsproxy; |
14339 | struct user_namespace *user_ns = task_cred_xxx(tsk, user_ns); | ||
14713 | - struct nsproxy *new_ns; | 14340 | - struct nsproxy *new_ns; |
14714 | + struct nsproxy *new_ns = NULL; | 14341 | + struct nsproxy *new_ns = NULL; |
14715 | int err = 0; | 14342 | int err = 0; |
@@ -14720,16 +14347,16 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14720 | if (!old_ns) | 14347 | if (!old_ns) |
14721 | return 0; | 14348 | return 0; |
14722 | 14349 | ||
14723 | @@ -134,7 +180,7 @@ int copy_namespaces(unsigned long flags, | 14350 | @@ -136,7 +183,7 @@ int copy_namespaces(unsigned long flags, |
14724 | CLONE_NEWPID | CLONE_NEWNET))) | 14351 | CLONE_NEWPID | CLONE_NEWNET))) |
14725 | return 0; | 14352 | return 0; |
14726 | 14353 | ||
14727 | - if (!capable(CAP_SYS_ADMIN)) { | 14354 | - if (!ns_capable(user_ns, CAP_SYS_ADMIN)) { |
14728 | + if (!vx_can_unshare(CAP_SYS_ADMIN, flags)) { | 14355 | + if (!vx_ns_can_unshare(user_ns, CAP_SYS_ADMIN, flags)) { |
14729 | err = -EPERM; | 14356 | err = -EPERM; |
14730 | goto out; | 14357 | goto out; |
14731 | } | 14358 | } |
14732 | @@ -161,6 +207,9 @@ int copy_namespaces(unsigned long flags, | 14359 | @@ -163,6 +210,9 @@ int copy_namespaces(unsigned long flags, |
14733 | 14360 | ||
14734 | out: | 14361 | out: |
14735 | put_nsproxy(old_ns); | 14362 | put_nsproxy(old_ns); |
@@ -14739,7 +14366,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14739 | return err; | 14366 | return err; |
14740 | } | 14367 | } |
14741 | 14368 | ||
14742 | @@ -174,7 +223,9 @@ void free_nsproxy(struct nsproxy *ns) | 14369 | @@ -176,7 +226,9 @@ void free_nsproxy(struct nsproxy *ns) |
14743 | put_ipc_ns(ns->ipc_ns); | 14370 | put_ipc_ns(ns->ipc_ns); |
14744 | if (ns->pid_ns) | 14371 | if (ns->pid_ns) |
14745 | put_pid_ns(ns->pid_ns); | 14372 | put_pid_ns(ns->pid_ns); |
@@ -14750,8 +14377,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14750 | kmem_cache_free(nsproxy_cachep, ns); | 14377 | kmem_cache_free(nsproxy_cachep, ns); |
14751 | } | 14378 | } |
14752 | 14379 | ||
14753 | @@ -187,11 +238,15 @@ int unshare_nsproxy_namespaces(unsigned | 14380 | @@ -190,12 +242,16 @@ int unshare_nsproxy_namespaces(unsigned |
14754 | { | 14381 | struct user_namespace *user_ns; |
14755 | int err = 0; | 14382 | int err = 0; |
14756 | 14383 | ||
14757 | + vxdprintk(VXD_CBIT(space, 4), | 14384 | + vxdprintk(VXD_CBIT(space, 4), |
@@ -14759,35 +14386,36 @@ diff -NurpP --minimal linux-3.4.57/kernel/nsproxy.c linux-3.4.57-vs2.3.3.9/kerne | |||
14759 | + unshare_flags, current->nsproxy); | 14386 | + unshare_flags, current->nsproxy); |
14760 | + | 14387 | + |
14761 | if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC | | 14388 | if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC | |
14762 | CLONE_NEWNET))) | 14389 | CLONE_NEWNET | CLONE_NEWPID))) |
14763 | return 0; | 14390 | return 0; |
14764 | 14391 | ||
14765 | - if (!capable(CAP_SYS_ADMIN)) | 14392 | user_ns = new_cred ? new_cred->user_ns : current_user_ns(); |
14766 | + if (!vx_can_unshare(CAP_SYS_ADMIN, unshare_flags)) | 14393 | - if (!ns_capable(user_ns, CAP_SYS_ADMIN)) |
14394 | + if (!vx_ns_can_unshare(user_ns, CAP_SYS_ADMIN, unshare_flags)) | ||
14767 | return -EPERM; | 14395 | return -EPERM; |
14768 | 14396 | ||
14769 | *new_nsp = create_new_namespaces(unshare_flags, current, | 14397 | *new_nsp = create_new_namespaces(unshare_flags, current, user_ns, |
14770 | diff -NurpP --minimal linux-3.4.57/kernel/pid.c linux-3.4.57-vs2.3.3.9/kernel/pid.c | 14398 | diff -NurpP --minimal linux-3.10.17/kernel/pid.c linux-3.10.17-vs2.3.6.6/kernel/pid.c |
14771 | --- linux-3.4.57/kernel/pid.c 2012-03-19 18:47:30.000000000 +0000 | 14399 | --- linux-3.10.17/kernel/pid.c 2013-10-25 15:17:44.000000000 +0000 |
14772 | +++ linux-3.4.57-vs2.3.3.9/kernel/pid.c 2012-05-21 16:15:05.000000000 +0000 | 14400 | +++ linux-3.10.17-vs2.3.6.6/kernel/pid.c 2013-10-09 17:37:22.000000000 +0000 |
14773 | @@ -36,6 +36,7 @@ | 14401 | @@ -38,6 +38,7 @@ |
14774 | #include <linux/pid_namespace.h> | ||
14775 | #include <linux/init_task.h> | ||
14776 | #include <linux/syscalls.h> | 14402 | #include <linux/syscalls.h> |
14403 | #include <linux/proc_ns.h> | ||
14404 | #include <linux/proc_fs.h> | ||
14777 | +#include <linux/vs_pid.h> | 14405 | +#include <linux/vs_pid.h> |
14778 | 14406 | ||
14779 | #define pid_hashfn(nr, ns) \ | 14407 | #define pid_hashfn(nr, ns) \ |
14780 | hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift) | 14408 | hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift) |
14781 | @@ -344,7 +345,7 @@ EXPORT_SYMBOL_GPL(find_pid_ns); | 14409 | @@ -367,7 +368,7 @@ EXPORT_SYMBOL_GPL(find_pid_ns); |
14782 | 14410 | ||
14783 | struct pid *find_vpid(int nr) | 14411 | struct pid *find_vpid(int nr) |
14784 | { | 14412 | { |
14785 | - return find_pid_ns(nr, current->nsproxy->pid_ns); | 14413 | - return find_pid_ns(nr, task_active_pid_ns(current)); |
14786 | + return find_pid_ns(vx_rmap_pid(nr), current->nsproxy->pid_ns); | 14414 | + return find_pid_ns(vx_rmap_pid(nr), task_active_pid_ns(current)); |
14787 | } | 14415 | } |
14788 | EXPORT_SYMBOL_GPL(find_vpid); | 14416 | EXPORT_SYMBOL_GPL(find_vpid); |
14789 | 14417 | ||
14790 | @@ -404,6 +405,9 @@ void transfer_pid(struct task_struct *ol | 14418 | @@ -427,6 +428,9 @@ void transfer_pid(struct task_struct *ol |
14791 | struct task_struct *pid_task(struct pid *pid, enum pid_type type) | 14419 | struct task_struct *pid_task(struct pid *pid, enum pid_type type) |
14792 | { | 14420 | { |
14793 | struct task_struct *result = NULL; | 14421 | struct task_struct *result = NULL; |
@@ -14797,7 +14425,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/pid.c linux-3.4.57-vs2.3.3.9/kernel/pi | |||
14797 | if (pid) { | 14425 | if (pid) { |
14798 | struct hlist_node *first; | 14426 | struct hlist_node *first; |
14799 | first = rcu_dereference_check(hlist_first_rcu(&pid->tasks[type]), | 14427 | first = rcu_dereference_check(hlist_first_rcu(&pid->tasks[type]), |
14800 | @@ -423,7 +427,7 @@ struct task_struct *find_task_by_pid_ns( | 14428 | @@ -446,7 +450,7 @@ struct task_struct *find_task_by_pid_ns( |
14801 | rcu_lockdep_assert(rcu_read_lock_held(), | 14429 | rcu_lockdep_assert(rcu_read_lock_held(), |
14802 | "find_task_by_pid_ns() needs rcu_read_lock()" | 14430 | "find_task_by_pid_ns() needs rcu_read_lock()" |
14803 | " protection"); | 14431 | " protection"); |
@@ -14806,7 +14434,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/pid.c linux-3.4.57-vs2.3.3.9/kernel/pi | |||
14806 | } | 14434 | } |
14807 | 14435 | ||
14808 | struct task_struct *find_task_by_vpid(pid_t vnr) | 14436 | struct task_struct *find_task_by_vpid(pid_t vnr) |
14809 | @@ -467,7 +471,7 @@ struct pid *find_get_pid(pid_t nr) | 14437 | @@ -490,7 +494,7 @@ struct pid *find_get_pid(pid_t nr) |
14810 | } | 14438 | } |
14811 | EXPORT_SYMBOL_GPL(find_get_pid); | 14439 | EXPORT_SYMBOL_GPL(find_get_pid); |
14812 | 14440 | ||
@@ -14815,9 +14443,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/pid.c linux-3.4.57-vs2.3.3.9/kernel/pi | |||
14815 | { | 14443 | { |
14816 | struct upid *upid; | 14444 | struct upid *upid; |
14817 | pid_t nr = 0; | 14445 | pid_t nr = 0; |
14818 | @@ -480,6 +484,11 @@ pid_t pid_nr_ns(struct pid *pid, struct | 14446 | @@ -504,6 +508,11 @@ pid_t pid_nr_ns(struct pid *pid, struct |
14819 | return nr; | ||
14820 | } | 14447 | } |
14448 | EXPORT_SYMBOL_GPL(pid_nr_ns); | ||
14821 | 14449 | ||
14822 | +pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns) | 14450 | +pid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns) |
14823 | +{ | 14451 | +{ |
@@ -14826,46 +14454,46 @@ diff -NurpP --minimal linux-3.4.57/kernel/pid.c linux-3.4.57-vs2.3.3.9/kernel/pi | |||
14826 | + | 14454 | + |
14827 | pid_t pid_vnr(struct pid *pid) | 14455 | pid_t pid_vnr(struct pid *pid) |
14828 | { | 14456 | { |
14829 | return pid_nr_ns(pid, current->nsproxy->pid_ns); | 14457 | return pid_nr_ns(pid, task_active_pid_ns(current)); |
14830 | diff -NurpP --minimal linux-3.4.57/kernel/pid_namespace.c linux-3.4.57-vs2.3.3.9/kernel/pid_namespace.c | 14458 | diff -NurpP --minimal linux-3.10.17/kernel/pid_namespace.c linux-3.10.17-vs2.3.6.6/kernel/pid_namespace.c |
14831 | --- linux-3.4.57/kernel/pid_namespace.c 2012-05-21 16:07:34.000000000 +0000 | 14459 | --- linux-3.10.17/kernel/pid_namespace.c 2013-07-14 17:01:35.000000000 +0000 |
14832 | +++ linux-3.4.57-vs2.3.3.9/kernel/pid_namespace.c 2012-05-21 16:15:05.000000000 +0000 | 14460 | +++ linux-3.10.17-vs2.3.6.6/kernel/pid_namespace.c 2013-08-22 20:30:00.000000000 +0000 |
14833 | @@ -16,6 +16,7 @@ | 14461 | @@ -18,6 +18,7 @@ |
14834 | #include <linux/slab.h> | 14462 | #include <linux/proc_ns.h> |
14835 | #include <linux/proc_fs.h> | ||
14836 | #include <linux/reboot.h> | 14463 | #include <linux/reboot.h> |
14464 | #include <linux/export.h> | ||
14837 | +#include <linux/vserver/global.h> | 14465 | +#include <linux/vserver/global.h> |
14838 | 14466 | ||
14839 | #define BITS_PER_PAGE (PAGE_SIZE*8) | 14467 | struct pid_cache { |
14840 | 14468 | int nr_ids; | |
14841 | @@ -89,6 +90,7 @@ static struct pid_namespace *create_pid_ | 14469 | @@ -110,6 +111,7 @@ static struct pid_namespace *create_pid_ |
14842 | goto out_free_map; | 14470 | goto out_free_map; |
14843 | 14471 | ||
14844 | kref_init(&ns->kref); | 14472 | kref_init(&ns->kref); |
14845 | + atomic_inc(&vs_global_pid_ns); | 14473 | + atomic_inc(&vs_global_pid_ns); |
14846 | ns->level = level; | 14474 | ns->level = level; |
14847 | ns->parent = get_pid_ns(parent_pid_ns); | 14475 | ns->parent = get_pid_ns(parent_pid_ns); |
14848 | 14476 | ns->user_ns = get_user_ns(user_ns); | |
14849 | @@ -120,6 +122,7 @@ static void destroy_pid_namespace(struct | 14477 | @@ -140,6 +142,7 @@ static void destroy_pid_namespace(struct |
14850 | |||
14851 | for (i = 0; i < PIDMAP_ENTRIES; i++) | 14478 | for (i = 0; i < PIDMAP_ENTRIES; i++) |
14852 | kfree(ns->pidmap[i].page); | 14479 | kfree(ns->pidmap[i].page); |
14480 | put_user_ns(ns->user_ns); | ||
14853 | + atomic_dec(&vs_global_pid_ns); | 14481 | + atomic_dec(&vs_global_pid_ns); |
14854 | kmem_cache_free(pid_ns_cachep, ns); | 14482 | kmem_cache_free(pid_ns_cachep, ns); |
14855 | } | 14483 | } |
14856 | 14484 | ||
14857 | diff -NurpP --minimal linux-3.4.57/kernel/posix-timers.c linux-3.4.57-vs2.3.3.9/kernel/posix-timers.c | 14485 | diff -NurpP --minimal linux-3.10.17/kernel/posix-timers.c linux-3.10.17-vs2.3.6.6/kernel/posix-timers.c |
14858 | --- linux-3.4.57/kernel/posix-timers.c 2013-08-13 14:13:41.000000000 +0000 | 14486 | --- linux-3.10.17/kernel/posix-timers.c 2013-07-14 17:01:35.000000000 +0000 |
14859 | +++ linux-3.4.57-vs2.3.3.9/kernel/posix-timers.c 2013-03-30 21:29:17.000000000 +0000 | 14487 | +++ linux-3.10.17-vs2.3.6.6/kernel/posix-timers.c 2013-08-22 21:10:34.000000000 +0000 |
14860 | @@ -47,6 +47,7 @@ | 14488 | @@ -48,6 +48,7 @@ |
14861 | #include <linux/wait.h> | ||
14862 | #include <linux/workqueue.h> | 14489 | #include <linux/workqueue.h> |
14863 | #include <linux/export.h> | 14490 | #include <linux/export.h> |
14491 | #include <linux/hashtable.h> | ||
14864 | +#include <linux/vs_context.h> | 14492 | +#include <linux/vs_context.h> |
14865 | 14493 | ||
14866 | /* | 14494 | /* |
14867 | * Management arrays for POSIX timers. Timers are kept in slab memory | 14495 | * Management arrays for POSIX timers. Timers are now kept in static hash table |
14868 | @@ -340,6 +341,7 @@ int posix_timer_event(struct k_itimer *t | 14496 | @@ -398,6 +399,7 @@ int posix_timer_event(struct k_itimer *t |
14869 | { | 14497 | { |
14870 | struct task_struct *task; | 14498 | struct task_struct *task; |
14871 | int shared, ret = -1; | 14499 | int shared, ret = -1; |
@@ -14873,7 +14501,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/posix-timers.c linux-3.4.57-vs2.3.3.9/ | |||
14873 | /* | 14501 | /* |
14874 | * FIXME: if ->sigq is queued we can race with | 14502 | * FIXME: if ->sigq is queued we can race with |
14875 | * dequeue_signal()->do_schedule_next_timer(). | 14503 | * dequeue_signal()->do_schedule_next_timer(). |
14876 | @@ -356,10 +358,18 @@ int posix_timer_event(struct k_itimer *t | 14504 | @@ -414,10 +416,18 @@ int posix_timer_event(struct k_itimer *t |
14877 | rcu_read_lock(); | 14505 | rcu_read_lock(); |
14878 | task = pid_task(timr->it_pid, PIDTYPE_PID); | 14506 | task = pid_task(timr->it_pid, PIDTYPE_PID); |
14879 | if (task) { | 14507 | if (task) { |
@@ -14892,27 +14520,27 @@ diff -NurpP --minimal linux-3.4.57/kernel/posix-timers.c linux-3.4.57-vs2.3.3.9/ | |||
14892 | /* If we failed to send the signal the timer stops. */ | 14520 | /* If we failed to send the signal the timer stops. */ |
14893 | return ret > 0; | 14521 | return ret > 0; |
14894 | } | 14522 | } |
14895 | diff -NurpP --minimal linux-3.4.57/kernel/printk.c linux-3.4.57-vs2.3.3.9/kernel/printk.c | 14523 | diff -NurpP --minimal linux-3.10.17/kernel/printk.c linux-3.10.17-vs2.3.6.6/kernel/printk.c |
14896 | --- linux-3.4.57/kernel/printk.c 2013-08-13 14:13:41.000000000 +0000 | 14524 | --- linux-3.10.17/kernel/printk.c 2013-10-25 15:17:44.000000000 +0000 |
14897 | +++ linux-3.4.57-vs2.3.3.9/kernel/printk.c 2013-03-02 15:26:44.000000000 +0000 | 14525 | +++ linux-3.10.17-vs2.3.6.6/kernel/printk.c 2013-08-22 21:14:57.000000000 +0000 |
14898 | @@ -41,6 +41,7 @@ | 14526 | @@ -45,6 +45,7 @@ |
14899 | #include <linux/cpu.h> | 14527 | #include <linux/poll.h> |
14900 | #include <linux/notifier.h> | 14528 | #include <linux/irq_work.h> |
14901 | #include <linux/rculist.h> | 14529 | #include <linux/utsname.h> |
14902 | +#include <linux/vs_cvirt.h> | 14530 | +#include <linux/vs_cvirt.h> |
14903 | 14531 | ||
14904 | #include <asm/uaccess.h> | 14532 | #include <asm/uaccess.h> |
14905 | 14533 | ||
14906 | @@ -317,7 +318,7 @@ static int check_syslog_permissions(int | 14534 | @@ -391,7 +392,7 @@ static int check_syslog_permissions(int |
14907 | return 0; | 14535 | return 0; |
14908 | 14536 | ||
14909 | if (syslog_action_restricted(type)) { | 14537 | if (syslog_action_restricted(type)) { |
14910 | - if (capable(CAP_SYSLOG)) | 14538 | - if (capable(CAP_SYSLOG)) |
14911 | + if (vx_capable(CAP_SYSLOG, VXC_SYSLOG)) | 14539 | + if (vx_capable(CAP_SYSLOG, VXC_SYSLOG)) |
14912 | return 0; | 14540 | return 0; |
14913 | /* For historical reasons, accept CAP_SYS_ADMIN too, with a warning */ | 14541 | /* |
14914 | if (capable(CAP_SYS_ADMIN)) { | 14542 | * For historical reasons, accept CAP_SYS_ADMIN too, with |
14915 | @@ -347,12 +348,9 @@ int do_syslog(int type, char __user *buf | 14543 | @@ -1140,12 +1141,9 @@ int do_syslog(int type, char __user *buf |
14916 | if (error) | 14544 | if (error) |
14917 | return error; | 14545 | return error; |
14918 | 14546 | ||
@@ -14928,7 +14556,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/printk.c linux-3.4.57-vs2.3.3.9/kernel | |||
14928 | error = -EINVAL; | 14556 | error = -EINVAL; |
14929 | if (!buf || len < 0) | 14557 | if (!buf || len < 0) |
14930 | goto out; | 14558 | goto out; |
14931 | @@ -363,6 +361,16 @@ int do_syslog(int type, char __user *buf | 14559 | @@ -1156,6 +1154,16 @@ int do_syslog(int type, char __user *buf |
14932 | error = -EFAULT; | 14560 | error = -EFAULT; |
14933 | goto out; | 14561 | goto out; |
14934 | } | 14562 | } |
@@ -14943,9 +14571,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/printk.c linux-3.4.57-vs2.3.3.9/kernel | |||
14943 | + break; | 14571 | + break; |
14944 | + case SYSLOG_ACTION_READ: /* Read from log */ | 14572 | + case SYSLOG_ACTION_READ: /* Read from log */ |
14945 | error = wait_event_interruptible(log_wait, | 14573 | error = wait_event_interruptible(log_wait, |
14946 | (log_start - log_end)); | 14574 | syslog_seq != log_next_seq); |
14947 | if (error) | 14575 | if (error) |
14948 | @@ -389,16 +397,6 @@ int do_syslog(int type, char __user *buf | 14576 | @@ -1168,16 +1176,6 @@ int do_syslog(int type, char __user *buf |
14949 | /* FALL THRU */ | 14577 | /* FALL THRU */ |
14950 | /* Read last kernel messages */ | 14578 | /* Read last kernel messages */ |
14951 | case SYSLOG_ACTION_READ_ALL: | 14579 | case SYSLOG_ACTION_READ_ALL: |
@@ -14959,45 +14587,45 @@ diff -NurpP --minimal linux-3.4.57/kernel/printk.c linux-3.4.57-vs2.3.3.9/kernel | |||
14959 | - error = -EFAULT; | 14587 | - error = -EFAULT; |
14960 | - goto out; | 14588 | - goto out; |
14961 | - } | 14589 | - } |
14962 | count = len; | 14590 | error = syslog_print_all(buf, len, clear); |
14963 | if (count > log_buf_len) | 14591 | break; |
14964 | count = log_buf_len; | 14592 | /* Clear ring buffer */ |
14965 | diff -NurpP --minimal linux-3.4.57/kernel/ptrace.c linux-3.4.57-vs2.3.3.9/kernel/ptrace.c | 14593 | diff -NurpP --minimal linux-3.10.17/kernel/ptrace.c linux-3.10.17-vs2.3.6.6/kernel/ptrace.c |
14966 | --- linux-3.4.57/kernel/ptrace.c 2013-08-13 14:13:41.000000000 +0000 | 14594 | --- linux-3.10.17/kernel/ptrace.c 2013-07-14 17:01:35.000000000 +0000 |
14967 | +++ linux-3.4.57-vs2.3.3.9/kernel/ptrace.c 2013-02-11 23:37:30.000000000 +0000 | 14595 | +++ linux-3.10.17-vs2.3.6.6/kernel/ptrace.c 2013-08-22 20:30:00.000000000 +0000 |
14968 | @@ -22,6 +22,7 @@ | 14596 | @@ -23,6 +23,7 @@ |
14969 | #include <linux/syscalls.h> | 14597 | #include <linux/syscalls.h> |
14970 | #include <linux/uaccess.h> | 14598 | #include <linux/uaccess.h> |
14971 | #include <linux/regset.h> | 14599 | #include <linux/regset.h> |
14972 | +#include <linux/vs_context.h> | 14600 | +#include <linux/vs_context.h> |
14973 | #include <linux/hw_breakpoint.h> | 14601 | #include <linux/hw_breakpoint.h> |
14974 | #include <linux/cn_proc.h> | 14602 | #include <linux/cn_proc.h> |
14603 | #include <linux/compat.h> | ||
14604 | @@ -263,6 +264,11 @@ ok: | ||
14605 | } | ||
14606 | rcu_read_unlock(); | ||
14975 | 14607 | ||
14976 | @@ -256,6 +257,11 @@ ok: | ||
14977 | dumpable = get_dumpable(task->mm); | ||
14978 | if (!dumpable && !ptrace_has_cap(task_user_ns(task), mode)) | ||
14979 | return -EPERM; | ||
14980 | + if (!vx_check(task->xid, VS_ADMIN_P|VS_WATCH_P|VS_IDENT)) | 14608 | + if (!vx_check(task->xid, VS_ADMIN_P|VS_WATCH_P|VS_IDENT)) |
14981 | + return -EPERM; | 14609 | + return -EPERM; |
14982 | + if (!vx_check(task->xid, VS_IDENT) && | 14610 | + if (!vx_check(task->xid, VS_IDENT) && |
14983 | + !task_vx_flags(task, VXF_STATE_ADMIN, 0)) | 14611 | + !task_vx_flags(task, VXF_STATE_ADMIN, 0)) |
14984 | + return -EACCES; | 14612 | + return -EACCES; |
14985 | |||
14986 | return security_ptrace_access_check(task, mode); | 14613 | return security_ptrace_access_check(task, mode); |
14987 | } | 14614 | } |
14988 | diff -NurpP --minimal linux-3.4.57/kernel/sched/core.c linux-3.4.57-vs2.3.3.9/kernel/sched/core.c | 14615 | |
14989 | --- linux-3.4.57/kernel/sched/core.c 2013-08-13 14:13:41.000000000 +0000 | 14616 | diff -NurpP --minimal linux-3.10.17/kernel/sched/core.c linux-3.10.17-vs2.3.6.6/kernel/sched/core.c |
14990 | +++ linux-3.4.57-vs2.3.3.9/kernel/sched/core.c 2013-07-14 13:38:36.000000000 +0000 | 14617 | --- linux-3.10.17/kernel/sched/core.c 2013-07-14 17:01:35.000000000 +0000 |
14991 | @@ -72,6 +72,8 @@ | 14618 | +++ linux-3.10.17-vs2.3.6.6/kernel/sched/core.c 2013-08-22 20:30:00.000000000 +0000 |
14992 | #include <linux/slab.h> | 14619 | @@ -73,6 +73,8 @@ |
14993 | #include <linux/init_task.h> | 14620 | #include <linux/init_task.h> |
14994 | #include <linux/binfmts.h> | 14621 | #include <linux/binfmts.h> |
14622 | #include <linux/context_tracking.h> | ||
14995 | +#include <linux/vs_sched.h> | 14623 | +#include <linux/vs_sched.h> |
14996 | +#include <linux/vs_cvirt.h> | 14624 | +#include <linux/vs_cvirt.h> |
14997 | 14625 | ||
14998 | #include <asm/switch_to.h> | 14626 | #include <asm/switch_to.h> |
14999 | #include <asm/tlb.h> | 14627 | #include <asm/tlb.h> |
15000 | @@ -2228,9 +2230,17 @@ EXPORT_SYMBOL(avenrun); /* should be rem | 14628 | @@ -2139,9 +2141,17 @@ EXPORT_SYMBOL(avenrun); /* should be rem |
15001 | */ | 14629 | */ |
15002 | void get_avenrun(unsigned long *loads, unsigned long offset, int shift) | 14630 | void get_avenrun(unsigned long *loads, unsigned long offset, int shift) |
15003 | { | 14631 | { |
@@ -15018,7 +14646,27 @@ diff -NurpP --minimal linux-3.4.57/kernel/sched/core.c linux-3.4.57-vs2.3.3.9/ke | |||
15018 | } | 14646 | } |
15019 | 14647 | ||
15020 | static long calc_load_fold_active(struct rq *this_rq) | 14648 | static long calc_load_fold_active(struct rq *this_rq) |
15021 | @@ -2799,14 +2809,17 @@ static inline void task_group_account_fi | 14649 | @@ -3738,7 +3748,7 @@ SYSCALL_DEFINE1(nice, int, increment) |
14650 | nice = 19; | ||
14651 | |||
14652 | if (increment < 0 && !can_nice(current, nice)) | ||
14653 | - return -EPERM; | ||
14654 | + return vx_flags(VXF_IGNEG_NICE, 0) ? 0 : -EPERM; | ||
14655 | |||
14656 | retval = security_task_setnice(current, nice); | ||
14657 | if (retval) | ||
14658 | diff -NurpP --minimal linux-3.10.17/kernel/sched/cputime.c linux-3.10.17-vs2.3.6.6/kernel/sched/cputime.c | ||
14659 | --- linux-3.10.17/kernel/sched/cputime.c 2013-10-25 15:17:44.000000000 +0000 | ||
14660 | +++ linux-3.10.17-vs2.3.6.6/kernel/sched/cputime.c 2013-10-09 17:37:22.000000000 +0000 | ||
14661 | @@ -4,6 +4,7 @@ | ||
14662 | #include <linux/kernel_stat.h> | ||
14663 | #include <linux/static_key.h> | ||
14664 | #include <linux/context_tracking.h> | ||
14665 | +#include <linux/vs_sched.h> | ||
14666 | #include "sched.h" | ||
14667 | |||
14668 | |||
14669 | @@ -135,14 +136,17 @@ static inline void task_group_account_fi | ||
15022 | void account_user_time(struct task_struct *p, cputime_t cputime, | 14670 | void account_user_time(struct task_struct *p, cputime_t cputime, |
15023 | cputime_t cputime_scaled) | 14671 | cputime_t cputime_scaled) |
15024 | { | 14672 | { |
@@ -15037,7 +14685,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sched/core.c linux-3.4.57-vs2.3.3.9/ke | |||
15037 | 14685 | ||
15038 | /* Add user time to cpustat. */ | 14686 | /* Add user time to cpustat. */ |
15039 | task_group_account_field(p, index, (__force u64) cputime); | 14687 | task_group_account_field(p, index, (__force u64) cputime); |
15040 | @@ -2853,9 +2866,12 @@ static inline | 14688 | @@ -189,9 +193,12 @@ static inline |
15041 | void __account_system_time(struct task_struct *p, cputime_t cputime, | 14689 | void __account_system_time(struct task_struct *p, cputime_t cputime, |
15042 | cputime_t cputime_scaled, int index) | 14690 | cputime_t cputime_scaled, int index) |
15043 | { | 14691 | { |
@@ -15050,27 +14698,18 @@ diff -NurpP --minimal linux-3.4.57/kernel/sched/core.c linux-3.4.57-vs2.3.3.9/ke | |||
15050 | account_group_system_time(p, cputime); | 14698 | account_group_system_time(p, cputime); |
15051 | 14699 | ||
15052 | /* Add system time to cpustat. */ | 14700 | /* Add system time to cpustat. */ |
15053 | @@ -4081,7 +4097,7 @@ SYSCALL_DEFINE1(nice, int, increment) | 14701 | diff -NurpP --minimal linux-3.10.17/kernel/sched/fair.c linux-3.10.17-vs2.3.6.6/kernel/sched/fair.c |
15054 | nice = 19; | 14702 | --- linux-3.10.17/kernel/sched/fair.c 2013-10-25 15:17:44.000000000 +0000 |
15055 | 14703 | +++ linux-3.10.17-vs2.3.6.6/kernel/sched/fair.c 2013-10-09 17:37:22.000000000 +0000 | |
15056 | if (increment < 0 && !can_nice(current, nice)) | 14704 | @@ -29,6 +29,7 @@ |
15057 | - return -EPERM; | 14705 | #include <linux/mempolicy.h> |
15058 | + return vx_flags(VXF_IGNEG_NICE, 0) ? 0 : -EPERM; | 14706 | #include <linux/migrate.h> |
15059 | 14707 | #include <linux/task_work.h> | |
15060 | retval = security_task_setnice(current, nice); | ||
15061 | if (retval) | ||
15062 | diff -NurpP --minimal linux-3.4.57/kernel/sched/fair.c linux-3.4.57-vs2.3.3.9/kernel/sched/fair.c | ||
15063 | --- linux-3.4.57/kernel/sched/fair.c 2013-08-13 14:13:41.000000000 +0000 | ||
15064 | +++ linux-3.4.57-vs2.3.3.9/kernel/sched/fair.c 2013-08-13 17:07:37.000000000 +0000 | ||
15065 | @@ -26,6 +26,7 @@ | ||
15066 | #include <linux/slab.h> | ||
15067 | #include <linux/profile.h> | ||
15068 | #include <linux/interrupt.h> | ||
15069 | +#include <linux/vs_cvirt.h> | 14708 | +#include <linux/vs_cvirt.h> |
15070 | 14709 | ||
15071 | #include <trace/events/sched.h> | 14710 | #include <trace/events/sched.h> |
15072 | 14711 | ||
15073 | @@ -1111,6 +1112,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st | 14712 | @@ -1736,6 +1737,8 @@ enqueue_entity(struct cfs_rq *cfs_rq, st |
15074 | __enqueue_entity(cfs_rq, se); | 14713 | __enqueue_entity(cfs_rq, se); |
15075 | se->on_rq = 1; | 14714 | se->on_rq = 1; |
15076 | 14715 | ||
@@ -15079,28 +14718,28 @@ diff -NurpP --minimal linux-3.4.57/kernel/sched/fair.c linux-3.4.57-vs2.3.3.9/ke | |||
15079 | if (cfs_rq->nr_running == 1) { | 14718 | if (cfs_rq->nr_running == 1) { |
15080 | list_add_leaf_cfs_rq(cfs_rq); | 14719 | list_add_leaf_cfs_rq(cfs_rq); |
15081 | check_enqueue_throttle(cfs_rq); | 14720 | check_enqueue_throttle(cfs_rq); |
15082 | @@ -1191,6 +1194,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st | 14721 | @@ -1817,6 +1820,8 @@ dequeue_entity(struct cfs_rq *cfs_rq, st |
15083 | if (se != cfs_rq->curr) | 14722 | if (se != cfs_rq->curr) |
15084 | __dequeue_entity(cfs_rq, se); | 14723 | __dequeue_entity(cfs_rq, se); |
15085 | se->on_rq = 0; | 14724 | se->on_rq = 0; |
15086 | + if (entity_is_task(se)) | 14725 | + if (entity_is_task(se)) |
15087 | + vx_deactivate_task(task_of(se)); | 14726 | + vx_deactivate_task(task_of(se)); |
15088 | update_cfs_load(cfs_rq, 0); | ||
15089 | account_entity_dequeue(cfs_rq, se); | 14727 | account_entity_dequeue(cfs_rq, se); |
15090 | 14728 | ||
15091 | diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel/signal.c | 14729 | /* |
15092 | --- linux-3.4.57/kernel/signal.c 2013-08-13 14:13:41.000000000 +0000 | 14730 | diff -NurpP --minimal linux-3.10.17/kernel/signal.c linux-3.10.17-vs2.3.6.6/kernel/signal.c |
15093 | +++ linux-3.4.57-vs2.3.3.9/kernel/signal.c 2013-07-14 13:38:36.000000000 +0000 | 14731 | --- linux-3.10.17/kernel/signal.c 2013-07-14 17:01:35.000000000 +0000 |
15094 | @@ -29,6 +29,8 @@ | 14732 | +++ linux-3.10.17-vs2.3.6.6/kernel/signal.c 2013-08-22 21:13:50.000000000 +0000 |
15095 | #include <linux/pid_namespace.h> | 14733 | @@ -33,6 +33,8 @@ |
15096 | #include <linux/nsproxy.h> | 14734 | #include <linux/uprobes.h> |
15097 | #include <linux/user_namespace.h> | 14735 | #include <linux/compat.h> |
14736 | #include <linux/cn_proc.h> | ||
15098 | +#include <linux/vs_context.h> | 14737 | +#include <linux/vs_context.h> |
15099 | +#include <linux/vs_pid.h> | 14738 | +#include <linux/vs_pid.h> |
15100 | #define CREATE_TRACE_POINTS | 14739 | #define CREATE_TRACE_POINTS |
15101 | #include <trace/events/signal.h> | 14740 | #include <trace/events/signal.h> |
15102 | 14741 | ||
15103 | @@ -787,9 +789,18 @@ static int check_kill_permission(int sig | 14742 | @@ -790,9 +792,18 @@ static int check_kill_permission(int sig |
15104 | struct pid *sid; | 14743 | struct pid *sid; |
15105 | int error; | 14744 | int error; |
15106 | 14745 | ||
@@ -15119,7 +14758,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15119 | if (!si_fromuser(info)) | 14758 | if (!si_fromuser(info)) |
15120 | return 0; | 14759 | return 0; |
15121 | 14760 | ||
15122 | @@ -813,6 +824,20 @@ static int check_kill_permission(int sig | 14761 | @@ -816,6 +827,20 @@ static int check_kill_permission(int sig |
15123 | } | 14762 | } |
15124 | } | 14763 | } |
15125 | 14764 | ||
@@ -15140,7 +14779,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15140 | return security_task_kill(t, info, sig, 0); | 14779 | return security_task_kill(t, info, sig, 0); |
15141 | } | 14780 | } |
15142 | 14781 | ||
15143 | @@ -1355,7 +1380,7 @@ int kill_pid_info(int sig, struct siginf | 14782 | @@ -1353,7 +1378,7 @@ int kill_pid_info(int sig, struct siginf |
15144 | rcu_read_lock(); | 14783 | rcu_read_lock(); |
15145 | retry: | 14784 | retry: |
15146 | p = pid_task(pid, PIDTYPE_PID); | 14785 | p = pid_task(pid, PIDTYPE_PID); |
@@ -15149,7 +14788,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15149 | error = group_send_sig_info(sig, info, p); | 14788 | error = group_send_sig_info(sig, info, p); |
15150 | if (unlikely(error == -ESRCH)) | 14789 | if (unlikely(error == -ESRCH)) |
15151 | /* | 14790 | /* |
15152 | @@ -1405,7 +1430,7 @@ int kill_pid_info_as_cred(int sig, struc | 14791 | @@ -1401,7 +1426,7 @@ int kill_pid_info_as_cred(int sig, struc |
15153 | 14792 | ||
15154 | rcu_read_lock(); | 14793 | rcu_read_lock(); |
15155 | p = pid_task(pid, PIDTYPE_PID); | 14794 | p = pid_task(pid, PIDTYPE_PID); |
@@ -15158,7 +14797,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15158 | ret = -ESRCH; | 14797 | ret = -ESRCH; |
15159 | goto out_unlock; | 14798 | goto out_unlock; |
15160 | } | 14799 | } |
15161 | @@ -1457,8 +1482,10 @@ static int kill_something_info(int sig, | 14800 | @@ -1453,8 +1478,10 @@ static int kill_something_info(int sig, |
15162 | struct task_struct * p; | 14801 | struct task_struct * p; |
15163 | 14802 | ||
15164 | for_each_process(p) { | 14803 | for_each_process(p) { |
@@ -15171,7 +14810,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15171 | int err = group_send_sig_info(sig, info, p); | 14810 | int err = group_send_sig_info(sig, info, p); |
15172 | ++count; | 14811 | ++count; |
15173 | if (err != -EPERM) | 14812 | if (err != -EPERM) |
15174 | @@ -2312,6 +2339,11 @@ relock: | 14813 | @@ -2308,6 +2335,11 @@ relock: |
15175 | !sig_kernel_only(signr)) | 14814 | !sig_kernel_only(signr)) |
15176 | continue; | 14815 | continue; |
15177 | 14816 | ||
@@ -15183,29 +14822,29 @@ diff -NurpP --minimal linux-3.4.57/kernel/signal.c linux-3.4.57-vs2.3.3.9/kernel | |||
15183 | if (sig_kernel_stop(signr)) { | 14822 | if (sig_kernel_stop(signr)) { |
15184 | /* | 14823 | /* |
15185 | * The default action is to stop all threads in | 14824 | * The default action is to stop all threads in |
15186 | diff -NurpP --minimal linux-3.4.57/kernel/softirq.c linux-3.4.57-vs2.3.3.9/kernel/softirq.c | 14825 | diff -NurpP --minimal linux-3.10.17/kernel/softirq.c linux-3.10.17-vs2.3.6.6/kernel/softirq.c |
15187 | --- linux-3.4.57/kernel/softirq.c 2012-05-21 16:07:34.000000000 +0000 | 14826 | --- linux-3.10.17/kernel/softirq.c 2013-10-25 15:17:44.000000000 +0000 |
15188 | +++ linux-3.4.57-vs2.3.3.9/kernel/softirq.c 2012-05-21 16:15:05.000000000 +0000 | 14827 | +++ linux-3.10.17-vs2.3.6.6/kernel/softirq.c 2013-10-26 18:03:17.000000000 +0000 |
15189 | @@ -24,6 +24,7 @@ | 14828 | @@ -25,6 +25,7 @@ |
15190 | #include <linux/ftrace.h> | ||
15191 | #include <linux/smp.h> | 14829 | #include <linux/smp.h> |
14830 | #include <linux/smpboot.h> | ||
15192 | #include <linux/tick.h> | 14831 | #include <linux/tick.h> |
15193 | +#include <linux/vs_context.h> | 14832 | +#include <linux/vs_context.h> |
15194 | 14833 | ||
15195 | #define CREATE_TRACE_POINTS | 14834 | #define CREATE_TRACE_POINTS |
15196 | #include <trace/events/irq.h> | 14835 | #include <trace/events/irq.h> |
15197 | diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sys.c | 14836 | diff -NurpP --minimal linux-3.10.17/kernel/sys.c linux-3.10.17-vs2.3.6.6/kernel/sys.c |
15198 | --- linux-3.4.57/kernel/sys.c 2013-08-13 14:13:41.000000000 +0000 | 14837 | --- linux-3.10.17/kernel/sys.c 2013-07-14 17:01:35.000000000 +0000 |
15199 | +++ linux-3.4.57-vs2.3.3.9/kernel/sys.c 2013-07-14 13:38:36.000000000 +0000 | 14838 | +++ linux-3.10.17-vs2.3.6.6/kernel/sys.c 2013-08-22 20:30:00.000000000 +0000 |
15200 | @@ -45,6 +45,7 @@ | 14839 | @@ -55,6 +55,7 @@ |
15201 | #include <linux/syscalls.h> | 14840 | #include <linux/cred.h> |
15202 | #include <linux/kprobes.h> | ||
15203 | #include <linux/user_namespace.h> | ||
15204 | +#include <linux/vs_pid.h> | ||
15205 | 14841 | ||
15206 | #include <linux/kmsg_dump.h> | 14842 | #include <linux/kmsg_dump.h> |
14843 | +#include <linux/vs_pid.h> | ||
15207 | /* Move somewhere else to avoid recompiling? */ | 14844 | /* Move somewhere else to avoid recompiling? */ |
15208 | @@ -155,7 +156,10 @@ static int set_one_prio(struct task_stru | 14845 | #include <generated/utsrelease.h> |
14846 | |||
14847 | @@ -160,7 +161,10 @@ static int set_one_prio(struct task_stru | ||
15209 | goto out; | 14848 | goto out; |
15210 | } | 14849 | } |
15211 | if (niceval < task_nice(p) && !can_nice(p, niceval)) { | 14850 | if (niceval < task_nice(p) && !can_nice(p, niceval)) { |
@@ -15217,7 +14856,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15217 | goto out; | 14856 | goto out; |
15218 | } | 14857 | } |
15219 | no_nice = security_task_setnice(p, niceval); | 14858 | no_nice = security_task_setnice(p, niceval); |
15220 | @@ -205,6 +209,8 @@ SYSCALL_DEFINE3(setpriority, int, which, | 14859 | @@ -211,6 +215,8 @@ SYSCALL_DEFINE3(setpriority, int, which, |
15221 | else | 14860 | else |
15222 | pgrp = task_pgrp(current); | 14861 | pgrp = task_pgrp(current); |
15223 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { | 14862 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
@@ -15226,7 +14865,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15226 | error = set_one_prio(p, niceval, error); | 14865 | error = set_one_prio(p, niceval, error); |
15227 | } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); | 14866 | } while_each_pid_thread(pgrp, PIDTYPE_PGID, p); |
15228 | break; | 14867 | break; |
15229 | @@ -268,6 +274,8 @@ SYSCALL_DEFINE2(getpriority, int, which, | 14868 | @@ -276,6 +282,8 @@ SYSCALL_DEFINE2(getpriority, int, which, |
15230 | else | 14869 | else |
15231 | pgrp = task_pgrp(current); | 14870 | pgrp = task_pgrp(current); |
15232 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { | 14871 | do_each_pid_thread(pgrp, PIDTYPE_PGID, p) { |
@@ -15235,7 +14874,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15235 | niceval = 20 - task_nice(p); | 14874 | niceval = 20 - task_nice(p); |
15236 | if (niceval > retval) | 14875 | if (niceval > retval) |
15237 | retval = niceval; | 14876 | retval = niceval; |
15238 | @@ -443,6 +451,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off); | 14877 | @@ -452,6 +460,8 @@ EXPORT_SYMBOL_GPL(kernel_power_off); |
15239 | 14878 | ||
15240 | static DEFINE_MUTEX(reboot_mutex); | 14879 | static DEFINE_MUTEX(reboot_mutex); |
15241 | 14880 | ||
@@ -15244,7 +14883,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15244 | /* | 14883 | /* |
15245 | * Reboot system call: for obvious reasons only root may call it, | 14884 | * Reboot system call: for obvious reasons only root may call it, |
15246 | * and even root needs to set up some magic numbers in the registers | 14885 | * and even root needs to set up some magic numbers in the registers |
15247 | @@ -484,6 +494,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int | 14886 | @@ -494,6 +504,9 @@ SYSCALL_DEFINE4(reboot, int, magic1, int |
15248 | if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off) | 14887 | if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off) |
15249 | cmd = LINUX_REBOOT_CMD_HALT; | 14888 | cmd = LINUX_REBOOT_CMD_HALT; |
15250 | 14889 | ||
@@ -15254,7 +14893,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15254 | mutex_lock(&reboot_mutex); | 14893 | mutex_lock(&reboot_mutex); |
15255 | switch (cmd) { | 14894 | switch (cmd) { |
15256 | case LINUX_REBOOT_CMD_RESTART: | 14895 | case LINUX_REBOOT_CMD_RESTART: |
15257 | @@ -1309,7 +1322,8 @@ SYSCALL_DEFINE2(sethostname, char __user | 14896 | @@ -1462,7 +1475,8 @@ SYSCALL_DEFINE2(sethostname, char __user |
15258 | int errno; | 14897 | int errno; |
15259 | char tmp[__NEW_UTS_LEN]; | 14898 | char tmp[__NEW_UTS_LEN]; |
15260 | 14899 | ||
@@ -15264,7 +14903,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15264 | return -EPERM; | 14903 | return -EPERM; |
15265 | 14904 | ||
15266 | if (len < 0 || len > __NEW_UTS_LEN) | 14905 | if (len < 0 || len > __NEW_UTS_LEN) |
15267 | @@ -1360,7 +1374,8 @@ SYSCALL_DEFINE2(setdomainname, char __us | 14906 | @@ -1513,7 +1527,8 @@ SYSCALL_DEFINE2(setdomainname, char __us |
15268 | int errno; | 14907 | int errno; |
15269 | char tmp[__NEW_UTS_LEN]; | 14908 | char tmp[__NEW_UTS_LEN]; |
15270 | 14909 | ||
@@ -15274,7 +14913,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15274 | return -EPERM; | 14913 | return -EPERM; |
15275 | if (len < 0 || len > __NEW_UTS_LEN) | 14914 | if (len < 0 || len > __NEW_UTS_LEN) |
15276 | return -EINVAL; | 14915 | return -EINVAL; |
15277 | @@ -1479,7 +1494,7 @@ int do_prlimit(struct task_struct *tsk, | 14916 | @@ -1632,7 +1647,7 @@ int do_prlimit(struct task_struct *tsk, |
15278 | /* Keep the capable check against init_user_ns until | 14917 | /* Keep the capable check against init_user_ns until |
15279 | cgroups can contain all limits */ | 14918 | cgroups can contain all limits */ |
15280 | if (new_rlim->rlim_max > rlim->rlim_max && | 14919 | if (new_rlim->rlim_max > rlim->rlim_max && |
@@ -15283,20 +14922,20 @@ diff -NurpP --minimal linux-3.4.57/kernel/sys.c linux-3.4.57-vs2.3.3.9/kernel/sy | |||
15283 | retval = -EPERM; | 14922 | retval = -EPERM; |
15284 | if (!retval) | 14923 | if (!retval) |
15285 | retval = security_task_setrlimit(tsk->group_leader, | 14924 | retval = security_task_setrlimit(tsk->group_leader, |
15286 | @@ -1533,7 +1548,8 @@ static int check_prlimit_permission(stru | 14925 | @@ -1685,7 +1700,8 @@ static int check_prlimit_permission(stru |
15287 | cred->gid == tcred->sgid && | 14926 | gid_eq(cred->gid, tcred->sgid) && |
15288 | cred->gid == tcred->gid)) | 14927 | gid_eq(cred->gid, tcred->gid)) |
15289 | return 0; | 14928 | return 0; |
15290 | - if (ns_capable(tcred->user->user_ns, CAP_SYS_RESOURCE)) | 14929 | - if (ns_capable(tcred->user_ns, CAP_SYS_RESOURCE)) |
15291 | + if (vx_ns_capable(tcred->user->user_ns, | 14930 | + if (vx_ns_capable(tcred->user_ns, |
15292 | + CAP_SYS_RESOURCE, VXC_SET_RLIMIT)) | 14931 | + CAP_SYS_RESOURCE, VXC_SET_RLIMIT)) |
15293 | return 0; | 14932 | return 0; |
15294 | 14933 | ||
15295 | return -EPERM; | 14934 | return -EPERM; |
15296 | diff -NurpP --minimal linux-3.4.57/kernel/sysctl.c linux-3.4.57-vs2.3.3.9/kernel/sysctl.c | 14935 | diff -NurpP --minimal linux-3.10.17/kernel/sysctl.c linux-3.10.17-vs2.3.6.6/kernel/sysctl.c |
15297 | --- linux-3.4.57/kernel/sysctl.c 2012-05-21 16:07:34.000000000 +0000 | 14936 | --- linux-3.10.17/kernel/sysctl.c 2013-07-14 17:01:35.000000000 +0000 |
15298 | +++ linux-3.4.57-vs2.3.3.9/kernel/sysctl.c 2012-05-21 16:15:05.000000000 +0000 | 14937 | +++ linux-3.10.17-vs2.3.6.6/kernel/sysctl.c 2013-08-22 20:30:00.000000000 +0000 |
15299 | @@ -81,6 +81,7 @@ | 14938 | @@ -83,6 +83,7 @@ |
15300 | #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT) | 14939 | #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT) |
15301 | #include <linux/lockdep.h> | 14940 | #include <linux/lockdep.h> |
15302 | #endif | 14941 | #endif |
@@ -15304,10 +14943,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/sysctl.c linux-3.4.57-vs2.3.3.9/kernel | |||
15304 | #ifdef CONFIG_CHR_DEV_SG | 14943 | #ifdef CONFIG_CHR_DEV_SG |
15305 | #include <scsi/sg.h> | 14944 | #include <scsi/sg.h> |
15306 | #endif | 14945 | #endif |
15307 | @@ -562,6 +563,13 @@ static struct ctl_table kern_table[] = { | 14946 | @@ -628,6 +629,13 @@ static struct ctl_table kern_table[] = { |
14947 | .mode = 0644, | ||
15308 | .proc_handler = proc_dostring, | 14948 | .proc_handler = proc_dostring, |
15309 | }, | 14949 | }, |
15310 | #endif | ||
15311 | + { | 14950 | + { |
15312 | + .procname = "vshelper", | 14951 | + .procname = "vshelper", |
15313 | + .data = &vshelper_path, | 14952 | + .data = &vshelper_path, |
@@ -15315,13 +14954,13 @@ diff -NurpP --minimal linux-3.4.57/kernel/sysctl.c linux-3.4.57-vs2.3.3.9/kernel | |||
15315 | + .mode = 0644, | 14954 | + .mode = 0644, |
15316 | + .proc_handler = &proc_dostring, | 14955 | + .proc_handler = &proc_dostring, |
15317 | + }, | 14956 | + }, |
14957 | |||
15318 | #ifdef CONFIG_CHR_DEV_SG | 14958 | #ifdef CONFIG_CHR_DEV_SG |
15319 | { | 14959 | { |
15320 | .procname = "sg-big-buff", | 14960 | diff -NurpP --minimal linux-3.10.17/kernel/sysctl_binary.c linux-3.10.17-vs2.3.6.6/kernel/sysctl_binary.c |
15321 | diff -NurpP --minimal linux-3.4.57/kernel/sysctl_binary.c linux-3.4.57-vs2.3.3.9/kernel/sysctl_binary.c | 14961 | --- linux-3.10.17/kernel/sysctl_binary.c 2013-07-14 17:01:35.000000000 +0000 |
15322 | --- linux-3.4.57/kernel/sysctl_binary.c 2013-08-13 14:13:41.000000000 +0000 | 14962 | +++ linux-3.10.17-vs2.3.6.6/kernel/sysctl_binary.c 2013-08-22 20:30:00.000000000 +0000 |
15323 | +++ linux-3.4.57-vs2.3.3.9/kernel/sysctl_binary.c 2013-03-30 21:29:17.000000000 +0000 | 14963 | @@ -74,6 +74,7 @@ static const struct bin_table bin_kern_t |
15324 | @@ -73,6 +73,7 @@ static const struct bin_table bin_kern_t | ||
15325 | 14964 | ||
15326 | { CTL_INT, KERN_PANIC, "panic" }, | 14965 | { CTL_INT, KERN_PANIC, "panic" }, |
15327 | { CTL_INT, KERN_REALROOTDEV, "real-root-dev" }, | 14966 | { CTL_INT, KERN_REALROOTDEV, "real-root-dev" }, |
@@ -15329,21 +14968,37 @@ diff -NurpP --minimal linux-3.4.57/kernel/sysctl_binary.c linux-3.4.57-vs2.3.3.9 | |||
15329 | 14968 | ||
15330 | { CTL_STR, KERN_SPARC_REBOOT, "reboot-cmd" }, | 14969 | { CTL_STR, KERN_SPARC_REBOOT, "reboot-cmd" }, |
15331 | { CTL_INT, KERN_CTLALTDEL, "ctrl-alt-del" }, | 14970 | { CTL_INT, KERN_CTLALTDEL, "ctrl-alt-del" }, |
15332 | diff -NurpP --minimal linux-3.4.57/kernel/time/timekeeping.c linux-3.4.57-vs2.3.3.9/kernel/time/timekeeping.c | 14971 | diff -NurpP --minimal linux-3.10.17/kernel/time/timekeeping.c linux-3.10.17-vs2.3.6.6/kernel/time/timekeeping.c |
15333 | --- linux-3.4.57/kernel/time/timekeeping.c 2013-08-13 14:13:41.000000000 +0000 | 14972 | --- linux-3.10.17/kernel/time/timekeeping.c 2013-10-25 15:17:44.000000000 +0000 |
15334 | +++ linux-3.4.57-vs2.3.3.9/kernel/time/timekeeping.c 2012-12-08 00:53:53.000000000 +0000 | 14973 | +++ linux-3.10.17-vs2.3.6.6/kernel/time/timekeeping.c 2013-10-09 17:37:22.000000000 +0000 |
15335 | @@ -254,6 +254,7 @@ void getnstimeofday(struct timespec *ts) | 14974 | @@ -22,6 +22,7 @@ |
15336 | } while (read_seqretry(&timekeeper.lock, seq)); | 14975 | #include <linux/tick.h> |
14976 | #include <linux/stop_machine.h> | ||
14977 | #include <linux/pvclock_gtod.h> | ||
14978 | +#include <linux/vs_time.h> | ||
14979 | |||
14980 | #include "tick-internal.h" | ||
14981 | #include "ntp_internal.h" | ||
14982 | @@ -693,6 +694,7 @@ void getrawmonotonic(struct timespec *ts | ||
14983 | } while (read_seqcount_retry(&timekeeper_seq, seq)); | ||
15337 | 14984 | ||
15338 | timespec_add_ns(ts, nsecs); | 14985 | timespec_add_ns(ts, nsecs); |
15339 | + vx_adjust_timespec(ts); | 14986 | + vx_adjust_timespec(ts); |
15340 | } | 14987 | } |
14988 | EXPORT_SYMBOL(getrawmonotonic); | ||
15341 | 14989 | ||
15342 | EXPORT_SYMBOL(getnstimeofday); | 14990 | diff -NurpP --minimal linux-3.10.17/kernel/time.c linux-3.10.17-vs2.3.6.6/kernel/time.c |
15343 | diff -NurpP --minimal linux-3.4.57/kernel/time.c linux-3.4.57-vs2.3.3.9/kernel/time.c | 14991 | --- linux-3.10.17/kernel/time.c 2013-07-14 17:01:35.000000000 +0000 |
15344 | --- linux-3.4.57/kernel/time.c 2012-05-21 16:07:34.000000000 +0000 | 14992 | +++ linux-3.10.17-vs2.3.6.6/kernel/time.c 2013-08-22 20:30:00.000000000 +0000 |
15345 | +++ linux-3.4.57-vs2.3.3.9/kernel/time.c 2012-05-21 16:15:05.000000000 +0000 | 14993 | @@ -37,6 +37,7 @@ |
15346 | @@ -92,7 +92,7 @@ SYSCALL_DEFINE1(stime, time_t __user *, | 14994 | #include <linux/fs.h> |
14995 | #include <linux/math64.h> | ||
14996 | #include <linux/ptrace.h> | ||
14997 | +#include <linux/vs_time.h> | ||
14998 | |||
14999 | #include <asm/uaccess.h> | ||
15000 | #include <asm/unistd.h> | ||
15001 | @@ -92,7 +93,7 @@ SYSCALL_DEFINE1(stime, time_t __user *, | ||
15347 | if (err) | 15002 | if (err) |
15348 | return err; | 15003 | return err; |
15349 | 15004 | ||
@@ -15352,7 +15007,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/time.c linux-3.4.57-vs2.3.3.9/kernel/t | |||
15352 | return 0; | 15007 | return 0; |
15353 | } | 15008 | } |
15354 | 15009 | ||
15355 | @@ -172,7 +172,7 @@ int do_sys_settimeofday(const struct tim | 15010 | @@ -181,7 +182,7 @@ int do_sys_settimeofday(const struct tim |
15356 | } | 15011 | } |
15357 | } | 15012 | } |
15358 | if (tv) | 15013 | if (tv) |
@@ -15361,13 +15016,13 @@ diff -NurpP --minimal linux-3.4.57/kernel/time.c linux-3.4.57-vs2.3.3.9/kernel/t | |||
15361 | return 0; | 15016 | return 0; |
15362 | } | 15017 | } |
15363 | 15018 | ||
15364 | diff -NurpP --minimal linux-3.4.57/kernel/timer.c linux-3.4.57-vs2.3.3.9/kernel/timer.c | 15019 | diff -NurpP --minimal linux-3.10.17/kernel/timer.c linux-3.10.17-vs2.3.6.6/kernel/timer.c |
15365 | --- linux-3.4.57/kernel/timer.c 2013-08-13 14:13:41.000000000 +0000 | 15020 | --- linux-3.10.17/kernel/timer.c 2013-10-25 15:17:44.000000000 +0000 |
15366 | +++ linux-3.4.57-vs2.3.3.9/kernel/timer.c 2013-08-13 17:07:37.000000000 +0000 | 15021 | +++ linux-3.10.17-vs2.3.6.6/kernel/timer.c 2013-08-22 21:17:56.000000000 +0000 |
15367 | @@ -40,6 +40,10 @@ | 15022 | @@ -42,6 +42,10 @@ |
15368 | #include <linux/irq_work.h> | 15023 | #include <linux/sched/sysctl.h> |
15369 | #include <linux/sched.h> | ||
15370 | #include <linux/slab.h> | 15024 | #include <linux/slab.h> |
15025 | #include <linux/compat.h> | ||
15371 | +#include <linux/vs_base.h> | 15026 | +#include <linux/vs_base.h> |
15372 | +#include <linux/vs_cvirt.h> | 15027 | +#include <linux/vs_cvirt.h> |
15373 | +#include <linux/vs_pid.h> | 15028 | +#include <linux/vs_pid.h> |
@@ -15375,79 +15030,41 @@ diff -NurpP --minimal linux-3.4.57/kernel/timer.c linux-3.4.57-vs2.3.3.9/kernel/ | |||
15375 | 15030 | ||
15376 | #include <asm/uaccess.h> | 15031 | #include <asm/uaccess.h> |
15377 | #include <asm/unistd.h> | 15032 | #include <asm/unistd.h> |
15378 | @@ -1390,12 +1394,6 @@ SYSCALL_DEFINE1(alarm, unsigned int, sec | 15033 | diff -NurpP --minimal linux-3.10.17/kernel/user_namespace.c linux-3.10.17-vs2.3.6.6/kernel/user_namespace.c |
15379 | 15034 | --- linux-3.10.17/kernel/user_namespace.c 2013-10-25 15:17:45.000000000 +0000 | |
15380 | #endif | 15035 | +++ linux-3.10.17-vs2.3.6.6/kernel/user_namespace.c 2013-08-22 20:30:00.000000000 +0000 |
15381 | 15036 | @@ -22,6 +22,7 @@ | |
15382 | -#ifndef __alpha__ | 15037 | #include <linux/ctype.h> |
15383 | - | 15038 | #include <linux/projid.h> |
15384 | -/* | 15039 | #include <linux/fs_struct.h> |
15385 | - * The Alpha uses getxpid, getxuid, and getxgid instead. Maybe this | ||
15386 | - * should be moved into arch/i386 instead? | ||
15387 | - */ | ||
15388 | |||
15389 | /** | ||
15390 | * sys_getpid - return the thread group id of the current process | ||
15391 | @@ -1424,10 +1422,23 @@ SYSCALL_DEFINE0(getppid) | ||
15392 | rcu_read_lock(); | ||
15393 | pid = task_tgid_vnr(rcu_dereference(current->real_parent)); | ||
15394 | rcu_read_unlock(); | ||
15395 | + return vx_map_pid(pid); | ||
15396 | +} | ||
15397 | |||
15398 | - return pid; | ||
15399 | +#ifdef __alpha__ | ||
15400 | + | ||
15401 | +/* | ||
15402 | + * The Alpha uses getxpid, getxuid, and getxgid instead. | ||
15403 | + */ | ||
15404 | + | ||
15405 | +asmlinkage long do_getxpid(long *ppid) | ||
15406 | +{ | ||
15407 | + *ppid = sys_getppid(); | ||
15408 | + return sys_getpid(); | ||
15409 | } | ||
15410 | |||
15411 | +#else /* _alpha_ */ | ||
15412 | + | ||
15413 | SYSCALL_DEFINE0(getuid) | ||
15414 | { | ||
15415 | /* Only we change this so SMP safe */ | ||
15416 | diff -NurpP --minimal linux-3.4.57/kernel/user_namespace.c linux-3.4.57-vs2.3.3.9/kernel/user_namespace.c | ||
15417 | --- linux-3.4.57/kernel/user_namespace.c 2012-01-09 15:15:00.000000000 +0000 | ||
15418 | +++ linux-3.4.57-vs2.3.3.9/kernel/user_namespace.c 2012-05-21 16:15:05.000000000 +0000 | ||
15419 | @@ -11,6 +11,7 @@ | ||
15420 | #include <linux/user_namespace.h> | ||
15421 | #include <linux/highuid.h> | ||
15422 | #include <linux/cred.h> | ||
15423 | +#include <linux/vserver/global.h> | 15040 | +#include <linux/vserver/global.h> |
15424 | 15041 | ||
15425 | static struct kmem_cache *user_ns_cachep __read_mostly; | 15042 | static struct kmem_cache *user_ns_cachep __read_mostly; |
15426 | 15043 | ||
15427 | @@ -33,6 +34,7 @@ int create_user_ns(struct cred *new) | 15044 | @@ -94,6 +95,7 @@ int create_user_ns(struct cred *new) |
15428 | return -ENOMEM; | ||
15429 | 15045 | ||
15430 | kref_init(&ns->kref); | 15046 | atomic_set(&ns->count, 1); |
15047 | /* Leave the new->user_ns reference with the new user namespace. */ | ||
15431 | + atomic_inc(&vs_global_user_ns); | 15048 | + atomic_inc(&vs_global_user_ns); |
15049 | ns->parent = parent_ns; | ||
15050 | ns->level = parent_ns->level + 1; | ||
15051 | ns->owner = owner; | ||
15052 | @@ -844,6 +846,8 @@ static void *userns_get(struct task_stru | ||
15432 | 15053 | ||
15433 | for (n = 0; n < UIDHASH_SZ; ++n) | 15054 | static void userns_put(void *ns) |
15434 | INIT_HLIST_HEAD(ns->uidhash_table + n); | 15055 | { |
15435 | @@ -81,6 +83,8 @@ void free_user_ns(struct kref *kref) | ||
15436 | struct user_namespace *ns = | ||
15437 | container_of(kref, struct user_namespace, kref); | ||
15438 | |||
15439 | + /* FIXME: maybe move into destroyer? */ | 15056 | + /* FIXME: maybe move into destroyer? */ |
15440 | + atomic_dec(&vs_global_user_ns); | 15057 | + atomic_dec(&vs_global_user_ns); |
15441 | INIT_WORK(&ns->destroyer, free_user_ns_work); | 15058 | put_user_ns(ns); |
15442 | schedule_work(&ns->destroyer); | ||
15443 | } | 15059 | } |
15444 | diff -NurpP --minimal linux-3.4.57/kernel/utsname.c linux-3.4.57-vs2.3.3.9/kernel/utsname.c | 15060 | |
15445 | --- linux-3.4.57/kernel/utsname.c 2012-01-09 15:15:00.000000000 +0000 | 15061 | diff -NurpP --minimal linux-3.10.17/kernel/utsname.c linux-3.10.17-vs2.3.6.6/kernel/utsname.c |
15446 | +++ linux-3.4.57-vs2.3.3.9/kernel/utsname.c 2012-05-21 16:15:05.000000000 +0000 | 15062 | --- linux-3.10.17/kernel/utsname.c 2013-07-14 17:01:35.000000000 +0000 |
15063 | +++ linux-3.10.17-vs2.3.6.6/kernel/utsname.c 2013-08-22 21:03:08.000000000 +0000 | ||
15447 | @@ -16,14 +16,17 @@ | 15064 | @@ -16,14 +16,17 @@ |
15448 | #include <linux/slab.h> | 15065 | #include <linux/slab.h> |
15449 | #include <linux/user_namespace.h> | 15066 | #include <linux/user_namespace.h> |
15450 | #include <linux/proc_fs.h> | 15067 | #include <linux/proc_ns.h> |
15451 | +#include <linux/vserver/global.h> | 15068 | +#include <linux/vserver/global.h> |
15452 | 15069 | ||
15453 | static struct uts_namespace *create_uts_ns(void) | 15070 | static struct uts_namespace *create_uts_ns(void) |
@@ -15456,66 +15073,26 @@ diff -NurpP --minimal linux-3.4.57/kernel/utsname.c linux-3.4.57-vs2.3.3.9/kerne | |||
15456 | 15073 | ||
15457 | uts_ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL); | 15074 | uts_ns = kmalloc(sizeof(struct uts_namespace), GFP_KERNEL); |
15458 | - if (uts_ns) | 15075 | - if (uts_ns) |
15076 | - kref_init(&uts_ns->kref); | ||
15459 | + if (uts_ns) { | 15077 | + if (uts_ns) { |
15460 | kref_init(&uts_ns->kref); | 15078 | + kref_init(&uts_ns->kref); |
15461 | + atomic_inc(&vs_global_uts_ns); | 15079 | + atomic_inc(&vs_global_uts_ns); |
15462 | + } | 15080 | + } |
15463 | return uts_ns; | 15081 | return uts_ns; |
15464 | } | 15082 | } |
15465 | 15083 | ||
15466 | @@ -32,8 +35,8 @@ static struct uts_namespace *create_uts_ | 15084 | @@ -85,6 +88,7 @@ void free_uts_ns(struct kref *kref) |
15467 | * @old_ns: namespace to clone | ||
15468 | * Return NULL on error (failure to kmalloc), new ns otherwise | ||
15469 | */ | ||
15470 | -static struct uts_namespace *clone_uts_ns(struct task_struct *tsk, | ||
15471 | - struct uts_namespace *old_ns) | ||
15472 | +static struct uts_namespace *clone_uts_ns(struct uts_namespace *old_ns, | ||
15473 | + struct user_namespace *old_user) | ||
15474 | { | ||
15475 | struct uts_namespace *ns; | ||
15476 | |||
15477 | @@ -43,7 +46,7 @@ static struct uts_namespace *clone_uts_n | ||
15478 | |||
15479 | down_read(&uts_sem); | ||
15480 | memcpy(&ns->name, &old_ns->name, sizeof(ns->name)); | ||
15481 | - ns->user_ns = get_user_ns(task_cred_xxx(tsk, user)->user_ns); | ||
15482 | + ns->user_ns = get_user_ns(old_user); | ||
15483 | up_read(&uts_sem); | ||
15484 | return ns; | ||
15485 | } | ||
15486 | @@ -55,9 +58,9 @@ static struct uts_namespace *clone_uts_n | ||
15487 | * versa. | ||
15488 | */ | ||
15489 | struct uts_namespace *copy_utsname(unsigned long flags, | ||
15490 | - struct task_struct *tsk) | ||
15491 | + struct uts_namespace *old_ns, | ||
15492 | + struct user_namespace *user_ns) | ||
15493 | { | ||
15494 | - struct uts_namespace *old_ns = tsk->nsproxy->uts_ns; | ||
15495 | struct uts_namespace *new_ns; | ||
15496 | |||
15497 | BUG_ON(!old_ns); | ||
15498 | @@ -66,7 +69,7 @@ struct uts_namespace *copy_utsname(unsig | ||
15499 | if (!(flags & CLONE_NEWUTS)) | ||
15500 | return old_ns; | ||
15501 | |||
15502 | - new_ns = clone_uts_ns(tsk, old_ns); | ||
15503 | + new_ns = clone_uts_ns(old_ns, user_ns); | ||
15504 | |||
15505 | put_uts_ns(old_ns); | ||
15506 | return new_ns; | ||
15507 | @@ -78,6 +81,7 @@ void free_uts_ns(struct kref *kref) | ||
15508 | |||
15509 | ns = container_of(kref, struct uts_namespace, kref); | 15085 | ns = container_of(kref, struct uts_namespace, kref); |
15510 | put_user_ns(ns->user_ns); | 15086 | put_user_ns(ns->user_ns); |
15087 | proc_free_inum(ns->proc_inum); | ||
15511 | + atomic_dec(&vs_global_uts_ns); | 15088 | + atomic_dec(&vs_global_uts_ns); |
15512 | kfree(ns); | 15089 | kfree(ns); |
15513 | } | 15090 | } |
15514 | 15091 | ||
15515 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/Kconfig linux-3.4.57-vs2.3.3.9/kernel/vserver/Kconfig | 15092 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/Kconfig linux-3.10.17-vs2.3.6.6/kernel/vserver/Kconfig |
15516 | --- linux-3.4.57/kernel/vserver/Kconfig 1970-01-01 00:00:00.000000000 +0000 | 15093 | --- linux-3.10.17/kernel/vserver/Kconfig 1970-01-01 00:00:00.000000000 +0000 |
15517 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/Kconfig 2012-05-21 16:15:05.000000000 +0000 | 15094 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/Kconfig 2013-08-22 20:30:00.000000000 +0000 |
15518 | @@ -0,0 +1,224 @@ | 15095 | @@ -0,0 +1,233 @@ |
15519 | +# | 15096 | +# |
15520 | +# Linux VServer configuration | 15097 | +# Linux VServer configuration |
15521 | +# | 15098 | +# |
@@ -15694,6 +15271,15 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/Kconfig linux-3.4.57-vs2.3.3.9 | |||
15694 | + This allows you to specify the number of entries in | 15271 | + This allows you to specify the number of entries in |
15695 | + the per-CPU history buffer. | 15272 | + the per-CPU history buffer. |
15696 | + | 15273 | + |
15274 | +config VSERVER_EXTRA_MNT_CHECK | ||
15275 | + bool "Extra Checks for Reachability" | ||
15276 | + default n | ||
15277 | + help | ||
15278 | + Set this to yes if you want to do extra checks for | ||
15279 | + vfsmount reachability in the proc filesystem code. | ||
15280 | + This shouldn't be required on any setup utilizing | ||
15281 | + mnt namespaces. | ||
15282 | + | ||
15697 | +choice | 15283 | +choice |
15698 | + prompt "Quotes used in debug and warn messages" | 15284 | + prompt "Quotes used in debug and warn messages" |
15699 | + default QUOTES_ISO8859 | 15285 | + default QUOTES_ISO8859 |
@@ -15740,9 +15326,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/Kconfig linux-3.4.57-vs2.3.3.9 | |||
15740 | + bool | 15326 | + bool |
15741 | + default n | 15327 | + default n |
15742 | + | 15328 | + |
15743 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/Makefile linux-3.4.57-vs2.3.3.9/kernel/vserver/Makefile | 15329 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/Makefile linux-3.10.17-vs2.3.6.6/kernel/vserver/Makefile |
15744 | --- linux-3.4.57/kernel/vserver/Makefile 1970-01-01 00:00:00.000000000 +0000 | 15330 | --- linux-3.10.17/kernel/vserver/Makefile 1970-01-01 00:00:00.000000000 +0000 |
15745 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/Makefile 2012-05-21 16:15:05.000000000 +0000 | 15331 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/Makefile 2013-08-22 20:30:00.000000000 +0000 |
15746 | @@ -0,0 +1,18 @@ | 15332 | @@ -0,0 +1,18 @@ |
15747 | +# | 15333 | +# |
15748 | +# Makefile for the Linux vserver routines. | 15334 | +# Makefile for the Linux vserver routines. |
@@ -15762,9 +15348,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/Makefile linux-3.4.57-vs2.3.3. | |||
15762 | +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o | 15348 | +vserver-$(CONFIG_VSERVER_MONITOR) += monitor.o |
15763 | +vserver-$(CONFIG_VSERVER_DEVICE) += device.o | 15349 | +vserver-$(CONFIG_VSERVER_DEVICE) += device.o |
15764 | + | 15350 | + |
15765 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct.c linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct.c | 15351 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cacct.c linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct.c |
15766 | --- linux-3.4.57/kernel/vserver/cacct.c 1970-01-01 00:00:00.000000000 +0000 | 15352 | --- linux-3.10.17/kernel/vserver/cacct.c 1970-01-01 00:00:00.000000000 +0000 |
15767 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct.c 2012-05-21 16:15:05.000000000 +0000 | 15353 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct.c 2013-08-22 20:30:00.000000000 +0000 |
15768 | @@ -0,0 +1,42 @@ | 15354 | @@ -0,0 +1,42 @@ |
15769 | +/* | 15355 | +/* |
15770 | + * linux/kernel/vserver/cacct.c | 15356 | + * linux/kernel/vserver/cacct.c |
@@ -15808,9 +15394,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct.c linux-3.4.57-vs2.3.3.9 | |||
15808 | + return 0; | 15394 | + return 0; |
15809 | +} | 15395 | +} |
15810 | + | 15396 | + |
15811 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct_init.h linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct_init.h | 15397 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cacct_init.h linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct_init.h |
15812 | --- linux-3.4.57/kernel/vserver/cacct_init.h 1970-01-01 00:00:00.000000000 +0000 | 15398 | --- linux-3.10.17/kernel/vserver/cacct_init.h 1970-01-01 00:00:00.000000000 +0000 |
15813 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct_init.h 2012-05-21 16:15:05.000000000 +0000 | 15399 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct_init.h 2013-08-22 20:30:00.000000000 +0000 |
15814 | @@ -0,0 +1,25 @@ | 15400 | @@ -0,0 +1,25 @@ |
15815 | + | 15401 | + |
15816 | + | 15402 | + |
@@ -15837,9 +15423,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct_init.h linux-3.4.57-vs2. | |||
15837 | + return; | 15423 | + return; |
15838 | +} | 15424 | +} |
15839 | + | 15425 | + |
15840 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct_proc.h linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct_proc.h | 15426 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cacct_proc.h linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct_proc.h |
15841 | --- linux-3.4.57/kernel/vserver/cacct_proc.h 1970-01-01 00:00:00.000000000 +0000 | 15427 | --- linux-3.10.17/kernel/vserver/cacct_proc.h 1970-01-01 00:00:00.000000000 +0000 |
15842 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cacct_proc.h 2012-05-21 16:15:05.000000000 +0000 | 15428 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cacct_proc.h 2013-08-22 20:30:00.000000000 +0000 |
15843 | @@ -0,0 +1,53 @@ | 15429 | @@ -0,0 +1,53 @@ |
15844 | +#ifndef _VX_CACCT_PROC_H | 15430 | +#ifndef _VX_CACCT_PROC_H |
15845 | +#define _VX_CACCT_PROC_H | 15431 | +#define _VX_CACCT_PROC_H |
@@ -15894,9 +15480,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cacct_proc.h linux-3.4.57-vs2. | |||
15894 | +} | 15480 | +} |
15895 | + | 15481 | + |
15896 | +#endif /* _VX_CACCT_PROC_H */ | 15482 | +#endif /* _VX_CACCT_PROC_H */ |
15897 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3.9/kernel/vserver/context.c | 15483 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/context.c linux-3.10.17-vs2.3.6.6/kernel/vserver/context.c |
15898 | --- linux-3.4.57/kernel/vserver/context.c 1970-01-01 00:00:00.000000000 +0000 | 15484 | --- linux-3.10.17/kernel/vserver/context.c 1970-01-01 00:00:00.000000000 +0000 |
15899 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/context.c 2012-06-28 14:45:48.000000000 +0000 | 15485 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/context.c 2013-08-22 20:30:00.000000000 +0000 |
15900 | @@ -0,0 +1,1119 @@ | 15486 | @@ -0,0 +1,1119 @@ |
15901 | +/* | 15487 | +/* |
15902 | + * linux/kernel/vserver/context.c | 15488 | + * linux/kernel/vserver/context.c |
@@ -15970,7 +15556,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
15970 | + * allocate an initialized vx_info struct | 15556 | + * allocate an initialized vx_info struct |
15971 | + * doesn't make it visible (hash) */ | 15557 | + * doesn't make it visible (hash) */ |
15972 | + | 15558 | + |
15973 | +static struct vx_info *__alloc_vx_info(xid_t xid) | 15559 | +static struct vx_info *__alloc_vx_info(vxid_t xid) |
15974 | +{ | 15560 | +{ |
15975 | + struct vx_info *new = NULL; | 15561 | + struct vx_info *new = NULL; |
15976 | + int cpu, index; | 15562 | + int cpu, index; |
@@ -16169,7 +15755,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
16169 | +static DEFINE_SPINLOCK(vx_info_hash_lock); | 15755 | +static DEFINE_SPINLOCK(vx_info_hash_lock); |
16170 | + | 15756 | + |
16171 | + | 15757 | + |
16172 | +static inline unsigned int __hashval(xid_t xid) | 15758 | +static inline unsigned int __hashval(vxid_t xid) |
16173 | +{ | 15759 | +{ |
16174 | + return (xid % VX_HASH_SIZE); | 15760 | + return (xid % VX_HASH_SIZE); |
16175 | +} | 15761 | +} |
@@ -16233,7 +15819,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
16233 | + * requires the hash_lock to be held | 15819 | + * requires the hash_lock to be held |
16234 | + * doesn't increment the vx_refcnt */ | 15820 | + * doesn't increment the vx_refcnt */ |
16235 | + | 15821 | + |
16236 | +static inline struct vx_info *__lookup_vx_info(xid_t xid) | 15822 | +static inline struct vx_info *__lookup_vx_info(vxid_t xid) |
16237 | +{ | 15823 | +{ |
16238 | + struct hlist_head *head = &vx_info_hash[__hashval(xid)]; | 15824 | + struct hlist_head *head = &vx_info_hash[__hashval(xid)]; |
16239 | + struct hlist_node *pos; | 15825 | + struct hlist_node *pos; |
@@ -16335,7 +15921,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
16335 | + | 15921 | + |
16336 | + * verify that xid is still hashed */ | 15922 | + * verify that xid is still hashed */ |
16337 | + | 15923 | + |
16338 | +int xid_is_hashed(xid_t xid) | 15924 | +int xid_is_hashed(vxid_t xid) |
16339 | +{ | 15925 | +{ |
16340 | + int hashed; | 15926 | + int hashed; |
16341 | + | 15927 | + |
@@ -16551,7 +16137,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
16551 | + | 16137 | + |
16552 | + ret = unshare_nsproxy_namespaces( | 16138 | + ret = unshare_nsproxy_namespaces( |
16553 | + CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWUSER, | 16139 | + CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWUSER, |
16554 | + &new_nsp, NULL); | 16140 | + &new_nsp, NULL, NULL); |
16555 | + if (ret) | 16141 | + if (ret) |
16556 | + goto out; | 16142 | + goto out; |
16557 | + | 16143 | + |
@@ -16690,7 +16276,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
16690 | + | 16276 | + |
16691 | +int vc_task_xid(uint32_t id) | 16277 | +int vc_task_xid(uint32_t id) |
16692 | +{ | 16278 | +{ |
16693 | + xid_t xid; | 16279 | + vxid_t xid; |
16694 | + | 16280 | + |
16695 | + if (id) { | 16281 | + if (id) { |
16696 | + struct task_struct *tsk; | 16282 | + struct task_struct *tsk; |
@@ -17017,9 +16603,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/context.c linux-3.4.57-vs2.3.3 | |||
17017 | + | 16603 | + |
17018 | +EXPORT_SYMBOL_GPL(free_vx_info); | 16604 | +EXPORT_SYMBOL_GPL(free_vx_info); |
17019 | + | 16605 | + |
17020 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt.c linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt.c | 16606 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cvirt.c linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt.c |
17021 | --- linux-3.4.57/kernel/vserver/cvirt.c 1970-01-01 00:00:00.000000000 +0000 | 16607 | --- linux-3.10.17/kernel/vserver/cvirt.c 1970-01-01 00:00:00.000000000 +0000 |
17022 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt.c 2012-05-21 16:15:05.000000000 +0000 | 16608 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt.c 2013-08-22 20:30:00.000000000 +0000 |
17023 | @@ -0,0 +1,313 @@ | 16609 | @@ -0,0 +1,313 @@ |
17024 | +/* | 16610 | +/* |
17025 | + * linux/kernel/vserver/cvirt.c | 16611 | + * linux/kernel/vserver/cvirt.c |
@@ -17334,9 +16920,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt.c linux-3.4.57-vs2.3.3.9 | |||
17334 | + | 16920 | + |
17335 | +#endif | 16921 | +#endif |
17336 | + | 16922 | + |
17337 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt_init.h linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt_init.h | 16923 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cvirt_init.h linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt_init.h |
17338 | --- linux-3.4.57/kernel/vserver/cvirt_init.h 1970-01-01 00:00:00.000000000 +0000 | 16924 | --- linux-3.10.17/kernel/vserver/cvirt_init.h 1970-01-01 00:00:00.000000000 +0000 |
17339 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt_init.h 2012-05-21 16:15:05.000000000 +0000 | 16925 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt_init.h 2013-08-22 20:30:00.000000000 +0000 |
17340 | @@ -0,0 +1,70 @@ | 16926 | @@ -0,0 +1,70 @@ |
17341 | + | 16927 | + |
17342 | + | 16928 | + |
@@ -17408,9 +16994,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt_init.h linux-3.4.57-vs2. | |||
17408 | + return; | 16994 | + return; |
17409 | +} | 16995 | +} |
17410 | + | 16996 | + |
17411 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt_proc.h linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt_proc.h | 16997 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/cvirt_proc.h linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt_proc.h |
17412 | --- linux-3.4.57/kernel/vserver/cvirt_proc.h 1970-01-01 00:00:00.000000000 +0000 | 16998 | --- linux-3.10.17/kernel/vserver/cvirt_proc.h 1970-01-01 00:00:00.000000000 +0000 |
17413 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/cvirt_proc.h 2013-08-13 17:48:39.000000000 +0000 | 16999 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/cvirt_proc.h 2013-08-22 20:30:00.000000000 +0000 |
17414 | @@ -0,0 +1,123 @@ | 17000 | @@ -0,0 +1,123 @@ |
17415 | +#ifndef _VX_CVIRT_PROC_H | 17001 | +#ifndef _VX_CVIRT_PROC_H |
17416 | +#define _VX_CVIRT_PROC_H | 17002 | +#define _VX_CVIRT_PROC_H |
@@ -17535,9 +17121,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/cvirt_proc.h linux-3.4.57-vs2. | |||
17535 | +} | 17121 | +} |
17536 | + | 17122 | + |
17537 | +#endif /* _VX_CVIRT_PROC_H */ | 17123 | +#endif /* _VX_CVIRT_PROC_H */ |
17538 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/debug.c linux-3.4.57-vs2.3.3.9/kernel/vserver/debug.c | 17124 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/debug.c linux-3.10.17-vs2.3.6.6/kernel/vserver/debug.c |
17539 | --- linux-3.4.57/kernel/vserver/debug.c 1970-01-01 00:00:00.000000000 +0000 | 17125 | --- linux-3.10.17/kernel/vserver/debug.c 1970-01-01 00:00:00.000000000 +0000 |
17540 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/debug.c 2012-05-21 16:15:05.000000000 +0000 | 17126 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/debug.c 2013-08-22 20:30:00.000000000 +0000 |
17541 | @@ -0,0 +1,32 @@ | 17127 | @@ -0,0 +1,32 @@ |
17542 | +/* | 17128 | +/* |
17543 | + * kernel/vserver/debug.c | 17129 | + * kernel/vserver/debug.c |
@@ -17571,9 +17157,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/debug.c linux-3.4.57-vs2.3.3.9 | |||
17571 | + | 17157 | + |
17572 | +EXPORT_SYMBOL_GPL(dump_vx_info); | 17158 | +EXPORT_SYMBOL_GPL(dump_vx_info); |
17573 | + | 17159 | + |
17574 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/device.c linux-3.4.57-vs2.3.3.9/kernel/vserver/device.c | 17160 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/device.c linux-3.10.17-vs2.3.6.6/kernel/vserver/device.c |
17575 | --- linux-3.4.57/kernel/vserver/device.c 1970-01-01 00:00:00.000000000 +0000 | 17161 | --- linux-3.10.17/kernel/vserver/device.c 1970-01-01 00:00:00.000000000 +0000 |
17576 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/device.c 2012-05-21 16:15:05.000000000 +0000 | 17162 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/device.c 2013-08-22 20:30:00.000000000 +0000 |
17577 | @@ -0,0 +1,443 @@ | 17163 | @@ -0,0 +1,443 @@ |
17578 | +/* | 17164 | +/* |
17579 | + * linux/kernel/vserver/device.c | 17165 | + * linux/kernel/vserver/device.c |
@@ -17613,7 +17199,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/device.c linux-3.4.57-vs2.3.3. | |||
17613 | + } u; | 17199 | + } u; |
17614 | +#define dm_hlist u.hlist | 17200 | +#define dm_hlist u.hlist |
17615 | +#define dm_list u.list | 17201 | +#define dm_list u.list |
17616 | + xid_t xid; | 17202 | + vxid_t xid; |
17617 | + dev_t device; | 17203 | + dev_t device; |
17618 | + struct vx_dmap_target target; | 17204 | + struct vx_dmap_target target; |
17619 | +}; | 17205 | +}; |
@@ -17725,7 +17311,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/device.c linux-3.4.57-vs2.3.3. | |||
17725 | + * | 17311 | + * |
17726 | + * caller must hold hash_lock | 17312 | + * caller must hold hash_lock |
17727 | + */ | 17313 | + */ |
17728 | +static inline int __find_mapping(xid_t xid, dev_t device, umode_t mode, | 17314 | +static inline int __find_mapping(vxid_t xid, dev_t device, umode_t mode, |
17729 | + struct vs_mapping **local, struct vs_mapping **global) | 17315 | + struct vs_mapping **local, struct vs_mapping **global) |
17730 | +{ | 17316 | +{ |
17731 | + struct hlist_head *hash = dmap_main_hash; | 17317 | + struct hlist_head *hash = dmap_main_hash; |
@@ -17767,7 +17353,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/device.c linux-3.4.57-vs2.3.3. | |||
17767 | + struct vs_mapping *vdm, *global; | 17353 | + struct vs_mapping *vdm, *global; |
17768 | + struct vx_dmap_target *vdmt; | 17354 | + struct vx_dmap_target *vdmt; |
17769 | + int ret = 0; | 17355 | + int ret = 0; |
17770 | + xid_t xid = vxi->vx_id; | 17356 | + vxid_t xid = vxi->vx_id; |
17771 | + int index; | 17357 | + int index; |
17772 | + | 17358 | + |
17773 | + spin_lock(hash_lock); | 17359 | + spin_lock(hash_lock); |
@@ -18018,10 +17604,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/device.c linux-3.4.57-vs2.3.3. | |||
18018 | +#endif /* CONFIG_COMPAT */ | 17604 | +#endif /* CONFIG_COMPAT */ |
18019 | + | 17605 | + |
18020 | + | 17606 | + |
18021 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/dlimit.c linux-3.4.57-vs2.3.3.9/kernel/vserver/dlimit.c | 17607 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/dlimit.c linux-3.10.17-vs2.3.6.6/kernel/vserver/dlimit.c |
18022 | --- linux-3.4.57/kernel/vserver/dlimit.c 1970-01-01 00:00:00.000000000 +0000 | 17608 | --- linux-3.10.17/kernel/vserver/dlimit.c 1970-01-01 00:00:00.000000000 +0000 |
18023 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/dlimit.c 2012-05-21 16:15:05.000000000 +0000 | 17609 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/dlimit.c 2013-08-22 20:30:00.000000000 +0000 |
18024 | @@ -0,0 +1,531 @@ | 17610 | @@ -0,0 +1,528 @@ |
18025 | +/* | 17611 | +/* |
18026 | + * linux/kernel/vserver/dlimit.c | 17612 | + * linux/kernel/vserver/dlimit.c |
18027 | + * | 17613 | + * |
@@ -18051,7 +17637,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/dlimit.c linux-3.4.57-vs2.3.3. | |||
18051 | + * allocate an initialized dl_info struct | 17637 | + * allocate an initialized dl_info struct |
18052 | + * doesn't make it visible (hash) */ | 17638 | + * doesn't make it visible (hash) */ |
18053 | + | 17639 | + |
18054 | +static struct dl_info *__alloc_dl_info(struct super_block *sb, tag_t tag) | 17640 | +static struct dl_info *__alloc_dl_info(struct super_block *sb, vtag_t tag) |
18055 | +{ | 17641 | +{ |
18056 | + struct dl_info *new = NULL; | 17642 | + struct dl_info *new = NULL; |
18057 | + | 17643 | + |
@@ -18108,7 +17694,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/dlimit.c linux-3.4.57-vs2.3.3. | |||
18108 | +static DEFINE_SPINLOCK(dl_info_hash_lock); | 17694 | +static DEFINE_SPINLOCK(dl_info_hash_lock); |
18109 | + | 17695 | + |
18110 | + | 17696 | + |
18111 | +static inline unsigned int __hashval(struct super_block *sb, tag_t tag) | 17697 | +static inline unsigned int __hashval(struct super_block *sb, vtag_t tag) |
18112 | +{ | 17698 | +{ |
18113 | + return ((tag ^ (unsigned long)sb) % DL_HASH_SIZE); | 17699 | + return ((tag ^ (unsigned long)sb) % DL_HASH_SIZE); |
18114 | +} | 17700 | +} |
@@ -18150,23 +17736,20 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/dlimit.c linux-3.4.57-vs2.3.3. | |||
18150 | + * requires the rcu_read_lock() | 17736 | + * requires the rcu_read_lock() |
18151 | + * doesn't increment the dl_refcnt */ | 17737 | + * doesn't increment the dl_refcnt */ |
18152 | + | 17738 | + |
18153 | +static inline struct dl_info *__lookup_dl_info(struct super_block *sb, tag_t tag) | 17739 | +static inline struct dl_info *__lookup_dl_info(struct super_block *sb, vtag_t tag) |
18154 | +{ | 17740 | +{ |
18155 | + struct hlist_head *head = &dl_info_hash[__hashval(sb, tag)]; | 17741 | + struct hlist_head *head = &dl_info_hash[__hashval(sb, tag)]; |
18156 | + struct hlist_node *pos; | ||
18157 | + struct dl_info *dli; | 17742 | + struct dl_info *dli; |
18158 | + | 17743 | + |
18159 | + hlist_for_each_entry_rcu(dli, pos, head, dl_hlist) { | 17744 | + hlist_for_each_entry_rcu(dli, head, dl_hlist) { |
18160 | + | 17745 | + if (dli->dl_tag == tag && dli->dl_sb == sb) |
18161 | + if (dli->dl_tag == tag && dli->dl_sb == sb) { | ||
18162 | + return dli; | 17746 | + return dli; |
18163 | + } | ||
18164 | + } | 17747 | + } |
18165 | + return NULL; | 17748 | + return NULL; |
18166 | +} | 17749 | +} |
18167 | + | 17750 | + |
18168 | + | 17751 | + |
18169 | +struct dl_info *locate_dl_info(struct super_block *sb, tag_t tag) | 17752 | +struct dl_info *locate_dl_info(struct super_block *sb, vtag_t tag) |
18170 | +{ | 17753 | +{ |
18171 | + struct dl_info *dli; | 17754 | + struct dl_info *dli; |
18172 | + | 17755 | + |
@@ -18553,10 +18136,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/dlimit.c linux-3.4.57-vs2.3.3. | |||
18553 | +EXPORT_SYMBOL_GPL(locate_dl_info); | 18136 | +EXPORT_SYMBOL_GPL(locate_dl_info); |
18554 | +EXPORT_SYMBOL_GPL(rcu_free_dl_info); | 18137 | +EXPORT_SYMBOL_GPL(rcu_free_dl_info); |
18555 | + | 18138 | + |
18556 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/helper.c linux-3.4.57-vs2.3.3.9/kernel/vserver/helper.c | 18139 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/helper.c linux-3.10.17-vs2.3.6.6/kernel/vserver/helper.c |
18557 | --- linux-3.4.57/kernel/vserver/helper.c 1970-01-01 00:00:00.000000000 +0000 | 18140 | --- linux-3.10.17/kernel/vserver/helper.c 1970-01-01 00:00:00.000000000 +0000 |
18558 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/helper.c 2012-09-16 18:49:44.000000000 +0000 | 18141 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/helper.c 2013-08-23 00:55:48.000000000 +0000 |
18559 | @@ -0,0 +1,229 @@ | 18142 | @@ -0,0 +1,242 @@ |
18560 | +/* | 18143 | +/* |
18561 | + * linux/kernel/vserver/helper.c | 18144 | + * linux/kernel/vserver/helper.c |
18562 | + * | 18145 | + * |
@@ -18579,17 +18162,29 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/helper.c linux-3.4.57-vs2.3.3. | |||
18579 | + | 18162 | + |
18580 | +static int vshelper_init(struct subprocess_info *info, struct cred *new_cred) | 18163 | +static int vshelper_init(struct subprocess_info *info, struct cred *new_cred) |
18581 | +{ | 18164 | +{ |
18582 | + current->flags &= ~PF_THREAD_BOUND; | 18165 | + current->flags &= ~PF_NO_SETAFFINITY; |
18583 | + return 0; | 18166 | + return 0; |
18584 | +} | 18167 | +} |
18585 | + | 18168 | + |
18169 | +static int vs_call_usermodehelper(char *path, char **argv, char **envp, int wait) | ||
18170 | +{ | ||
18171 | + struct subprocess_info *info; | ||
18172 | + gfp_t gfp_mask = (wait == UMH_NO_WAIT) ? GFP_ATOMIC : GFP_KERNEL; | ||
18173 | + | ||
18174 | + info = call_usermodehelper_setup(path, argv, envp, gfp_mask, | ||
18175 | + vshelper_init, NULL, NULL); | ||
18176 | + if (info == NULL) | ||
18177 | + return -ENOMEM; | ||
18178 | + | ||
18179 | + return call_usermodehelper_exec(info, wait); | ||
18180 | +} | ||
18181 | + | ||
18586 | +static int do_vshelper(char *name, char *argv[], char *envp[], int sync) | 18182 | +static int do_vshelper(char *name, char *argv[], char *envp[], int sync) |
18587 | +{ | 18183 | +{ |
18588 | + int ret; | 18184 | + int ret; |
18589 | + | 18185 | + |
18590 | + if ((ret = call_usermodehelper_fns(name, argv, envp, | 18186 | + if ((ret = vs_call_usermodehelper(name, argv, envp, |
18591 | + sync ? UMH_WAIT_PROC : UMH_WAIT_EXEC, | 18187 | + sync ? UMH_WAIT_PROC : UMH_WAIT_EXEC))) { |
18592 | + vshelper_init, NULL, NULL))) { | ||
18593 | + printk(KERN_WARNING "%s: (%s %s) returned %s with %d\n", | 18188 | + printk(KERN_WARNING "%s: (%s %s) returned %s with %d\n", |
18594 | + name, argv[1], argv[2], | 18189 | + name, argv[1], argv[2], |
18595 | + sync ? "sync" : "async", ret); | 18190 | + sync ? "sync" : "async", ret); |
@@ -18630,7 +18225,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/helper.c linux-3.4.57-vs2.3.3. | |||
18630 | + snprintf(id_buf, sizeof(id_buf), "%d", vxi->vx_id); | 18225 | + snprintf(id_buf, sizeof(id_buf), "%d", vxi->vx_id); |
18631 | + | 18226 | + |
18632 | + snprintf(cmd_buf, sizeof(cmd_buf), "VS_CMD=%08x", cmd); | 18227 | + snprintf(cmd_buf, sizeof(cmd_buf), "VS_CMD=%08x", cmd); |
18633 | + snprintf(uid_buf, sizeof(uid_buf), "VS_UID=%d", current_uid()); | 18228 | + snprintf(uid_buf, sizeof(uid_buf), "VS_UID=%d", |
18229 | + from_kuid(&init_user_ns, current_uid())); | ||
18634 | + snprintf(pid_buf, sizeof(pid_buf), "VS_PID=%d", current->pid); | 18230 | + snprintf(pid_buf, sizeof(pid_buf), "VS_PID=%d", current->pid); |
18635 | + | 18231 | + |
18636 | + switch (cmd) { | 18232 | + switch (cmd) { |
@@ -18786,9 +18382,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/helper.c linux-3.4.57-vs2.3.3. | |||
18786 | + return do_vshelper(vshelper_path, argv, envp, 1); | 18382 | + return do_vshelper(vshelper_path, argv, envp, 1); |
18787 | +} | 18383 | +} |
18788 | + | 18384 | + |
18789 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/history.c linux-3.4.57-vs2.3.3.9/kernel/vserver/history.c | 18385 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/history.c linux-3.10.17-vs2.3.6.6/kernel/vserver/history.c |
18790 | --- linux-3.4.57/kernel/vserver/history.c 1970-01-01 00:00:00.000000000 +0000 | 18386 | --- linux-3.10.17/kernel/vserver/history.c 1970-01-01 00:00:00.000000000 +0000 |
18791 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/history.c 2012-05-21 16:15:05.000000000 +0000 | 18387 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/history.c 2013-08-22 20:30:00.000000000 +0000 |
18792 | @@ -0,0 +1,258 @@ | 18388 | @@ -0,0 +1,258 @@ |
18793 | +/* | 18389 | +/* |
18794 | + * kernel/vserver/history.c | 18390 | + * kernel/vserver/history.c |
@@ -19048,10 +18644,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/history.c linux-3.4.57-vs2.3.3 | |||
19048 | + | 18644 | + |
19049 | +#endif /* CONFIG_COMPAT */ | 18645 | +#endif /* CONFIG_COMPAT */ |
19050 | + | 18646 | + |
19051 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/kernel/vserver/inet.c | 18647 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/inet.c linux-3.10.17-vs2.3.6.6/kernel/vserver/inet.c |
19052 | --- linux-3.4.57/kernel/vserver/inet.c 1970-01-01 00:00:00.000000000 +0000 | 18648 | --- linux-3.10.17/kernel/vserver/inet.c 1970-01-01 00:00:00.000000000 +0000 |
19053 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/inet.c 2012-05-21 16:15:05.000000000 +0000 | 18649 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/inet.c 2013-08-22 20:30:00.000000000 +0000 |
19054 | @@ -0,0 +1,226 @@ | 18650 | @@ -0,0 +1,236 @@ |
19055 | + | 18651 | + |
19056 | +#include <linux/in.h> | 18652 | +#include <linux/in.h> |
19057 | +#include <linux/inetdevice.h> | 18653 | +#include <linux/inetdevice.h> |
@@ -19071,13 +18667,16 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/ | |||
19071 | + ret = 1; | 18667 | + ret = 1; |
19072 | + else { | 18668 | + else { |
19073 | + struct nx_addr_v4 *ptr; | 18669 | + struct nx_addr_v4 *ptr; |
18670 | + unsigned long irqflags; | ||
19074 | + | 18671 | + |
18672 | + spin_lock_irqsave(&nxi1->addr_lock, irqflags); | ||
19075 | + for (ptr = &nxi1->v4; ptr; ptr = ptr->next) { | 18673 | + for (ptr = &nxi1->v4; ptr; ptr = ptr->next) { |
19076 | + if (v4_nx_addr_in_nx_info(nxi2, ptr, -1)) { | 18674 | + if (v4_nx_addr_in_nx_info(nxi2, ptr, -1)) { |
19077 | + ret = 1; | 18675 | + ret = 1; |
19078 | + break; | 18676 | + break; |
19079 | + } | 18677 | + } |
19080 | + } | 18678 | + } |
18679 | + spin_unlock_irqrestore(&nxi1->addr_lock, irqflags); | ||
19081 | + } | 18680 | + } |
19082 | + | 18681 | + |
19083 | + vxdprintk(VXD_CBIT(net, 2), | 18682 | + vxdprintk(VXD_CBIT(net, 2), |
@@ -19098,13 +18697,16 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/ | |||
19098 | + ret = 1; | 18697 | + ret = 1; |
19099 | + else { | 18698 | + else { |
19100 | + struct nx_addr_v6 *ptr; | 18699 | + struct nx_addr_v6 *ptr; |
18700 | + unsigned long irqflags; | ||
19101 | + | 18701 | + |
18702 | + spin_lock_irqsave(&nxi1->addr_lock, irqflags); | ||
19102 | + for (ptr = &nxi1->v6; ptr; ptr = ptr->next) { | 18703 | + for (ptr = &nxi1->v6; ptr; ptr = ptr->next) { |
19103 | + if (v6_nx_addr_in_nx_info(nxi2, ptr, -1)) { | 18704 | + if (v6_nx_addr_in_nx_info(nxi2, ptr, -1)) { |
19104 | + ret = 1; | 18705 | + ret = 1; |
19105 | + break; | 18706 | + break; |
19106 | + } | 18707 | + } |
19107 | + } | 18708 | + } |
18709 | + spin_unlock_irqrestore(&nxi1->addr_lock, irqflags); | ||
19108 | + } | 18710 | + } |
19109 | + | 18711 | + |
19110 | + vxdprintk(VXD_CBIT(net, 2), | 18712 | + vxdprintk(VXD_CBIT(net, 2), |
@@ -19228,6 +18830,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/ | |||
19228 | + goto found; | 18830 | + goto found; |
19229 | + } | 18831 | + } |
19230 | + | 18832 | + |
18833 | + WARN_ON_ONCE(in_irq()); | ||
18834 | + spin_lock_bh(&nxi->addr_lock); | ||
19231 | + for (ptr = &nxi->v4; ptr; ptr = ptr->next) { | 18835 | + for (ptr = &nxi->v4; ptr; ptr = ptr->next) { |
19232 | + __be32 primary = ptr->ip[0].s_addr; | 18836 | + __be32 primary = ptr->ip[0].s_addr; |
19233 | + __be32 mask = ptr->mask.s_addr; | 18837 | + __be32 mask = ptr->mask.s_addr; |
@@ -19249,12 +18853,14 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/ | |||
19249 | + found = fl4->saddr; | 18853 | + found = fl4->saddr; |
19250 | + ip_rt_put(rt); | 18854 | + ip_rt_put(rt); |
19251 | + if (found == primary) | 18855 | + if (found == primary) |
19252 | + goto found; | 18856 | + goto found_unlock; |
19253 | + } | 18857 | + } |
19254 | + } | 18858 | + } |
19255 | + /* still no source ip? */ | 18859 | + /* still no source ip? */ |
19256 | + found = ipv4_is_loopback(fl4->daddr) | 18860 | + found = ipv4_is_loopback(fl4->daddr) |
19257 | + ? IPI_LOOPBACK : nxi->v4.ip[0].s_addr; | 18861 | + ? IPI_LOOPBACK : nxi->v4.ip[0].s_addr; |
18862 | + found_unlock: | ||
18863 | + spin_unlock_bh(&nxi->addr_lock); | ||
19258 | + found: | 18864 | + found: |
19259 | + /* assign src ip to flow */ | 18865 | + /* assign src ip to flow */ |
19260 | + fl4->saddr = found; | 18866 | + fl4->saddr = found; |
@@ -19278,9 +18884,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inet.c linux-3.4.57-vs2.3.3.9/ | |||
19278 | + | 18884 | + |
19279 | +EXPORT_SYMBOL_GPL(ip_v4_find_src); | 18885 | +EXPORT_SYMBOL_GPL(ip_v4_find_src); |
19280 | + | 18886 | + |
19281 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/init.c linux-3.4.57-vs2.3.3.9/kernel/vserver/init.c | 18887 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/init.c linux-3.10.17-vs2.3.6.6/kernel/vserver/init.c |
19282 | --- linux-3.4.57/kernel/vserver/init.c 1970-01-01 00:00:00.000000000 +0000 | 18888 | --- linux-3.10.17/kernel/vserver/init.c 1970-01-01 00:00:00.000000000 +0000 |
19283 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/init.c 2012-05-21 16:15:05.000000000 +0000 | 18889 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/init.c 2013-08-22 20:30:00.000000000 +0000 |
19284 | @@ -0,0 +1,45 @@ | 18890 | @@ -0,0 +1,45 @@ |
19285 | +/* | 18891 | +/* |
19286 | + * linux/kernel/init.c | 18892 | + * linux/kernel/init.c |
@@ -19327,10 +18933,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/init.c linux-3.4.57-vs2.3.3.9/ | |||
19327 | +module_init(init_vserver); | 18933 | +module_init(init_vserver); |
19328 | +module_exit(exit_vserver); | 18934 | +module_exit(exit_vserver); |
19329 | + | 18935 | + |
19330 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9/kernel/vserver/inode.c | 18936 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/inode.c linux-3.10.17-vs2.3.6.6/kernel/vserver/inode.c |
19331 | --- linux-3.4.57/kernel/vserver/inode.c 1970-01-01 00:00:00.000000000 +0000 | 18937 | --- linux-3.10.17/kernel/vserver/inode.c 1970-01-01 00:00:00.000000000 +0000 |
19332 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/inode.c 2012-05-21 16:15:05.000000000 +0000 | 18938 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/inode.c 2013-08-22 23:14:01.000000000 +0000 |
19333 | @@ -0,0 +1,437 @@ | 18939 | @@ -0,0 +1,440 @@ |
19334 | +/* | 18940 | +/* |
19335 | + * linux/kernel/vserver/inode.c | 18941 | + * linux/kernel/vserver/inode.c |
19336 | + * | 18942 | + * |
@@ -19351,12 +18957,15 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19351 | +#include <linux/mount.h> | 18957 | +#include <linux/mount.h> |
19352 | +#include <linux/parser.h> | 18958 | +#include <linux/parser.h> |
19353 | +#include <linux/namei.h> | 18959 | +#include <linux/namei.h> |
18960 | +#include <linux/magic.h> | ||
18961 | +#include <linux/slab.h> | ||
19354 | +#include <linux/vserver/inode.h> | 18962 | +#include <linux/vserver/inode.h> |
19355 | +#include <linux/vserver/inode_cmd.h> | 18963 | +#include <linux/vserver/inode_cmd.h> |
19356 | +#include <linux/vs_base.h> | 18964 | +#include <linux/vs_base.h> |
19357 | +#include <linux/vs_tag.h> | 18965 | +#include <linux/vs_tag.h> |
19358 | + | 18966 | + |
19359 | +#include <asm/uaccess.h> | 18967 | +#include <asm/uaccess.h> |
18968 | +#include <../../fs/proc/internal.h> | ||
19360 | + | 18969 | + |
19361 | + | 18970 | + |
19362 | +static int __vc_get_iattr(struct inode *in, uint32_t *tag, uint32_t *flags, uint32_t *mask) | 18971 | +static int __vc_get_iattr(struct inode *in, uint32_t *tag, uint32_t *flags, uint32_t *mask) |
@@ -19377,7 +18986,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19377 | + *mask |= IATTR_BARRIER; | 18986 | + *mask |= IATTR_BARRIER; |
19378 | + | 18987 | + |
19379 | + if (IS_TAGGED(in)) { | 18988 | + if (IS_TAGGED(in)) { |
19380 | + *tag = in->i_tag; | 18989 | + *tag = i_tag_read(in); |
19381 | + *mask |= IATTR_TAG; | 18990 | + *mask |= IATTR_TAG; |
19382 | + } | 18991 | + } |
19383 | + | 18992 | + |
@@ -19395,7 +19004,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19395 | + break; | 19004 | + break; |
19396 | + | 19005 | + |
19397 | + case DEVPTS_SUPER_MAGIC: | 19006 | + case DEVPTS_SUPER_MAGIC: |
19398 | + *tag = in->i_tag; | 19007 | + *tag = i_tag_read(in); |
19399 | + *mask |= IATTR_TAG; | 19008 | + *mask |= IATTR_TAG; |
19400 | + break; | 19009 | + break; |
19401 | + | 19010 | + |
@@ -19500,7 +19109,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19500 | + | 19109 | + |
19501 | + mutex_lock(&in->i_mutex); | 19110 | + mutex_lock(&in->i_mutex); |
19502 | + if (*mask & IATTR_TAG) { | 19111 | + if (*mask & IATTR_TAG) { |
19503 | + attr.ia_tag = *tag; | 19112 | + attr.ia_tag = make_ktag(&init_user_ns, *tag); |
19504 | + attr.ia_valid |= ATTR_TAG; | 19113 | + attr.ia_valid |= ATTR_TAG; |
19505 | + } | 19114 | + } |
19506 | + | 19115 | + |
@@ -19672,7 +19281,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19672 | + } | 19281 | + } |
19673 | +} | 19282 | +} |
19674 | + | 19283 | + |
19675 | +int dx_parse_tag(char *string, tag_t *tag, int remove, int *mnt_flags, | 19284 | +int dx_parse_tag(char *string, vtag_t *tag, int remove, int *mnt_flags, |
19676 | + unsigned long *flags) | 19285 | + unsigned long *flags) |
19677 | +{ | 19286 | +{ |
19678 | + int set = 0; | 19287 | + int set = 0; |
@@ -19739,7 +19348,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19739 | + | 19348 | + |
19740 | +void __dx_propagate_tag(struct nameidata *nd, struct inode *inode) | 19349 | +void __dx_propagate_tag(struct nameidata *nd, struct inode *inode) |
19741 | +{ | 19350 | +{ |
19742 | + tag_t new_tag = 0; | 19351 | + vtag_t new_tag = 0; |
19743 | + struct vfsmount *mnt; | 19352 | + struct vfsmount *mnt; |
19744 | + int propagate; | 19353 | + int propagate; |
19745 | + | 19354 | + |
@@ -19759,7 +19368,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19759 | + new_tag, (propagate) ? 1 : 0); | 19368 | + new_tag, (propagate) ? 1 : 0); |
19760 | + | 19369 | + |
19761 | + if (propagate) | 19370 | + if (propagate) |
19762 | + inode->i_tag = new_tag; | 19371 | + i_tag_write(inode, new_tag); |
19763 | +} | 19372 | +} |
19764 | + | 19373 | + |
19765 | +#include <linux/module.h> | 19374 | +#include <linux/module.h> |
@@ -19768,9 +19377,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/inode.c linux-3.4.57-vs2.3.3.9 | |||
19768 | + | 19377 | + |
19769 | +#endif /* CONFIG_PROPAGATE */ | 19378 | +#endif /* CONFIG_PROPAGATE */ |
19770 | + | 19379 | + |
19771 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit.c linux-3.4.57-vs2.3.3.9/kernel/vserver/limit.c | 19380 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/limit.c linux-3.10.17-vs2.3.6.6/kernel/vserver/limit.c |
19772 | --- linux-3.4.57/kernel/vserver/limit.c 1970-01-01 00:00:00.000000000 +0000 | 19381 | --- linux-3.10.17/kernel/vserver/limit.c 1970-01-01 00:00:00.000000000 +0000 |
19773 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/limit.c 2012-09-01 09:15:21.000000000 +0000 | 19382 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/limit.c 2013-08-22 20:30:00.000000000 +0000 |
19774 | @@ -0,0 +1,345 @@ | 19383 | @@ -0,0 +1,345 @@ |
19775 | +/* | 19384 | +/* |
19776 | + * linux/kernel/vserver/limit.c | 19385 | + * linux/kernel/vserver/limit.c |
@@ -20031,12 +19640,13 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit.c linux-3.4.57-vs2.3.3.9 | |||
20031 | + | 19640 | + |
20032 | +void vx_vsi_meminfo(struct sysinfo *val) | 19641 | +void vx_vsi_meminfo(struct sysinfo *val) |
20033 | +{ | 19642 | +{ |
20034 | +#ifdef CONFIG_CGROUP_MEM_RES_CTLR | 19643 | +#ifdef CONFIG_MEMCG |
20035 | + struct mem_cgroup *mcg; | 19644 | + struct mem_cgroup *mcg; |
20036 | + u64 res_limit, res_usage; | 19645 | + u64 res_limit, res_usage; |
20037 | + | 19646 | + |
20038 | + rcu_read_lock(); | 19647 | + rcu_read_lock(); |
20039 | + mcg = mem_cgroup_from_task(current); | 19648 | + mcg = mem_cgroup_from_task(current); |
19649 | + rcu_read_unlock(); | ||
20040 | + if (!mcg) | 19650 | + if (!mcg) |
20041 | + goto out; | 19651 | + goto out; |
20042 | + | 19652 | + |
@@ -20050,21 +19660,21 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit.c linux-3.4.57-vs2.3.3.9 | |||
20050 | + val->totalhigh = 0; | 19660 | + val->totalhigh = 0; |
20051 | + val->freehigh = 0; | 19661 | + val->freehigh = 0; |
20052 | +out: | 19662 | +out: |
20053 | + rcu_read_unlock(); | 19663 | +#endif /* CONFIG_MEMCG */ |
20054 | +#endif /* CONFIG_CGROUP_MEM_RES_CTLR */ | ||
20055 | + return; | 19664 | + return; |
20056 | +} | 19665 | +} |
20057 | + | 19666 | + |
20058 | +void vx_vsi_swapinfo(struct sysinfo *val) | 19667 | +void vx_vsi_swapinfo(struct sysinfo *val) |
20059 | +{ | 19668 | +{ |
20060 | +#ifdef CONFIG_CGROUP_MEM_RES_CTLR | 19669 | +#ifdef CONFIG_MEMCG |
20061 | +#ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP | 19670 | +#ifdef CONFIG_MEMCG_SWAP |
20062 | + struct mem_cgroup *mcg; | 19671 | + struct mem_cgroup *mcg; |
20063 | + u64 res_limit, res_usage, memsw_limit, memsw_usage; | 19672 | + u64 res_limit, res_usage, memsw_limit, memsw_usage; |
20064 | + s64 swap_limit, swap_usage; | 19673 | + s64 swap_limit, swap_usage; |
20065 | + | 19674 | + |
20066 | + rcu_read_lock(); | 19675 | + rcu_read_lock(); |
20067 | + mcg = mem_cgroup_from_task(current); | 19676 | + mcg = mem_cgroup_from_task(current); |
19677 | + rcu_read_unlock(); | ||
20068 | + if (!mcg) | 19678 | + if (!mcg) |
20069 | + goto out; | 19679 | + goto out; |
20070 | + | 19680 | + |
@@ -20090,36 +19700,35 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit.c linux-3.4.57-vs2.3.3.9 | |||
20090 | + val->freeswap = (swap_usage < swap_limit) ? | 19700 | + val->freeswap = (swap_usage < swap_limit) ? |
20091 | + val->totalswap - (swap_usage >> PAGE_SHIFT) : 0; | 19701 | + val->totalswap - (swap_usage >> PAGE_SHIFT) : 0; |
20092 | +out: | 19702 | +out: |
20093 | + rcu_read_unlock(); | 19703 | +#else /* !CONFIG_MEMCG_SWAP */ |
20094 | +#else /* !CONFIG_CGROUP_MEM_RES_CTLR_SWAP */ | ||
20095 | + val->totalswap = 0; | 19704 | + val->totalswap = 0; |
20096 | + val->freeswap = 0; | 19705 | + val->freeswap = 0; |
20097 | +#endif /* !CONFIG_CGROUP_MEM_RES_CTLR_SWAP */ | 19706 | +#endif /* !CONFIG_MEMCG_SWAP */ |
20098 | +#endif /* CONFIG_CGROUP_MEM_RES_CTLR */ | 19707 | +#endif /* CONFIG_MEMCG */ |
20099 | + return; | 19708 | + return; |
20100 | +} | 19709 | +} |
20101 | + | 19710 | + |
20102 | +long vx_vsi_cached(struct sysinfo *val) | 19711 | +long vx_vsi_cached(struct sysinfo *val) |
20103 | +{ | 19712 | +{ |
20104 | + long cache = 0; | 19713 | + long cache = 0; |
20105 | +#ifdef CONFIG_CGROUP_MEM_RES_CTLR | 19714 | +#ifdef CONFIG_MEMCG |
20106 | + struct mem_cgroup *mcg; | 19715 | + struct mem_cgroup *mcg; |
20107 | + | 19716 | + |
20108 | + rcu_read_lock(); | 19717 | + rcu_read_lock(); |
20109 | + mcg = mem_cgroup_from_task(current); | 19718 | + mcg = mem_cgroup_from_task(current); |
19719 | + rcu_read_unlock(); | ||
20110 | + if (!mcg) | 19720 | + if (!mcg) |
20111 | + goto out; | 19721 | + goto out; |
20112 | + | 19722 | + |
20113 | + cache = mem_cgroup_stat_read_cache(mcg); | 19723 | + cache = mem_cgroup_stat_read_cache(mcg); |
20114 | +out: | 19724 | +out: |
20115 | + rcu_read_unlock(); | ||
20116 | +#endif | 19725 | +#endif |
20117 | + return cache; | 19726 | + return cache; |
20118 | +} | 19727 | +} |
20119 | + | 19728 | + |
20120 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit_init.h linux-3.4.57-vs2.3.3.9/kernel/vserver/limit_init.h | 19729 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/limit_init.h linux-3.10.17-vs2.3.6.6/kernel/vserver/limit_init.h |
20121 | --- linux-3.4.57/kernel/vserver/limit_init.h 1970-01-01 00:00:00.000000000 +0000 | 19730 | --- linux-3.10.17/kernel/vserver/limit_init.h 1970-01-01 00:00:00.000000000 +0000 |
20122 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/limit_init.h 2012-05-21 16:15:05.000000000 +0000 | 19731 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/limit_init.h 2013-08-22 20:30:00.000000000 +0000 |
20123 | @@ -0,0 +1,31 @@ | 19732 | @@ -0,0 +1,31 @@ |
20124 | + | 19733 | + |
20125 | + | 19734 | + |
@@ -20152,9 +19761,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit_init.h linux-3.4.57-vs2. | |||
20152 | + } | 19761 | + } |
20153 | +} | 19762 | +} |
20154 | + | 19763 | + |
20155 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit_proc.h linux-3.4.57-vs2.3.3.9/kernel/vserver/limit_proc.h | 19764 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/limit_proc.h linux-3.10.17-vs2.3.6.6/kernel/vserver/limit_proc.h |
20156 | --- linux-3.4.57/kernel/vserver/limit_proc.h 1970-01-01 00:00:00.000000000 +0000 | 19765 | --- linux-3.10.17/kernel/vserver/limit_proc.h 1970-01-01 00:00:00.000000000 +0000 |
20157 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/limit_proc.h 2012-05-21 16:15:05.000000000 +0000 | 19766 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/limit_proc.h 2013-08-22 20:30:00.000000000 +0000 |
20158 | @@ -0,0 +1,57 @@ | 19767 | @@ -0,0 +1,57 @@ |
20159 | +#ifndef _VX_LIMIT_PROC_H | 19768 | +#ifndef _VX_LIMIT_PROC_H |
20160 | +#define _VX_LIMIT_PROC_H | 19769 | +#define _VX_LIMIT_PROC_H |
@@ -20213,10 +19822,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/limit_proc.h linux-3.4.57-vs2. | |||
20213 | +#endif /* _VX_LIMIT_PROC_H */ | 19822 | +#endif /* _VX_LIMIT_PROC_H */ |
20214 | + | 19823 | + |
20215 | + | 19824 | + |
20216 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3.9/kernel/vserver/network.c | 19825 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/network.c linux-3.10.17-vs2.3.6.6/kernel/vserver/network.c |
20217 | --- linux-3.4.57/kernel/vserver/network.c 1970-01-01 00:00:00.000000000 +0000 | 19826 | --- linux-3.10.17/kernel/vserver/network.c 1970-01-01 00:00:00.000000000 +0000 |
20218 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/network.c 2012-05-21 16:15:05.000000000 +0000 | 19827 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/network.c 2013-08-22 20:30:00.000000000 +0000 |
20219 | @@ -0,0 +1,912 @@ | 19828 | @@ -0,0 +1,1053 @@ |
20220 | +/* | 19829 | +/* |
20221 | + * linux/kernel/vserver/network.c | 19830 | + * linux/kernel/vserver/network.c |
20222 | + * | 19831 | + * |
@@ -20237,6 +19846,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20237 | +#include <linux/err.h> | 19846 | +#include <linux/err.h> |
20238 | +#include <linux/slab.h> | 19847 | +#include <linux/slab.h> |
20239 | +#include <linux/rcupdate.h> | 19848 | +#include <linux/rcupdate.h> |
19849 | +#include <net/ipv6.h> | ||
20240 | + | 19850 | + |
20241 | +#include <linux/vs_network.h> | 19851 | +#include <linux/vs_network.h> |
20242 | +#include <linux/vs_pid.h> | 19852 | +#include <linux/vs_pid.h> |
@@ -20334,7 +19944,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20334 | + * allocate an initialized nx_info struct | 19944 | + * allocate an initialized nx_info struct |
20335 | + * doesn't make it visible (hash) */ | 19945 | + * doesn't make it visible (hash) */ |
20336 | + | 19946 | + |
20337 | +static struct nx_info *__alloc_nx_info(nid_t nid) | 19947 | +static struct nx_info *__alloc_nx_info(vnid_t nid) |
20338 | +{ | 19948 | +{ |
20339 | + struct nx_info *new = NULL; | 19949 | + struct nx_info *new = NULL; |
20340 | + | 19950 | + |
@@ -20350,6 +19960,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20350 | + INIT_HLIST_NODE(&new->nx_hlist); | 19960 | + INIT_HLIST_NODE(&new->nx_hlist); |
20351 | + atomic_set(&new->nx_usecnt, 0); | 19961 | + atomic_set(&new->nx_usecnt, 0); |
20352 | + atomic_set(&new->nx_tasks, 0); | 19962 | + atomic_set(&new->nx_tasks, 0); |
19963 | + spin_lock_init(&new->addr_lock); | ||
20353 | + new->nx_state = 0; | 19964 | + new->nx_state = 0; |
20354 | + | 19965 | + |
20355 | + new->nx_flags = NXF_INIT_SET; | 19966 | + new->nx_flags = NXF_INIT_SET; |
@@ -20381,6 +19992,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20381 | + BUG_ON(atomic_read(&nxi->nx_tasks)); | 19992 | + BUG_ON(atomic_read(&nxi->nx_tasks)); |
20382 | + | 19993 | + |
20383 | + __dealloc_nx_addr_v4_all(nxi->v4.next); | 19994 | + __dealloc_nx_addr_v4_all(nxi->v4.next); |
19995 | +#ifdef CONFIG_IPV6 | ||
19996 | + __dealloc_nx_addr_v6_all(nxi->v6.next); | ||
19997 | +#endif | ||
20384 | + | 19998 | + |
20385 | + nxi->nx_state |= NXS_RELEASED; | 19999 | + nxi->nx_state |= NXS_RELEASED; |
20386 | + kfree(nxi); | 20000 | + kfree(nxi); |
@@ -20431,7 +20045,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20431 | +static DEFINE_SPINLOCK(nx_info_hash_lock); | 20045 | +static DEFINE_SPINLOCK(nx_info_hash_lock); |
20432 | + | 20046 | + |
20433 | + | 20047 | + |
20434 | +static inline unsigned int __hashval(nid_t nid) | 20048 | +static inline unsigned int __hashval(vnid_t nid) |
20435 | +{ | 20049 | +{ |
20436 | + return (nid % NX_HASH_SIZE); | 20050 | + return (nid % NX_HASH_SIZE); |
20437 | +} | 20051 | +} |
@@ -20488,7 +20102,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20488 | + * requires the hash_lock to be held | 20102 | + * requires the hash_lock to be held |
20489 | + * doesn't increment the nx_refcnt */ | 20103 | + * doesn't increment the nx_refcnt */ |
20490 | + | 20104 | + |
20491 | +static inline struct nx_info *__lookup_nx_info(nid_t nid) | 20105 | +static inline struct nx_info *__lookup_nx_info(vnid_t nid) |
20492 | +{ | 20106 | +{ |
20493 | + struct hlist_head *head = &nx_info_hash[__hashval(nid)]; | 20107 | + struct hlist_head *head = &nx_info_hash[__hashval(nid)]; |
20494 | + struct hlist_node *pos; | 20108 | + struct hlist_node *pos; |
@@ -20588,7 +20202,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20588 | + | 20202 | + |
20589 | + * verify that nid is still hashed */ | 20203 | + * verify that nid is still hashed */ |
20590 | + | 20204 | + |
20591 | +int nid_is_hashed(nid_t nid) | 20205 | +int nid_is_hashed(vnid_t nid) |
20592 | +{ | 20206 | +{ |
20593 | + int hashed; | 20207 | + int hashed; |
20594 | + | 20208 | + |
@@ -20732,7 +20346,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20732 | + | 20346 | + |
20733 | +int vc_task_nid(uint32_t id) | 20347 | +int vc_task_nid(uint32_t id) |
20734 | +{ | 20348 | +{ |
20735 | + nid_t nid; | 20349 | + vnid_t nid; |
20736 | + | 20350 | + |
20737 | + if (id) { | 20351 | + if (id) { |
20738 | + struct task_struct *tsk; | 20352 | + struct task_struct *tsk; |
@@ -20807,52 +20421,108 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20807 | +} | 20421 | +} |
20808 | + | 20422 | + |
20809 | + | 20423 | + |
20424 | +static inline | ||
20425 | +struct nx_addr_v4 *__find_v4_addr(struct nx_info *nxi, | ||
20426 | + __be32 ip, __be32 ip2, __be32 mask, uint16_t type, uint16_t flags, | ||
20427 | + struct nx_addr_v4 **prev) | ||
20428 | +{ | ||
20429 | + struct nx_addr_v4 *nxa = &nxi->v4; | ||
20430 | + | ||
20431 | + for (; nxa; nxa = nxa->next) { | ||
20432 | + if ((nxa->ip[0].s_addr == ip) && | ||
20433 | + (nxa->ip[1].s_addr == ip2) && | ||
20434 | + (nxa->mask.s_addr == mask) && | ||
20435 | + (nxa->type == type) && | ||
20436 | + (nxa->flags == flags)) | ||
20437 | + return nxa; | ||
20438 | + | ||
20439 | + /* save previous entry */ | ||
20440 | + if (prev) | ||
20441 | + *prev = nxa; | ||
20442 | + } | ||
20443 | + return NULL; | ||
20444 | +} | ||
20810 | + | 20445 | + |
20811 | +int do_add_v4_addr(struct nx_info *nxi, __be32 ip, __be32 ip2, __be32 mask, | 20446 | +int do_add_v4_addr(struct nx_info *nxi, __be32 ip, __be32 ip2, __be32 mask, |
20812 | + uint16_t type, uint16_t flags) | 20447 | + uint16_t type, uint16_t flags) |
20813 | +{ | 20448 | +{ |
20814 | + struct nx_addr_v4 *nxa = &nxi->v4; | 20449 | + struct nx_addr_v4 *nxa = NULL; |
20450 | + struct nx_addr_v4 *new = __alloc_nx_addr_v4(); | ||
20451 | + unsigned long irqflags; | ||
20452 | + int ret = -EEXIST; | ||
20815 | + | 20453 | + |
20816 | + if (NX_IPV4(nxi)) { | 20454 | + if (IS_ERR(new)) |
20817 | + /* locate last entry */ | 20455 | + return PTR_ERR(new); |
20818 | + for (; nxa->next; nxa = nxa->next); | ||
20819 | + nxa->next = __alloc_nx_addr_v4(); | ||
20820 | + nxa = nxa->next; | ||
20821 | + | 20456 | + |
20822 | + if (IS_ERR(nxa)) | 20457 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); |
20823 | + return PTR_ERR(nxa); | 20458 | + if (__find_v4_addr(nxi, ip, ip2, mask, type, flags, &nxa)) |
20824 | + } | 20459 | + goto out_unlock; |
20460 | + | ||
20461 | + if (NX_IPV4(nxi)) { | ||
20462 | + nxa->next = new; | ||
20463 | + nxa = new; | ||
20464 | + new = NULL; | ||
20825 | + | 20465 | + |
20826 | + if (nxi->v4.next) | ||
20827 | + /* remove single ip for ip list */ | 20466 | + /* remove single ip for ip list */ |
20828 | + nxi->nx_flags &= ~NXF_SINGLE_IP; | 20467 | + nxi->nx_flags &= ~NXF_SINGLE_IP; |
20468 | + } | ||
20829 | + | 20469 | + |
20830 | + nxa->ip[0].s_addr = ip; | 20470 | + nxa->ip[0].s_addr = ip; |
20831 | + nxa->ip[1].s_addr = ip2; | 20471 | + nxa->ip[1].s_addr = ip2; |
20832 | + nxa->mask.s_addr = mask; | 20472 | + nxa->mask.s_addr = mask; |
20833 | + nxa->type = type; | 20473 | + nxa->type = type; |
20834 | + nxa->flags = flags; | 20474 | + nxa->flags = flags; |
20835 | + return 0; | 20475 | + ret = 0; |
20476 | +out_unlock: | ||
20477 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
20478 | + if (new) | ||
20479 | + __dealloc_nx_addr_v4(new); | ||
20480 | + return ret; | ||
20836 | +} | 20481 | +} |
20837 | + | 20482 | + |
20838 | +int do_remove_v4_addr(struct nx_info *nxi, __be32 ip, __be32 ip2, __be32 mask, | 20483 | +int do_remove_v4_addr(struct nx_info *nxi, __be32 ip, __be32 ip2, __be32 mask, |
20839 | + uint16_t type, uint16_t flags) | 20484 | + uint16_t type, uint16_t flags) |
20840 | +{ | 20485 | +{ |
20841 | + struct nx_addr_v4 *nxa = &nxi->v4; | 20486 | + struct nx_addr_v4 *nxa = NULL; |
20487 | + struct nx_addr_v4 *old = NULL; | ||
20488 | + unsigned long irqflags; | ||
20489 | + int ret = 0; | ||
20842 | + | 20490 | + |
20491 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
20843 | + switch (type) { | 20492 | + switch (type) { |
20844 | +/* case NXA_TYPE_ADDR: | 20493 | + case NXA_TYPE_ADDR: |
20845 | + break; */ | 20494 | + old = __find_v4_addr(nxi, ip, ip2, mask, type, flags, &nxa); |
20495 | + if (old) { | ||
20496 | + if (nxa) { | ||
20497 | + nxa->next = old->next; | ||
20498 | + old->next = NULL; | ||
20499 | + } else { | ||
20500 | + if (old->next) { | ||
20501 | + nxa = old; | ||
20502 | + old = old->next; | ||
20503 | + *nxa = *old; | ||
20504 | + old->next = NULL; | ||
20505 | + } else { | ||
20506 | + memset(old, 0, sizeof(*old)); | ||
20507 | + old = NULL; | ||
20508 | + } | ||
20509 | + } | ||
20510 | + } else | ||
20511 | + ret = -ESRCH; | ||
20512 | + break; | ||
20846 | + | 20513 | + |
20847 | + case NXA_TYPE_ANY: | 20514 | + case NXA_TYPE_ANY: |
20848 | + __dealloc_nx_addr_v4_all(xchg(&nxa->next, NULL)); | 20515 | + nxa = &nxi->v4; |
20516 | + old = nxa->next; | ||
20849 | + memset(nxa, 0, sizeof(*nxa)); | 20517 | + memset(nxa, 0, sizeof(*nxa)); |
20850 | + break; | 20518 | + break; |
20851 | + | 20519 | + |
20852 | + default: | 20520 | + default: |
20853 | + return -EINVAL; | 20521 | + ret = -EINVAL; |
20854 | + } | 20522 | + } |
20855 | + return 0; | 20523 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); |
20524 | + __dealloc_nx_addr_v4_all(old); | ||
20525 | + return ret; | ||
20856 | +} | 20526 | +} |
20857 | + | 20527 | + |
20858 | + | 20528 | + |
@@ -20906,10 +20576,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20906 | + | 20576 | + |
20907 | + switch (vc_data.type) { | 20577 | + switch (vc_data.type) { |
20908 | + case NXA_TYPE_ANY: | 20578 | + case NXA_TYPE_ANY: |
20909 | + __dealloc_nx_addr_v4_all(xchg(&nxi->v4.next, NULL)); | 20579 | + return do_remove_v4_addr(nxi, 0, 0, 0, vc_data.type, 0); |
20910 | + memset(&nxi->v4, 0, sizeof(nxi->v4)); | ||
20911 | + break; | ||
20912 | + | ||
20913 | + default: | 20580 | + default: |
20914 | + return -EINVAL; | 20581 | + return -EINVAL; |
20915 | + } | 20582 | + } |
@@ -20996,20 +20663,50 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
20996 | + | 20663 | + |
20997 | +#ifdef CONFIG_IPV6 | 20664 | +#ifdef CONFIG_IPV6 |
20998 | + | 20665 | + |
20666 | +static inline | ||
20667 | +struct nx_addr_v6 *__find_v6_addr(struct nx_info *nxi, | ||
20668 | + struct in6_addr *ip, struct in6_addr *mask, | ||
20669 | + uint32_t prefix, uint16_t type, uint16_t flags, | ||
20670 | + struct nx_addr_v6 **prev) | ||
20671 | +{ | ||
20672 | + struct nx_addr_v6 *nxa = &nxi->v6; | ||
20673 | + | ||
20674 | + for (; nxa; nxa = nxa->next) { | ||
20675 | + if (ipv6_addr_equal(&nxa->ip, ip) && | ||
20676 | + ipv6_addr_equal(&nxa->mask, mask) && | ||
20677 | + (nxa->prefix == prefix) && | ||
20678 | + (nxa->type == type) && | ||
20679 | + (nxa->flags == flags)) | ||
20680 | + return nxa; | ||
20681 | + | ||
20682 | + /* save previous entry */ | ||
20683 | + if (prev) | ||
20684 | + *prev = nxa; | ||
20685 | + } | ||
20686 | + return NULL; | ||
20687 | +} | ||
20688 | + | ||
20689 | + | ||
20999 | +int do_add_v6_addr(struct nx_info *nxi, | 20690 | +int do_add_v6_addr(struct nx_info *nxi, |
21000 | + struct in6_addr *ip, struct in6_addr *mask, | 20691 | + struct in6_addr *ip, struct in6_addr *mask, |
21001 | + uint32_t prefix, uint16_t type, uint16_t flags) | 20692 | + uint32_t prefix, uint16_t type, uint16_t flags) |
21002 | +{ | 20693 | +{ |
21003 | + struct nx_addr_v6 *nxa = &nxi->v6; | 20694 | + struct nx_addr_v6 *nxa = NULL; |
20695 | + struct nx_addr_v6 *new = __alloc_nx_addr_v6(); | ||
20696 | + unsigned long irqflags; | ||
20697 | + int ret = -EEXIST; | ||
21004 | + | 20698 | + |
21005 | + if (NX_IPV6(nxi)) { | 20699 | + if (IS_ERR(new)) |
21006 | + /* locate last entry */ | 20700 | + return PTR_ERR(new); |
21007 | + for (; nxa->next; nxa = nxa->next); | ||
21008 | + nxa->next = __alloc_nx_addr_v6(); | ||
21009 | + nxa = nxa->next; | ||
21010 | + | 20701 | + |
21011 | + if (IS_ERR(nxa)) | 20702 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); |
21012 | + return PTR_ERR(nxa); | 20703 | + if (__find_v6_addr(nxi, ip, mask, prefix, type, flags, &nxa)) |
20704 | + goto out_unlock; | ||
20705 | + | ||
20706 | + if (NX_IPV6(nxi)) { | ||
20707 | + nxa->next = new; | ||
20708 | + nxa = new; | ||
20709 | + new = NULL; | ||
21013 | + } | 20710 | + } |
21014 | + | 20711 | + |
21015 | + nxa->ip = *ip; | 20712 | + nxa->ip = *ip; |
@@ -21017,9 +20714,59 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
21017 | + nxa->prefix = prefix; | 20714 | + nxa->prefix = prefix; |
21018 | + nxa->type = type; | 20715 | + nxa->type = type; |
21019 | + nxa->flags = flags; | 20716 | + nxa->flags = flags; |
21020 | + return 0; | 20717 | + ret = 0; |
20718 | +out_unlock: | ||
20719 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
20720 | + if (new) | ||
20721 | + __dealloc_nx_addr_v6(new); | ||
20722 | + return ret; | ||
21021 | +} | 20723 | +} |
21022 | + | 20724 | + |
20725 | +int do_remove_v6_addr(struct nx_info *nxi, | ||
20726 | + struct in6_addr *ip, struct in6_addr *mask, | ||
20727 | + uint32_t prefix, uint16_t type, uint16_t flags) | ||
20728 | +{ | ||
20729 | + struct nx_addr_v6 *nxa = NULL; | ||
20730 | + struct nx_addr_v6 *old = NULL; | ||
20731 | + unsigned long irqflags; | ||
20732 | + int ret = 0; | ||
20733 | + | ||
20734 | + spin_lock_irqsave(&nxi->addr_lock, irqflags); | ||
20735 | + switch (type) { | ||
20736 | + case NXA_TYPE_ADDR: | ||
20737 | + old = __find_v6_addr(nxi, ip, mask, prefix, type, flags, &nxa); | ||
20738 | + if (old) { | ||
20739 | + if (nxa) { | ||
20740 | + nxa->next = old->next; | ||
20741 | + old->next = NULL; | ||
20742 | + } else { | ||
20743 | + if (old->next) { | ||
20744 | + nxa = old; | ||
20745 | + old = old->next; | ||
20746 | + *nxa = *old; | ||
20747 | + old->next = NULL; | ||
20748 | + } else { | ||
20749 | + memset(old, 0, sizeof(*old)); | ||
20750 | + old = NULL; | ||
20751 | + } | ||
20752 | + } | ||
20753 | + } else | ||
20754 | + ret = -ESRCH; | ||
20755 | + break; | ||
20756 | + | ||
20757 | + case NXA_TYPE_ANY: | ||
20758 | + nxa = &nxi->v6; | ||
20759 | + old = nxa->next; | ||
20760 | + memset(nxa, 0, sizeof(*nxa)); | ||
20761 | + break; | ||
20762 | + | ||
20763 | + default: | ||
20764 | + ret = -EINVAL; | ||
20765 | + } | ||
20766 | + spin_unlock_irqrestore(&nxi->addr_lock, irqflags); | ||
20767 | + __dealloc_nx_addr_v6_all(old); | ||
20768 | + return ret; | ||
20769 | +} | ||
21023 | + | 20770 | + |
21024 | +int vc_net_add_ipv6(struct nx_info *nxi, void __user *data) | 20771 | +int vc_net_add_ipv6(struct nx_info *nxi, void __user *data) |
21025 | +{ | 20772 | +{ |
@@ -21049,11 +20796,14 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
21049 | + return -EFAULT; | 20796 | + return -EFAULT; |
21050 | + | 20797 | + |
21051 | + switch (vc_data.type) { | 20798 | + switch (vc_data.type) { |
20799 | + case NXA_TYPE_ADDR: | ||
20800 | + memset(&vc_data.mask, ~0, sizeof(vc_data.mask)); | ||
20801 | + /* fallthrough */ | ||
20802 | + case NXA_TYPE_MASK: | ||
20803 | + return do_remove_v6_addr(nxi, &vc_data.ip, &vc_data.mask, | ||
20804 | + vc_data.prefix, vc_data.type, vc_data.flags); | ||
21052 | + case NXA_TYPE_ANY: | 20805 | + case NXA_TYPE_ANY: |
21053 | + __dealloc_nx_addr_v6_all(xchg(&nxi->v6.next, NULL)); | 20806 | + return do_remove_v6_addr(nxi, NULL, NULL, 0, vc_data.type, 0); |
21054 | + memset(&nxi->v6, 0, sizeof(nxi->v6)); | ||
21055 | + break; | ||
21056 | + | ||
21057 | + default: | 20807 | + default: |
21058 | + return -EINVAL; | 20808 | + return -EINVAL; |
21059 | + } | 20809 | + } |
@@ -21129,10 +20879,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/network.c linux-3.4.57-vs2.3.3 | |||
21129 | +EXPORT_SYMBOL_GPL(free_nx_info); | 20879 | +EXPORT_SYMBOL_GPL(free_nx_info); |
21130 | +EXPORT_SYMBOL_GPL(unhash_nx_info); | 20880 | +EXPORT_SYMBOL_GPL(unhash_nx_info); |
21131 | + | 20881 | + |
21132 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/kernel/vserver/proc.c | 20882 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/proc.c linux-3.10.17-vs2.3.6.6/kernel/vserver/proc.c |
21133 | --- linux-3.4.57/kernel/vserver/proc.c 1970-01-01 00:00:00.000000000 +0000 | 20883 | --- linux-3.10.17/kernel/vserver/proc.c 1970-01-01 00:00:00.000000000 +0000 |
21134 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/proc.c 2012-05-21 16:15:05.000000000 +0000 | 20884 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/proc.c 2013-08-22 23:31:37.000000000 +0000 |
21135 | @@ -0,0 +1,1103 @@ | 20885 | @@ -0,0 +1,1113 @@ |
21136 | +/* | 20886 | +/* |
21137 | + * linux/kernel/vserver/proc.c | 20887 | + * linux/kernel/vserver/proc.c |
21138 | + * | 20888 | + * |
@@ -21155,6 +20905,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21155 | +#include <linux/proc_fs.h> | 20905 | +#include <linux/proc_fs.h> |
21156 | +#include <linux/fs_struct.h> | 20906 | +#include <linux/fs_struct.h> |
21157 | +#include <linux/mount.h> | 20907 | +#include <linux/mount.h> |
20908 | +#include <linux/namei.h> | ||
21158 | +#include <asm/unistd.h> | 20909 | +#include <asm/unistd.h> |
21159 | + | 20910 | + |
21160 | +#include <linux/vs_context.h> | 20911 | +#include <linux/vs_context.h> |
@@ -21174,6 +20925,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21174 | +#include "sched_proc.h" | 20925 | +#include "sched_proc.h" |
21175 | +#include "vci_config.h" | 20926 | +#include "vci_config.h" |
21176 | + | 20927 | + |
20928 | +#include <../../fs/proc/internal.h> | ||
20929 | + | ||
21177 | + | 20930 | + |
21178 | +static inline char *print_cap_t(char *buffer, kernel_cap_t *c) | 20931 | +static inline char *print_cap_t(char *buffer, kernel_cap_t *c) |
21179 | +{ | 20932 | +{ |
@@ -21422,9 +21175,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21422 | + | 21175 | + |
21423 | + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | 21176 | + inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
21424 | + | 21177 | + |
21425 | + inode->i_uid = 0; | 21178 | + i_uid_write(inode, 0); |
21426 | + inode->i_gid = 0; | 21179 | + i_gid_write(inode, 0); |
21427 | + inode->i_tag = 0; | 21180 | + i_tag_write(inode, 0); |
21428 | +out: | 21181 | +out: |
21429 | + return inode; | 21182 | + return inode; |
21430 | +} | 21183 | +} |
@@ -21449,7 +21202,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21449 | + | 21202 | + |
21450 | +/* Lookups */ | 21203 | +/* Lookups */ |
21451 | + | 21204 | + |
21452 | +typedef struct dentry *instantiate_t(struct inode *, struct dentry *, int, void *); | 21205 | +typedef struct dentry *vx_instantiate_t(struct inode *, struct dentry *, int, void *); |
21206 | + | ||
21453 | + | 21207 | + |
21454 | +/* | 21208 | +/* |
21455 | + * Fill a directory entry. | 21209 | + * Fill a directory entry. |
@@ -21463,8 +21217,8 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21463 | + * reported by readdir in sync with the inode numbers reported | 21217 | + * reported by readdir in sync with the inode numbers reported |
21464 | + * by stat. | 21218 | + * by stat. |
21465 | + */ | 21219 | + */ |
21466 | +static int proc_fill_cache(struct file *filp, void *dirent, filldir_t filldir, | 21220 | +static int vx_proc_fill_cache(struct file *filp, void *dirent, filldir_t filldir, |
21467 | + char *name, int len, instantiate_t instantiate, int id, void *ptr) | 21221 | + char *name, int len, vx_instantiate_t instantiate, int id, void *ptr) |
21468 | +{ | 21222 | +{ |
21469 | + struct dentry *child, *dir = filp->f_dentry; | 21223 | + struct dentry *child, *dir = filp->f_dentry; |
21470 | + struct inode *inode; | 21224 | + struct inode *inode; |
@@ -21514,10 +21268,13 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21514 | + return lookup_vx_info(PROC_I(inode)->fd); | 21268 | + return lookup_vx_info(PROC_I(inode)->fd); |
21515 | +} | 21269 | +} |
21516 | + | 21270 | + |
21517 | +static int proc_xid_revalidate(struct dentry *dentry, struct nameidata *nd) | 21271 | +static int proc_xid_revalidate(struct dentry *dentry, unsigned int flags) |
21518 | +{ | 21272 | +{ |
21519 | + struct inode *inode = dentry->d_inode; | 21273 | + struct inode *inode = dentry->d_inode; |
21520 | + xid_t xid = PROC_I(inode)->fd; | 21274 | + vxid_t xid = PROC_I(inode)->fd; |
21275 | + | ||
21276 | + if (flags & LOOKUP_RCU) /* FIXME: can be dropped? */ | ||
21277 | + return -ECHILD; | ||
21521 | + | 21278 | + |
21522 | + if (!xid || xid_is_hashed(xid)) | 21279 | + if (!xid || xid_is_hashed(xid)) |
21523 | + return 1; | 21280 | + return 1; |
@@ -21528,10 +21285,13 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21528 | + | 21285 | + |
21529 | +/* get and revalidate nx_info/nid */ | 21286 | +/* get and revalidate nx_info/nid */ |
21530 | + | 21287 | + |
21531 | +static int proc_nid_revalidate(struct dentry *dentry, struct nameidata *nd) | 21288 | +static int proc_nid_revalidate(struct dentry *dentry, unsigned int flags) |
21532 | +{ | 21289 | +{ |
21533 | + struct inode *inode = dentry->d_inode; | 21290 | + struct inode *inode = dentry->d_inode; |
21534 | + nid_t nid = PROC_I(inode)->fd; | 21291 | + vnid_t nid = PROC_I(inode)->fd; |
21292 | + | ||
21293 | + if (flags & LOOKUP_RCU) /* FIXME: can be dropped? */ | ||
21294 | + return -ECHILD; | ||
21535 | + | 21295 | + |
21536 | + if (!nid || nid_is_hashed(nid)) | 21296 | + if (!nid || nid_is_hashed(nid)) |
21537 | + return 1; | 21297 | + return 1; |
@@ -21575,7 +21335,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21575 | +{ | 21335 | +{ |
21576 | + struct inode *inode = file->f_dentry->d_inode; | 21336 | + struct inode *inode = file->f_dentry->d_inode; |
21577 | + struct vx_info *vxi = NULL; | 21337 | + struct vx_info *vxi = NULL; |
21578 | + xid_t xid = PROC_I(inode)->fd; | 21338 | + vxid_t xid = PROC_I(inode)->fd; |
21579 | + unsigned long page; | 21339 | + unsigned long page; |
21580 | + ssize_t length = 0; | 21340 | + ssize_t length = 0; |
21581 | + | 21341 | + |
@@ -21611,7 +21371,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21611 | +{ | 21371 | +{ |
21612 | + struct inode *inode = file->f_dentry->d_inode; | 21372 | + struct inode *inode = file->f_dentry->d_inode; |
21613 | + struct nx_info *nxi = NULL; | 21373 | + struct nx_info *nxi = NULL; |
21614 | + nid_t nid = PROC_I(inode)->fd; | 21374 | + vnid_t nid = PROC_I(inode)->fd; |
21615 | + unsigned long page; | 21375 | + unsigned long page; |
21616 | + ssize_t length = 0; | 21376 | + ssize_t length = 0; |
21617 | + | 21377 | + |
@@ -21713,7 +21473,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21713 | +} | 21473 | +} |
21714 | + | 21474 | + |
21715 | +static struct dentry *proc_xid_lookup(struct inode *dir, | 21475 | +static struct dentry *proc_xid_lookup(struct inode *dir, |
21716 | + struct dentry *dentry, struct nameidata *nd) | 21476 | + struct dentry *dentry, unsigned int flags) |
21717 | +{ | 21477 | +{ |
21718 | + struct vs_entry *p = vx_base_stuff; | 21478 | + struct vs_entry *p = vx_base_stuff; |
21719 | + struct dentry *error = ERR_PTR(-ENOENT); | 21479 | + struct dentry *error = ERR_PTR(-ENOENT); |
@@ -21761,7 +21521,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21761 | + if (index >= size) | 21521 | + if (index >= size) |
21762 | + goto out; | 21522 | + goto out; |
21763 | + for (p += index; p->name; p++) { | 21523 | + for (p += index; p->name; p++) { |
21764 | + if (proc_fill_cache(filp, dirent, filldir, p->name, p->len, | 21524 | + if (vx_proc_fill_cache(filp, dirent, filldir, p->name, p->len, |
21765 | + vs_proc_instantiate, PROC_I(inode)->fd, p)) | 21525 | + vs_proc_instantiate, PROC_I(inode)->fd, p)) |
21766 | + goto out; | 21526 | + goto out; |
21767 | + pos++; | 21527 | + pos++; |
@@ -21797,7 +21557,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21797 | +} | 21557 | +} |
21798 | + | 21558 | + |
21799 | +static struct dentry *proc_nid_lookup(struct inode *dir, | 21559 | +static struct dentry *proc_nid_lookup(struct inode *dir, |
21800 | + struct dentry *dentry, struct nameidata *nd) | 21560 | + struct dentry *dentry, unsigned int flags) |
21801 | +{ | 21561 | +{ |
21802 | + struct vs_entry *p = nx_base_stuff; | 21562 | + struct vs_entry *p = nx_base_stuff; |
21803 | + struct dentry *error = ERR_PTR(-ENOENT); | 21563 | + struct dentry *error = ERR_PTR(-ENOENT); |
@@ -21845,7 +21605,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21845 | + if (index >= size) | 21605 | + if (index >= size) |
21846 | + goto out; | 21606 | + goto out; |
21847 | + for (p += index; p->name; p++) { | 21607 | + for (p += index; p->name; p++) { |
21848 | + if (proc_fill_cache(filp, dirent, filldir, p->name, p->len, | 21608 | + if (vx_proc_fill_cache(filp, dirent, filldir, p->name, p->len, |
21849 | + vs_proc_instantiate, PROC_I(inode)->fd, p)) | 21609 | + vs_proc_instantiate, PROC_I(inode)->fd, p)) |
21850 | + goto out; | 21610 | + goto out; |
21851 | + pos++; | 21611 | + pos++; |
@@ -21899,7 +21659,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21899 | + | 21659 | + |
21900 | + | 21660 | + |
21901 | +static struct dentry *proc_virtual_lookup(struct inode *dir, | 21661 | +static struct dentry *proc_virtual_lookup(struct inode *dir, |
21902 | + struct dentry *dentry, struct nameidata *nd) | 21662 | + struct dentry *dentry, unsigned int flags) |
21903 | +{ | 21663 | +{ |
21904 | + struct vs_entry *p = vx_virtual_stuff; | 21664 | + struct vs_entry *p = vx_virtual_stuff; |
21905 | + struct dentry *error = ERR_PTR(-ENOENT); | 21665 | + struct dentry *error = ERR_PTR(-ENOENT); |
@@ -21941,7 +21701,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
21941 | + | 21701 | + |
21942 | + | 21702 | + |
21943 | +static struct dentry *proc_virtnet_lookup(struct inode *dir, | 21703 | +static struct dentry *proc_virtnet_lookup(struct inode *dir, |
21944 | + struct dentry *dentry, struct nameidata *nd) | 21704 | + struct dentry *dentry, unsigned int flags) |
21945 | +{ | 21705 | +{ |
21946 | + struct vs_entry *p = nx_virtnet_stuff; | 21706 | + struct vs_entry *p = nx_virtnet_stuff; |
21947 | + struct dentry *error = ERR_PTR(-ENOENT); | 21707 | + struct dentry *error = ERR_PTR(-ENOENT); |
@@ -22001,7 +21761,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
22001 | + if (index >= size) | 21761 | + if (index >= size) |
22002 | + goto entries; | 21762 | + goto entries; |
22003 | + for (p += index; p->name; p++) { | 21763 | + for (p += index; p->name; p++) { |
22004 | + if (proc_fill_cache(filp, dirent, filldir, p->name, p->len, | 21764 | + if (vx_proc_fill_cache(filp, dirent, filldir, p->name, p->len, |
22005 | + vs_proc_instantiate, 0, p)) | 21765 | + vs_proc_instantiate, 0, p)) |
22006 | + goto out; | 21766 | + goto out; |
22007 | + pos++; | 21767 | + pos++; |
@@ -22019,7 +21779,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
22019 | + buf[--j] = '0' + (n % 10); | 21779 | + buf[--j] = '0' + (n % 10); |
22020 | + while (n /= 10); | 21780 | + while (n /= 10); |
22021 | + | 21781 | + |
22022 | + if (proc_fill_cache(filp, dirent, filldir, | 21782 | + if (vx_proc_fill_cache(filp, dirent, filldir, |
22023 | + buf + j, PROC_NUMBUF - j, | 21783 | + buf + j, PROC_NUMBUF - j, |
22024 | + vs_proc_instantiate, xid, p)) | 21784 | + vs_proc_instantiate, xid, p)) |
22025 | + goto out; | 21785 | + goto out; |
@@ -22087,7 +21847,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
22087 | + if (index >= size) | 21847 | + if (index >= size) |
22088 | + goto entries; | 21848 | + goto entries; |
22089 | + for (p += index; p->name; p++) { | 21849 | + for (p += index; p->name; p++) { |
22090 | + if (proc_fill_cache(filp, dirent, filldir, p->name, p->len, | 21850 | + if (vx_proc_fill_cache(filp, dirent, filldir, p->name, p->len, |
22091 | + vs_proc_instantiate, 0, p)) | 21851 | + vs_proc_instantiate, 0, p)) |
22092 | + goto out; | 21852 | + goto out; |
22093 | + pos++; | 21853 | + pos++; |
@@ -22105,7 +21865,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
22105 | + buf[--j] = '0' + (n % 10); | 21865 | + buf[--j] = '0' + (n % 10); |
22106 | + while (n /= 10); | 21866 | + while (n /= 10); |
22107 | + | 21867 | + |
22108 | + if (proc_fill_cache(filp, dirent, filldir, | 21868 | + if (vx_proc_fill_cache(filp, dirent, filldir, |
22109 | + buf + j, PROC_NUMBUF - j, | 21869 | + buf + j, PROC_NUMBUF - j, |
22110 | + vs_proc_instantiate, nid, p)) | 21870 | + vs_proc_instantiate, nid, p)) |
22111 | + goto out; | 21871 | + goto out; |
@@ -22236,9 +21996,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/proc.c linux-3.4.57-vs2.3.3.9/ | |||
22236 | + return buffer - orig; | 21996 | + return buffer - orig; |
22237 | +} | 21997 | +} |
22238 | + | 21998 | + |
22239 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched.c linux-3.4.57-vs2.3.3.9/kernel/vserver/sched.c | 21999 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/sched.c linux-3.10.17-vs2.3.6.6/kernel/vserver/sched.c |
22240 | --- linux-3.4.57/kernel/vserver/sched.c 1970-01-01 00:00:00.000000000 +0000 | 22000 | --- linux-3.10.17/kernel/vserver/sched.c 1970-01-01 00:00:00.000000000 +0000 |
22241 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/sched.c 2012-05-21 16:25:11.000000000 +0000 | 22001 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/sched.c 2013-08-22 20:30:00.000000000 +0000 |
22242 | @@ -0,0 +1,83 @@ | 22002 | @@ -0,0 +1,83 @@ |
22243 | +/* | 22003 | +/* |
22244 | + * linux/kernel/vserver/sched.c | 22004 | + * linux/kernel/vserver/sched.c |
@@ -22323,9 +22083,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched.c linux-3.4.57-vs2.3.3.9 | |||
22323 | + return 0; | 22083 | + return 0; |
22324 | +} | 22084 | +} |
22325 | + | 22085 | + |
22326 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched_init.h linux-3.4.57-vs2.3.3.9/kernel/vserver/sched_init.h | 22086 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/sched_init.h linux-3.10.17-vs2.3.6.6/kernel/vserver/sched_init.h |
22327 | --- linux-3.4.57/kernel/vserver/sched_init.h 1970-01-01 00:00:00.000000000 +0000 | 22087 | --- linux-3.10.17/kernel/vserver/sched_init.h 1970-01-01 00:00:00.000000000 +0000 |
22328 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/sched_init.h 2012-05-21 16:15:05.000000000 +0000 | 22088 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/sched_init.h 2013-08-22 20:30:00.000000000 +0000 |
22329 | @@ -0,0 +1,27 @@ | 22089 | @@ -0,0 +1,27 @@ |
22330 | + | 22090 | + |
22331 | +static inline void vx_info_init_sched(struct _vx_sched *sched) | 22091 | +static inline void vx_info_init_sched(struct _vx_sched *sched) |
@@ -22354,9 +22114,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched_init.h linux-3.4.57-vs2. | |||
22354 | +{ | 22114 | +{ |
22355 | + return; | 22115 | + return; |
22356 | +} | 22116 | +} |
22357 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched_proc.h linux-3.4.57-vs2.3.3.9/kernel/vserver/sched_proc.h | 22117 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/sched_proc.h linux-3.10.17-vs2.3.6.6/kernel/vserver/sched_proc.h |
22358 | --- linux-3.4.57/kernel/vserver/sched_proc.h 1970-01-01 00:00:00.000000000 +0000 | 22118 | --- linux-3.10.17/kernel/vserver/sched_proc.h 1970-01-01 00:00:00.000000000 +0000 |
22359 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/sched_proc.h 2012-05-21 16:15:05.000000000 +0000 | 22119 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/sched_proc.h 2013-08-22 20:30:00.000000000 +0000 |
22360 | @@ -0,0 +1,32 @@ | 22120 | @@ -0,0 +1,32 @@ |
22361 | +#ifndef _VX_SCHED_PROC_H | 22121 | +#ifndef _VX_SCHED_PROC_H |
22362 | +#define _VX_SCHED_PROC_H | 22122 | +#define _VX_SCHED_PROC_H |
@@ -22390,9 +22150,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/sched_proc.h linux-3.4.57-vs2. | |||
22390 | +} | 22150 | +} |
22391 | + | 22151 | + |
22392 | +#endif /* _VX_SCHED_PROC_H */ | 22152 | +#endif /* _VX_SCHED_PROC_H */ |
22393 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/signal.c linux-3.4.57-vs2.3.3.9/kernel/vserver/signal.c | 22153 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/signal.c linux-3.10.17-vs2.3.6.6/kernel/vserver/signal.c |
22394 | --- linux-3.4.57/kernel/vserver/signal.c 1970-01-01 00:00:00.000000000 +0000 | 22154 | --- linux-3.10.17/kernel/vserver/signal.c 1970-01-01 00:00:00.000000000 +0000 |
22395 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/signal.c 2012-05-21 16:15:05.000000000 +0000 | 22155 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/signal.c 2013-08-22 20:30:00.000000000 +0000 |
22396 | @@ -0,0 +1,134 @@ | 22156 | @@ -0,0 +1,134 @@ |
22397 | +/* | 22157 | +/* |
22398 | + * linux/kernel/vserver/signal.c | 22158 | + * linux/kernel/vserver/signal.c |
@@ -22528,9 +22288,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/signal.c linux-3.4.57-vs2.3.3. | |||
22528 | + return ret; | 22288 | + return ret; |
22529 | +} | 22289 | +} |
22530 | + | 22290 | + |
22531 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/space.c linux-3.4.57-vs2.3.3.9/kernel/vserver/space.c | 22291 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/space.c linux-3.10.17-vs2.3.6.6/kernel/vserver/space.c |
22532 | --- linux-3.4.57/kernel/vserver/space.c 1970-01-01 00:00:00.000000000 +0000 | 22292 | --- linux-3.10.17/kernel/vserver/space.c 1970-01-01 00:00:00.000000000 +0000 |
22533 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/space.c 2013-02-12 00:16:04.000000000 +0000 | 22293 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/space.c 2013-08-22 20:30:00.000000000 +0000 |
22534 | @@ -0,0 +1,436 @@ | 22294 | @@ -0,0 +1,436 @@ |
22535 | +/* | 22295 | +/* |
22536 | + * linux/kernel/vserver/space.c | 22296 | + * linux/kernel/vserver/space.c |
@@ -22968,9 +22728,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/space.c linux-3.4.57-vs2.3.3.9 | |||
22968 | + return 0; | 22728 | + return 0; |
22969 | +} | 22729 | +} |
22970 | + | 22730 | + |
22971 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/switch.c linux-3.4.57-vs2.3.3.9/kernel/vserver/switch.c | 22731 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/switch.c linux-3.10.17-vs2.3.6.6/kernel/vserver/switch.c |
22972 | --- linux-3.4.57/kernel/vserver/switch.c 1970-01-01 00:00:00.000000000 +0000 | 22732 | --- linux-3.10.17/kernel/vserver/switch.c 1970-01-01 00:00:00.000000000 +0000 |
22973 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/switch.c 2012-05-21 16:15:05.000000000 +0000 | 22733 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/switch.c 2013-08-22 20:30:00.000000000 +0000 |
22974 | @@ -0,0 +1,556 @@ | 22734 | @@ -0,0 +1,556 @@ |
22975 | +/* | 22735 | +/* |
22976 | + * linux/kernel/vserver/switch.c | 22736 | + * linux/kernel/vserver/switch.c |
@@ -23528,9 +23288,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/switch.c linux-3.4.57-vs2.3.3. | |||
23528 | +} | 23288 | +} |
23529 | + | 23289 | + |
23530 | +#endif /* CONFIG_COMPAT */ | 23290 | +#endif /* CONFIG_COMPAT */ |
23531 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/sysctl.c linux-3.4.57-vs2.3.3.9/kernel/vserver/sysctl.c | 23291 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/sysctl.c linux-3.10.17-vs2.3.6.6/kernel/vserver/sysctl.c |
23532 | --- linux-3.4.57/kernel/vserver/sysctl.c 1970-01-01 00:00:00.000000000 +0000 | 23292 | --- linux-3.10.17/kernel/vserver/sysctl.c 1970-01-01 00:00:00.000000000 +0000 |
23533 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/sysctl.c 2012-05-21 16:15:05.000000000 +0000 | 23293 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/sysctl.c 2013-08-22 20:30:00.000000000 +0000 |
23534 | @@ -0,0 +1,247 @@ | 23294 | @@ -0,0 +1,247 @@ |
23535 | +/* | 23295 | +/* |
23536 | + * kernel/vserver/sysctl.c | 23296 | + * kernel/vserver/sysctl.c |
@@ -23779,9 +23539,9 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/sysctl.c linux-3.4.57-vs2.3.3. | |||
23779 | +EXPORT_SYMBOL_GPL(vs_debug_perm); | 23539 | +EXPORT_SYMBOL_GPL(vs_debug_perm); |
23780 | +EXPORT_SYMBOL_GPL(vs_debug_misc); | 23540 | +EXPORT_SYMBOL_GPL(vs_debug_misc); |
23781 | + | 23541 | + |
23782 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/tag.c linux-3.4.57-vs2.3.3.9/kernel/vserver/tag.c | 23542 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/tag.c linux-3.10.17-vs2.3.6.6/kernel/vserver/tag.c |
23783 | --- linux-3.4.57/kernel/vserver/tag.c 1970-01-01 00:00:00.000000000 +0000 | 23543 | --- linux-3.10.17/kernel/vserver/tag.c 1970-01-01 00:00:00.000000000 +0000 |
23784 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/tag.c 2012-05-21 16:15:05.000000000 +0000 | 23544 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/tag.c 2013-08-22 20:30:00.000000000 +0000 |
23785 | @@ -0,0 +1,63 @@ | 23545 | @@ -0,0 +1,63 @@ |
23786 | +/* | 23546 | +/* |
23787 | + * linux/kernel/vserver/tag.c | 23547 | + * linux/kernel/vserver/tag.c |
@@ -23802,7 +23562,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/tag.c linux-3.4.57-vs2.3.3.9/k | |||
23802 | +#include <linux/vserver/tag_cmd.h> | 23562 | +#include <linux/vserver/tag_cmd.h> |
23803 | + | 23563 | + |
23804 | + | 23564 | + |
23805 | +int dx_migrate_task(struct task_struct *p, tag_t tag) | 23565 | +int dx_migrate_task(struct task_struct *p, vtag_t tag) |
23806 | +{ | 23566 | +{ |
23807 | + if (!p) | 23567 | + if (!p) |
23808 | + BUG(); | 23568 | + BUG(); |
@@ -23826,7 +23586,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/tag.c linux-3.4.57-vs2.3.3.9/k | |||
23826 | + | 23586 | + |
23827 | +int vc_task_tag(uint32_t id) | 23587 | +int vc_task_tag(uint32_t id) |
23828 | +{ | 23588 | +{ |
23829 | + tag_t tag; | 23589 | + vtag_t tag; |
23830 | + | 23590 | + |
23831 | + if (id) { | 23591 | + if (id) { |
23832 | + struct task_struct *tsk; | 23592 | + struct task_struct *tsk; |
@@ -23846,10 +23606,10 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/tag.c linux-3.4.57-vs2.3.3.9/k | |||
23846 | +} | 23606 | +} |
23847 | + | 23607 | + |
23848 | + | 23608 | + |
23849 | diff -NurpP --minimal linux-3.4.57/kernel/vserver/vci_config.h linux-3.4.57-vs2.3.3.9/kernel/vserver/vci_config.h | 23609 | diff -NurpP --minimal linux-3.10.17/kernel/vserver/vci_config.h linux-3.10.17-vs2.3.6.6/kernel/vserver/vci_config.h |
23850 | --- linux-3.4.57/kernel/vserver/vci_config.h 1970-01-01 00:00:00.000000000 +0000 | 23610 | --- linux-3.10.17/kernel/vserver/vci_config.h 1970-01-01 00:00:00.000000000 +0000 |
23851 | +++ linux-3.4.57-vs2.3.3.9/kernel/vserver/vci_config.h 2012-05-21 16:15:05.000000000 +0000 | 23611 | +++ linux-3.10.17-vs2.3.6.6/kernel/vserver/vci_config.h 2013-08-22 20:30:00.000000000 +0000 |
23852 | @@ -0,0 +1,76 @@ | 23612 | @@ -0,0 +1,80 @@ |
23853 | + | 23613 | + |
23854 | +/* interface version */ | 23614 | +/* interface version */ |
23855 | + | 23615 | + |
@@ -23869,6 +23629,7 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/vci_config.h linux-3.4.57-vs2. | |||
23869 | + VCI_KCBIT_SPACES = 10, | 23629 | + VCI_KCBIT_SPACES = 10, |
23870 | + VCI_KCBIT_NETV2 = 11, | 23630 | + VCI_KCBIT_NETV2 = 11, |
23871 | + VCI_KCBIT_MEMCG = 12, | 23631 | + VCI_KCBIT_MEMCG = 12, |
23632 | + VCI_KCBIT_MEMCG_SWAP = 13, | ||
23872 | + | 23633 | + |
23873 | + VCI_KCBIT_DEBUG = 16, | 23634 | + VCI_KCBIT_DEBUG = 16, |
23874 | + VCI_KCBIT_HISTORY = 20, | 23635 | + VCI_KCBIT_HISTORY = 20, |
@@ -23894,9 +23655,12 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/vci_config.h linux-3.4.57-vs2. | |||
23894 | +#endif | 23655 | +#endif |
23895 | + (1 << VCI_KCBIT_SPACES) | | 23656 | + (1 << VCI_KCBIT_SPACES) | |
23896 | + (1 << VCI_KCBIT_NETV2) | | 23657 | + (1 << VCI_KCBIT_NETV2) | |
23897 | +#ifdef CONFIG_CGROUP_MEM_RES_CTLR | 23658 | +#ifdef CONFIG_MEMCG |
23898 | + (1 << VCI_KCBIT_MEMCG) | | 23659 | + (1 << VCI_KCBIT_MEMCG) | |
23899 | +#endif | 23660 | +#endif |
23661 | +#ifdef CONFIG_MEMCG_SWAP | ||
23662 | + (1 << VCI_KCBIT_MEMCG_SWAP) | | ||
23663 | +#endif | ||
23900 | + | 23664 | + |
23901 | + /* debug options */ | 23665 | + /* debug options */ |
23902 | +#ifdef CONFIG_VSERVER_DEBUG | 23666 | +#ifdef CONFIG_VSERVER_DEBUG |
@@ -23926,11 +23690,11 @@ diff -NurpP --minimal linux-3.4.57/kernel/vserver/vci_config.h linux-3.4.57-vs2. | |||
23926 | + 0; | 23690 | + 0; |
23927 | +} | 23691 | +} |
23928 | + | 23692 | + |
23929 | diff -NurpP --minimal linux-3.4.57/mm/memcontrol.c linux-3.4.57-vs2.3.3.9/mm/memcontrol.c | 23693 | diff -NurpP --minimal linux-3.10.17/mm/memcontrol.c linux-3.10.17-vs2.3.6.6/mm/memcontrol.c |
23930 | --- linux-3.4.57/mm/memcontrol.c 2013-08-13 14:13:42.000000000 +0000 | 23694 | --- linux-3.10.17/mm/memcontrol.c 2013-10-25 15:17:45.000000000 +0000 |
23931 | +++ linux-3.4.57-vs2.3.3.9/mm/memcontrol.c 2012-12-08 00:53:53.000000000 +0000 | 23695 | +++ linux-3.10.17-vs2.3.6.6/mm/memcontrol.c 2013-10-09 17:37:22.000000000 +0000 |
23932 | @@ -846,6 +846,31 @@ struct mem_cgroup *mem_cgroup_from_task( | 23696 | @@ -1082,6 +1082,31 @@ struct mem_cgroup *mem_cgroup_from_task( |
23933 | struct mem_cgroup, css); | 23697 | return mem_cgroup_from_css(task_subsys_state(p, mem_cgroup_subsys_id)); |
23934 | } | 23698 | } |
23935 | 23699 | ||
23936 | +u64 mem_cgroup_res_read_u64(struct mem_cgroup *mem, int member) | 23700 | +u64 mem_cgroup_res_read_u64(struct mem_cgroup *mem, int member) |
@@ -23961,9 +23725,9 @@ diff -NurpP --minimal linux-3.4.57/mm/memcontrol.c linux-3.4.57-vs2.3.3.9/mm/mem | |||
23961 | struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) | 23725 | struct mem_cgroup *try_get_mem_cgroup_from_mm(struct mm_struct *mm) |
23962 | { | 23726 | { |
23963 | struct mem_cgroup *memcg = NULL; | 23727 | struct mem_cgroup *memcg = NULL; |
23964 | diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_kill.c | 23728 | diff -NurpP --minimal linux-3.10.17/mm/oom_kill.c linux-3.10.17-vs2.3.6.6/mm/oom_kill.c |
23965 | --- linux-3.4.57/mm/oom_kill.c 2012-05-21 16:07:35.000000000 +0000 | 23729 | --- linux-3.10.17/mm/oom_kill.c 2013-05-31 13:45:31.000000000 +0000 |
23966 | +++ linux-3.4.57-vs2.3.3.9/mm/oom_kill.c 2012-05-21 16:15:05.000000000 +0000 | 23730 | +++ linux-3.10.17-vs2.3.6.6/mm/oom_kill.c 2013-08-22 20:30:00.000000000 +0000 |
23967 | @@ -35,6 +35,8 @@ | 23731 | @@ -35,6 +35,8 @@ |
23968 | #include <linux/freezer.h> | 23732 | #include <linux/freezer.h> |
23969 | #include <linux/ftrace.h> | 23733 | #include <linux/ftrace.h> |
@@ -23973,7 +23737,7 @@ diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_k | |||
23973 | 23737 | ||
23974 | #define CREATE_TRACE_POINTS | 23738 | #define CREATE_TRACE_POINTS |
23975 | #include <trace/events/oom.h> | 23739 | #include <trace/events/oom.h> |
23976 | @@ -155,11 +157,18 @@ struct task_struct *find_lock_task_mm(st | 23740 | @@ -113,11 +115,18 @@ struct task_struct *find_lock_task_mm(st |
23977 | static bool oom_unkillable_task(struct task_struct *p, | 23741 | static bool oom_unkillable_task(struct task_struct *p, |
23978 | const struct mem_cgroup *memcg, const nodemask_t *nodemask) | 23742 | const struct mem_cgroup *memcg, const nodemask_t *nodemask) |
23979 | { | 23743 | { |
@@ -23993,7 +23757,7 @@ diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_k | |||
23993 | /* When mem_cgroup_out_of_memory() and p is not member of the group */ | 23757 | /* When mem_cgroup_out_of_memory() and p is not member of the group */ |
23994 | if (memcg && !task_in_mem_cgroup(p, memcg)) | 23758 | if (memcg && !task_in_mem_cgroup(p, memcg)) |
23995 | return true; | 23759 | return true; |
23996 | @@ -462,8 +471,8 @@ static void oom_kill_process(struct task | 23760 | @@ -426,8 +435,8 @@ void oom_kill_process(struct task_struct |
23997 | dump_header(p, gfp_mask, order, memcg, nodemask); | 23761 | dump_header(p, gfp_mask, order, memcg, nodemask); |
23998 | 23762 | ||
23999 | task_lock(p); | 23763 | task_lock(p); |
@@ -24004,7 +23768,7 @@ diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_k | |||
24004 | task_unlock(p); | 23768 | task_unlock(p); |
24005 | 23769 | ||
24006 | /* | 23770 | /* |
24007 | @@ -496,8 +505,8 @@ static void oom_kill_process(struct task | 23771 | @@ -472,8 +481,8 @@ void oom_kill_process(struct task_struct |
24008 | 23772 | ||
24009 | /* mm cannot safely be dereferenced after task_unlock(victim) */ | 23773 | /* mm cannot safely be dereferenced after task_unlock(victim) */ |
24010 | mm = victim->mm; | 23774 | mm = victim->mm; |
@@ -24015,7 +23779,7 @@ diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_k | |||
24015 | K(get_mm_counter(victim->mm, MM_ANONPAGES)), | 23779 | K(get_mm_counter(victim->mm, MM_ANONPAGES)), |
24016 | K(get_mm_counter(victim->mm, MM_FILEPAGES))); | 23780 | K(get_mm_counter(victim->mm, MM_FILEPAGES))); |
24017 | task_unlock(victim); | 23781 | task_unlock(victim); |
24018 | @@ -596,6 +605,8 @@ int unregister_oom_notifier(struct notif | 23782 | @@ -543,6 +552,8 @@ int unregister_oom_notifier(struct notif |
24019 | } | 23783 | } |
24020 | EXPORT_SYMBOL_GPL(unregister_oom_notifier); | 23784 | EXPORT_SYMBOL_GPL(unregister_oom_notifier); |
24021 | 23785 | ||
@@ -24024,33 +23788,33 @@ diff -NurpP --minimal linux-3.4.57/mm/oom_kill.c linux-3.4.57-vs2.3.3.9/mm/oom_k | |||
24024 | /* | 23788 | /* |
24025 | * Try to acquire the OOM killer lock for the zones in zonelist. Returns zero | 23789 | * Try to acquire the OOM killer lock for the zones in zonelist. Returns zero |
24026 | * if a parallel OOM killing is already taking place that includes a zone in | 23790 | * if a parallel OOM killing is already taking place that includes a zone in |
24027 | @@ -747,7 +758,12 @@ void out_of_memory(struct zonelist *zone | 23791 | @@ -655,7 +666,12 @@ void out_of_memory(struct zonelist *zone |
23792 | /* Found nothing?!?! Either we hang forever, or we panic. */ | ||
24028 | if (!p) { | 23793 | if (!p) { |
24029 | dump_header(NULL, gfp_mask, order, NULL, mpol_mask); | 23794 | dump_header(NULL, gfp_mask, order, NULL, mpol_mask); |
24030 | read_unlock(&tasklist_lock); | ||
24031 | - panic("Out of memory and no killable processes...\n"); | 23795 | - panic("Out of memory and no killable processes...\n"); |
24032 | + | 23796 | + |
24033 | + /* avoid panic for guest OOM */ | 23797 | + /* avoid panic for guest OOM */ |
24034 | + if (current->xid) | 23798 | + if (vx_current_xid()) |
24035 | + vs_oom_action(LINUX_REBOOT_CMD_OOM); | 23799 | + vs_oom_action(LINUX_REBOOT_CMD_OOM); |
24036 | + else | 23800 | + else |
24037 | + panic("Out of memory and no killable processes...\n"); | 23801 | + panic("Out of memory and no killable processes...\n"); |
24038 | } | 23802 | } |
24039 | if (PTR_ERR(p) != -1UL) { | 23803 | if (PTR_ERR(p) != -1UL) { |
24040 | oom_kill_process(p, gfp_mask, order, points, totalpages, NULL, | 23804 | oom_kill_process(p, gfp_mask, order, points, totalpages, NULL, |
24041 | diff -NurpP --minimal linux-3.4.57/mm/page_alloc.c linux-3.4.57-vs2.3.3.9/mm/page_alloc.c | 23805 | diff -NurpP --minimal linux-3.10.17/mm/page_alloc.c linux-3.10.17-vs2.3.6.6/mm/page_alloc.c |
24042 | --- linux-3.4.57/mm/page_alloc.c 2013-08-13 14:13:42.000000000 +0000 | 23806 | --- linux-3.10.17/mm/page_alloc.c 2013-10-25 15:17:45.000000000 +0000 |
24043 | +++ linux-3.4.57-vs2.3.3.9/mm/page_alloc.c 2013-08-13 17:07:37.000000000 +0000 | 23807 | +++ linux-3.10.17-vs2.3.6.6/mm/page_alloc.c 2013-08-22 20:30:00.000000000 +0000 |
24044 | @@ -58,6 +58,8 @@ | 23808 | @@ -60,6 +60,8 @@ |
24045 | #include <linux/memcontrol.h> | ||
24046 | #include <linux/prefetch.h> | ||
24047 | #include <linux/page-debug-flags.h> | 23809 | #include <linux/page-debug-flags.h> |
23810 | #include <linux/hugetlb.h> | ||
23811 | #include <linux/sched/rt.h> | ||
24048 | +#include <linux/vs_base.h> | 23812 | +#include <linux/vs_base.h> |
24049 | +#include <linux/vs_limit.h> | 23813 | +#include <linux/vs_limit.h> |
24050 | 23814 | ||
24051 | #include <asm/tlbflush.h> | 23815 | #include <asm/tlbflush.h> |
24052 | #include <asm/div64.h> | 23816 | #include <asm/div64.h> |
24053 | @@ -2655,6 +2657,9 @@ void si_meminfo(struct sysinfo *val) | 23817 | @@ -2899,6 +2901,9 @@ void si_meminfo(struct sysinfo *val) |
24054 | val->totalhigh = totalhigh_pages; | 23818 | val->totalhigh = totalhigh_pages; |
24055 | val->freehigh = nr_free_highpages(); | 23819 | val->freehigh = nr_free_highpages(); |
24056 | val->mem_unit = PAGE_SIZE; | 23820 | val->mem_unit = PAGE_SIZE; |
@@ -24060,7 +23824,7 @@ diff -NurpP --minimal linux-3.4.57/mm/page_alloc.c linux-3.4.57-vs2.3.3.9/mm/pag | |||
24060 | } | 23824 | } |
24061 | 23825 | ||
24062 | EXPORT_SYMBOL(si_meminfo); | 23826 | EXPORT_SYMBOL(si_meminfo); |
24063 | @@ -2675,6 +2680,9 @@ void si_meminfo_node(struct sysinfo *val | 23827 | @@ -2919,6 +2924,9 @@ void si_meminfo_node(struct sysinfo *val |
24064 | val->freehigh = 0; | 23828 | val->freehigh = 0; |
24065 | #endif | 23829 | #endif |
24066 | val->mem_unit = PAGE_SIZE; | 23830 | val->mem_unit = PAGE_SIZE; |
@@ -24070,9 +23834,9 @@ diff -NurpP --minimal linux-3.4.57/mm/page_alloc.c linux-3.4.57-vs2.3.3.9/mm/pag | |||
24070 | } | 23834 | } |
24071 | #endif | 23835 | #endif |
24072 | 23836 | ||
24073 | diff -NurpP --minimal linux-3.4.57/mm/pgtable-generic.c linux-3.4.57-vs2.3.3.9/mm/pgtable-generic.c | 23837 | diff -NurpP --minimal linux-3.10.17/mm/pgtable-generic.c linux-3.10.17-vs2.3.6.6/mm/pgtable-generic.c |
24074 | --- linux-3.4.57/mm/pgtable-generic.c 2012-05-21 16:07:35.000000000 +0000 | 23838 | --- linux-3.10.17/mm/pgtable-generic.c 2013-02-19 13:58:57.000000000 +0000 |
24075 | +++ linux-3.4.57-vs2.3.3.9/mm/pgtable-generic.c 2012-05-21 16:15:05.000000000 +0000 | 23839 | +++ linux-3.10.17-vs2.3.6.6/mm/pgtable-generic.c 2013-08-22 20:30:00.000000000 +0000 |
24076 | @@ -6,6 +6,8 @@ | 23840 | @@ -6,6 +6,8 @@ |
24077 | * Copyright (C) 2010 Linus Torvalds | 23841 | * Copyright (C) 2010 Linus Torvalds |
24078 | */ | 23842 | */ |
@@ -24082,10 +23846,10 @@ diff -NurpP --minimal linux-3.4.57/mm/pgtable-generic.c linux-3.4.57-vs2.3.3.9/m | |||
24082 | #include <linux/pagemap.h> | 23846 | #include <linux/pagemap.h> |
24083 | #include <asm/tlb.h> | 23847 | #include <asm/tlb.h> |
24084 | #include <asm-generic/pgtable.h> | 23848 | #include <asm-generic/pgtable.h> |
24085 | diff -NurpP --minimal linux-3.4.57/mm/shmem.c linux-3.4.57-vs2.3.3.9/mm/shmem.c | 23849 | diff -NurpP --minimal linux-3.10.17/mm/shmem.c linux-3.10.17-vs2.3.6.6/mm/shmem.c |
24086 | --- linux-3.4.57/mm/shmem.c 2013-08-13 14:13:42.000000000 +0000 | 23850 | --- linux-3.10.17/mm/shmem.c 2013-10-25 15:17:45.000000000 +0000 |
24087 | +++ linux-3.4.57-vs2.3.3.9/mm/shmem.c 2013-03-02 15:26:44.000000000 +0000 | 23851 | +++ linux-3.10.17-vs2.3.6.6/mm/shmem.c 2013-10-26 18:03:17.000000000 +0000 |
24088 | @@ -1473,7 +1473,7 @@ static int shmem_statfs(struct dentry *d | 23852 | @@ -1911,7 +1911,7 @@ static int shmem_statfs(struct dentry *d |
24089 | { | 23853 | { |
24090 | struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb); | 23854 | struct shmem_sb_info *sbinfo = SHMEM_SB(dentry->d_sb); |
24091 | 23855 | ||
@@ -24094,7 +23858,7 @@ diff -NurpP --minimal linux-3.4.57/mm/shmem.c linux-3.4.57-vs2.3.3.9/mm/shmem.c | |||
24094 | buf->f_bsize = PAGE_CACHE_SIZE; | 23858 | buf->f_bsize = PAGE_CACHE_SIZE; |
24095 | buf->f_namelen = NAME_MAX; | 23859 | buf->f_namelen = NAME_MAX; |
24096 | if (sbinfo->max_blocks) { | 23860 | if (sbinfo->max_blocks) { |
24097 | @@ -2287,7 +2287,7 @@ int shmem_fill_super(struct super_block | 23861 | @@ -2608,7 +2608,7 @@ int shmem_fill_super(struct super_block |
24098 | sb->s_maxbytes = MAX_LFS_FILESIZE; | 23862 | sb->s_maxbytes = MAX_LFS_FILESIZE; |
24099 | sb->s_blocksize = PAGE_CACHE_SIZE; | 23863 | sb->s_blocksize = PAGE_CACHE_SIZE; |
24100 | sb->s_blocksize_bits = PAGE_CACHE_SHIFT; | 23864 | sb->s_blocksize_bits = PAGE_CACHE_SHIFT; |
@@ -24103,10 +23867,10 @@ diff -NurpP --minimal linux-3.4.57/mm/shmem.c linux-3.4.57-vs2.3.3.9/mm/shmem.c | |||
24103 | sb->s_op = &shmem_ops; | 23867 | sb->s_op = &shmem_ops; |
24104 | sb->s_time_gran = 1; | 23868 | sb->s_time_gran = 1; |
24105 | #ifdef CONFIG_TMPFS_XATTR | 23869 | #ifdef CONFIG_TMPFS_XATTR |
24106 | diff -NurpP --minimal linux-3.4.57/mm/slab.c linux-3.4.57-vs2.3.3.9/mm/slab.c | 23870 | diff -NurpP --minimal linux-3.10.17/mm/slab.c linux-3.10.17-vs2.3.6.6/mm/slab.c |
24107 | --- linux-3.4.57/mm/slab.c 2013-08-13 14:13:42.000000000 +0000 | 23871 | --- linux-3.10.17/mm/slab.c 2013-10-25 15:17:45.000000000 +0000 |
24108 | +++ linux-3.4.57-vs2.3.3.9/mm/slab.c 2012-10-22 13:09:53.000000000 +0000 | 23872 | +++ linux-3.10.17-vs2.3.6.6/mm/slab.c 2013-08-22 21:01:54.000000000 +0000 |
24109 | @@ -413,6 +413,8 @@ static void kmem_list3_init(struct kmem_ | 23873 | @@ -388,6 +388,8 @@ static void kmem_cache_node_init(struct |
24110 | #define STATS_INC_FREEMISS(x) do { } while (0) | 23874 | #define STATS_INC_FREEMISS(x) do { } while (0) |
24111 | #endif | 23875 | #endif |
24112 | 23876 | ||
@@ -24115,33 +23879,33 @@ diff -NurpP --minimal linux-3.4.57/mm/slab.c linux-3.4.57-vs2.3.3.9/mm/slab.c | |||
24115 | #if DEBUG | 23879 | #if DEBUG |
24116 | 23880 | ||
24117 | /* | 23881 | /* |
24118 | @@ -3466,6 +3468,7 @@ retry: | 23882 | @@ -3314,6 +3316,7 @@ retry: |
24119 | 23883 | ||
24120 | obj = slab_get_obj(cachep, slabp, nodeid); | 23884 | obj = slab_get_obj(cachep, slabp, nodeid); |
24121 | check_slabp(cachep, slabp); | 23885 | check_slabp(cachep, slabp); |
24122 | + vx_slab_alloc(cachep, flags); | 23886 | + vx_slab_alloc(cachep, flags); |
24123 | l3->free_objects--; | 23887 | n->free_objects--; |
24124 | /* move slabp to correct slabp list: */ | 23888 | /* move slabp to correct slabp list: */ |
24125 | list_del(&slabp->list); | 23889 | list_del(&slabp->list); |
24126 | @@ -3543,6 +3546,7 @@ __cache_alloc_node(struct kmem_cache *ca | 23890 | @@ -3393,6 +3396,7 @@ slab_alloc_node(struct kmem_cache *cache |
24127 | /* ___cache_alloc_node can fall back to other nodes */ | 23891 | /* ___cache_alloc_node can fall back to other nodes */ |
24128 | ptr = ____cache_alloc_node(cachep, flags, nodeid); | 23892 | ptr = ____cache_alloc_node(cachep, flags, nodeid); |
24129 | out: | 23893 | out: |
24130 | + vx_slab_alloc(cachep, flags); | 23894 | + vx_slab_alloc(cachep, flags); |
24131 | local_irq_restore(save_flags); | 23895 | local_irq_restore(save_flags); |
24132 | ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller); | 23896 | ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller); |
24133 | kmemleak_alloc_recursive(ptr, obj_size(cachep), 1, cachep->flags, | 23897 | kmemleak_alloc_recursive(ptr, cachep->object_size, 1, cachep->flags, |
24134 | @@ -3730,6 +3734,7 @@ static inline void __cache_free(struct k | 23898 | @@ -3585,6 +3589,7 @@ static inline void __cache_free(struct k |
24135 | check_irq_off(); | 23899 | check_irq_off(); |
24136 | kmemleak_free_recursive(objp, cachep->flags); | 23900 | kmemleak_free_recursive(objp, cachep->flags); |
24137 | objp = cache_free_debugcheck(cachep, objp, caller); | 23901 | objp = cache_free_debugcheck(cachep, objp, caller); |
24138 | + vx_slab_free(cachep); | 23902 | + vx_slab_free(cachep); |
24139 | 23903 | ||
24140 | kmemcheck_slab_free(cachep, objp, obj_size(cachep)); | 23904 | kmemcheck_slab_free(cachep, objp, cachep->object_size); |
24141 | 23905 | ||
24142 | diff -NurpP --minimal linux-3.4.57/mm/slab_vs.h linux-3.4.57-vs2.3.3.9/mm/slab_vs.h | 23906 | diff -NurpP --minimal linux-3.10.17/mm/slab_vs.h linux-3.10.17-vs2.3.6.6/mm/slab_vs.h |
24143 | --- linux-3.4.57/mm/slab_vs.h 1970-01-01 00:00:00.000000000 +0000 | 23907 | --- linux-3.10.17/mm/slab_vs.h 1970-01-01 00:00:00.000000000 +0000 |
24144 | +++ linux-3.4.57-vs2.3.3.9/mm/slab_vs.h 2012-05-21 16:15:05.000000000 +0000 | 23908 | +++ linux-3.10.17-vs2.3.6.6/mm/slab_vs.h 2013-08-22 20:30:00.000000000 +0000 |
24145 | @@ -0,0 +1,29 @@ | 23909 | @@ -0,0 +1,29 @@ |
24146 | + | 23910 | + |
24147 | +#include <linux/vserver/context.h> | 23911 | +#include <linux/vserver/context.h> |
@@ -24151,31 +23915,31 @@ diff -NurpP --minimal linux-3.4.57/mm/slab_vs.h linux-3.4.57-vs2.3.3.9/mm/slab_v | |||
24151 | +static inline | 23915 | +static inline |
24152 | +void vx_slab_alloc(struct kmem_cache *cachep, gfp_t flags) | 23916 | +void vx_slab_alloc(struct kmem_cache *cachep, gfp_t flags) |
24153 | +{ | 23917 | +{ |
24154 | + int what = gfp_zone(cachep->gfpflags); | 23918 | + int what = gfp_zone(cachep->allocflags); |
24155 | + struct vx_info *vxi = current_vx_info(); | 23919 | + struct vx_info *vxi = current_vx_info(); |
24156 | + | 23920 | + |
24157 | + if (!vxi) | 23921 | + if (!vxi) |
24158 | + return; | 23922 | + return; |
24159 | + | 23923 | + |
24160 | + atomic_add(cachep->buffer_size, &vxi->cacct.slab[what]); | 23924 | + atomic_add(cachep->size, &vxi->cacct.slab[what]); |
24161 | +} | 23925 | +} |
24162 | + | 23926 | + |
24163 | +static inline | 23927 | +static inline |
24164 | +void vx_slab_free(struct kmem_cache *cachep) | 23928 | +void vx_slab_free(struct kmem_cache *cachep) |
24165 | +{ | 23929 | +{ |
24166 | + int what = gfp_zone(cachep->gfpflags); | 23930 | + int what = gfp_zone(cachep->allocflags); |
24167 | + struct vx_info *vxi = current_vx_info(); | 23931 | + struct vx_info *vxi = current_vx_info(); |
24168 | + | 23932 | + |
24169 | + if (!vxi) | 23933 | + if (!vxi) |
24170 | + return; | 23934 | + return; |
24171 | + | 23935 | + |
24172 | + atomic_sub(cachep->buffer_size, &vxi->cacct.slab[what]); | 23936 | + atomic_sub(cachep->size, &vxi->cacct.slab[what]); |
24173 | +} | 23937 | +} |
24174 | + | 23938 | + |
24175 | diff -NurpP --minimal linux-3.4.57/mm/swapfile.c linux-3.4.57-vs2.3.3.9/mm/swapfile.c | 23939 | diff -NurpP --minimal linux-3.10.17/mm/swapfile.c linux-3.10.17-vs2.3.6.6/mm/swapfile.c |
24176 | --- linux-3.4.57/mm/swapfile.c 2013-08-13 14:13:42.000000000 +0000 | 23940 | --- linux-3.10.17/mm/swapfile.c 2013-07-14 17:01:36.000000000 +0000 |
24177 | +++ linux-3.4.57-vs2.3.3.9/mm/swapfile.c 2012-06-28 14:45:07.000000000 +0000 | 23941 | +++ linux-3.10.17-vs2.3.6.6/mm/swapfile.c 2013-08-22 20:30:00.000000000 +0000 |
24178 | @@ -36,6 +36,7 @@ | 23942 | @@ -39,6 +39,7 @@ |
24179 | #include <asm/tlbflush.h> | 23943 | #include <asm/tlbflush.h> |
24180 | #include <linux/swapops.h> | 23944 | #include <linux/swapops.h> |
24181 | #include <linux/page_cgroup.h> | 23945 | #include <linux/page_cgroup.h> |
@@ -24183,7 +23947,7 @@ diff -NurpP --minimal linux-3.4.57/mm/swapfile.c linux-3.4.57-vs2.3.3.9/mm/swapf | |||
24183 | 23947 | ||
24184 | static bool swap_count_continued(struct swap_info_struct *, pgoff_t, | 23948 | static bool swap_count_continued(struct swap_info_struct *, pgoff_t, |
24185 | unsigned char); | 23949 | unsigned char); |
24186 | @@ -1754,6 +1755,16 @@ static int swap_show(struct seq_file *sw | 23950 | @@ -1768,6 +1769,16 @@ static int swap_show(struct seq_file *sw |
24187 | 23951 | ||
24188 | if (si == SEQ_START_TOKEN) { | 23952 | if (si == SEQ_START_TOKEN) { |
24189 | seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n"); | 23953 | seq_puts(swap,"Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n"); |
@@ -24200,8 +23964,8 @@ diff -NurpP --minimal linux-3.4.57/mm/swapfile.c linux-3.4.57-vs2.3.3.9/mm/swapf | |||
24200 | return 0; | 23964 | return 0; |
24201 | } | 23965 | } |
24202 | 23966 | ||
24203 | @@ -2176,6 +2187,8 @@ void si_swapinfo(struct sysinfo *val) | 23967 | @@ -2196,6 +2207,8 @@ void si_swapinfo(struct sysinfo *val) |
24204 | val->freeswap = nr_swap_pages + nr_to_be_unused; | 23968 | val->freeswap = atomic_long_read(&nr_swap_pages) + nr_to_be_unused; |
24205 | val->totalswap = total_swap_pages + nr_to_be_unused; | 23969 | val->totalswap = total_swap_pages + nr_to_be_unused; |
24206 | spin_unlock(&swap_lock); | 23970 | spin_unlock(&swap_lock); |
24207 | + if (vx_flags(VXF_VIRT_MEM, 0)) | 23971 | + if (vx_flags(VXF_VIRT_MEM, 0)) |
@@ -24209,10 +23973,10 @@ diff -NurpP --minimal linux-3.4.57/mm/swapfile.c linux-3.4.57-vs2.3.3.9/mm/swapf | |||
24209 | } | 23973 | } |
24210 | 23974 | ||
24211 | /* | 23975 | /* |
24212 | diff -NurpP --minimal linux-3.4.57/net/bridge/br_multicast.c linux-3.4.57-vs2.3.3.9/net/bridge/br_multicast.c | 23976 | diff -NurpP --minimal linux-3.10.17/net/bridge/br_multicast.c linux-3.10.17-vs2.3.6.6/net/bridge/br_multicast.c |
24213 | --- linux-3.4.57/net/bridge/br_multicast.c 2013-08-13 14:13:43.000000000 +0000 | 23977 | --- linux-3.10.17/net/bridge/br_multicast.c 2013-10-25 15:17:45.000000000 +0000 |
24214 | +++ linux-3.4.57-vs2.3.3.9/net/bridge/br_multicast.c 2013-08-13 17:07:37.000000000 +0000 | 23978 | +++ linux-3.10.17-vs2.3.6.6/net/bridge/br_multicast.c 2013-10-09 17:37:22.000000000 +0000 |
24215 | @@ -445,7 +445,7 @@ static struct sk_buff *br_ip6_multicast_ | 23979 | @@ -443,7 +443,7 @@ static struct sk_buff *br_ip6_multicast_ |
24216 | ip6h->hop_limit = 1; | 23980 | ip6h->hop_limit = 1; |
24217 | ipv6_addr_set(&ip6h->daddr, htonl(0xff020000), 0, 0, htonl(1)); | 23981 | ipv6_addr_set(&ip6h->daddr, htonl(0xff020000), 0, 0, htonl(1)); |
24218 | if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0, | 23982 | if (ipv6_dev_get_saddr(dev_net(br->dev), br->dev, &ip6h->daddr, 0, |
@@ -24221,10 +23985,10 @@ diff -NurpP --minimal linux-3.4.57/net/bridge/br_multicast.c linux-3.4.57-vs2.3. | |||
24221 | kfree_skb(skb); | 23985 | kfree_skb(skb); |
24222 | return NULL; | 23986 | return NULL; |
24223 | } | 23987 | } |
24224 | diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/core/dev.c | 23988 | diff -NurpP --minimal linux-3.10.17/net/core/dev.c linux-3.10.17-vs2.3.6.6/net/core/dev.c |
24225 | --- linux-3.4.57/net/core/dev.c 2013-08-13 14:13:43.000000000 +0000 | 23989 | --- linux-3.10.17/net/core/dev.c 2013-10-25 15:17:46.000000000 +0000 |
24226 | +++ linux-3.4.57-vs2.3.3.9/net/core/dev.c 2013-07-14 13:38:37.000000000 +0000 | 23990 | +++ linux-3.10.17-vs2.3.6.6/net/core/dev.c 2013-08-22 20:30:00.000000000 +0000 |
24227 | @@ -126,6 +126,7 @@ | 23991 | @@ -122,6 +122,7 @@ |
24228 | #include <linux/in.h> | 23992 | #include <linux/in.h> |
24229 | #include <linux/jhash.h> | 23993 | #include <linux/jhash.h> |
24230 | #include <linux/random.h> | 23994 | #include <linux/random.h> |
@@ -24232,46 +23996,46 @@ diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/cor | |||
24232 | #include <trace/events/napi.h> | 23996 | #include <trace/events/napi.h> |
24233 | #include <trace/events/net.h> | 23997 | #include <trace/events/net.h> |
24234 | #include <trace/events/skb.h> | 23998 | #include <trace/events/skb.h> |
24235 | @@ -621,7 +622,8 @@ struct net_device *__dev_get_by_name(str | 23999 | @@ -660,7 +661,8 @@ struct net_device *__dev_get_by_name(str |
24236 | struct hlist_head *head = dev_name_hash(net, name); | 24000 | struct hlist_head *head = dev_name_hash(net, name); |
24237 | 24001 | ||
24238 | hlist_for_each_entry(dev, p, head, name_hlist) | 24002 | hlist_for_each_entry(dev, head, name_hlist) |
24239 | - if (!strncmp(dev->name, name, IFNAMSIZ)) | 24003 | - if (!strncmp(dev->name, name, IFNAMSIZ)) |
24240 | + if (!strncmp(dev->name, name, IFNAMSIZ) && | 24004 | + if (!strncmp(dev->name, name, IFNAMSIZ) && |
24241 | + nx_dev_visible(current_nx_info(), dev)) | 24005 | + nx_dev_visible(current_nx_info(), dev)) |
24242 | return dev; | 24006 | return dev; |
24243 | 24007 | ||
24244 | return NULL; | 24008 | return NULL; |
24245 | @@ -647,7 +649,8 @@ struct net_device *dev_get_by_name_rcu(s | 24009 | @@ -685,7 +687,8 @@ struct net_device *dev_get_by_name_rcu(s |
24246 | struct hlist_head *head = dev_name_hash(net, name); | 24010 | struct hlist_head *head = dev_name_hash(net, name); |
24247 | 24011 | ||
24248 | hlist_for_each_entry_rcu(dev, p, head, name_hlist) | 24012 | hlist_for_each_entry_rcu(dev, head, name_hlist) |
24249 | - if (!strncmp(dev->name, name, IFNAMSIZ)) | 24013 | - if (!strncmp(dev->name, name, IFNAMSIZ)) |
24250 | + if (!strncmp(dev->name, name, IFNAMSIZ) && | 24014 | + if (!strncmp(dev->name, name, IFNAMSIZ) && |
24251 | + nx_dev_visible(current_nx_info(), dev)) | 24015 | + nx_dev_visible(current_nx_info(), dev)) |
24252 | return dev; | 24016 | return dev; |
24253 | 24017 | ||
24254 | return NULL; | 24018 | return NULL; |
24255 | @@ -698,7 +701,8 @@ struct net_device *__dev_get_by_index(st | 24019 | @@ -735,7 +738,8 @@ struct net_device *__dev_get_by_index(st |
24256 | struct hlist_head *head = dev_index_hash(net, ifindex); | 24020 | struct hlist_head *head = dev_index_hash(net, ifindex); |
24257 | 24021 | ||
24258 | hlist_for_each_entry(dev, p, head, index_hlist) | 24022 | hlist_for_each_entry(dev, head, index_hlist) |
24259 | - if (dev->ifindex == ifindex) | 24023 | - if (dev->ifindex == ifindex) |
24260 | + if ((dev->ifindex == ifindex) && | 24024 | + if ((dev->ifindex == ifindex) && |
24261 | + nx_dev_visible(current_nx_info(), dev)) | 24025 | + nx_dev_visible(current_nx_info(), dev)) |
24262 | return dev; | 24026 | return dev; |
24263 | 24027 | ||
24264 | return NULL; | 24028 | return NULL; |
24265 | @@ -716,7 +720,7 @@ EXPORT_SYMBOL(__dev_get_by_index); | 24029 | @@ -753,7 +757,7 @@ EXPORT_SYMBOL(__dev_get_by_index); |
24266 | * about locking. The caller must hold RCU lock. | 24030 | * about locking. The caller must hold RCU lock. |
24267 | */ | 24031 | */ |
24268 | 24032 | ||
24269 | -struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex) | 24033 | -struct net_device *dev_get_by_index_rcu(struct net *net, int ifindex) |
24270 | +struct net_device *dev_get_by_index_real_rcu(struct net *net, int ifindex) | 24034 | +struct net_device *dev_get_by_index_real_rcu(struct net *net, int ifindex) |
24271 | { | 24035 | { |
24272 | struct hlist_node *p; | ||
24273 | struct net_device *dev; | 24036 | struct net_device *dev; |
24274 | @@ -728,6 +732,16 @@ struct net_device *dev_get_by_index_rcu( | 24037 | struct hlist_head *head = dev_index_hash(net, ifindex); |
24038 | @@ -764,6 +768,16 @@ struct net_device *dev_get_by_index_rcu( | ||
24275 | 24039 | ||
24276 | return NULL; | 24040 | return NULL; |
24277 | } | 24041 | } |
@@ -24288,7 +24052,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/cor | |||
24288 | EXPORT_SYMBOL(dev_get_by_index_rcu); | 24052 | EXPORT_SYMBOL(dev_get_by_index_rcu); |
24289 | 24053 | ||
24290 | 24054 | ||
24291 | @@ -776,7 +790,8 @@ struct net_device *dev_getbyhwaddr_rcu(s | 24055 | @@ -846,7 +860,8 @@ struct net_device *dev_getbyhwaddr_rcu(s |
24292 | 24056 | ||
24293 | for_each_netdev_rcu(net, dev) | 24057 | for_each_netdev_rcu(net, dev) |
24294 | if (dev->type == type && | 24058 | if (dev->type == type && |
@@ -24298,7 +24062,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/cor | |||
24298 | return dev; | 24062 | return dev; |
24299 | 24063 | ||
24300 | return NULL; | 24064 | return NULL; |
24301 | @@ -788,9 +803,11 @@ struct net_device *__dev_getfirstbyhwtyp | 24065 | @@ -858,9 +873,11 @@ struct net_device *__dev_getfirstbyhwtyp |
24302 | struct net_device *dev; | 24066 | struct net_device *dev; |
24303 | 24067 | ||
24304 | ASSERT_RTNL(); | 24068 | ASSERT_RTNL(); |
@@ -24312,7 +24076,27 @@ diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/cor | |||
24312 | 24076 | ||
24313 | return NULL; | 24077 | return NULL; |
24314 | } | 24078 | } |
24315 | @@ -908,6 +925,8 @@ static int __dev_alloc_name(struct net * | 24079 | @@ -872,7 +889,8 @@ struct net_device *dev_getfirstbyhwtype( |
24080 | |||
24081 | rcu_read_lock(); | ||
24082 | for_each_netdev_rcu(net, dev) | ||
24083 | - if (dev->type == type) { | ||
24084 | + if ((dev->type == type) && | ||
24085 | + nx_dev_visible(current_nx_info(), dev)) { | ||
24086 | dev_hold(dev); | ||
24087 | ret = dev; | ||
24088 | break; | ||
24089 | @@ -900,7 +918,8 @@ struct net_device *dev_get_by_flags_rcu( | ||
24090 | |||
24091 | ret = NULL; | ||
24092 | for_each_netdev_rcu(net, dev) { | ||
24093 | - if (((dev->flags ^ if_flags) & mask) == 0) { | ||
24094 | + if ((((dev->flags ^ if_flags) & mask) == 0) && | ||
24095 | + nx_dev_visible(current_nx_info(), dev)) { | ||
24096 | ret = dev; | ||
24097 | break; | ||
24098 | } | ||
24099 | @@ -978,6 +997,8 @@ static int __dev_alloc_name(struct net * | ||
24316 | continue; | 24100 | continue; |
24317 | if (i < 0 || i >= max_netdevices) | 24101 | if (i < 0 || i >= max_netdevices) |
24318 | continue; | 24102 | continue; |
@@ -24321,39 +24105,45 @@ diff -NurpP --minimal linux-3.4.57/net/core/dev.c linux-3.4.57-vs2.3.3.9/net/cor | |||
24321 | 24105 | ||
24322 | /* avoid cases where sscanf is not exact inverse of printf */ | 24106 | /* avoid cases where sscanf is not exact inverse of printf */ |
24323 | snprintf(buf, IFNAMSIZ, name, i); | 24107 | snprintf(buf, IFNAMSIZ, name, i); |
24324 | @@ -4009,6 +4028,8 @@ static int dev_ifconf(struct net *net, c | 24108 | diff -NurpP --minimal linux-3.10.17/net/core/net-procfs.c linux-3.10.17-vs2.3.6.6/net/core/net-procfs.c |
24109 | --- linux-3.10.17/net/core/net-procfs.c 2013-07-14 17:01:37.000000000 +0000 | ||
24110 | +++ linux-3.10.17-vs2.3.6.6/net/core/net-procfs.c 2013-08-22 20:30:00.000000000 +0000 | ||
24111 | @@ -1,6 +1,7 @@ | ||
24112 | #include <linux/netdevice.h> | ||
24113 | #include <linux/proc_fs.h> | ||
24114 | #include <linux/seq_file.h> | ||
24115 | +#include <linux/vs_inet.h> | ||
24116 | #include <net/wext.h> | ||
24325 | 24117 | ||
24326 | total = 0; | 24118 | #define BUCKET_SPACE (32 - NETDEV_HASHBITS - 1) |
24327 | for_each_netdev(net, dev) { | 24119 | @@ -77,8 +78,13 @@ static void dev_seq_stop(struct seq_file |
24328 | + if (!nx_dev_visible(current_nx_info(), dev)) | 24120 | static void dev_seq_printf_stats(struct seq_file *seq, struct net_device *dev) |
24329 | + continue; | 24121 | { |
24330 | for (i = 0; i < NPROTO; i++) { | ||
24331 | if (gifconf_list[i]) { | ||
24332 | int done; | ||
24333 | @@ -4111,6 +4132,10 @@ static void dev_seq_printf_stats(struct | ||
24334 | struct rtnl_link_stats64 temp; | 24122 | struct rtnl_link_stats64 temp; |
24335 | const struct rtnl_link_stats64 *stats = dev_get_stats(dev, &temp); | 24123 | - const struct rtnl_link_stats64 *stats = dev_get_stats(dev, &temp); |
24336 | 24124 | + const struct rtnl_link_stats64 *stats; | |
24125 | + | ||
24337 | + /* device visible inside network context? */ | 24126 | + /* device visible inside network context? */ |
24338 | + if (!nx_dev_visible(current_nx_info(), dev)) | 24127 | + if (!nx_dev_visible(current_nx_info(), dev)) |
24339 | + return; | 24128 | + return; |
24340 | + | 24129 | |
24130 | + stats = dev_get_stats(dev, &temp); | ||
24341 | seq_printf(seq, "%6s: %7llu %7llu %4llu %4llu %4llu %5llu %10llu %9llu " | 24131 | seq_printf(seq, "%6s: %7llu %7llu %4llu %4llu %4llu %5llu %10llu %9llu " |
24342 | "%8llu %7llu %4llu %4llu %4llu %5llu %7llu %10llu\n", | 24132 | "%8llu %7llu %4llu %4llu %4llu %5llu %7llu %10llu\n", |
24343 | dev->name, stats->rx_bytes, stats->rx_packets, | 24133 | dev->name, stats->rx_bytes, stats->rx_packets, |
24344 | diff -NurpP --minimal linux-3.4.57/net/core/rtnetlink.c linux-3.4.57-vs2.3.3.9/net/core/rtnetlink.c | 24134 | diff -NurpP --minimal linux-3.10.17/net/core/rtnetlink.c linux-3.10.17-vs2.3.6.6/net/core/rtnetlink.c |
24345 | --- linux-3.4.57/net/core/rtnetlink.c 2013-08-13 14:13:43.000000000 +0000 | 24135 | --- linux-3.10.17/net/core/rtnetlink.c 2013-10-25 15:17:46.000000000 +0000 |
24346 | +++ linux-3.4.57-vs2.3.3.9/net/core/rtnetlink.c 2013-07-14 13:38:37.000000000 +0000 | 24136 | +++ linux-3.10.17-vs2.3.6.6/net/core/rtnetlink.c 2013-10-09 17:37:22.000000000 +0000 |
24347 | @@ -1079,6 +1079,8 @@ static int rtnl_dump_ifinfo(struct sk_bu | 24137 | @@ -1059,6 +1059,8 @@ static int rtnl_dump_ifinfo(struct sk_bu |
24348 | hlist_for_each_entry_rcu(dev, node, head, index_hlist) { | 24138 | hlist_for_each_entry_rcu(dev, head, index_hlist) { |
24349 | if (idx < s_idx) | 24139 | if (idx < s_idx) |
24350 | goto cont; | 24140 | goto cont; |
24351 | + if (!nx_dev_visible(skb->sk->sk_nx_info, dev)) | 24141 | + if (!nx_dev_visible(skb->sk->sk_nx_info, dev)) |
24352 | + continue; | 24142 | + continue; |
24353 | if (rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK, | 24143 | if (rtnl_fill_ifinfo(skb, dev, RTM_NEWLINK, |
24354 | NETLINK_CB(cb->skb).pid, | 24144 | NETLINK_CB(cb->skb).portid, |
24355 | cb->nlh->nlmsg_seq, 0, | 24145 | cb->nlh->nlmsg_seq, 0, |
24356 | @@ -1962,6 +1964,9 @@ void rtmsg_ifinfo(int type, struct net_d | 24146 | @@ -1951,6 +1953,9 @@ void rtmsg_ifinfo(int type, struct net_d |
24357 | int err = -ENOBUFS; | 24147 | int err = -ENOBUFS; |
24358 | size_t if_info_size; | 24148 | size_t if_info_size; |
24359 | 24149 | ||
@@ -24363,10 +24153,10 @@ diff -NurpP --minimal linux-3.4.57/net/core/rtnetlink.c linux-3.4.57-vs2.3.3.9/n | |||
24363 | skb = nlmsg_new((if_info_size = if_nlmsg_size(dev, 0)), GFP_KERNEL); | 24153 | skb = nlmsg_new((if_info_size = if_nlmsg_size(dev, 0)), GFP_KERNEL); |
24364 | if (skb == NULL) | 24154 | if (skb == NULL) |
24365 | goto errout; | 24155 | goto errout; |
24366 | diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/core/sock.c | 24156 | diff -NurpP --minimal linux-3.10.17/net/core/sock.c linux-3.10.17-vs2.3.6.6/net/core/sock.c |
24367 | --- linux-3.4.57/net/core/sock.c 2013-08-13 14:13:44.000000000 +0000 | 24157 | --- linux-3.10.17/net/core/sock.c 2013-07-14 17:01:37.000000000 +0000 |
24368 | +++ linux-3.4.57-vs2.3.3.9/net/core/sock.c 2013-07-14 13:38:37.000000000 +0000 | 24158 | +++ linux-3.10.17-vs2.3.6.6/net/core/sock.c 2013-08-22 20:30:00.000000000 +0000 |
24369 | @@ -129,6 +129,10 @@ | 24159 | @@ -132,6 +132,10 @@ |
24370 | #include <net/netprio_cgroup.h> | 24160 | #include <net/netprio_cgroup.h> |
24371 | 24161 | ||
24372 | #include <linux/filter.h> | 24162 | #include <linux/filter.h> |
@@ -24377,7 +24167,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24377 | 24167 | ||
24378 | #include <trace/events/sock.h> | 24168 | #include <trace/events/sock.h> |
24379 | 24169 | ||
24380 | @@ -1141,6 +1145,8 @@ static struct sock *sk_prot_alloc(struct | 24170 | @@ -1252,6 +1256,8 @@ static struct sock *sk_prot_alloc(struct |
24381 | goto out_free_sec; | 24171 | goto out_free_sec; |
24382 | sk_tx_queue_clear(sk); | 24172 | sk_tx_queue_clear(sk); |
24383 | } | 24173 | } |
@@ -24386,7 +24176,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24386 | 24176 | ||
24387 | return sk; | 24177 | return sk; |
24388 | 24178 | ||
24389 | @@ -1249,6 +1255,11 @@ static void __sk_free(struct sock *sk) | 24179 | @@ -1360,6 +1366,11 @@ static void __sk_free(struct sock *sk) |
24390 | put_cred(sk->sk_peer_cred); | 24180 | put_cred(sk->sk_peer_cred); |
24391 | put_pid(sk->sk_peer_pid); | 24181 | put_pid(sk->sk_peer_pid); |
24392 | put_net(sock_net(sk)); | 24182 | put_net(sock_net(sk)); |
@@ -24398,7 +24188,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24398 | sk_prot_free(sk->sk_prot_creator, sk); | 24188 | sk_prot_free(sk->sk_prot_creator, sk); |
24399 | } | 24189 | } |
24400 | 24190 | ||
24401 | @@ -1309,6 +1320,8 @@ struct sock *sk_clone_lock(const struct | 24191 | @@ -1420,6 +1431,8 @@ struct sock *sk_clone_lock(const struct |
24402 | 24192 | ||
24403 | /* SANITY */ | 24193 | /* SANITY */ |
24404 | get_net(sock_net(newsk)); | 24194 | get_net(sock_net(newsk)); |
@@ -24407,7 +24197,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24407 | sk_node_init(&newsk->sk_node); | 24197 | sk_node_init(&newsk->sk_node); |
24408 | sock_lock_init(newsk); | 24198 | sock_lock_init(newsk); |
24409 | bh_lock_sock(newsk); | 24199 | bh_lock_sock(newsk); |
24410 | @@ -1365,6 +1378,12 @@ struct sock *sk_clone_lock(const struct | 24200 | @@ -1476,6 +1489,12 @@ struct sock *sk_clone_lock(const struct |
24411 | smp_wmb(); | 24201 | smp_wmb(); |
24412 | atomic_set(&newsk->sk_refcnt, 2); | 24202 | atomic_set(&newsk->sk_refcnt, 2); |
24413 | 24203 | ||
@@ -24420,7 +24210,7 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24420 | /* | 24210 | /* |
24421 | * Increment the counter in the same struct proto as the master | 24211 | * Increment the counter in the same struct proto as the master |
24422 | * sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that | 24212 | * sock (sk_refcnt_debug_inc uses newsk->sk_prot->socks, that |
24423 | @@ -2121,6 +2140,12 @@ void sock_init_data(struct socket *sock, | 24213 | @@ -2271,6 +2290,12 @@ void sock_init_data(struct socket *sock, |
24424 | 24214 | ||
24425 | sk->sk_stamp = ktime_set(-1L, 0); | 24215 | sk->sk_stamp = ktime_set(-1L, 0); |
24426 | 24216 | ||
@@ -24433,9 +24223,9 @@ diff -NurpP --minimal linux-3.4.57/net/core/sock.c linux-3.4.57-vs2.3.3.9/net/co | |||
24433 | /* | 24223 | /* |
24434 | * Before updating sk_refcnt, we must commit prior changes to memory | 24224 | * Before updating sk_refcnt, we must commit prior changes to memory |
24435 | * (Documentation/RCU/rculist_nulls.txt for details) | 24225 | * (Documentation/RCU/rculist_nulls.txt for details) |
24436 | diff -NurpP --minimal linux-3.4.57/net/ipv4/af_inet.c linux-3.4.57-vs2.3.3.9/net/ipv4/af_inet.c | 24226 | diff -NurpP --minimal linux-3.10.17/net/ipv4/af_inet.c linux-3.10.17-vs2.3.6.6/net/ipv4/af_inet.c |
24437 | --- linux-3.4.57/net/ipv4/af_inet.c 2013-08-13 14:13:44.000000000 +0000 | 24227 | --- linux-3.10.17/net/ipv4/af_inet.c 2013-10-25 15:17:46.000000000 +0000 |
24438 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/af_inet.c 2013-03-02 15:26:44.000000000 +0000 | 24228 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/af_inet.c 2013-10-26 18:03:17.000000000 +0000 |
24439 | @@ -118,6 +118,7 @@ | 24229 | @@ -118,6 +118,7 @@ |
24440 | #ifdef CONFIG_IP_MROUTE | 24230 | #ifdef CONFIG_IP_MROUTE |
24441 | #include <linux/mroute.h> | 24231 | #include <linux/mroute.h> |
@@ -24444,43 +24234,43 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/af_inet.c linux-3.4.57-vs2.3.3.9/net | |||
24444 | 24234 | ||
24445 | 24235 | ||
24446 | /* The inetsw table contains everything that inet_create needs to | 24236 | /* The inetsw table contains everything that inet_create needs to |
24447 | @@ -332,9 +333,13 @@ lookup_protocol: | 24237 | @@ -336,10 +337,13 @@ lookup_protocol: |
24448 | } | 24238 | } |
24449 | 24239 | ||
24450 | err = -EPERM; | 24240 | err = -EPERM; |
24451 | + if ((protocol == IPPROTO_ICMP) && | 24241 | + if ((protocol == IPPROTO_ICMP) && |
24452 | + nx_capable(CAP_NET_RAW, NXC_RAW_ICMP)) | 24242 | + nx_capable(CAP_NET_RAW, NXC_RAW_ICMP)) |
24453 | + goto override; | 24243 | + goto override; |
24454 | + | 24244 | if (sock->type == SOCK_RAW && !kern && |
24455 | if (sock->type == SOCK_RAW && !kern && !capable(CAP_NET_RAW)) | 24245 | !ns_capable(net->user_ns, CAP_NET_RAW)) |
24456 | goto out_rcu_unlock; | 24246 | goto out_rcu_unlock; |
24457 | - | 24247 | - |
24458 | +override: | 24248 | +override: |
24459 | err = -EAFNOSUPPORT; | 24249 | sock->ops = answer->ops; |
24460 | if (!inet_netns_ok(net, protocol)) | 24250 | answer_prot = answer->prot; |
24461 | goto out_rcu_unlock; | 24251 | answer_no_check = answer->no_check; |
24462 | @@ -459,6 +464,7 @@ int inet_bind(struct socket *sock, struc | 24252 | @@ -460,6 +464,7 @@ int inet_bind(struct socket *sock, struc |
24463 | struct sockaddr_in *addr = (struct sockaddr_in *)uaddr; | 24253 | struct sockaddr_in *addr = (struct sockaddr_in *)uaddr; |
24464 | struct sock *sk = sock->sk; | 24254 | struct sock *sk = sock->sk; |
24465 | struct inet_sock *inet = inet_sk(sk); | 24255 | struct inet_sock *inet = inet_sk(sk); |
24466 | + struct nx_v4_sock_addr nsa; | 24256 | + struct nx_v4_sock_addr nsa; |
24257 | struct net *net = sock_net(sk); | ||
24467 | unsigned short snum; | 24258 | unsigned short snum; |
24468 | int chk_addr_ret; | 24259 | int chk_addr_ret; |
24469 | int err; | 24260 | @@ -484,7 +489,11 @@ int inet_bind(struct socket *sock, struc |
24470 | @@ -482,7 +488,11 @@ int inet_bind(struct socket *sock, struc | ||
24471 | goto out; | 24261 | goto out; |
24472 | } | 24262 | } |
24473 | 24263 | ||
24474 | - chk_addr_ret = inet_addr_type(sock_net(sk), addr->sin_addr.s_addr); | 24264 | - chk_addr_ret = inet_addr_type(net, addr->sin_addr.s_addr); |
24475 | + err = v4_map_sock_addr(inet, addr, &nsa); | 24265 | + err = v4_map_sock_addr(inet, addr, &nsa); |
24476 | + if (err) | 24266 | + if (err) |
24477 | + goto out; | 24267 | + goto out; |
24478 | + | 24268 | + |
24479 | + chk_addr_ret = inet_addr_type(sock_net(sk), nsa.saddr); | 24269 | + chk_addr_ret = inet_addr_type(net, nsa.saddr); |
24480 | 24270 | ||
24481 | /* Not specified by any standard per-se, however it breaks too | 24271 | /* Not specified by any standard per-se, however it breaks too |
24482 | * many applications when removed. It is unfortunate since | 24272 | * many applications when removed. It is unfortunate since |
24483 | @@ -494,7 +504,7 @@ int inet_bind(struct socket *sock, struc | 24273 | @@ -496,7 +505,7 @@ int inet_bind(struct socket *sock, struc |
24484 | err = -EADDRNOTAVAIL; | 24274 | err = -EADDRNOTAVAIL; |
24485 | if (!sysctl_ip_nonlocal_bind && | 24275 | if (!sysctl_ip_nonlocal_bind && |
24486 | !(inet->freebind || inet->transparent) && | 24276 | !(inet->freebind || inet->transparent) && |
@@ -24489,7 +24279,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/af_inet.c linux-3.4.57-vs2.3.3.9/net | |||
24489 | chk_addr_ret != RTN_LOCAL && | 24279 | chk_addr_ret != RTN_LOCAL && |
24490 | chk_addr_ret != RTN_MULTICAST && | 24280 | chk_addr_ret != RTN_MULTICAST && |
24491 | chk_addr_ret != RTN_BROADCAST) | 24281 | chk_addr_ret != RTN_BROADCAST) |
24492 | @@ -519,7 +529,7 @@ int inet_bind(struct socket *sock, struc | 24282 | @@ -522,7 +531,7 @@ int inet_bind(struct socket *sock, struc |
24493 | if (sk->sk_state != TCP_CLOSE || inet->inet_num) | 24283 | if (sk->sk_state != TCP_CLOSE || inet->inet_num) |
24494 | goto out_release_sock; | 24284 | goto out_release_sock; |
24495 | 24285 | ||
@@ -24498,7 +24288,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/af_inet.c linux-3.4.57-vs2.3.3.9/net | |||
24498 | if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) | 24288 | if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) |
24499 | inet->inet_saddr = 0; /* Use device */ | 24289 | inet->inet_saddr = 0; /* Use device */ |
24500 | 24290 | ||
24501 | @@ -722,11 +732,13 @@ int inet_getname(struct socket *sock, st | 24291 | @@ -741,11 +750,13 @@ int inet_getname(struct socket *sock, st |
24502 | peer == 1)) | 24292 | peer == 1)) |
24503 | return -ENOTCONN; | 24293 | return -ENOTCONN; |
24504 | sin->sin_port = inet->inet_dport; | 24294 | sin->sin_port = inet->inet_dport; |
@@ -24513,10 +24303,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/af_inet.c linux-3.4.57-vs2.3.3.9/net | |||
24513 | sin->sin_port = inet->inet_sport; | 24303 | sin->sin_port = inet->inet_sport; |
24514 | sin->sin_addr.s_addr = addr; | 24304 | sin->sin_addr.s_addr = addr; |
24515 | } | 24305 | } |
24516 | diff -NurpP --minimal linux-3.4.57/net/ipv4/arp.c linux-3.4.57-vs2.3.3.9/net/ipv4/arp.c | 24306 | diff -NurpP --minimal linux-3.10.17/net/ipv4/arp.c linux-3.10.17-vs2.3.6.6/net/ipv4/arp.c |
24517 | --- linux-3.4.57/net/ipv4/arp.c 2012-05-21 16:07:40.000000000 +0000 | 24307 | --- linux-3.10.17/net/ipv4/arp.c 2013-07-14 17:01:37.000000000 +0000 |
24518 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/arp.c 2012-05-21 16:15:05.000000000 +0000 | 24308 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/arp.c 2013-08-22 20:30:00.000000000 +0000 |
24519 | @@ -1328,6 +1328,7 @@ static void arp_format_neigh_entry(struc | 24309 | @@ -1332,6 +1332,7 @@ static void arp_format_neigh_entry(struc |
24520 | struct net_device *dev = n->dev; | 24310 | struct net_device *dev = n->dev; |
24521 | int hatype = dev->type; | 24311 | int hatype = dev->type; |
24522 | 24312 | ||
@@ -24524,7 +24314,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/arp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24524 | read_lock(&n->lock); | 24314 | read_lock(&n->lock); |
24525 | /* Convert hardware address to XX:XX:XX:XX ... form. */ | 24315 | /* Convert hardware address to XX:XX:XX:XX ... form. */ |
24526 | #if IS_ENABLED(CONFIG_AX25) | 24316 | #if IS_ENABLED(CONFIG_AX25) |
24527 | @@ -1359,6 +1360,7 @@ static void arp_format_pneigh_entry(stru | 24317 | @@ -1363,6 +1364,7 @@ static void arp_format_pneigh_entry(stru |
24528 | int hatype = dev ? dev->type : 0; | 24318 | int hatype = dev ? dev->type : 0; |
24529 | char tbuf[16]; | 24319 | char tbuf[16]; |
24530 | 24320 | ||
@@ -24532,10 +24322,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/arp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24532 | sprintf(tbuf, "%pI4", n->key); | 24322 | sprintf(tbuf, "%pI4", n->key); |
24533 | seq_printf(seq, "%-16s 0x%-10x0x%-10x%s * %s\n", | 24323 | seq_printf(seq, "%-16s 0x%-10x0x%-10x%s * %s\n", |
24534 | tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00", | 24324 | tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00", |
24535 | diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net/ipv4/devinet.c | 24325 | diff -NurpP --minimal linux-3.10.17/net/ipv4/devinet.c linux-3.10.17-vs2.3.6.6/net/ipv4/devinet.c |
24536 | --- linux-3.4.57/net/ipv4/devinet.c 2012-05-21 16:07:40.000000000 +0000 | 24326 | --- linux-3.10.17/net/ipv4/devinet.c 2013-10-25 15:17:46.000000000 +0000 |
24537 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/devinet.c 2012-05-21 16:15:05.000000000 +0000 | 24327 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/devinet.c 2013-10-09 17:37:22.000000000 +0000 |
24538 | @@ -517,6 +517,7 @@ struct in_device *inetdev_by_index(struc | 24328 | @@ -522,6 +522,7 @@ struct in_device *inetdev_by_index(struc |
24539 | } | 24329 | } |
24540 | EXPORT_SYMBOL(inetdev_by_index); | 24330 | EXPORT_SYMBOL(inetdev_by_index); |
24541 | 24331 | ||
@@ -24543,7 +24333,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24543 | /* Called only from RTNL semaphored context. No locks. */ | 24333 | /* Called only from RTNL semaphored context. No locks. */ |
24544 | 24334 | ||
24545 | struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, | 24335 | struct in_ifaddr *inet_ifa_byprefix(struct in_device *in_dev, __be32 prefix, |
24546 | @@ -758,6 +759,8 @@ int devinet_ioctl(struct net *net, unsig | 24336 | @@ -942,6 +943,8 @@ int devinet_ioctl(struct net *net, unsig |
24547 | 24337 | ||
24548 | in_dev = __in_dev_get_rtnl(dev); | 24338 | in_dev = __in_dev_get_rtnl(dev); |
24549 | if (in_dev) { | 24339 | if (in_dev) { |
@@ -24552,7 +24342,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24552 | if (tryaddrmatch) { | 24342 | if (tryaddrmatch) { |
24553 | /* Matthias Andree */ | 24343 | /* Matthias Andree */ |
24554 | /* compare label and address (4.4BSD style) */ | 24344 | /* compare label and address (4.4BSD style) */ |
24555 | @@ -766,6 +769,8 @@ int devinet_ioctl(struct net *net, unsig | 24345 | @@ -950,6 +953,8 @@ int devinet_ioctl(struct net *net, unsig |
24556 | This is checked above. */ | 24346 | This is checked above. */ |
24557 | for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; | 24347 | for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; |
24558 | ifap = &ifa->ifa_next) { | 24348 | ifap = &ifa->ifa_next) { |
@@ -24561,7 +24351,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24561 | if (!strcmp(ifr.ifr_name, ifa->ifa_label) && | 24351 | if (!strcmp(ifr.ifr_name, ifa->ifa_label) && |
24562 | sin_orig.sin_addr.s_addr == | 24352 | sin_orig.sin_addr.s_addr == |
24563 | ifa->ifa_local) { | 24353 | ifa->ifa_local) { |
24564 | @@ -778,9 +783,12 @@ int devinet_ioctl(struct net *net, unsig | 24354 | @@ -962,9 +967,12 @@ int devinet_ioctl(struct net *net, unsig |
24565 | comparing just the label */ | 24355 | comparing just the label */ |
24566 | if (!ifa) { | 24356 | if (!ifa) { |
24567 | for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; | 24357 | for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; |
@@ -24575,7 +24365,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24575 | } | 24365 | } |
24576 | } | 24366 | } |
24577 | 24367 | ||
24578 | @@ -933,6 +941,8 @@ static int inet_gifconf(struct net_devic | 24368 | @@ -1118,6 +1126,8 @@ static int inet_gifconf(struct net_devic |
24579 | goto out; | 24369 | goto out; |
24580 | 24370 | ||
24581 | for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { | 24371 | for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { |
@@ -24584,15 +24374,15 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24584 | if (!buf) { | 24374 | if (!buf) { |
24585 | done += sizeof(ifr); | 24375 | done += sizeof(ifr); |
24586 | continue; | 24376 | continue; |
24587 | @@ -1294,6 +1304,7 @@ static int inet_dump_ifaddr(struct sk_bu | 24377 | @@ -1521,6 +1531,7 @@ static int inet_dump_ifaddr(struct sk_bu |
24588 | struct net_device *dev; | 24378 | struct net_device *dev; |
24589 | struct in_device *in_dev; | 24379 | struct in_device *in_dev; |
24590 | struct in_ifaddr *ifa; | 24380 | struct in_ifaddr *ifa; |
24591 | + struct sock *sk = skb->sk; | 24381 | + struct sock *sk = skb->sk; |
24592 | struct hlist_head *head; | 24382 | struct hlist_head *head; |
24593 | struct hlist_node *node; | ||
24594 | 24383 | ||
24595 | @@ -1316,6 +1327,8 @@ static int inet_dump_ifaddr(struct sk_bu | 24384 | s_h = cb->args[0]; |
24385 | @@ -1544,6 +1555,8 @@ static int inet_dump_ifaddr(struct sk_bu | ||
24596 | 24386 | ||
24597 | for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; | 24387 | for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; |
24598 | ifa = ifa->ifa_next, ip_idx++) { | 24388 | ifa = ifa->ifa_next, ip_idx++) { |
@@ -24601,10 +24391,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/devinet.c linux-3.4.57-vs2.3.3.9/net | |||
24601 | if (ip_idx < s_ip_idx) | 24391 | if (ip_idx < s_ip_idx) |
24602 | continue; | 24392 | continue; |
24603 | if (inet_fill_ifaddr(skb, ifa, | 24393 | if (inet_fill_ifaddr(skb, ifa, |
24604 | diff -NurpP --minimal linux-3.4.57/net/ipv4/fib_trie.c linux-3.4.57-vs2.3.3.9/net/ipv4/fib_trie.c | 24394 | diff -NurpP --minimal linux-3.10.17/net/ipv4/fib_trie.c linux-3.10.17-vs2.3.6.6/net/ipv4/fib_trie.c |
24605 | --- linux-3.4.57/net/ipv4/fib_trie.c 2012-05-21 16:07:40.000000000 +0000 | 24395 | --- linux-3.10.17/net/ipv4/fib_trie.c 2013-10-25 15:17:46.000000000 +0000 |
24606 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/fib_trie.c 2012-05-21 16:15:05.000000000 +0000 | 24396 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/fib_trie.c 2013-10-09 17:37:22.000000000 +0000 |
24607 | @@ -2556,6 +2556,7 @@ static int fib_route_seq_show(struct seq | 24397 | @@ -2536,6 +2536,7 @@ static int fib_route_seq_show(struct seq |
24608 | || fa->fa_type == RTN_MULTICAST) | 24398 | || fa->fa_type == RTN_MULTICAST) |
24609 | continue; | 24399 | continue; |
24610 | 24400 | ||
@@ -24612,10 +24402,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/fib_trie.c linux-3.4.57-vs2.3.3.9/ne | |||
24612 | if (fi) | 24402 | if (fi) |
24613 | seq_printf(seq, | 24403 | seq_printf(seq, |
24614 | "%s\t%08X\t%08X\t%04X\t%d\t%u\t" | 24404 | "%s\t%08X\t%08X\t%04X\t%d\t%u\t" |
24615 | diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_connection_sock.c linux-3.4.57-vs2.3.3.9/net/ipv4/inet_connection_sock.c | 24405 | diff -NurpP --minimal linux-3.10.17/net/ipv4/inet_connection_sock.c linux-3.10.17-vs2.3.6.6/net/ipv4/inet_connection_sock.c |
24616 | --- linux-3.4.57/net/ipv4/inet_connection_sock.c 2013-08-13 14:13:44.000000000 +0000 | 24406 | --- linux-3.10.17/net/ipv4/inet_connection_sock.c 2013-07-14 17:01:37.000000000 +0000 |
24617 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/inet_connection_sock.c 2013-01-16 00:15:57.000000000 +0000 | 24407 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/inet_connection_sock.c 2013-08-22 20:30:00.000000000 +0000 |
24618 | @@ -52,6 +52,37 @@ void inet_get_local_port_range(int *low, | 24408 | @@ -53,6 +53,37 @@ void inet_get_local_port_range(int *low, |
24619 | } | 24409 | } |
24620 | EXPORT_SYMBOL(inet_get_local_port_range); | 24410 | EXPORT_SYMBOL(inet_get_local_port_range); |
24621 | 24411 | ||
@@ -24651,22 +24441,31 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_connection_sock.c linux-3.4.57- | |||
24651 | +} | 24441 | +} |
24652 | + | 24442 | + |
24653 | int inet_csk_bind_conflict(const struct sock *sk, | 24443 | int inet_csk_bind_conflict(const struct sock *sk, |
24654 | const struct inet_bind_bucket *tb) | 24444 | const struct inet_bind_bucket *tb, bool relax) |
24655 | { | 24445 | { |
24656 | @@ -74,9 +105,7 @@ int inet_csk_bind_conflict(const struct | 24446 | @@ -79,17 +110,12 @@ int inet_csk_bind_conflict(const struct |
24657 | sk->sk_bound_dev_if == sk2->sk_bound_dev_if)) { | 24447 | (!reuseport || !sk2->sk_reuseport || |
24658 | if (!reuse || !sk2->sk_reuse || | 24448 | (sk2->sk_state != TCP_TIME_WAIT && |
24659 | sk2->sk_state == TCP_LISTEN) { | 24449 | !uid_eq(uid, sock_i_uid(sk2))))) { |
24660 | - const __be32 sk2_rcv_saddr = sk_rcv_saddr(sk2); | 24450 | - const __be32 sk2_rcv_saddr = sk_rcv_saddr(sk2); |
24661 | - if (!sk2_rcv_saddr || !sk_rcv_saddr(sk) || | 24451 | - if (!sk2_rcv_saddr || !sk_rcv_saddr(sk) || |
24662 | - sk2_rcv_saddr == sk_rcv_saddr(sk)) | 24452 | - sk2_rcv_saddr == sk_rcv_saddr(sk)) |
24663 | + if (ipv4_rcv_saddr_equal(sk, sk2)) | 24453 | + if (ipv4_rcv_saddr_equal(sk, sk2)) |
24664 | break; | 24454 | break; |
24665 | } | 24455 | } |
24456 | if (!relax && reuse && sk2->sk_reuse && | ||
24457 | sk2->sk_state != TCP_LISTEN) { | ||
24458 | - const __be32 sk2_rcv_saddr = sk_rcv_saddr(sk2); | ||
24459 | - | ||
24460 | - if (!sk2_rcv_saddr || !sk_rcv_saddr(sk) || | ||
24461 | - sk2_rcv_saddr == sk_rcv_saddr(sk)) | ||
24462 | + if (ipv4_rcv_saddr_equal(sk, sk2)) | ||
24463 | break; | ||
24464 | } | ||
24666 | } | 24465 | } |
24667 | diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/net/ipv4/inet_diag.c | 24466 | diff -NurpP --minimal linux-3.10.17/net/ipv4/inet_diag.c linux-3.10.17-vs2.3.6.6/net/ipv4/inet_diag.c |
24668 | --- linux-3.4.57/net/ipv4/inet_diag.c 2013-08-13 14:13:44.000000000 +0000 | 24467 | --- linux-3.10.17/net/ipv4/inet_diag.c 2013-07-14 17:01:37.000000000 +0000 |
24669 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/inet_diag.c 2013-01-16 00:18:21.000000000 +0000 | 24468 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/inet_diag.c 2013-08-22 20:30:00.000000000 +0000 |
24670 | @@ -31,6 +31,8 @@ | 24469 | @@ -31,6 +31,8 @@ |
24671 | 24470 | ||
24672 | #include <linux/inet.h> | 24471 | #include <linux/inet.h> |
@@ -24676,7 +24475,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24676 | 24475 | ||
24677 | #include <linux/inet_diag.h> | 24476 | #include <linux/inet_diag.h> |
24678 | #include <linux/sock_diag.h> | 24477 | #include <linux/sock_diag.h> |
24679 | @@ -110,8 +112,10 @@ int inet_sk_diag_fill(struct sock *sk, s | 24478 | @@ -106,8 +108,10 @@ int inet_sk_diag_fill(struct sock *sk, s |
24680 | 24479 | ||
24681 | r->id.idiag_sport = inet->inet_sport; | 24480 | r->id.idiag_sport = inet->inet_sport; |
24682 | r->id.idiag_dport = inet->inet_dport; | 24481 | r->id.idiag_dport = inet->inet_dport; |
@@ -24687,9 +24486,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24687 | + r->id.idiag_dst[0] = nx_map_sock_lback(sk->sk_nx_info, | 24486 | + r->id.idiag_dst[0] = nx_map_sock_lback(sk->sk_nx_info, |
24688 | + inet->inet_daddr); | 24487 | + inet->inet_daddr); |
24689 | 24488 | ||
24690 | /* IPv6 dual-stack sockets use inet->tos for IPv4 connections, | 24489 | if (nla_put_u8(skb, INET_DIAG_SHUTDOWN, sk->sk_shutdown)) |
24691 | * hence this needs to be included regardless of socket family. | 24490 | goto errout; |
24692 | @@ -231,8 +235,8 @@ static int inet_twsk_diag_fill(struct in | 24491 | @@ -244,8 +248,8 @@ static int inet_twsk_diag_fill(struct in |
24693 | sock_diag_save_cookie(tw, r->id.idiag_cookie); | 24492 | sock_diag_save_cookie(tw, r->id.idiag_cookie); |
24694 | r->id.idiag_sport = tw->tw_sport; | 24493 | r->id.idiag_sport = tw->tw_sport; |
24695 | r->id.idiag_dport = tw->tw_dport; | 24494 | r->id.idiag_dport = tw->tw_dport; |
@@ -24700,22 +24499,22 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24700 | r->idiag_state = tw->tw_substate; | 24499 | r->idiag_state = tw->tw_substate; |
24701 | r->idiag_timer = 3; | 24500 | r->idiag_timer = 3; |
24702 | r->idiag_expires = DIV_ROUND_UP(tmo * 1000, HZ); | 24501 | r->idiag_expires = DIV_ROUND_UP(tmo * 1000, HZ); |
24703 | @@ -276,12 +280,14 @@ int inet_diag_dump_one_icsk(struct inet_ | 24502 | @@ -289,12 +293,14 @@ int inet_diag_dump_one_icsk(struct inet_ |
24704 | 24503 | ||
24705 | err = -EINVAL; | 24504 | err = -EINVAL; |
24706 | if (req->sdiag_family == AF_INET) { | 24505 | if (req->sdiag_family == AF_INET) { |
24707 | + /* TODO: lback */ | 24506 | + /* TODO: lback */ |
24708 | sk = inet_lookup(&init_net, hashinfo, req->id.idiag_dst[0], | 24507 | sk = inet_lookup(net, hashinfo, req->id.idiag_dst[0], |
24709 | req->id.idiag_dport, req->id.idiag_src[0], | 24508 | req->id.idiag_dport, req->id.idiag_src[0], |
24710 | req->id.idiag_sport, req->id.idiag_if); | 24509 | req->id.idiag_sport, req->id.idiag_if); |
24711 | } | 24510 | } |
24712 | #if IS_ENABLED(CONFIG_IPV6) | 24511 | #if IS_ENABLED(CONFIG_IPV6) |
24713 | else if (req->sdiag_family == AF_INET6) { | 24512 | else if (req->sdiag_family == AF_INET6) { |
24714 | + /* TODO: lback */ | 24513 | + /* TODO: lback */ |
24715 | sk = inet6_lookup(&init_net, hashinfo, | 24514 | sk = inet6_lookup(net, hashinfo, |
24716 | (struct in6_addr *)req->id.idiag_dst, | 24515 | (struct in6_addr *)req->id.idiag_dst, |
24717 | req->id.idiag_dport, | 24516 | req->id.idiag_dport, |
24718 | @@ -482,6 +488,7 @@ int inet_diag_bc_sk(const struct nlattr | 24517 | @@ -496,6 +502,7 @@ int inet_diag_bc_sk(const struct nlattr |
24719 | } else | 24518 | } else |
24720 | #endif | 24519 | #endif |
24721 | { | 24520 | { |
@@ -24723,7 +24522,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24723 | entry.saddr = &inet->inet_rcv_saddr; | 24522 | entry.saddr = &inet->inet_rcv_saddr; |
24724 | entry.daddr = &inet->inet_daddr; | 24523 | entry.daddr = &inet->inet_daddr; |
24725 | } | 24524 | } |
24726 | @@ -639,6 +646,7 @@ static int inet_twsk_diag_dump(struct in | 24525 | @@ -654,6 +661,7 @@ static int inet_twsk_diag_dump(struct in |
24727 | } else | 24526 | } else |
24728 | #endif | 24527 | #endif |
24729 | { | 24528 | { |
@@ -24731,7 +24530,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24731 | entry.saddr = &tw->tw_rcv_saddr; | 24530 | entry.saddr = &tw->tw_rcv_saddr; |
24732 | entry.daddr = &tw->tw_daddr; | 24531 | entry.daddr = &tw->tw_daddr; |
24733 | } | 24532 | } |
24734 | @@ -714,8 +722,8 @@ static int inet_diag_fill_req(struct sk_ | 24533 | @@ -732,8 +740,8 @@ static int inet_diag_fill_req(struct sk_ |
24735 | 24534 | ||
24736 | r->id.idiag_sport = inet->inet_sport; | 24535 | r->id.idiag_sport = inet->inet_sport; |
24737 | r->id.idiag_dport = ireq->rmt_port; | 24536 | r->id.idiag_dport = ireq->rmt_port; |
@@ -24742,44 +24541,45 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_diag.c linux-3.4.57-vs2.3.3.9/n | |||
24742 | r->idiag_expires = jiffies_to_msecs(tmo); | 24541 | r->idiag_expires = jiffies_to_msecs(tmo); |
24743 | r->idiag_rqueue = 0; | 24542 | r->idiag_rqueue = 0; |
24744 | r->idiag_wqueue = 0; | 24543 | r->idiag_wqueue = 0; |
24745 | @@ -784,6 +792,7 @@ static int inet_diag_dump_reqs(struct sk | 24544 | @@ -796,6 +804,7 @@ static int inet_diag_dump_reqs(struct sk |
24545 | r->id.idiag_dport) | ||
24746 | continue; | 24546 | continue; |
24747 | 24547 | ||
24548 | + /* TODO: lback */ | ||
24748 | if (bc) { | 24549 | if (bc) { |
24749 | + /* TODO: lback */ | ||
24750 | inet_diag_req_addrs(sk, req, &entry); | 24550 | inet_diag_req_addrs(sk, req, &entry); |
24751 | entry.dport = ntohs(ireq->rmt_port); | 24551 | entry.dport = ntohs(ireq->rmt_port); |
24752 | 24552 | @@ -852,6 +861,8 @@ void inet_diag_dump_icsk(struct inet_has | |
24753 | @@ -834,6 +843,8 @@ void inet_diag_dump_icsk(struct inet_has | 24553 | if (!net_eq(sock_net(sk), net)) |
24754 | sk_nulls_for_each(sk, node, &ilb->head) { | 24554 | continue; |
24755 | struct inet_sock *inet = inet_sk(sk); | ||
24756 | 24555 | ||
24757 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) | 24556 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) |
24758 | + continue; | 24557 | + continue; |
24759 | if (num < s_num) { | 24558 | if (num < s_num) { |
24760 | num++; | 24559 | num++; |
24761 | continue; | 24560 | continue; |
24762 | @@ -904,6 +915,8 @@ skip_listen_ht: | 24561 | @@ -924,6 +935,8 @@ skip_listen_ht: |
24763 | sk_nulls_for_each(sk, node, &head->chain) { | ||
24764 | struct inet_sock *inet = inet_sk(sk); | ||
24765 | 24562 | ||
24563 | if (!net_eq(sock_net(sk), net)) | ||
24564 | continue; | ||
24766 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) | 24565 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) |
24767 | + continue; | 24566 | + continue; |
24768 | if (num < s_num) | 24567 | if (num < s_num) |
24769 | goto next_normal; | 24568 | goto next_normal; |
24770 | if (!(r->idiag_states & (1 << sk->sk_state))) | 24569 | if (!(r->idiag_states & (1 << sk->sk_state))) |
24771 | @@ -931,6 +944,8 @@ next_normal: | 24570 | @@ -952,7 +965,8 @@ next_normal: |
24772 | inet_twsk_for_each(tw, node, | ||
24773 | &head->twchain) { | 24571 | &head->twchain) { |
24774 | 24572 | if (!net_eq(twsk_net(tw), net)) | |
24573 | continue; | ||
24574 | - | ||
24775 | + if (!nx_check(tw->tw_nid, VS_WATCH_P | VS_IDENT)) | 24575 | + if (!nx_check(tw->tw_nid, VS_WATCH_P | VS_IDENT)) |
24776 | + continue; | 24576 | + continue; |
24777 | if (num < s_num) | 24577 | if (num < s_num) |
24778 | goto next_dying; | 24578 | goto next_dying; |
24779 | if (r->sdiag_family != AF_UNSPEC && | 24579 | if (r->sdiag_family != AF_UNSPEC && |
24780 | diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_hashtables.c linux-3.4.57-vs2.3.3.9/net/ipv4/inet_hashtables.c | 24580 | diff -NurpP --minimal linux-3.10.17/net/ipv4/inet_hashtables.c linux-3.10.17-vs2.3.6.6/net/ipv4/inet_hashtables.c |
24781 | --- linux-3.4.57/net/ipv4/inet_hashtables.c 2011-10-24 16:45:34.000000000 +0000 | 24581 | --- linux-3.10.17/net/ipv4/inet_hashtables.c 2013-05-31 13:45:32.000000000 +0000 |
24782 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/inet_hashtables.c 2012-05-21 16:15:05.000000000 +0000 | 24582 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/inet_hashtables.c 2013-08-22 20:30:00.000000000 +0000 |
24783 | @@ -22,6 +22,7 @@ | 24583 | @@ -22,6 +22,7 @@ |
24784 | #include <net/inet_connection_sock.h> | 24584 | #include <net/inet_connection_sock.h> |
24785 | #include <net/inet_hashtables.h> | 24585 | #include <net/inet_hashtables.h> |
@@ -24791,7 +24591,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_hashtables.c linux-3.4.57-vs2.3 | |||
24791 | @@ -156,6 +157,11 @@ static inline int compute_score(struct s | 24591 | @@ -156,6 +157,11 @@ static inline int compute_score(struct s |
24792 | if (rcv_saddr != daddr) | 24592 | if (rcv_saddr != daddr) |
24793 | return -1; | 24593 | return -1; |
24794 | score += 2; | 24594 | score += 4; |
24795 | + } else { | 24595 | + } else { |
24796 | + /* block non nx_info ips */ | 24596 | + /* block non nx_info ips */ |
24797 | + if (!v4_addr_in_nx_info(sk->sk_nx_info, | 24597 | + if (!v4_addr_in_nx_info(sk->sk_nx_info, |
@@ -24807,30 +24607,19 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/inet_hashtables.c linux-3.4.57-vs2.3 | |||
24807 | - | 24607 | - |
24808 | struct sock *__inet_lookup_listener(struct net *net, | 24608 | struct sock *__inet_lookup_listener(struct net *net, |
24809 | struct inet_hashinfo *hashinfo, | 24609 | struct inet_hashinfo *hashinfo, |
24810 | const __be32 daddr, const unsigned short hnum, | 24610 | const __be32 saddr, __be16 sport, |
24811 | @@ -196,6 +201,7 @@ begin: | 24611 | @@ -209,6 +214,7 @@ begin: |
24812 | hiscore = score; | 24612 | phash = next_pseudo_random32(phash); |
24813 | } | 24613 | } |
24814 | } | 24614 | } |
24815 | + | 24615 | + |
24816 | /* | 24616 | /* |
24817 | * if the nulls value we got at the end of this lookup is | 24617 | * if the nulls value we got at the end of this lookup is |
24818 | * not the expected one, we must restart lookup. | 24618 | * not the expected one, we must restart lookup. |
24819 | diff -NurpP --minimal linux-3.4.57/net/ipv4/netfilter/nf_nat_helper.c linux-3.4.57-vs2.3.3.9/net/ipv4/netfilter/nf_nat_helper.c | 24619 | diff -NurpP --minimal linux-3.10.17/net/ipv4/netfilter.c linux-3.10.17-vs2.3.6.6/net/ipv4/netfilter.c |
24820 | --- linux-3.4.57/net/ipv4/netfilter/nf_nat_helper.c 2012-03-19 18:47:33.000000000 +0000 | 24620 | --- linux-3.10.17/net/ipv4/netfilter.c 2013-07-14 17:01:37.000000000 +0000 |
24821 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/netfilter/nf_nat_helper.c 2012-05-21 16:15:05.000000000 +0000 | 24621 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/netfilter.c 2013-08-22 20:30:00.000000000 +0000 |
24822 | @@ -20,6 +20,7 @@ | 24622 | @@ -11,7 +11,7 @@ |
24823 | #include <net/route.h> | ||
24824 | |||
24825 | #include <linux/netfilter_ipv4.h> | ||
24826 | +#include <net/route.h> | ||
24827 | #include <net/netfilter/nf_conntrack.h> | ||
24828 | #include <net/netfilter/nf_conntrack_helper.h> | ||
24829 | #include <net/netfilter/nf_conntrack_ecache.h> | ||
24830 | diff -NurpP --minimal linux-3.4.57/net/ipv4/netfilter.c linux-3.4.57-vs2.3.3.9/net/ipv4/netfilter.c | ||
24831 | --- linux-3.4.57/net/ipv4/netfilter.c 2012-01-09 15:15:03.000000000 +0000 | ||
24832 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/netfilter.c 2012-05-21 16:15:05.000000000 +0000 | ||
24833 | @@ -6,7 +6,7 @@ | ||
24834 | #include <linux/skbuff.h> | 24623 | #include <linux/skbuff.h> |
24835 | #include <linux/gfp.h> | 24624 | #include <linux/gfp.h> |
24836 | #include <linux/export.h> | 24625 | #include <linux/export.h> |
@@ -24839,10 +24628,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/netfilter.c linux-3.4.57-vs2.3.3.9/n | |||
24839 | #include <net/xfrm.h> | 24628 | #include <net/xfrm.h> |
24840 | #include <net/ip.h> | 24629 | #include <net/ip.h> |
24841 | #include <net/netfilter/nf_queue.h> | 24630 | #include <net/netfilter/nf_queue.h> |
24842 | diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv4/raw.c | 24631 | diff -NurpP --minimal linux-3.10.17/net/ipv4/raw.c linux-3.10.17-vs2.3.6.6/net/ipv4/raw.c |
24843 | --- linux-3.4.57/net/ipv4/raw.c 2013-08-13 14:13:44.000000000 +0000 | 24632 | --- linux-3.10.17/net/ipv4/raw.c 2013-10-25 15:17:46.000000000 +0000 |
24844 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/raw.c 2012-10-22 13:09:53.000000000 +0000 | 24633 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/raw.c 2013-10-26 18:03:17.000000000 +0000 |
24845 | @@ -118,7 +118,7 @@ static struct sock *__raw_v4_lookup(stru | 24634 | @@ -116,7 +116,7 @@ static struct sock *__raw_v4_lookup(stru |
24846 | 24635 | ||
24847 | if (net_eq(sock_net(sk), net) && inet->inet_num == num && | 24636 | if (net_eq(sock_net(sk), net) && inet->inet_num == num && |
24848 | !(inet->inet_daddr && inet->inet_daddr != raddr) && | 24637 | !(inet->inet_daddr && inet->inet_daddr != raddr) && |
@@ -24851,7 +24640,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24851 | !(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif)) | 24640 | !(sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif)) |
24852 | goto found; /* gotcha */ | 24641 | goto found; /* gotcha */ |
24853 | } | 24642 | } |
24854 | @@ -392,6 +392,12 @@ static int raw_send_hdrinc(struct sock * | 24643 | @@ -395,6 +395,12 @@ static int raw_send_hdrinc(struct sock * |
24855 | icmp_out_count(net, ((struct icmphdr *) | 24644 | icmp_out_count(net, ((struct icmphdr *) |
24856 | skb_transport_header(skb))->type); | 24645 | skb_transport_header(skb))->type); |
24857 | 24646 | ||
@@ -24864,7 +24653,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24864 | err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL, | 24653 | err = NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_OUT, skb, NULL, |
24865 | rt->dst.dev, dst_output); | 24654 | rt->dst.dev, dst_output); |
24866 | if (err > 0) | 24655 | if (err > 0) |
24867 | @@ -577,6 +583,16 @@ static int raw_sendmsg(struct kiocb *ioc | 24656 | @@ -581,6 +587,16 @@ static int raw_sendmsg(struct kiocb *ioc |
24868 | goto done; | 24657 | goto done; |
24869 | } | 24658 | } |
24870 | 24659 | ||
@@ -24881,7 +24670,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24881 | security_sk_classify_flow(sk, flowi4_to_flowi(&fl4)); | 24670 | security_sk_classify_flow(sk, flowi4_to_flowi(&fl4)); |
24882 | rt = ip_route_output_flow(sock_net(sk), &fl4, sk); | 24671 | rt = ip_route_output_flow(sock_net(sk), &fl4, sk); |
24883 | if (IS_ERR(rt)) { | 24672 | if (IS_ERR(rt)) { |
24884 | @@ -653,17 +669,19 @@ static int raw_bind(struct sock *sk, str | 24673 | @@ -657,17 +673,19 @@ static int raw_bind(struct sock *sk, str |
24885 | { | 24674 | { |
24886 | struct inet_sock *inet = inet_sk(sk); | 24675 | struct inet_sock *inet = inet_sk(sk); |
24887 | struct sockaddr_in *addr = (struct sockaddr_in *) uaddr; | 24676 | struct sockaddr_in *addr = (struct sockaddr_in *) uaddr; |
@@ -24904,7 +24693,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24904 | if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) | 24693 | if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST) |
24905 | inet->inet_saddr = 0; /* Use device */ | 24694 | inet->inet_saddr = 0; /* Use device */ |
24906 | sk_dst_reset(sk); | 24695 | sk_dst_reset(sk); |
24907 | @@ -715,7 +733,8 @@ static int raw_recvmsg(struct kiocb *ioc | 24696 | @@ -719,7 +737,8 @@ static int raw_recvmsg(struct kiocb *ioc |
24908 | /* Copy the address. */ | 24697 | /* Copy the address. */ |
24909 | if (sin) { | 24698 | if (sin) { |
24910 | sin->sin_family = AF_INET; | 24699 | sin->sin_family = AF_INET; |
@@ -24914,17 +24703,17 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24914 | sin->sin_port = 0; | 24703 | sin->sin_port = 0; |
24915 | memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); | 24704 | memset(&sin->sin_zero, 0, sizeof(sin->sin_zero)); |
24916 | } | 24705 | } |
24917 | @@ -911,7 +930,8 @@ static struct sock *raw_get_first(struct | 24706 | @@ -914,7 +933,8 @@ static struct sock *raw_get_first(struct |
24918 | struct hlist_node *node; | 24707 | for (state->bucket = 0; state->bucket < RAW_HTABLE_SIZE; |
24919 | 24708 | ++state->bucket) { | |
24920 | sk_for_each(sk, node, &state->h->ht[state->bucket]) | 24709 | sk_for_each(sk, &state->h->ht[state->bucket]) |
24921 | - if (sock_net(sk) == seq_file_net(seq)) | 24710 | - if (sock_net(sk) == seq_file_net(seq)) |
24922 | + if ((sock_net(sk) == seq_file_net(seq)) && | 24711 | + if ((sock_net(sk) == seq_file_net(seq)) && |
24923 | + nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) | 24712 | + nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) |
24924 | goto found; | 24713 | goto found; |
24925 | } | 24714 | } |
24926 | sk = NULL; | 24715 | sk = NULL; |
24927 | @@ -927,7 +947,8 @@ static struct sock *raw_get_next(struct | 24716 | @@ -930,7 +950,8 @@ static struct sock *raw_get_next(struct |
24928 | sk = sk_next(sk); | 24717 | sk = sk_next(sk); |
24929 | try_again: | 24718 | try_again: |
24930 | ; | 24719 | ; |
@@ -24934,10 +24723,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24934 | 24723 | ||
24935 | if (!sk && ++state->bucket < RAW_HTABLE_SIZE) { | 24724 | if (!sk && ++state->bucket < RAW_HTABLE_SIZE) { |
24936 | sk = sk_head(&state->h->ht[state->bucket]); | 24725 | sk = sk_head(&state->h->ht[state->bucket]); |
24937 | diff -NurpP --minimal linux-3.4.57/net/ipv4/route.c linux-3.4.57-vs2.3.3.9/net/ipv4/route.c | 24726 | diff -NurpP --minimal linux-3.10.17/net/ipv4/route.c linux-3.10.17-vs2.3.6.6/net/ipv4/route.c |
24938 | --- linux-3.4.57/net/ipv4/route.c 2012-05-21 16:07:40.000000000 +0000 | 24727 | --- linux-3.10.17/net/ipv4/route.c 2013-07-14 17:01:37.000000000 +0000 |
24939 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/route.c 2012-05-21 16:15:05.000000000 +0000 | 24728 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/route.c 2013-08-22 20:30:00.000000000 +0000 |
24940 | @@ -2696,7 +2696,7 @@ static struct rtable *ip_route_output_sl | 24729 | @@ -2003,7 +2003,7 @@ struct rtable *__ip_route_output_key(str |
24941 | 24730 | ||
24942 | 24731 | ||
24943 | if (fl4->flowi4_oif) { | 24732 | if (fl4->flowi4_oif) { |
@@ -24946,9 +24735,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/route.c linux-3.4.57-vs2.3.3.9/net/i | |||
24946 | rth = ERR_PTR(-ENODEV); | 24735 | rth = ERR_PTR(-ENODEV); |
24947 | if (dev_out == NULL) | 24736 | if (dev_out == NULL) |
24948 | goto out; | 24737 | goto out; |
24949 | diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp.c linux-3.4.57-vs2.3.3.9/net/ipv4/tcp.c | 24738 | diff -NurpP --minimal linux-3.10.17/net/ipv4/tcp.c linux-3.10.17-vs2.3.6.6/net/ipv4/tcp.c |
24950 | --- linux-3.4.57/net/ipv4/tcp.c 2013-08-13 14:13:45.000000000 +0000 | 24739 | --- linux-3.10.17/net/ipv4/tcp.c 2013-10-25 15:17:46.000000000 +0000 |
24951 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/tcp.c 2013-07-14 13:38:37.000000000 +0000 | 24740 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/tcp.c 2013-10-26 18:03:17.000000000 +0000 |
24952 | @@ -268,6 +268,7 @@ | 24741 | @@ -268,6 +268,7 @@ |
24953 | #include <linux/crypto.h> | 24742 | #include <linux/crypto.h> |
24954 | #include <linux/time.h> | 24743 | #include <linux/time.h> |
@@ -24956,11 +24745,11 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
24956 | +#include <linux/in.h> | 24745 | +#include <linux/in.h> |
24957 | 24746 | ||
24958 | #include <net/icmp.h> | 24747 | #include <net/icmp.h> |
24959 | #include <net/tcp.h> | 24748 | #include <net/inet_common.h> |
24960 | diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/net/ipv4/tcp_ipv4.c | 24749 | diff -NurpP --minimal linux-3.10.17/net/ipv4/tcp_ipv4.c linux-3.10.17-vs2.3.6.6/net/ipv4/tcp_ipv4.c |
24961 | --- linux-3.4.57/net/ipv4/tcp_ipv4.c 2013-08-13 14:13:45.000000000 +0000 | 24750 | --- linux-3.10.17/net/ipv4/tcp_ipv4.c 2013-07-14 17:01:37.000000000 +0000 |
24962 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/tcp_ipv4.c 2013-08-13 17:07:37.000000000 +0000 | 24751 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/tcp_ipv4.c 2013-08-22 20:30:00.000000000 +0000 |
24963 | @@ -2037,6 +2037,12 @@ static void *listening_get_next(struct s | 24752 | @@ -2263,6 +2263,12 @@ static void *listening_get_next(struct s |
24964 | req = req->dl_next; | 24753 | req = req->dl_next; |
24965 | while (1) { | 24754 | while (1) { |
24966 | while (req) { | 24755 | while (req) { |
@@ -24973,7 +24762,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
24973 | if (req->rsk_ops->family == st->family) { | 24762 | if (req->rsk_ops->family == st->family) { |
24974 | cur = req; | 24763 | cur = req; |
24975 | goto out; | 24764 | goto out; |
24976 | @@ -2061,6 +2067,10 @@ get_req: | 24765 | @@ -2287,6 +2293,10 @@ get_req: |
24977 | } | 24766 | } |
24978 | get_sk: | 24767 | get_sk: |
24979 | sk_nulls_for_each_from(sk, node) { | 24768 | sk_nulls_for_each_from(sk, node) { |
@@ -24984,7 +24773,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
24984 | if (!net_eq(sock_net(sk), net)) | 24773 | if (!net_eq(sock_net(sk), net)) |
24985 | continue; | 24774 | continue; |
24986 | if (sk->sk_family == st->family) { | 24775 | if (sk->sk_family == st->family) { |
24987 | @@ -2137,6 +2147,11 @@ static void *established_get_first(struc | 24776 | @@ -2363,6 +2373,11 @@ static void *established_get_first(struc |
24988 | 24777 | ||
24989 | spin_lock_bh(lock); | 24778 | spin_lock_bh(lock); |
24990 | sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) { | 24779 | sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[st->bucket].chain) { |
@@ -24996,7 +24785,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
24996 | if (sk->sk_family != st->family || | 24785 | if (sk->sk_family != st->family || |
24997 | !net_eq(sock_net(sk), net)) { | 24786 | !net_eq(sock_net(sk), net)) { |
24998 | continue; | 24787 | continue; |
24999 | @@ -2147,6 +2162,11 @@ static void *established_get_first(struc | 24788 | @@ -2373,6 +2388,11 @@ static void *established_get_first(struc |
25000 | st->state = TCP_SEQ_STATE_TIME_WAIT; | 24789 | st->state = TCP_SEQ_STATE_TIME_WAIT; |
25001 | inet_twsk_for_each(tw, node, | 24790 | inet_twsk_for_each(tw, node, |
25002 | &tcp_hashinfo.ehash[st->bucket].twchain) { | 24791 | &tcp_hashinfo.ehash[st->bucket].twchain) { |
@@ -25008,7 +24797,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25008 | if (tw->tw_family != st->family || | 24797 | if (tw->tw_family != st->family || |
25009 | !net_eq(twsk_net(tw), net)) { | 24798 | !net_eq(twsk_net(tw), net)) { |
25010 | continue; | 24799 | continue; |
25011 | @@ -2176,7 +2196,9 @@ static void *established_get_next(struct | 24800 | @@ -2402,7 +2422,9 @@ static void *established_get_next(struct |
25012 | tw = cur; | 24801 | tw = cur; |
25013 | tw = tw_next(tw); | 24802 | tw = tw_next(tw); |
25014 | get_tw: | 24803 | get_tw: |
@@ -25019,7 +24808,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25019 | tw = tw_next(tw); | 24808 | tw = tw_next(tw); |
25020 | } | 24809 | } |
25021 | if (tw) { | 24810 | if (tw) { |
25022 | @@ -2200,6 +2222,11 @@ get_tw: | 24811 | @@ -2426,6 +2448,11 @@ get_tw: |
25023 | sk = sk_nulls_next(sk); | 24812 | sk = sk_nulls_next(sk); |
25024 | 24813 | ||
25025 | sk_nulls_for_each_from(sk, node) { | 24814 | sk_nulls_for_each_from(sk, node) { |
@@ -25031,7 +24820,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25031 | if (sk->sk_family == st->family && net_eq(sock_net(sk), net)) | 24820 | if (sk->sk_family == st->family && net_eq(sock_net(sk), net)) |
25032 | goto found; | 24821 | goto found; |
25033 | } | 24822 | } |
25034 | @@ -2405,9 +2432,9 @@ static void get_openreq4(const struct so | 24823 | @@ -2631,9 +2658,9 @@ static void get_openreq4(const struct so |
25035 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" | 24824 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" |
25036 | " %02X %08X:%08X %02X:%08lX %08X %5d %8d %u %d %pK%n", | 24825 | " %02X %08X:%08X %02X:%08lX %08X %5d %8d %u %d %pK%n", |
25037 | i, | 24826 | i, |
@@ -25043,10 +24832,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25043 | ntohs(ireq->rmt_port), | 24832 | ntohs(ireq->rmt_port), |
25044 | TCP_SYN_RECV, | 24833 | TCP_SYN_RECV, |
25045 | 0, 0, /* could print option size, but that is af dependent. */ | 24834 | 0, 0, /* could print option size, but that is af dependent. */ |
25046 | @@ -2429,8 +2456,8 @@ static void get_tcp4_sock(struct sock *s | 24835 | @@ -2656,8 +2683,8 @@ static void get_tcp4_sock(struct sock *s |
25047 | const struct tcp_sock *tp = tcp_sk(sk); | ||
25048 | const struct inet_connection_sock *icsk = inet_csk(sk); | 24836 | const struct inet_connection_sock *icsk = inet_csk(sk); |
25049 | const struct inet_sock *inet = inet_sk(sk); | 24837 | const struct inet_sock *inet = inet_sk(sk); |
24838 | struct fastopen_queue *fastopenq = icsk->icsk_accept_queue.fastopenq; | ||
25050 | - __be32 dest = inet->inet_daddr; | 24839 | - __be32 dest = inet->inet_daddr; |
25051 | - __be32 src = inet->inet_rcv_saddr; | 24840 | - __be32 src = inet->inet_rcv_saddr; |
25052 | + __be32 dest = nx_map_sock_lback(current_nx_info(), inet->inet_daddr); | 24841 | + __be32 dest = nx_map_sock_lback(current_nx_info(), inet->inet_daddr); |
@@ -25054,9 +24843,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25054 | __u16 destp = ntohs(inet->inet_dport); | 24843 | __u16 destp = ntohs(inet->inet_dport); |
25055 | __u16 srcp = ntohs(inet->inet_sport); | 24844 | __u16 srcp = ntohs(inet->inet_sport); |
25056 | int rx_queue; | 24845 | int rx_queue; |
25057 | @@ -2487,8 +2514,8 @@ static void get_timewait4_sock(const str | 24846 | @@ -2715,8 +2742,8 @@ static void get_timewait4_sock(const str |
25058 | if (ttd < 0) | 24847 | __u16 destp, srcp; |
25059 | ttd = 0; | 24848 | long delta = tw->tw_ttd - jiffies; |
25060 | 24849 | ||
25061 | - dest = tw->tw_daddr; | 24850 | - dest = tw->tw_daddr; |
25062 | - src = tw->tw_rcv_saddr; | 24851 | - src = tw->tw_rcv_saddr; |
@@ -25065,9 +24854,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_ipv4.c linux-3.4.57-vs2.3.3.9/ne | |||
25065 | destp = ntohs(tw->tw_dport); | 24854 | destp = ntohs(tw->tw_dport); |
25066 | srcp = ntohs(tw->tw_sport); | 24855 | srcp = ntohs(tw->tw_sport); |
25067 | 24856 | ||
25068 | diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_minisocks.c linux-3.4.57-vs2.3.3.9/net/ipv4/tcp_minisocks.c | 24857 | diff -NurpP --minimal linux-3.10.17/net/ipv4/tcp_minisocks.c linux-3.10.17-vs2.3.6.6/net/ipv4/tcp_minisocks.c |
25069 | --- linux-3.4.57/net/ipv4/tcp_minisocks.c 2012-05-21 16:07:40.000000000 +0000 | 24858 | --- linux-3.10.17/net/ipv4/tcp_minisocks.c 2013-07-14 17:01:37.000000000 +0000 |
25070 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/tcp_minisocks.c 2012-05-21 16:15:05.000000000 +0000 | 24859 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/tcp_minisocks.c 2013-08-22 20:30:00.000000000 +0000 |
25071 | @@ -23,6 +23,9 @@ | 24860 | @@ -23,6 +23,9 @@ |
25072 | #include <linux/slab.h> | 24861 | #include <linux/slab.h> |
25073 | #include <linux/sysctl.h> | 24862 | #include <linux/sysctl.h> |
@@ -25078,9 +24867,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_minisocks.c linux-3.4.57-vs2.3.3 | |||
25078 | #include <net/tcp.h> | 24867 | #include <net/tcp.h> |
25079 | #include <net/inet_common.h> | 24868 | #include <net/inet_common.h> |
25080 | #include <net/xfrm.h> | 24869 | #include <net/xfrm.h> |
25081 | @@ -336,6 +339,11 @@ void tcp_time_wait(struct sock *sk, int | 24870 | @@ -290,6 +293,11 @@ void tcp_time_wait(struct sock *sk, int |
25082 | tcptw->tw_ts_recent = tp->rx_opt.ts_recent; | ||
25083 | tcptw->tw_ts_recent_stamp = tp->rx_opt.ts_recent_stamp; | 24871 | tcptw->tw_ts_recent_stamp = tp->rx_opt.ts_recent_stamp; |
24872 | tcptw->tw_ts_offset = tp->tsoffset; | ||
25084 | 24873 | ||
25085 | + tw->tw_xid = sk->sk_xid; | 24874 | + tw->tw_xid = sk->sk_xid; |
25086 | + tw->tw_vx_info = NULL; | 24875 | + tw->tw_vx_info = NULL; |
@@ -25090,10 +24879,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/tcp_minisocks.c linux-3.4.57-vs2.3.3 | |||
25090 | #if IS_ENABLED(CONFIG_IPV6) | 24879 | #if IS_ENABLED(CONFIG_IPV6) |
25091 | if (tw->tw_family == PF_INET6) { | 24880 | if (tw->tw_family == PF_INET6) { |
25092 | struct ipv6_pinfo *np = inet6_sk(sk); | 24881 | struct ipv6_pinfo *np = inet6_sk(sk); |
25093 | diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv4/udp.c | 24882 | diff -NurpP --minimal linux-3.10.17/net/ipv4/udp.c linux-3.10.17-vs2.3.6.6/net/ipv4/udp.c |
25094 | --- linux-3.4.57/net/ipv4/udp.c 2013-08-13 14:13:45.000000000 +0000 | 24883 | --- linux-3.10.17/net/ipv4/udp.c 2013-10-25 15:17:46.000000000 +0000 |
25095 | +++ linux-3.4.57-vs2.3.3.9/net/ipv4/udp.c 2013-08-13 17:07:37.000000000 +0000 | 24884 | +++ linux-3.10.17-vs2.3.6.6/net/ipv4/udp.c 2013-08-22 20:30:00.000000000 +0000 |
25096 | @@ -298,14 +298,7 @@ fail: | 24885 | @@ -306,14 +306,7 @@ fail: |
25097 | } | 24886 | } |
25098 | EXPORT_SYMBOL(udp_lib_get_port); | 24887 | EXPORT_SYMBOL(udp_lib_get_port); |
25099 | 24888 | ||
@@ -25109,10 +24898,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25109 | 24898 | ||
25110 | static unsigned int udp4_portaddr_hash(struct net *net, __be32 saddr, | 24899 | static unsigned int udp4_portaddr_hash(struct net *net, __be32 saddr, |
25111 | unsigned int port) | 24900 | unsigned int port) |
25112 | @@ -340,6 +333,11 @@ static inline int compute_score(struct s | 24901 | @@ -348,6 +341,11 @@ static inline int compute_score(struct s |
25113 | if (inet->inet_rcv_saddr != daddr) | 24902 | if (inet->inet_rcv_saddr != daddr) |
25114 | return -1; | 24903 | return -1; |
25115 | score += 2; | 24904 | score += 4; |
25116 | + } else { | 24905 | + } else { |
25117 | + /* block non nx_info ips */ | 24906 | + /* block non nx_info ips */ |
25118 | + if (!v4_addr_in_nx_info(sk->sk_nx_info, | 24907 | + if (!v4_addr_in_nx_info(sk->sk_nx_info, |
@@ -25121,7 +24910,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25121 | } | 24910 | } |
25122 | if (inet->inet_daddr) { | 24911 | if (inet->inet_daddr) { |
25123 | if (inet->inet_daddr != saddr) | 24912 | if (inet->inet_daddr != saddr) |
25124 | @@ -443,6 +441,7 @@ exact_match: | 24913 | @@ -458,6 +456,7 @@ begin: |
25125 | return result; | 24914 | return result; |
25126 | } | 24915 | } |
25127 | 24916 | ||
@@ -25129,7 +24918,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25129 | /* UDP is nearly always wildcards out the wazoo, it makes no sense to try | 24918 | /* UDP is nearly always wildcards out the wazoo, it makes no sense to try |
25130 | * harder than this. -DaveM | 24919 | * harder than this. -DaveM |
25131 | */ | 24920 | */ |
25132 | @@ -488,6 +487,11 @@ begin: | 24921 | @@ -504,6 +503,11 @@ begin: |
25133 | sk_nulls_for_each_rcu(sk, node, &hslot->head) { | 24922 | sk_nulls_for_each_rcu(sk, node, &hslot->head) { |
25134 | score = compute_score(sk, net, saddr, hnum, sport, | 24923 | score = compute_score(sk, net, saddr, hnum, sport, |
25135 | daddr, dport, dif); | 24924 | daddr, dport, dif); |
@@ -25141,7 +24930,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25141 | if (score > badness) { | 24930 | if (score > badness) { |
25142 | result = sk; | 24931 | result = sk; |
25143 | badness = score; | 24932 | badness = score; |
25144 | @@ -501,6 +505,7 @@ begin: | 24933 | @@ -528,6 +532,7 @@ begin: |
25145 | if (get_nulls_value(node) != slot) | 24934 | if (get_nulls_value(node) != slot) |
25146 | goto begin; | 24935 | goto begin; |
25147 | 24936 | ||
@@ -25149,7 +24938,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25149 | if (result) { | 24938 | if (result) { |
25150 | if (unlikely(!atomic_inc_not_zero_hint(&result->sk_refcnt, 2))) | 24939 | if (unlikely(!atomic_inc_not_zero_hint(&result->sk_refcnt, 2))) |
25151 | result = NULL; | 24940 | result = NULL; |
25152 | @@ -510,6 +515,7 @@ begin: | 24941 | @@ -537,6 +542,7 @@ begin: |
25153 | goto begin; | 24942 | goto begin; |
25154 | } | 24943 | } |
25155 | } | 24944 | } |
@@ -25157,7 +24946,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25157 | rcu_read_unlock(); | 24946 | rcu_read_unlock(); |
25158 | return result; | 24947 | return result; |
25159 | } | 24948 | } |
25160 | @@ -553,8 +559,7 @@ static inline struct sock *udp_v4_mcast_ | 24949 | @@ -580,8 +586,7 @@ static inline struct sock *udp_v4_mcast_ |
25161 | udp_sk(s)->udp_port_hash != hnum || | 24950 | udp_sk(s)->udp_port_hash != hnum || |
25162 | (inet->inet_daddr && inet->inet_daddr != rmt_addr) || | 24951 | (inet->inet_daddr && inet->inet_daddr != rmt_addr) || |
25163 | (inet->inet_dport != rmt_port && inet->inet_dport) || | 24952 | (inet->inet_dport != rmt_port && inet->inet_dport) || |
@@ -25167,7 +24956,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25167 | ipv6_only_sock(s) || | 24956 | ipv6_only_sock(s) || |
25168 | (s->sk_bound_dev_if && s->sk_bound_dev_if != dif)) | 24957 | (s->sk_bound_dev_if && s->sk_bound_dev_if != dif)) |
25169 | continue; | 24958 | continue; |
25170 | @@ -934,6 +939,16 @@ int udp_sendmsg(struct kiocb *iocb, stru | 24959 | @@ -965,6 +970,16 @@ int udp_sendmsg(struct kiocb *iocb, stru |
25171 | inet_sk_flowi_flags(sk)|FLOWI_FLAG_CAN_SLEEP, | 24960 | inet_sk_flowi_flags(sk)|FLOWI_FLAG_CAN_SLEEP, |
25172 | faddr, saddr, dport, inet->inet_sport); | 24961 | faddr, saddr, dport, inet->inet_sport); |
25173 | 24962 | ||
@@ -25184,7 +24973,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25184 | security_sk_classify_flow(sk, flowi4_to_flowi(fl4)); | 24973 | security_sk_classify_flow(sk, flowi4_to_flowi(fl4)); |
25185 | rt = ip_route_output_flow(net, fl4, sk); | 24974 | rt = ip_route_output_flow(net, fl4, sk); |
25186 | if (IS_ERR(rt)) { | 24975 | if (IS_ERR(rt)) { |
25187 | @@ -1232,7 +1247,8 @@ try_again: | 24976 | @@ -1272,7 +1287,8 @@ try_again: |
25188 | if (sin) { | 24977 | if (sin) { |
25189 | sin->sin_family = AF_INET; | 24978 | sin->sin_family = AF_INET; |
25190 | sin->sin_port = udp_hdr(skb)->source; | 24979 | sin->sin_port = udp_hdr(skb)->source; |
@@ -25194,7 +24983,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25194 | memset(sin->sin_zero, 0, sizeof(sin->sin_zero)); | 24983 | memset(sin->sin_zero, 0, sizeof(sin->sin_zero)); |
25195 | } | 24984 | } |
25196 | if (inet->cmsg_flags) | 24985 | if (inet->cmsg_flags) |
25197 | @@ -1971,6 +1987,8 @@ static struct sock *udp_get_first(struct | 24986 | @@ -2033,6 +2049,8 @@ static struct sock *udp_get_first(struct |
25198 | sk_nulls_for_each(sk, node, &hslot->head) { | 24987 | sk_nulls_for_each(sk, node, &hslot->head) { |
25199 | if (!net_eq(sock_net(sk), net)) | 24988 | if (!net_eq(sock_net(sk), net)) |
25200 | continue; | 24989 | continue; |
@@ -25203,7 +24992,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25203 | if (sk->sk_family == state->family) | 24992 | if (sk->sk_family == state->family) |
25204 | goto found; | 24993 | goto found; |
25205 | } | 24994 | } |
25206 | @@ -1988,7 +2006,9 @@ static struct sock *udp_get_next(struct | 24995 | @@ -2050,7 +2068,9 @@ static struct sock *udp_get_next(struct |
25207 | 24996 | ||
25208 | do { | 24997 | do { |
25209 | sk = sk_nulls_next(sk); | 24998 | sk = sk_nulls_next(sk); |
@@ -25214,7 +25003,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25214 | 25003 | ||
25215 | if (!sk) { | 25004 | if (!sk) { |
25216 | if (state->bucket <= state->udp_table->mask) | 25005 | if (state->bucket <= state->udp_table->mask) |
25217 | @@ -2084,8 +2104,8 @@ static void udp4_format_sock(struct sock | 25006 | @@ -2146,8 +2166,8 @@ static void udp4_format_sock(struct sock |
25218 | int bucket, int *len) | 25007 | int bucket, int *len) |
25219 | { | 25008 | { |
25220 | struct inet_sock *inet = inet_sk(sp); | 25009 | struct inet_sock *inet = inet_sk(sp); |
@@ -25225,9 +25014,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv4/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25225 | __u16 destp = ntohs(inet->inet_dport); | 25014 | __u16 destp = ntohs(inet->inet_dport); |
25226 | __u16 srcp = ntohs(inet->inet_sport); | 25015 | __u16 srcp = ntohs(inet->inet_sport); |
25227 | 25016 | ||
25228 | diff -NurpP --minimal linux-3.4.57/net/ipv6/Kconfig linux-3.4.57-vs2.3.3.9/net/ipv6/Kconfig | 25017 | diff -NurpP --minimal linux-3.10.17/net/ipv6/Kconfig linux-3.10.17-vs2.3.6.6/net/ipv6/Kconfig |
25229 | --- linux-3.4.57/net/ipv6/Kconfig 2010-08-02 14:52:59.000000000 +0000 | 25018 | --- linux-3.10.17/net/ipv6/Kconfig 2013-07-14 17:01:38.000000000 +0000 |
25230 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/Kconfig 2012-05-21 16:15:05.000000000 +0000 | 25019 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/Kconfig 2013-08-22 20:30:00.000000000 +0000 |
25231 | @@ -4,8 +4,8 @@ | 25020 | @@ -4,8 +4,8 @@ |
25232 | 25021 | ||
25233 | # IPv6 as module will cause a CRASH if you try to unload it | 25022 | # IPv6 as module will cause a CRASH if you try to unload it |
@@ -25239,10 +25028,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/Kconfig linux-3.4.57-vs2.3.3.9/net/i | |||
25239 | ---help--- | 25028 | ---help--- |
25240 | This is complemental support for the IP version 6. | 25029 | This is complemental support for the IP version 6. |
25241 | You will still be able to do traditional IPv4 networking as well. | 25030 | You will still be able to do traditional IPv4 networking as well. |
25242 | diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/net/ipv6/addrconf.c | 25031 | diff -NurpP --minimal linux-3.10.17/net/ipv6/addrconf.c linux-3.10.17-vs2.3.6.6/net/ipv6/addrconf.c |
25243 | --- linux-3.4.57/net/ipv6/addrconf.c 2013-08-13 14:13:45.000000000 +0000 | 25032 | --- linux-3.10.17/net/ipv6/addrconf.c 2013-10-25 15:17:46.000000000 +0000 |
25244 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/addrconf.c 2013-08-13 17:07:37.000000000 +0000 | 25033 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/addrconf.c 2013-10-26 18:03:17.000000000 +0000 |
25245 | @@ -88,6 +88,8 @@ | 25034 | @@ -94,6 +94,8 @@ |
25246 | #include <linux/proc_fs.h> | 25035 | #include <linux/proc_fs.h> |
25247 | #include <linux/seq_file.h> | 25036 | #include <linux/seq_file.h> |
25248 | #include <linux/export.h> | 25037 | #include <linux/export.h> |
@@ -25251,16 +25040,16 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/ne | |||
25251 | 25040 | ||
25252 | /* Set to 3 to get tracing... */ | 25041 | /* Set to 3 to get tracing... */ |
25253 | #define ACONF_DEBUG 2 | 25042 | #define ACONF_DEBUG 2 |
25254 | @@ -1108,7 +1110,7 @@ out: | 25043 | @@ -1321,7 +1323,7 @@ out: |
25255 | 25044 | ||
25256 | int ipv6_dev_get_saddr(struct net *net, struct net_device *dst_dev, | 25045 | int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev, |
25257 | const struct in6_addr *daddr, unsigned int prefs, | 25046 | const struct in6_addr *daddr, unsigned int prefs, |
25258 | - struct in6_addr *saddr) | 25047 | - struct in6_addr *saddr) |
25259 | + struct in6_addr *saddr, struct nx_info *nxi) | 25048 | + struct in6_addr *saddr, struct nx_info *nxi) |
25260 | { | 25049 | { |
25261 | struct ipv6_saddr_score scores[2], | 25050 | struct ipv6_saddr_score scores[2], |
25262 | *score = &scores[0], *hiscore = &scores[1]; | 25051 | *score = &scores[0], *hiscore = &scores[1]; |
25263 | @@ -1180,6 +1182,8 @@ int ipv6_dev_get_saddr(struct net *net, | 25052 | @@ -1393,6 +1395,8 @@ int ipv6_dev_get_saddr(struct net *net, |
25264 | dev->name); | 25053 | dev->name); |
25265 | continue; | 25054 | continue; |
25266 | } | 25055 | } |
@@ -25269,7 +25058,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/ne | |||
25269 | 25058 | ||
25270 | score->rule = -1; | 25059 | score->rule = -1; |
25271 | bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX); | 25060 | bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX); |
25272 | @@ -3206,7 +3210,10 @@ static void if6_seq_stop(struct seq_file | 25061 | @@ -3448,7 +3452,10 @@ static void if6_seq_stop(struct seq_file |
25273 | static int if6_seq_show(struct seq_file *seq, void *v) | 25062 | static int if6_seq_show(struct seq_file *seq, void *v) |
25274 | { | 25063 | { |
25275 | struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v; | 25064 | struct inet6_ifaddr *ifp = (struct inet6_ifaddr *)v; |
@@ -25281,7 +25070,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/ne | |||
25281 | &ifp->addr, | 25070 | &ifp->addr, |
25282 | ifp->idev->dev->ifindex, | 25071 | ifp->idev->dev->ifindex, |
25283 | ifp->prefix_len, | 25072 | ifp->prefix_len, |
25284 | @@ -3712,6 +3719,11 @@ static int in6_dump_addrs(struct inet6_d | 25073 | @@ -3952,6 +3959,11 @@ static int in6_dump_addrs(struct inet6_d |
25285 | struct ifacaddr6 *ifaca; | 25074 | struct ifacaddr6 *ifaca; |
25286 | int err = 1; | 25075 | int err = 1; |
25287 | int ip_idx = *p_ip_idx; | 25076 | int ip_idx = *p_ip_idx; |
@@ -25293,47 +25082,54 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/ne | |||
25293 | 25082 | ||
25294 | read_lock_bh(&idev->lock); | 25083 | read_lock_bh(&idev->lock); |
25295 | switch (type) { | 25084 | switch (type) { |
25296 | @@ -3722,6 +3734,8 @@ static int in6_dump_addrs(struct inet6_d | 25085 | @@ -3962,6 +3974,8 @@ static int in6_dump_addrs(struct inet6_d |
25297 | list_for_each_entry(ifa, &idev->addr_list, if_list) { | 25086 | list_for_each_entry(ifa, &idev->addr_list, if_list) { |
25298 | if (++ip_idx < s_ip_idx) | 25087 | if (++ip_idx < s_ip_idx) |
25299 | continue; | 25088 | continue; |
25300 | + if (!v6_addr_in_nx_info(nxi, &ifa->addr, -1)) | 25089 | + if (!v6_addr_in_nx_info(nxi, &ifa->addr, -1)) |
25301 | + continue; | 25090 | + continue; |
25302 | err = inet6_fill_ifaddr(skb, ifa, | 25091 | err = inet6_fill_ifaddr(skb, ifa, |
25303 | NETLINK_CB(cb->skb).pid, | 25092 | NETLINK_CB(cb->skb).portid, |
25304 | cb->nlh->nlmsg_seq, | 25093 | cb->nlh->nlmsg_seq, |
25305 | @@ -3738,6 +3752,8 @@ static int in6_dump_addrs(struct inet6_d | 25094 | @@ -3979,6 +3993,8 @@ static int in6_dump_addrs(struct inet6_d |
25306 | ifmca = ifmca->next, ip_idx++) { | 25095 | ifmca = ifmca->next, ip_idx++) { |
25307 | if (ip_idx < s_ip_idx) | 25096 | if (ip_idx < s_ip_idx) |
25308 | continue; | 25097 | continue; |
25309 | + if (!v6_addr_in_nx_info(nxi, &ifmca->mca_addr, -1)) | 25098 | + if (!v6_addr_in_nx_info(nxi, &ifmca->mca_addr, -1)) |
25310 | + continue; | 25099 | + continue; |
25311 | err = inet6_fill_ifmcaddr(skb, ifmca, | 25100 | err = inet6_fill_ifmcaddr(skb, ifmca, |
25312 | NETLINK_CB(cb->skb).pid, | 25101 | NETLINK_CB(cb->skb).portid, |
25313 | cb->nlh->nlmsg_seq, | 25102 | cb->nlh->nlmsg_seq, |
25314 | @@ -3753,6 +3769,8 @@ static int in6_dump_addrs(struct inet6_d | 25103 | @@ -3994,6 +4010,8 @@ static int in6_dump_addrs(struct inet6_d |
25315 | ifaca = ifaca->aca_next, ip_idx++) { | 25104 | ifaca = ifaca->aca_next, ip_idx++) { |
25316 | if (ip_idx < s_ip_idx) | 25105 | if (ip_idx < s_ip_idx) |
25317 | continue; | 25106 | continue; |
25318 | + if (!v6_addr_in_nx_info(nxi, &ifaca->aca_addr, -1)) | 25107 | + if (!v6_addr_in_nx_info(nxi, &ifaca->aca_addr, -1)) |
25319 | + continue; | 25108 | + continue; |
25320 | err = inet6_fill_ifacaddr(skb, ifaca, | 25109 | err = inet6_fill_ifacaddr(skb, ifaca, |
25321 | NETLINK_CB(cb->skb).pid, | 25110 | NETLINK_CB(cb->skb).portid, |
25322 | cb->nlh->nlmsg_seq, | 25111 | cb->nlh->nlmsg_seq, |
25323 | @@ -4138,6 +4156,11 @@ static int inet6_dump_ifinfo(struct sk_b | 25112 | @@ -4022,6 +4040,10 @@ static int inet6_dump_addr(struct sk_buf |
25324 | struct inet6_dev *idev; | 25113 | struct inet6_dev *idev; |
25325 | struct hlist_head *head; | 25114 | struct hlist_head *head; |
25326 | struct hlist_node *node; | 25115 | |
25327 | + struct nx_info *nxi = skb->sk ? skb->sk->sk_nx_info : NULL; | ||
25328 | + | ||
25329 | + /* FIXME: maybe disable ipv6 on non v6 guests? | 25116 | + /* FIXME: maybe disable ipv6 on non v6 guests? |
25330 | + if (skb->sk && skb->sk->sk_vx_info) | 25117 | + if (skb->sk && skb->sk->sk_vx_info) |
25331 | + return skb->len; */ | 25118 | + return skb->len; */ |
25119 | + | ||
25120 | s_h = cb->args[0]; | ||
25121 | s_idx = idx = cb->args[1]; | ||
25122 | s_ip_idx = ip_idx = cb->args[2]; | ||
25123 | @@ -4457,6 +4479,7 @@ static int inet6_dump_ifinfo(struct sk_b | ||
25124 | struct net_device *dev; | ||
25125 | struct inet6_dev *idev; | ||
25126 | struct hlist_head *head; | ||
25127 | + struct nx_info *nxi = skb->sk ? skb->sk->sk_nx_info : NULL; | ||
25332 | 25128 | ||
25333 | s_h = cb->args[0]; | 25129 | s_h = cb->args[0]; |
25334 | s_idx = cb->args[1]; | 25130 | s_idx = cb->args[1]; |
25335 | @@ -4149,6 +4172,8 @@ static int inet6_dump_ifinfo(struct sk_b | 25131 | @@ -4468,6 +4491,8 @@ static int inet6_dump_ifinfo(struct sk_b |
25336 | hlist_for_each_entry_rcu(dev, node, head, index_hlist) { | 25132 | hlist_for_each_entry_rcu(dev, head, index_hlist) { |
25337 | if (idx < s_idx) | 25133 | if (idx < s_idx) |
25338 | goto cont; | 25134 | goto cont; |
25339 | + if (!v6_dev_in_nx_info(dev, nxi)) | 25135 | + if (!v6_dev_in_nx_info(dev, nxi)) |
@@ -25341,10 +25137,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/addrconf.c linux-3.4.57-vs2.3.3.9/ne | |||
25341 | idev = __in6_dev_get(dev); | 25137 | idev = __in6_dev_get(dev); |
25342 | if (!idev) | 25138 | if (!idev) |
25343 | goto cont; | 25139 | goto cont; |
25344 | diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/net/ipv6/af_inet6.c | 25140 | diff -NurpP --minimal linux-3.10.17/net/ipv6/af_inet6.c linux-3.10.17-vs2.3.6.6/net/ipv6/af_inet6.c |
25345 | --- linux-3.4.57/net/ipv6/af_inet6.c 2012-05-21 16:07:40.000000000 +0000 | 25141 | --- linux-3.10.17/net/ipv6/af_inet6.c 2013-07-14 17:01:38.000000000 +0000 |
25346 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/af_inet6.c 2012-09-01 09:15:04.000000000 +0000 | 25142 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/af_inet6.c 2013-08-22 20:30:00.000000000 +0000 |
25347 | @@ -42,6 +42,8 @@ | 25143 | @@ -43,6 +43,8 @@ |
25348 | #include <linux/netdevice.h> | 25144 | #include <linux/netdevice.h> |
25349 | #include <linux/icmpv6.h> | 25145 | #include <linux/icmpv6.h> |
25350 | #include <linux/netfilter_ipv6.h> | 25146 | #include <linux/netfilter_ipv6.h> |
@@ -25353,21 +25149,22 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25353 | 25149 | ||
25354 | #include <net/ip.h> | 25150 | #include <net/ip.h> |
25355 | #include <net/ipv6.h> | 25151 | #include <net/ipv6.h> |
25356 | @@ -159,9 +161,12 @@ lookup_protocol: | 25152 | @@ -159,10 +161,13 @@ lookup_protocol: |
25357 | } | 25153 | } |
25358 | 25154 | ||
25359 | err = -EPERM; | 25155 | err = -EPERM; |
25360 | + if ((protocol == IPPROTO_ICMPV6) && | 25156 | + if ((protocol == IPPROTO_ICMPV6) && |
25361 | + nx_capable(CAP_NET_RAW, NXC_RAW_ICMP)) | 25157 | + nx_capable(CAP_NET_RAW, NXC_RAW_ICMP)) |
25362 | + goto override; | 25158 | + goto override; |
25363 | if (sock->type == SOCK_RAW && !kern && !capable(CAP_NET_RAW)) | 25159 | if (sock->type == SOCK_RAW && !kern && |
25160 | !ns_capable(net->user_ns, CAP_NET_RAW)) | ||
25364 | goto out_rcu_unlock; | 25161 | goto out_rcu_unlock; |
25365 | - | 25162 | - |
25366 | +override: | 25163 | +override: |
25367 | sock->ops = answer->ops; | 25164 | sock->ops = answer->ops; |
25368 | answer_prot = answer->prot; | 25165 | answer_prot = answer->prot; |
25369 | answer_no_check = answer->no_check; | 25166 | answer_no_check = answer->no_check; |
25370 | @@ -261,6 +266,7 @@ int inet6_bind(struct socket *sock, stru | 25167 | @@ -262,6 +267,7 @@ int inet6_bind(struct socket *sock, stru |
25371 | struct inet_sock *inet = inet_sk(sk); | 25168 | struct inet_sock *inet = inet_sk(sk); |
25372 | struct ipv6_pinfo *np = inet6_sk(sk); | 25169 | struct ipv6_pinfo *np = inet6_sk(sk); |
25373 | struct net *net = sock_net(sk); | 25170 | struct net *net = sock_net(sk); |
@@ -25375,7 +25172,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25375 | __be32 v4addr = 0; | 25172 | __be32 v4addr = 0; |
25376 | unsigned short snum; | 25173 | unsigned short snum; |
25377 | int addr_type = 0; | 25174 | int addr_type = 0; |
25378 | @@ -276,6 +282,10 @@ int inet6_bind(struct socket *sock, stru | 25175 | @@ -277,6 +283,10 @@ int inet6_bind(struct socket *sock, stru |
25379 | if (addr->sin6_family != AF_INET6) | 25176 | if (addr->sin6_family != AF_INET6) |
25380 | return -EAFNOSUPPORT; | 25177 | return -EAFNOSUPPORT; |
25381 | 25178 | ||
@@ -25386,7 +25183,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25386 | addr_type = ipv6_addr_type(&addr->sin6_addr); | 25183 | addr_type = ipv6_addr_type(&addr->sin6_addr); |
25387 | if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM) | 25184 | if ((addr_type & IPV6_ADDR_MULTICAST) && sock->type == SOCK_STREAM) |
25388 | return -EINVAL; | 25185 | return -EINVAL; |
25389 | @@ -307,6 +317,7 @@ int inet6_bind(struct socket *sock, stru | 25186 | @@ -308,6 +318,7 @@ int inet6_bind(struct socket *sock, stru |
25390 | /* Reproduce AF_INET checks to make the bindings consistent */ | 25187 | /* Reproduce AF_INET checks to make the bindings consistent */ |
25391 | v4addr = addr->sin6_addr.s6_addr32[3]; | 25188 | v4addr = addr->sin6_addr.s6_addr32[3]; |
25392 | chk_addr_ret = inet_addr_type(net, v4addr); | 25189 | chk_addr_ret = inet_addr_type(net, v4addr); |
@@ -25394,7 +25191,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25394 | if (!sysctl_ip_nonlocal_bind && | 25191 | if (!sysctl_ip_nonlocal_bind && |
25395 | !(inet->freebind || inet->transparent) && | 25192 | !(inet->freebind || inet->transparent) && |
25396 | v4addr != htonl(INADDR_ANY) && | 25193 | v4addr != htonl(INADDR_ANY) && |
25397 | @@ -316,6 +327,10 @@ int inet6_bind(struct socket *sock, stru | 25194 | @@ -317,6 +328,10 @@ int inet6_bind(struct socket *sock, stru |
25398 | err = -EADDRNOTAVAIL; | 25195 | err = -EADDRNOTAVAIL; |
25399 | goto out; | 25196 | goto out; |
25400 | } | 25197 | } |
@@ -25405,7 +25202,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25405 | } else { | 25202 | } else { |
25406 | if (addr_type != IPV6_ADDR_ANY) { | 25203 | if (addr_type != IPV6_ADDR_ANY) { |
25407 | struct net_device *dev = NULL; | 25204 | struct net_device *dev = NULL; |
25408 | @@ -342,6 +357,11 @@ int inet6_bind(struct socket *sock, stru | 25205 | @@ -343,6 +358,11 @@ int inet6_bind(struct socket *sock, stru |
25409 | } | 25206 | } |
25410 | } | 25207 | } |
25411 | 25208 | ||
@@ -25417,7 +25214,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25417 | /* ipv4 addr of the socket is invalid. Only the | 25214 | /* ipv4 addr of the socket is invalid. Only the |
25418 | * unspecified and mapped address have a v4 equivalent. | 25215 | * unspecified and mapped address have a v4 equivalent. |
25419 | */ | 25216 | */ |
25420 | @@ -358,6 +378,9 @@ int inet6_bind(struct socket *sock, stru | 25217 | @@ -359,6 +379,9 @@ int inet6_bind(struct socket *sock, stru |
25421 | } | 25218 | } |
25422 | } | 25219 | } |
25423 | 25220 | ||
@@ -25427,7 +25224,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25427 | inet->inet_rcv_saddr = v4addr; | 25224 | inet->inet_rcv_saddr = v4addr; |
25428 | inet->inet_saddr = v4addr; | 25225 | inet->inet_saddr = v4addr; |
25429 | 25226 | ||
25430 | @@ -459,9 +482,11 @@ int inet6_getname(struct socket *sock, s | 25227 | @@ -460,9 +483,11 @@ int inet6_getname(struct socket *sock, s |
25431 | return -ENOTCONN; | 25228 | return -ENOTCONN; |
25432 | sin->sin6_port = inet->inet_dport; | 25229 | sin->sin6_port = inet->inet_dport; |
25433 | sin->sin6_addr = np->daddr; | 25230 | sin->sin6_addr = np->daddr; |
@@ -25439,10 +25236,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/af_inet6.c linux-3.4.57-vs2.3.3.9/ne | |||
25439 | if (ipv6_addr_any(&np->rcv_saddr)) | 25236 | if (ipv6_addr_any(&np->rcv_saddr)) |
25440 | sin->sin6_addr = np->saddr; | 25237 | sin->sin6_addr = np->saddr; |
25441 | else | 25238 | else |
25442 | diff -NurpP --minimal linux-3.4.57/net/ipv6/datagram.c linux-3.4.57-vs2.3.3.9/net/ipv6/datagram.c | 25239 | diff -NurpP --minimal linux-3.10.17/net/ipv6/datagram.c linux-3.10.17-vs2.3.6.6/net/ipv6/datagram.c |
25443 | --- linux-3.4.57/net/ipv6/datagram.c 2012-05-21 16:07:40.000000000 +0000 | 25240 | --- linux-3.10.17/net/ipv6/datagram.c 2013-07-14 17:01:38.000000000 +0000 |
25444 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/datagram.c 2012-05-21 16:15:05.000000000 +0000 | 25241 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/datagram.c 2013-08-22 20:30:00.000000000 +0000 |
25445 | @@ -642,7 +642,7 @@ int datagram_send_ctl(struct net *net, s | 25242 | @@ -652,7 +652,7 @@ int ip6_datagram_send_ctl(struct net *ne |
25446 | 25243 | ||
25447 | rcu_read_lock(); | 25244 | rcu_read_lock(); |
25448 | if (fl6->flowi6_oif) { | 25245 | if (fl6->flowi6_oif) { |
@@ -25451,10 +25248,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/datagram.c linux-3.4.57-vs2.3.3.9/ne | |||
25451 | if (!dev) { | 25248 | if (!dev) { |
25452 | rcu_read_unlock(); | 25249 | rcu_read_unlock(); |
25453 | return -ENODEV; | 25250 | return -ENODEV; |
25454 | diff -NurpP --minimal linux-3.4.57/net/ipv6/fib6_rules.c linux-3.4.57-vs2.3.3.9/net/ipv6/fib6_rules.c | 25251 | diff -NurpP --minimal linux-3.10.17/net/ipv6/fib6_rules.c linux-3.10.17-vs2.3.6.6/net/ipv6/fib6_rules.c |
25455 | --- linux-3.4.57/net/ipv6/fib6_rules.c 2012-03-19 18:47:33.000000000 +0000 | 25252 | --- linux-3.10.17/net/ipv6/fib6_rules.c 2013-02-19 13:58:58.000000000 +0000 |
25456 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/fib6_rules.c 2012-05-21 16:15:05.000000000 +0000 | 25253 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/fib6_rules.c 2013-08-22 20:30:00.000000000 +0000 |
25457 | @@ -91,7 +91,7 @@ static int fib6_rule_action(struct fib_r | 25254 | @@ -90,7 +90,7 @@ static int fib6_rule_action(struct fib_r |
25458 | ip6_dst_idev(&rt->dst)->dev, | 25255 | ip6_dst_idev(&rt->dst)->dev, |
25459 | &flp6->daddr, | 25256 | &flp6->daddr, |
25460 | rt6_flags2srcprefs(flags), | 25257 | rt6_flags2srcprefs(flags), |
@@ -25463,9 +25260,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/fib6_rules.c linux-3.4.57-vs2.3.3.9/ | |||
25463 | goto again; | 25260 | goto again; |
25464 | if (!ipv6_prefix_equal(&saddr, &r->src.addr, | 25261 | if (!ipv6_prefix_equal(&saddr, &r->src.addr, |
25465 | r->src.plen)) | 25262 | r->src.plen)) |
25466 | diff -NurpP --minimal linux-3.4.57/net/ipv6/inet6_hashtables.c linux-3.4.57-vs2.3.3.9/net/ipv6/inet6_hashtables.c | 25263 | diff -NurpP --minimal linux-3.10.17/net/ipv6/inet6_hashtables.c linux-3.10.17-vs2.3.6.6/net/ipv6/inet6_hashtables.c |
25467 | --- linux-3.4.57/net/ipv6/inet6_hashtables.c 2011-10-24 16:45:34.000000000 +0000 | 25264 | --- linux-3.10.17/net/ipv6/inet6_hashtables.c 2013-05-31 13:45:32.000000000 +0000 |
25468 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/inet6_hashtables.c 2012-05-21 16:15:05.000000000 +0000 | 25265 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/inet6_hashtables.c 2013-08-22 20:30:00.000000000 +0000 |
25469 | @@ -16,6 +16,7 @@ | 25266 | @@ -16,6 +16,7 @@ |
25470 | 25267 | ||
25471 | #include <linux/module.h> | 25268 | #include <linux/module.h> |
@@ -25482,7 +25279,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/inet6_hashtables.c linux-3.4.57-vs2. | |||
25482 | rcu_read_lock(); | 25279 | rcu_read_lock(); |
25483 | begin: | 25280 | begin: |
25484 | sk_nulls_for_each_rcu(sk, node, &head->chain) { | 25281 | sk_nulls_for_each_rcu(sk, node, &head->chain) { |
25485 | @@ -95,7 +95,7 @@ begin: | 25282 | @@ -97,7 +97,7 @@ begin: |
25486 | sock_put(sk); | 25283 | sock_put(sk); |
25487 | goto begin; | 25284 | goto begin; |
25488 | } | 25285 | } |
@@ -25491,7 +25288,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/inet6_hashtables.c linux-3.4.57-vs2. | |||
25491 | } | 25288 | } |
25492 | } | 25289 | } |
25493 | if (get_nulls_value(node) != slot) | 25290 | if (get_nulls_value(node) != slot) |
25494 | @@ -141,6 +141,9 @@ static inline int compute_score(struct s | 25291 | @@ -147,6 +147,9 @@ static inline int compute_score(struct s |
25495 | if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) | 25292 | if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) |
25496 | return -1; | 25293 | return -1; |
25497 | score++; | 25294 | score++; |
@@ -25501,10 +25298,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/inet6_hashtables.c linux-3.4.57-vs2. | |||
25501 | } | 25298 | } |
25502 | if (sk->sk_bound_dev_if) { | 25299 | if (sk->sk_bound_dev_if) { |
25503 | if (sk->sk_bound_dev_if != dif) | 25300 | if (sk->sk_bound_dev_if != dif) |
25504 | diff -NurpP --minimal linux-3.4.57/net/ipv6/ip6_output.c linux-3.4.57-vs2.3.3.9/net/ipv6/ip6_output.c | 25301 | diff -NurpP --minimal linux-3.10.17/net/ipv6/ip6_output.c linux-3.10.17-vs2.3.6.6/net/ipv6/ip6_output.c |
25505 | --- linux-3.4.57/net/ipv6/ip6_output.c 2013-08-13 14:13:45.000000000 +0000 | 25302 | --- linux-3.10.17/net/ipv6/ip6_output.c 2013-10-25 15:17:46.000000000 +0000 |
25506 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/ip6_output.c 2013-08-13 17:07:37.000000000 +0000 | 25303 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/ip6_output.c 2013-10-26 18:03:17.000000000 +0000 |
25507 | @@ -972,7 +972,8 @@ static int ip6_dst_lookup_tail(struct so | 25304 | @@ -882,7 +882,8 @@ static int ip6_dst_lookup_tail(struct so |
25508 | struct rt6_info *rt = (struct rt6_info *) *dst; | 25305 | struct rt6_info *rt = (struct rt6_info *) *dst; |
25509 | err = ip6_route_get_saddr(net, rt, &fl6->daddr, | 25306 | err = ip6_route_get_saddr(net, rt, &fl6->daddr, |
25510 | sk ? inet6_sk(sk)->srcprefs : 0, | 25307 | sk ? inet6_sk(sk)->srcprefs : 0, |
@@ -25514,10 +25311,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/ip6_output.c linux-3.4.57-vs2.3.3.9/ | |||
25514 | if (err) | 25311 | if (err) |
25515 | goto out_err_release; | 25312 | goto out_err_release; |
25516 | } | 25313 | } |
25517 | diff -NurpP --minimal linux-3.4.57/net/ipv6/ndisc.c linux-3.4.57-vs2.3.3.9/net/ipv6/ndisc.c | 25314 | diff -NurpP --minimal linux-3.10.17/net/ipv6/ndisc.c linux-3.10.17-vs2.3.6.6/net/ipv6/ndisc.c |
25518 | --- linux-3.4.57/net/ipv6/ndisc.c 2013-08-13 14:13:45.000000000 +0000 | 25315 | --- linux-3.10.17/net/ipv6/ndisc.c 2013-10-25 15:17:46.000000000 +0000 |
25519 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/ndisc.c 2012-11-18 23:52:30.000000000 +0000 | 25316 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/ndisc.c 2013-10-09 17:37:22.000000000 +0000 |
25520 | @@ -575,7 +575,7 @@ static void ndisc_send_na(struct net_dev | 25317 | @@ -487,7 +487,7 @@ static void ndisc_send_na(struct net_dev |
25521 | } else { | 25318 | } else { |
25522 | if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr, | 25319 | if (ipv6_dev_get_saddr(dev_net(dev), dev, daddr, |
25523 | inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs, | 25320 | inet6_sk(dev_net(dev)->ipv6.ndisc_sk)->srcprefs, |
@@ -25526,9 +25323,21 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/ndisc.c linux-3.4.57-vs2.3.3.9/net/i | |||
25526 | return; | 25323 | return; |
25527 | src_addr = &tmpaddr; | 25324 | src_addr = &tmpaddr; |
25528 | } | 25325 | } |
25529 | diff -NurpP --minimal linux-3.4.57/net/ipv6/raw.c linux-3.4.57-vs2.3.3.9/net/ipv6/raw.c | 25326 | diff -NurpP --minimal linux-3.10.17/net/ipv6/netfilter/ip6t_MASQUERADE.c linux-3.10.17-vs2.3.6.6/net/ipv6/netfilter/ip6t_MASQUERADE.c |
25530 | --- linux-3.4.57/net/ipv6/raw.c 2013-08-13 14:13:45.000000000 +0000 | 25327 | --- linux-3.10.17/net/ipv6/netfilter/ip6t_MASQUERADE.c 2012-12-11 03:30:57.000000000 +0000 |
25531 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/raw.c 2012-10-22 13:09:53.000000000 +0000 | 25328 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/netfilter/ip6t_MASQUERADE.c 2013-08-22 20:30:00.000000000 +0000 |
25329 | @@ -34,7 +34,7 @@ masquerade_tg6(struct sk_buff *skb, cons | ||
25330 | ctinfo == IP_CT_RELATED_REPLY)); | ||
25331 | |||
25332 | if (ipv6_dev_get_saddr(dev_net(par->out), par->out, | ||
25333 | - &ipv6_hdr(skb)->daddr, 0, &src) < 0) | ||
25334 | + &ipv6_hdr(skb)->daddr, 0, &src, NULL) < 0) | ||
25335 | return NF_DROP; | ||
25336 | |||
25337 | nfct_nat(ct)->masq_index = par->out->ifindex; | ||
25338 | diff -NurpP --minimal linux-3.10.17/net/ipv6/raw.c linux-3.10.17-vs2.3.6.6/net/ipv6/raw.c | ||
25339 | --- linux-3.10.17/net/ipv6/raw.c 2013-07-14 17:01:38.000000000 +0000 | ||
25340 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/raw.c 2013-08-22 20:30:00.000000000 +0000 | ||
25532 | @@ -30,6 +30,7 @@ | 25341 | @@ -30,6 +30,7 @@ |
25533 | #include <linux/icmpv6.h> | 25342 | #include <linux/icmpv6.h> |
25534 | #include <linux/netfilter.h> | 25343 | #include <linux/netfilter.h> |
@@ -25537,7 +25346,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25537 | #include <linux/skbuff.h> | 25346 | #include <linux/skbuff.h> |
25538 | #include <linux/compat.h> | 25347 | #include <linux/compat.h> |
25539 | #include <asm/uaccess.h> | 25348 | #include <asm/uaccess.h> |
25540 | @@ -284,6 +285,13 @@ static int rawv6_bind(struct sock *sk, s | 25349 | @@ -283,6 +284,13 @@ static int rawv6_bind(struct sock *sk, s |
25541 | goto out_unlock; | 25350 | goto out_unlock; |
25542 | } | 25351 | } |
25543 | 25352 | ||
@@ -25551,18 +25360,18 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/raw.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25551 | /* ipv4 addr of the socket is invalid. Only the | 25360 | /* ipv4 addr of the socket is invalid. Only the |
25552 | * unspecified and mapped address have a v4 equivalent. | 25361 | * unspecified and mapped address have a v4 equivalent. |
25553 | */ | 25362 | */ |
25554 | diff -NurpP --minimal linux-3.4.57/net/ipv6/route.c linux-3.4.57-vs2.3.3.9/net/ipv6/route.c | 25363 | diff -NurpP --minimal linux-3.10.17/net/ipv6/route.c linux-3.10.17-vs2.3.6.6/net/ipv6/route.c |
25555 | --- linux-3.4.57/net/ipv6/route.c 2013-08-13 14:13:45.000000000 +0000 | 25364 | --- linux-3.10.17/net/ipv6/route.c 2013-10-25 15:17:46.000000000 +0000 |
25556 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/route.c 2013-08-13 17:07:38.000000000 +0000 | 25365 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/route.c 2013-08-22 20:30:00.000000000 +0000 |
25557 | @@ -55,6 +55,7 @@ | 25366 | @@ -58,6 +58,7 @@ |
25558 | #include <net/xfrm.h> | ||
25559 | #include <net/netevent.h> | 25367 | #include <net/netevent.h> |
25560 | #include <net/netlink.h> | 25368 | #include <net/netlink.h> |
25369 | #include <net/nexthop.h> | ||
25561 | +#include <linux/vs_inet6.h> | 25370 | +#include <linux/vs_inet6.h> |
25562 | 25371 | ||
25563 | #include <asm/uaccess.h> | 25372 | #include <asm/uaccess.h> |
25564 | 25373 | ||
25565 | @@ -2150,15 +2151,17 @@ int ip6_route_get_saddr(struct net *net, | 25374 | @@ -2101,15 +2102,17 @@ int ip6_route_get_saddr(struct net *net, |
25566 | struct rt6_info *rt, | 25375 | struct rt6_info *rt, |
25567 | const struct in6_addr *daddr, | 25376 | const struct in6_addr *daddr, |
25568 | unsigned int prefs, | 25377 | unsigned int prefs, |
@@ -25583,27 +25392,27 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/route.c linux-3.4.57-vs2.3.3.9/net/i | |||
25583 | return err; | 25392 | return err; |
25584 | } | 25393 | } |
25585 | 25394 | ||
25586 | @@ -2489,7 +2492,8 @@ static int rt6_fill_node(struct net *net | 25395 | @@ -2529,7 +2532,8 @@ static int rt6_fill_node(struct net *net |
25587 | NLA_PUT_U32(skb, RTA_IIF, iif); | 25396 | goto nla_put_failure; |
25588 | } else if (dst) { | 25397 | } else if (dst) { |
25589 | struct in6_addr saddr_buf; | 25398 | struct in6_addr saddr_buf; |
25590 | - if (ip6_route_get_saddr(net, rt, dst, 0, &saddr_buf) == 0) | 25399 | - if (ip6_route_get_saddr(net, rt, dst, 0, &saddr_buf) == 0 && |
25591 | + if (ip6_route_get_saddr(net, rt, dst, 0, &saddr_buf, | 25400 | + if (ip6_route_get_saddr(net, rt, dst, 0, &saddr_buf, |
25592 | + (skb->sk ? skb->sk->sk_nx_info : NULL)) == 0) | 25401 | + (skb->sk ? skb->sk->sk_nx_info : NULL)) == 0 && |
25593 | NLA_PUT(skb, RTA_PREFSRC, 16, &saddr_buf); | 25402 | nla_put(skb, RTA_PREFSRC, 16, &saddr_buf)) |
25403 | goto nla_put_failure; | ||
25594 | } | 25404 | } |
25595 | 25405 | @@ -2741,6 +2745,7 @@ static int rt6_info_route(struct rt6_inf | |
25596 | @@ -2716,6 +2720,7 @@ static int rt6_info_route(struct rt6_inf | 25406 | { |
25597 | struct seq_file *m = p_arg; | 25407 | struct seq_file *m = p_arg; |
25598 | struct neighbour *n; | ||
25599 | 25408 | ||
25600 | + /* FIXME: check for network context? */ | 25409 | + /* FIXME: check for network context? */ |
25601 | seq_printf(m, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen); | 25410 | seq_printf(m, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen); |
25602 | 25411 | ||
25603 | #ifdef CONFIG_IPV6_SUBTREES | 25412 | #ifdef CONFIG_IPV6_SUBTREES |
25604 | diff -NurpP --minimal linux-3.4.57/net/ipv6/tcp_ipv6.c linux-3.4.57-vs2.3.3.9/net/ipv6/tcp_ipv6.c | 25413 | diff -NurpP --minimal linux-3.10.17/net/ipv6/tcp_ipv6.c linux-3.10.17-vs2.3.6.6/net/ipv6/tcp_ipv6.c |
25605 | --- linux-3.4.57/net/ipv6/tcp_ipv6.c 2013-08-13 14:13:45.000000000 +0000 | 25414 | --- linux-3.10.17/net/ipv6/tcp_ipv6.c 2013-10-25 15:17:46.000000000 +0000 |
25606 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/tcp_ipv6.c 2013-07-14 13:38:37.000000000 +0000 | 25415 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/tcp_ipv6.c 2013-10-09 17:37:22.000000000 +0000 |
25607 | @@ -71,6 +71,7 @@ | 25416 | @@ -71,6 +71,7 @@ |
25608 | 25417 | ||
25609 | #include <linux/crypto.h> | 25418 | #include <linux/crypto.h> |
@@ -25612,7 +25421,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/tcp_ipv6.c linux-3.4.57-vs2.3.3.9/ne | |||
25612 | 25421 | ||
25613 | static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb); | 25422 | static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb); |
25614 | static void tcp_v6_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, | 25423 | static void tcp_v6_reqsk_send_ack(struct sock *sk, struct sk_buff *skb, |
25615 | @@ -163,8 +164,15 @@ static int tcp_v6_connect(struct sock *s | 25424 | @@ -164,8 +165,15 @@ static int tcp_v6_connect(struct sock *s |
25616 | * connect() to INADDR_ANY means loopback (BSD'ism). | 25425 | * connect() to INADDR_ANY means loopback (BSD'ism). |
25617 | */ | 25426 | */ |
25618 | 25427 | ||
@@ -25630,17 +25439,18 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/tcp_ipv6.c linux-3.4.57-vs2.3.3.9/ne | |||
25630 | 25439 | ||
25631 | addr_type = ipv6_addr_type(&usin->sin6_addr); | 25440 | addr_type = ipv6_addr_type(&usin->sin6_addr); |
25632 | 25441 | ||
25633 | diff -NurpP --minimal linux-3.4.57/net/ipv6/udp.c linux-3.4.57-vs2.3.3.9/net/ipv6/udp.c | 25442 | diff -NurpP --minimal linux-3.10.17/net/ipv6/udp.c linux-3.10.17-vs2.3.6.6/net/ipv6/udp.c |
25634 | --- linux-3.4.57/net/ipv6/udp.c 2013-08-13 14:13:45.000000000 +0000 | 25443 | --- linux-3.10.17/net/ipv6/udp.c 2013-10-25 15:17:46.000000000 +0000 |
25635 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/udp.c 2013-08-13 17:07:38.000000000 +0000 | 25444 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/udp.c 2013-08-22 20:30:00.000000000 +0000 |
25636 | @@ -45,41 +45,67 @@ | 25445 | @@ -46,42 +46,68 @@ |
25637 | #include <net/tcp_states.h> | ||
25638 | #include <net/ip6_checksum.h> | 25446 | #include <net/ip6_checksum.h> |
25639 | #include <net/xfrm.h> | 25447 | #include <net/xfrm.h> |
25448 | #include <net/inet6_hashtables.h> | ||
25640 | +#include <linux/vs_inet6.h> | 25449 | +#include <linux/vs_inet6.h> |
25641 | 25450 | ||
25642 | #include <linux/proc_fs.h> | 25451 | #include <linux/proc_fs.h> |
25643 | #include <linux/seq_file.h> | 25452 | #include <linux/seq_file.h> |
25453 | #include <trace/events/skb.h> | ||
25644 | #include "udp_impl.h" | 25454 | #include "udp_impl.h" |
25645 | 25455 | ||
25646 | -int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2) | 25456 | -int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2) |
@@ -25714,7 +25524,7 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25714 | } | 25524 | } |
25715 | 25525 | ||
25716 | static unsigned int udp6_portaddr_hash(struct net *net, | 25526 | static unsigned int udp6_portaddr_hash(struct net *net, |
25717 | @@ -143,6 +169,10 @@ static inline int compute_score(struct s | 25527 | @@ -145,6 +171,10 @@ static inline int compute_score(struct s |
25718 | if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) | 25528 | if (!ipv6_addr_equal(&np->rcv_saddr, daddr)) |
25719 | return -1; | 25529 | return -1; |
25720 | score++; | 25530 | score++; |
@@ -25725,9 +25535,9 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/udp.c linux-3.4.57-vs2.3.3.9/net/ipv | |||
25725 | } | 25535 | } |
25726 | if (!ipv6_addr_any(&np->daddr)) { | 25536 | if (!ipv6_addr_any(&np->daddr)) { |
25727 | if (!ipv6_addr_equal(&np->daddr, saddr)) | 25537 | if (!ipv6_addr_equal(&np->daddr, saddr)) |
25728 | diff -NurpP --minimal linux-3.4.57/net/ipv6/xfrm6_policy.c linux-3.4.57-vs2.3.3.9/net/ipv6/xfrm6_policy.c | 25538 | diff -NurpP --minimal linux-3.10.17/net/ipv6/xfrm6_policy.c linux-3.10.17-vs2.3.6.6/net/ipv6/xfrm6_policy.c |
25729 | --- linux-3.4.57/net/ipv6/xfrm6_policy.c 2013-08-13 14:13:45.000000000 +0000 | 25539 | --- linux-3.10.17/net/ipv6/xfrm6_policy.c 2013-07-14 17:01:38.000000000 +0000 |
25730 | +++ linux-3.4.57-vs2.3.3.9/net/ipv6/xfrm6_policy.c 2013-07-14 13:38:37.000000000 +0000 | 25540 | +++ linux-3.10.17-vs2.3.6.6/net/ipv6/xfrm6_policy.c 2013-08-22 20:30:00.000000000 +0000 |
25731 | @@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n | 25541 | @@ -63,7 +63,7 @@ static int xfrm6_get_saddr(struct net *n |
25732 | dev = ip6_dst_idev(dst)->dev; | 25542 | dev = ip6_dst_idev(dst)->dev; |
25733 | ipv6_dev_get_saddr(dev_net(dev), dev, | 25543 | ipv6_dev_get_saddr(dev_net(dev), dev, |
@@ -25737,10 +25547,10 @@ diff -NurpP --minimal linux-3.4.57/net/ipv6/xfrm6_policy.c linux-3.4.57-vs2.3.3. | |||
25737 | dst_release(dst); | 25547 | dst_release(dst); |
25738 | return 0; | 25548 | return 0; |
25739 | } | 25549 | } |
25740 | diff -NurpP --minimal linux-3.4.57/net/netfilter/ipvs/ip_vs_xmit.c linux-3.4.57-vs2.3.3.9/net/netfilter/ipvs/ip_vs_xmit.c | 25550 | diff -NurpP --minimal linux-3.10.17/net/netfilter/ipvs/ip_vs_xmit.c linux-3.10.17-vs2.3.6.6/net/netfilter/ipvs/ip_vs_xmit.c |
25741 | --- linux-3.4.57/net/netfilter/ipvs/ip_vs_xmit.c 2012-03-19 18:47:33.000000000 +0000 | 25551 | --- linux-3.10.17/net/netfilter/ipvs/ip_vs_xmit.c 2013-10-25 15:17:46.000000000 +0000 |
25742 | +++ linux-3.4.57-vs2.3.3.9/net/netfilter/ipvs/ip_vs_xmit.c 2012-05-21 16:15:05.000000000 +0000 | 25552 | +++ linux-3.10.17-vs2.3.6.6/net/netfilter/ipvs/ip_vs_xmit.c 2013-10-26 18:03:17.000000000 +0000 |
25743 | @@ -226,7 +226,7 @@ __ip_vs_route_output_v6(struct net *net, | 25553 | @@ -316,7 +316,7 @@ __ip_vs_route_output_v6(struct net *net, |
25744 | return dst; | 25554 | return dst; |
25745 | if (ipv6_addr_any(&fl6.saddr) && | 25555 | if (ipv6_addr_any(&fl6.saddr) && |
25746 | ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev, | 25556 | ipv6_dev_get_saddr(net, ip6_dst_idev(dst)->dev, |
@@ -25749,21 +25559,21 @@ diff -NurpP --minimal linux-3.4.57/net/netfilter/ipvs/ip_vs_xmit.c linux-3.4.57- | |||
25749 | goto out_err; | 25559 | goto out_err; |
25750 | if (do_xfrm) { | 25560 | if (do_xfrm) { |
25751 | dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0); | 25561 | dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0); |
25752 | diff -NurpP --minimal linux-3.4.57/net/netlink/af_netlink.c linux-3.4.57-vs2.3.3.9/net/netlink/af_netlink.c | 25562 | diff -NurpP --minimal linux-3.10.17/net/netlink/af_netlink.c linux-3.10.17-vs2.3.6.6/net/netlink/af_netlink.c |
25753 | --- linux-3.4.57/net/netlink/af_netlink.c 2013-08-13 14:13:46.000000000 +0000 | 25563 | --- linux-3.10.17/net/netlink/af_netlink.c 2013-07-14 17:01:39.000000000 +0000 |
25754 | +++ linux-3.4.57-vs2.3.3.9/net/netlink/af_netlink.c 2012-11-18 23:52:30.000000000 +0000 | 25564 | +++ linux-3.10.17-vs2.3.6.6/net/netlink/af_netlink.c 2013-08-22 21:19:02.000000000 +0000 |
25755 | @@ -55,6 +55,9 @@ | 25565 | @@ -57,6 +57,9 @@ |
25756 | #include <linux/types.h> | ||
25757 | #include <linux/audit.h> | 25566 | #include <linux/audit.h> |
25758 | #include <linux/mutex.h> | 25567 | #include <linux/mutex.h> |
25568 | #include <linux/vmalloc.h> | ||
25759 | +#include <linux/vs_context.h> | 25569 | +#include <linux/vs_context.h> |
25760 | +#include <linux/vs_network.h> | 25570 | +#include <linux/vs_network.h> |
25761 | +#include <linux/vs_limit.h> | 25571 | +#include <linux/vs_limit.h> |
25572 | #include <asm/cacheflush.h> | ||
25762 | 25573 | ||
25763 | #include <net/net_namespace.h> | 25574 | #include <net/net_namespace.h> |
25764 | #include <net/sock.h> | 25575 | @@ -2684,6 +2687,8 @@ static struct sock *netlink_seq_socket_i |
25765 | @@ -1951,6 +1954,8 @@ static struct sock *netlink_seq_socket_i | 25576 | sk_for_each(s, &hash->table[j]) { |
25766 | sk_for_each(s, node, &hash->table[j]) { | ||
25767 | if (sock_net(s) != seq_file_net(seq)) | 25577 | if (sock_net(s) != seq_file_net(seq)) |
25768 | continue; | 25578 | continue; |
25769 | + if (!nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT)) | 25579 | + if (!nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT)) |
@@ -25771,7 +25581,7 @@ diff -NurpP --minimal linux-3.4.57/net/netlink/af_netlink.c linux-3.4.57-vs2.3.3 | |||
25771 | if (off == pos) { | 25581 | if (off == pos) { |
25772 | iter->link = i; | 25582 | iter->link = i; |
25773 | iter->hash_idx = j; | 25583 | iter->hash_idx = j; |
25774 | @@ -1985,7 +1990,8 @@ static void *netlink_seq_next(struct seq | 25584 | @@ -2718,7 +2723,8 @@ static void *netlink_seq_next(struct seq |
25775 | s = v; | 25585 | s = v; |
25776 | do { | 25586 | do { |
25777 | s = sk_next(s); | 25587 | s = sk_next(s); |
@@ -25781,7 +25591,7 @@ diff -NurpP --minimal linux-3.4.57/net/netlink/af_netlink.c linux-3.4.57-vs2.3.3 | |||
25781 | if (s) | 25591 | if (s) |
25782 | return s; | 25592 | return s; |
25783 | 25593 | ||
25784 | @@ -1997,7 +2003,8 @@ static void *netlink_seq_next(struct seq | 25594 | @@ -2730,7 +2736,8 @@ static void *netlink_seq_next(struct seq |
25785 | 25595 | ||
25786 | for (; j <= hash->mask; j++) { | 25596 | for (; j <= hash->mask; j++) { |
25787 | s = sk_head(&hash->table[j]); | 25597 | s = sk_head(&hash->table[j]); |
@@ -25791,9 +25601,9 @@ diff -NurpP --minimal linux-3.4.57/net/netlink/af_netlink.c linux-3.4.57-vs2.3.3 | |||
25791 | s = sk_next(s); | 25601 | s = sk_next(s); |
25792 | if (s) { | 25602 | if (s) { |
25793 | iter->link = i; | 25603 | iter->link = i; |
25794 | diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socket.c | 25604 | diff -NurpP --minimal linux-3.10.17/net/socket.c linux-3.10.17-vs2.3.6.6/net/socket.c |
25795 | --- linux-3.4.57/net/socket.c 2013-08-13 14:13:48.000000000 +0000 | 25605 | --- linux-3.10.17/net/socket.c 2013-07-14 17:01:39.000000000 +0000 |
25796 | +++ linux-3.4.57-vs2.3.3.9/net/socket.c 2013-07-14 13:38:39.000000000 +0000 | 25606 | +++ linux-3.10.17-vs2.3.6.6/net/socket.c 2013-08-22 20:30:00.000000000 +0000 |
25797 | @@ -98,6 +98,10 @@ | 25607 | @@ -98,6 +98,10 @@ |
25798 | 25608 | ||
25799 | #include <net/sock.h> | 25609 | #include <net/sock.h> |
@@ -25805,15 +25615,14 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25805 | 25615 | ||
25806 | #include <linux/if_tun.h> | 25616 | #include <linux/if_tun.h> |
25807 | #include <linux/ipv6_route.h> | 25617 | #include <linux/ipv6_route.h> |
25808 | @@ -551,6 +555,7 @@ static inline int __sock_sendmsg_nosec(s | 25618 | @@ -616,13 +620,29 @@ static inline int __sock_sendmsg_nosec(s |
25809 | struct msghdr *msg, size_t size) | 25619 | struct msghdr *msg, size_t size) |
25810 | { | 25620 | { |
25811 | struct sock_iocb *si = kiocb_to_siocb(iocb); | 25621 | struct sock_iocb *si = kiocb_to_siocb(iocb); |
25812 | + size_t len; | 25622 | + size_t len; |
25813 | 25623 | ||
25814 | sock_update_classid(sock->sk); | 25624 | si->sock = sock; |
25815 | 25625 | si->scm = NULL; | |
25816 | @@ -561,7 +566,22 @@ static inline int __sock_sendmsg_nosec(s | ||
25817 | si->msg = msg; | 25626 | si->msg = msg; |
25818 | si->size = size; | 25627 | si->size = size; |
25819 | 25628 | ||
@@ -25837,15 +25646,15 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25837 | } | 25646 | } |
25838 | 25647 | ||
25839 | static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock, | 25648 | static inline int __sock_sendmsg(struct kiocb *iocb, struct socket *sock, |
25840 | @@ -717,6 +737,7 @@ static inline int __sock_recvmsg_nosec(s | 25649 | @@ -766,6 +786,7 @@ static inline int __sock_recvmsg_nosec(s |
25841 | struct msghdr *msg, size_t size, int flags) | 25650 | struct msghdr *msg, size_t size, int flags) |
25842 | { | 25651 | { |
25843 | struct sock_iocb *si = kiocb_to_siocb(iocb); | 25652 | struct sock_iocb *si = kiocb_to_siocb(iocb); |
25844 | + int len; | 25653 | + int len; |
25845 | 25654 | ||
25846 | sock_update_classid(sock->sk); | 25655 | si->sock = sock; |
25847 | 25656 | si->scm = NULL; | |
25848 | @@ -726,7 +747,18 @@ static inline int __sock_recvmsg_nosec(s | 25657 | @@ -773,7 +794,18 @@ static inline int __sock_recvmsg_nosec(s |
25849 | si->size = size; | 25658 | si->size = size; |
25850 | si->flags = flags; | 25659 | si->flags = flags; |
25851 | 25660 | ||
@@ -25865,7 +25674,7 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25865 | } | 25674 | } |
25866 | 25675 | ||
25867 | static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock, | 25676 | static inline int __sock_recvmsg(struct kiocb *iocb, struct socket *sock, |
25868 | @@ -1211,6 +1243,13 @@ int __sock_create(struct net *net, int f | 25677 | @@ -1247,6 +1279,13 @@ int __sock_create(struct net *net, int f |
25869 | if (type < 0 || type >= SOCK_MAX) | 25678 | if (type < 0 || type >= SOCK_MAX) |
25870 | return -EINVAL; | 25679 | return -EINVAL; |
25871 | 25680 | ||
@@ -25879,7 +25688,7 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25879 | /* Compatibility. | 25688 | /* Compatibility. |
25880 | 25689 | ||
25881 | This uglymoron is moved from INET layer to here to avoid | 25690 | This uglymoron is moved from INET layer to here to avoid |
25882 | @@ -1346,6 +1385,7 @@ SYSCALL_DEFINE3(socket, int, family, int | 25691 | @@ -1381,6 +1420,7 @@ SYSCALL_DEFINE3(socket, int, family, int |
25883 | if (retval < 0) | 25692 | if (retval < 0) |
25884 | goto out; | 25693 | goto out; |
25885 | 25694 | ||
@@ -25887,7 +25696,7 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25887 | retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); | 25696 | retval = sock_map_fd(sock, flags & (O_CLOEXEC | O_NONBLOCK)); |
25888 | if (retval < 0) | 25697 | if (retval < 0) |
25889 | goto out_release; | 25698 | goto out_release; |
25890 | @@ -1387,10 +1427,12 @@ SYSCALL_DEFINE4(socketpair, int, family, | 25699 | @@ -1422,10 +1462,12 @@ SYSCALL_DEFINE4(socketpair, int, family, |
25891 | err = sock_create(family, type, protocol, &sock1); | 25700 | err = sock_create(family, type, protocol, &sock1); |
25892 | if (err < 0) | 25701 | if (err < 0) |
25893 | goto out; | 25702 | goto out; |
@@ -25900,52 +25709,51 @@ diff -NurpP --minimal linux-3.4.57/net/socket.c linux-3.4.57-vs2.3.3.9/net/socke | |||
25900 | 25709 | ||
25901 | err = sock1->ops->socketpair(sock1, sock2); | 25710 | err = sock1->ops->socketpair(sock1, sock2); |
25902 | if (err < 0) | 25711 | if (err < 0) |
25903 | diff -NurpP --minimal linux-3.4.57/net/sunrpc/auth.c linux-3.4.57-vs2.3.3.9/net/sunrpc/auth.c | 25712 | diff -NurpP --minimal linux-3.10.17/net/sunrpc/auth.c linux-3.10.17-vs2.3.6.6/net/sunrpc/auth.c |
25904 | --- linux-3.4.57/net/sunrpc/auth.c 2011-10-24 16:45:34.000000000 +0000 | 25713 | --- linux-3.10.17/net/sunrpc/auth.c 2013-07-14 17:01:39.000000000 +0000 |
25905 | +++ linux-3.4.57-vs2.3.3.9/net/sunrpc/auth.c 2012-05-21 16:15:05.000000000 +0000 | 25714 | +++ linux-3.10.17-vs2.3.6.6/net/sunrpc/auth.c 2013-08-22 20:30:00.000000000 +0000 |
25906 | @@ -14,6 +14,7 @@ | 25715 | @@ -15,6 +15,7 @@ |
25907 | #include <linux/hash.h> | ||
25908 | #include <linux/sunrpc/clnt.h> | 25716 | #include <linux/sunrpc/clnt.h> |
25717 | #include <linux/sunrpc/gss_api.h> | ||
25909 | #include <linux/spinlock.h> | 25718 | #include <linux/spinlock.h> |
25910 | +#include <linux/vs_tag.h> | 25719 | +#include <linux/vs_tag.h> |
25911 | 25720 | ||
25912 | #ifdef RPC_DEBUG | 25721 | #ifdef RPC_DEBUG |
25913 | # define RPCDBG_FACILITY RPCDBG_AUTH | 25722 | # define RPCDBG_FACILITY RPCDBG_AUTH |
25914 | @@ -427,6 +428,7 @@ rpcauth_lookupcred(struct rpc_auth *auth | 25723 | @@ -553,6 +554,7 @@ rpcauth_lookupcred(struct rpc_auth *auth |
25915 | memset(&acred, 0, sizeof(acred)); | 25724 | memset(&acred, 0, sizeof(acred)); |
25916 | acred.uid = cred->fsuid; | 25725 | acred.uid = cred->fsuid; |
25917 | acred.gid = cred->fsgid; | 25726 | acred.gid = cred->fsgid; |
25918 | + acred.tag = dx_current_tag(); | 25727 | + acred.tag = make_ktag(&init_user_ns, dx_current_tag()); |
25919 | acred.group_info = get_group_info(((struct cred *)cred)->group_info); | 25728 | acred.group_info = get_group_info(((struct cred *)cred)->group_info); |
25920 | 25729 | ||
25921 | ret = auth->au_ops->lookup_cred(auth, &acred, flags); | 25730 | ret = auth->au_ops->lookup_cred(auth, &acred, flags); |
25922 | @@ -467,6 +469,7 @@ rpcauth_bind_root_cred(struct rpc_task * | 25731 | @@ -593,6 +595,7 @@ rpcauth_bind_root_cred(struct rpc_task * |
25923 | struct auth_cred acred = { | 25732 | struct auth_cred acred = { |
25924 | .uid = 0, | 25733 | .uid = GLOBAL_ROOT_UID, |
25925 | .gid = 0, | 25734 | .gid = GLOBAL_ROOT_GID, |
25926 | + .tag = dx_current_tag(), | 25735 | + .tag = KTAGT_INIT(dx_current_tag()), |
25927 | }; | 25736 | }; |
25928 | 25737 | ||
25929 | dprintk("RPC: %5u looking up %s cred\n", | 25738 | dprintk("RPC: %5u looking up %s cred\n", |
25930 | diff -NurpP --minimal linux-3.4.57/net/sunrpc/auth_unix.c linux-3.4.57-vs2.3.3.9/net/sunrpc/auth_unix.c | 25739 | diff -NurpP --minimal linux-3.10.17/net/sunrpc/auth_unix.c linux-3.10.17-vs2.3.6.6/net/sunrpc/auth_unix.c |
25931 | --- linux-3.4.57/net/sunrpc/auth_unix.c 2012-01-09 15:15:04.000000000 +0000 | 25740 | --- linux-3.10.17/net/sunrpc/auth_unix.c 2013-05-31 13:45:33.000000000 +0000 |
25932 | +++ linux-3.4.57-vs2.3.3.9/net/sunrpc/auth_unix.c 2012-05-21 16:15:05.000000000 +0000 | 25741 | +++ linux-3.10.17-vs2.3.6.6/net/sunrpc/auth_unix.c 2013-08-22 20:30:00.000000000 +0000 |
25933 | @@ -12,12 +12,14 @@ | 25742 | @@ -13,11 +13,13 @@ |
25934 | #include <linux/module.h> | ||
25935 | #include <linux/sunrpc/clnt.h> | 25743 | #include <linux/sunrpc/clnt.h> |
25936 | #include <linux/sunrpc/auth.h> | 25744 | #include <linux/sunrpc/auth.h> |
25745 | #include <linux/user_namespace.h> | ||
25937 | +#include <linux/vs_tag.h> | 25746 | +#include <linux/vs_tag.h> |
25938 | 25747 | ||
25939 | #define NFS_NGROUPS 16 | 25748 | #define NFS_NGROUPS 16 |
25940 | 25749 | ||
25941 | struct unx_cred { | 25750 | struct unx_cred { |
25942 | struct rpc_cred uc_base; | 25751 | struct rpc_cred uc_base; |
25943 | gid_t uc_gid; | 25752 | + ktag_t uc_tag; |
25944 | + tag_t uc_tag; | 25753 | kgid_t uc_gid; |
25945 | gid_t uc_gids[NFS_NGROUPS]; | 25754 | kgid_t uc_gids[NFS_NGROUPS]; |
25946 | }; | 25755 | }; |
25947 | #define uc_uid uc_base.cr_uid | 25756 | @@ -80,6 +82,7 @@ unx_create_cred(struct rpc_auth *auth, s |
25948 | @@ -78,6 +80,7 @@ unx_create_cred(struct rpc_auth *auth, s | ||
25949 | groups = NFS_NGROUPS; | 25757 | groups = NFS_NGROUPS; |
25950 | 25758 | ||
25951 | cred->uc_gid = acred->gid; | 25759 | cred->uc_gid = acred->gid; |
@@ -25953,18 +25761,18 @@ diff -NurpP --minimal linux-3.4.57/net/sunrpc/auth_unix.c linux-3.4.57-vs2.3.3.9 | |||
25953 | for (i = 0; i < groups; i++) | 25761 | for (i = 0; i < groups; i++) |
25954 | cred->uc_gids[i] = GROUP_AT(acred->group_info, i); | 25762 | cred->uc_gids[i] = GROUP_AT(acred->group_info, i); |
25955 | if (i < NFS_NGROUPS) | 25763 | if (i < NFS_NGROUPS) |
25956 | @@ -119,7 +122,9 @@ unx_match(struct auth_cred *acred, struc | 25764 | @@ -121,7 +124,9 @@ unx_match(struct auth_cred *acred, struc |
25957 | unsigned int i; | 25765 | unsigned int i; |
25958 | 25766 | ||
25959 | 25767 | ||
25960 | - if (cred->uc_uid != acred->uid || cred->uc_gid != acred->gid) | 25768 | - if (!uid_eq(cred->uc_uid, acred->uid) || !gid_eq(cred->uc_gid, acred->gid)) |
25961 | + if (cred->uc_uid != acred->uid || | 25769 | + if (!uid_eq(cred->uc_uid, acred->uid) || |
25962 | + cred->uc_gid != acred->gid || | 25770 | + !gid_eq(cred->uc_gid, acred->gid) || |
25963 | + cred->uc_tag != acred->tag) | 25771 | + !tag_eq(cred->uc_tag, acred->tag)) |
25964 | return 0; | 25772 | return 0; |
25965 | 25773 | ||
25966 | if (acred->group_info != NULL) | 25774 | if (acred->group_info != NULL) |
25967 | @@ -145,7 +150,7 @@ unx_marshal(struct rpc_task *task, __be3 | 25775 | @@ -146,7 +151,7 @@ unx_marshal(struct rpc_task *task, __be3 |
25968 | struct rpc_clnt *clnt = task->tk_client; | 25776 | struct rpc_clnt *clnt = task->tk_client; |
25969 | struct unx_cred *cred = container_of(task->tk_rqstp->rq_cred, struct unx_cred, uc_base); | 25777 | struct unx_cred *cred = container_of(task->tk_rqstp->rq_cred, struct unx_cred, uc_base); |
25970 | __be32 *base, *hold; | 25778 | __be32 *base, *hold; |
@@ -25973,24 +25781,23 @@ diff -NurpP --minimal linux-3.4.57/net/sunrpc/auth_unix.c linux-3.4.57-vs2.3.3.9 | |||
25973 | 25781 | ||
25974 | *p++ = htonl(RPC_AUTH_UNIX); | 25782 | *p++ = htonl(RPC_AUTH_UNIX); |
25975 | base = p++; | 25783 | base = p++; |
25976 | @@ -155,9 +160,12 @@ unx_marshal(struct rpc_task *task, __be3 | 25784 | @@ -157,8 +162,11 @@ unx_marshal(struct rpc_task *task, __be3 |
25977 | * Copy the UTS nodename captured when the client was created. | ||
25978 | */ | 25785 | */ |
25979 | p = xdr_encode_array(p, clnt->cl_nodename, clnt->cl_nodelen); | 25786 | p = xdr_encode_array(p, clnt->cl_nodename, clnt->cl_nodelen); |
25980 | + tag = task->tk_client->cl_tag; | ||
25981 | 25787 | ||
25982 | - *p++ = htonl((u32) cred->uc_uid); | 25788 | - *p++ = htonl((u32) from_kuid(&init_user_ns, cred->uc_uid)); |
25983 | - *p++ = htonl((u32) cred->uc_gid); | 25789 | - *p++ = htonl((u32) from_kgid(&init_user_ns, cred->uc_gid)); |
25984 | + *p++ = htonl((u32) TAGINO_UID(tag, | 25790 | + tag = task->tk_client->cl_tag; |
25985 | + cred->uc_uid, cred->uc_tag)); | 25791 | + *p++ = htonl((u32) from_kuid(&init_user_ns, |
25986 | + *p++ = htonl((u32) TAGINO_GID(tag, | 25792 | + TAGINO_KUID(tag, cred->uc_uid, cred->uc_tag))); |
25987 | + cred->uc_gid, cred->uc_tag)); | 25793 | + *p++ = htonl((u32) from_kgid(&init_user_ns, |
25794 | + TAGINO_KGID(tag, cred->uc_gid, cred->uc_tag))); | ||
25988 | hold = p++; | 25795 | hold = p++; |
25989 | for (i = 0; i < 16 && cred->uc_gids[i] != (gid_t) NOGROUP; i++) | 25796 | for (i = 0; i < 16 && gid_valid(cred->uc_gids[i]); i++) |
25990 | *p++ = htonl((u32) cred->uc_gids[i]); | 25797 | *p++ = htonl((u32) from_kgid(&init_user_ns, cred->uc_gids[i])); |
25991 | diff -NurpP --minimal linux-3.4.57/net/sunrpc/clnt.c linux-3.4.57-vs2.3.3.9/net/sunrpc/clnt.c | 25798 | diff -NurpP --minimal linux-3.10.17/net/sunrpc/clnt.c linux-3.10.17-vs2.3.6.6/net/sunrpc/clnt.c |
25992 | --- linux-3.4.57/net/sunrpc/clnt.c 2013-08-13 14:13:48.000000000 +0000 | 25799 | --- linux-3.10.17/net/sunrpc/clnt.c 2013-10-25 15:17:47.000000000 +0000 |
25993 | +++ linux-3.4.57-vs2.3.3.9/net/sunrpc/clnt.c 2013-02-11 23:37:30.000000000 +0000 | 25800 | +++ linux-3.10.17-vs2.3.6.6/net/sunrpc/clnt.c 2013-08-22 20:30:00.000000000 +0000 |
25994 | @@ -31,6 +31,7 @@ | 25801 | @@ -31,6 +31,7 @@ |
25995 | #include <linux/in6.h> | 25802 | #include <linux/in6.h> |
25996 | #include <linux/un.h> | 25803 | #include <linux/un.h> |
@@ -25998,8 +25805,8 @@ diff -NurpP --minimal linux-3.4.57/net/sunrpc/clnt.c linux-3.4.57-vs2.3.3.9/net/ | |||
25998 | +#include <linux/vs_cvirt.h> | 25805 | +#include <linux/vs_cvirt.h> |
25999 | 25806 | ||
26000 | #include <linux/sunrpc/clnt.h> | 25807 | #include <linux/sunrpc/clnt.h> |
26001 | #include <linux/sunrpc/rpc_pipe_fs.h> | 25808 | #include <linux/sunrpc/addr.h> |
26002 | @@ -483,6 +484,9 @@ struct rpc_clnt *rpc_create(struct rpc_c | 25809 | @@ -486,6 +487,9 @@ struct rpc_clnt *rpc_create(struct rpc_c |
26003 | if (!(args->flags & RPC_CLNT_CREATE_QUIET)) | 25810 | if (!(args->flags & RPC_CLNT_CREATE_QUIET)) |
26004 | clnt->cl_chatty = 1; | 25811 | clnt->cl_chatty = 1; |
26005 | 25812 | ||
@@ -26009,9 +25816,9 @@ diff -NurpP --minimal linux-3.4.57/net/sunrpc/clnt.c linux-3.4.57-vs2.3.3.9/net/ | |||
26009 | return clnt; | 25816 | return clnt; |
26010 | } | 25817 | } |
26011 | EXPORT_SYMBOL_GPL(rpc_create); | 25818 | EXPORT_SYMBOL_GPL(rpc_create); |
26012 | diff -NurpP --minimal linux-3.4.57/net/unix/af_unix.c linux-3.4.57-vs2.3.3.9/net/unix/af_unix.c | 25819 | diff -NurpP --minimal linux-3.10.17/net/unix/af_unix.c linux-3.10.17-vs2.3.6.6/net/unix/af_unix.c |
26013 | --- linux-3.4.57/net/unix/af_unix.c 2013-08-13 14:13:49.000000000 +0000 | 25820 | --- linux-3.10.17/net/unix/af_unix.c 2013-07-14 17:01:39.000000000 +0000 |
26014 | +++ linux-3.4.57-vs2.3.3.9/net/unix/af_unix.c 2013-07-14 13:38:40.000000000 +0000 | 25821 | +++ linux-3.10.17-vs2.3.6.6/net/unix/af_unix.c 2013-08-22 20:30:00.000000000 +0000 |
26015 | @@ -114,6 +114,8 @@ | 25822 | @@ -114,6 +114,8 @@ |
26016 | #include <linux/mount.h> | 25823 | #include <linux/mount.h> |
26017 | #include <net/checksum.h> | 25824 | #include <net/checksum.h> |
@@ -26019,9 +25826,9 @@ diff -NurpP --minimal linux-3.4.57/net/unix/af_unix.c linux-3.4.57-vs2.3.3.9/net | |||
26019 | +#include <linux/vs_context.h> | 25826 | +#include <linux/vs_context.h> |
26020 | +#include <linux/vs_limit.h> | 25827 | +#include <linux/vs_limit.h> |
26021 | 25828 | ||
26022 | struct hlist_head unix_socket_table[UNIX_HASH_SIZE + 1]; | 25829 | struct hlist_head unix_socket_table[2 * UNIX_HASH_SIZE]; |
26023 | EXPORT_SYMBOL_GPL(unix_socket_table); | 25830 | EXPORT_SYMBOL_GPL(unix_socket_table); |
26024 | @@ -261,6 +263,8 @@ static struct sock *__unix_find_socket_b | 25831 | @@ -270,6 +272,8 @@ static struct sock *__unix_find_socket_b |
26025 | if (!net_eq(sock_net(s), net)) | 25832 | if (!net_eq(sock_net(s), net)) |
26026 | continue; | 25833 | continue; |
26027 | 25834 | ||
@@ -26030,28 +25837,27 @@ diff -NurpP --minimal linux-3.4.57/net/unix/af_unix.c linux-3.4.57-vs2.3.3.9/net | |||
26030 | if (u->addr->len == len && | 25837 | if (u->addr->len == len && |
26031 | !memcmp(u->addr->name, sunname, len)) | 25838 | !memcmp(u->addr->name, sunname, len)) |
26032 | goto found; | 25839 | goto found; |
26033 | @@ -2265,6 +2269,8 @@ static struct sock *unix_seq_idx(struct | 25840 | @@ -2257,6 +2261,8 @@ static struct sock *unix_from_bucket(str |
26034 | for (s = first_unix_socket(&iter->i); s; s = next_unix_socket(&iter->i, s)) { | 25841 | for (sk = sk_head(&unix_socket_table[bucket]); sk; sk = sk_next(sk)) { |
26035 | if (sock_net(s) != seq_file_net(seq)) | 25842 | if (sock_net(sk) != seq_file_net(seq)) |
26036 | continue; | 25843 | continue; |
26037 | + if (!nx_check(s->sk_nid, VS_WATCH_P | VS_IDENT)) | 25844 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) |
26038 | + continue; | 25845 | + continue; |
26039 | if (off == pos) | 25846 | if (++count == offset) |
26040 | return s; | 25847 | break; |
26041 | ++off; | 25848 | } |
26042 | @@ -2289,7 +2295,8 @@ static void *unix_seq_next(struct seq_fi | 25849 | @@ -2274,6 +2280,8 @@ static struct sock *unix_next_socket(str |
26043 | sk = first_unix_socket(&iter->i); | 25850 | sk = sk_next(sk); |
26044 | else | 25851 | if (!sk) |
26045 | sk = next_unix_socket(&iter->i, sk); | 25852 | goto next_bucket; |
26046 | - while (sk && (sock_net(sk) != seq_file_net(seq))) | 25853 | + if (!nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT)) |
26047 | + while (sk && (sock_net(sk) != seq_file_net(seq) || | 25854 | + continue; |
26048 | + !nx_check(sk->sk_nid, VS_WATCH_P | VS_IDENT))) | 25855 | if (sock_net(sk) == seq_file_net(seq)) |
26049 | sk = next_unix_socket(&iter->i, sk); | 25856 | return sk; |
26050 | return sk; | 25857 | } |
26051 | } | 25858 | diff -NurpP --minimal linux-3.10.17/scripts/checksyscalls.sh linux-3.10.17-vs2.3.6.6/scripts/checksyscalls.sh |
26052 | diff -NurpP --minimal linux-3.4.57/scripts/checksyscalls.sh linux-3.4.57-vs2.3.3.9/scripts/checksyscalls.sh | 25859 | --- linux-3.10.17/scripts/checksyscalls.sh 2012-12-11 03:30:57.000000000 +0000 |
26053 | --- linux-3.4.57/scripts/checksyscalls.sh 2012-03-19 18:47:34.000000000 +0000 | 25860 | +++ linux-3.10.17-vs2.3.6.6/scripts/checksyscalls.sh 2013-08-22 20:30:00.000000000 +0000 |
26054 | +++ linux-3.4.57-vs2.3.3.9/scripts/checksyscalls.sh 2012-05-21 16:15:05.000000000 +0000 | ||
26055 | @@ -193,7 +193,6 @@ cat << EOF | 25861 | @@ -193,7 +193,6 @@ cat << EOF |
26056 | #define __IGNORE_afs_syscall | 25862 | #define __IGNORE_afs_syscall |
26057 | #define __IGNORE_getpmsg | 25863 | #define __IGNORE_getpmsg |
@@ -26060,24 +25866,24 @@ diff -NurpP --minimal linux-3.4.57/scripts/checksyscalls.sh linux-3.4.57-vs2.3.3 | |||
26060 | EOF | 25866 | EOF |
26061 | } | 25867 | } |
26062 | 25868 | ||
26063 | diff -NurpP --minimal linux-3.4.57/security/commoncap.c linux-3.4.57-vs2.3.3.9/security/commoncap.c | 25869 | diff -NurpP --minimal linux-3.10.17/security/commoncap.c linux-3.10.17-vs2.3.6.6/security/commoncap.c |
26064 | --- linux-3.4.57/security/commoncap.c 2012-05-21 16:07:41.000000000 +0000 | 25870 | --- linux-3.10.17/security/commoncap.c 2013-05-31 13:45:34.000000000 +0000 |
26065 | +++ linux-3.4.57-vs2.3.3.9/security/commoncap.c 2012-05-21 16:15:05.000000000 +0000 | 25871 | +++ linux-3.10.17-vs2.3.6.6/security/commoncap.c 2013-08-22 20:30:00.000000000 +0000 |
26066 | @@ -76,14 +76,20 @@ int cap_netlink_send(struct sock *sk, st | 25872 | @@ -76,6 +76,7 @@ int cap_netlink_send(struct sock *sk, st |
26067 | int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, | 25873 | int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, |
26068 | int cap, int audit) | 25874 | int cap, int audit) |
26069 | { | 25875 | { |
26070 | + struct vx_info *vxi = current_vx_info(); /* FIXME: get vxi from cred? */ | 25876 | + struct vx_info *vxi = current_vx_info(); /* FIXME: get vxi from cred? */ |
26071 | + | 25877 | struct user_namespace *ns = targ_ns; |
26072 | for (;;) { | ||
26073 | /* The creator of the user namespace has all caps. */ | ||
26074 | if (targ_ns != &init_user_ns && targ_ns->creator == cred->user) | ||
26075 | return 0; | ||
26076 | 25878 | ||
25879 | /* See if cred has the capability in the target user namespace | ||
25880 | @@ -84,8 +85,12 @@ int cap_capable(const struct cred *cred, | ||
25881 | */ | ||
25882 | for (;;) { | ||
26077 | /* Do we have the necessary capabilities? */ | 25883 | /* Do we have the necessary capabilities? */ |
26078 | - if (targ_ns == cred->user->user_ns) | 25884 | - if (ns == cred->user_ns) |
26079 | - return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM; | 25885 | - return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM; |
26080 | + if (targ_ns == cred->user->user_ns) { | 25886 | + if (ns == cred->user_ns) { |
26081 | + if (vx_info_flags(vxi, VXF_STATE_SETUP, 0) && | 25887 | + if (vx_info_flags(vxi, VXF_STATE_SETUP, 0) && |
26082 | + cap_raised(cred->cap_effective, cap)) | 25888 | + cap_raised(cred->cap_effective, cap)) |
26083 | + return 0; | 25889 | + return 0; |
@@ -26085,8 +25891,8 @@ diff -NurpP --minimal linux-3.4.57/security/commoncap.c linux-3.4.57-vs2.3.3.9/s | |||
26085 | + } | 25891 | + } |
26086 | 25892 | ||
26087 | /* Have we tried all of the parent namespaces? */ | 25893 | /* Have we tried all of the parent namespaces? */ |
26088 | if (targ_ns == &init_user_ns) | 25894 | if (ns == &init_user_ns) |
26089 | @@ -612,7 +618,7 @@ int cap_inode_setxattr(struct dentry *de | 25895 | @@ -628,7 +633,7 @@ int cap_inode_setxattr(struct dentry *de |
26090 | 25896 | ||
26091 | if (!strncmp(name, XATTR_SECURITY_PREFIX, | 25897 | if (!strncmp(name, XATTR_SECURITY_PREFIX, |
26092 | sizeof(XATTR_SECURITY_PREFIX) - 1) && | 25898 | sizeof(XATTR_SECURITY_PREFIX) - 1) && |
@@ -26095,7 +25901,7 @@ diff -NurpP --minimal linux-3.4.57/security/commoncap.c linux-3.4.57-vs2.3.3.9/s | |||
26095 | return -EPERM; | 25901 | return -EPERM; |
26096 | return 0; | 25902 | return 0; |
26097 | } | 25903 | } |
26098 | @@ -638,7 +644,7 @@ int cap_inode_removexattr(struct dentry | 25904 | @@ -654,7 +659,7 @@ int cap_inode_removexattr(struct dentry |
26099 | 25905 | ||
26100 | if (!strncmp(name, XATTR_SECURITY_PREFIX, | 25906 | if (!strncmp(name, XATTR_SECURITY_PREFIX, |
26101 | sizeof(XATTR_SECURITY_PREFIX) - 1) && | 25907 | sizeof(XATTR_SECURITY_PREFIX) - 1) && |
@@ -26104,10 +25910,10 @@ diff -NurpP --minimal linux-3.4.57/security/commoncap.c linux-3.4.57-vs2.3.3.9/s | |||
26104 | return -EPERM; | 25910 | return -EPERM; |
26105 | return 0; | 25911 | return 0; |
26106 | } | 25912 | } |
26107 | diff -NurpP --minimal linux-3.4.57/security/selinux/hooks.c linux-3.4.57-vs2.3.3.9/security/selinux/hooks.c | 25913 | diff -NurpP --minimal linux-3.10.17/security/selinux/hooks.c linux-3.10.17-vs2.3.6.6/security/selinux/hooks.c |
26108 | --- linux-3.4.57/security/selinux/hooks.c 2013-08-13 14:13:49.000000000 +0000 | 25914 | --- linux-3.10.17/security/selinux/hooks.c 2013-07-14 17:01:42.000000000 +0000 |
26109 | +++ linux-3.4.57-vs2.3.3.9/security/selinux/hooks.c 2012-09-01 08:50:49.000000000 +0000 | 25915 | +++ linux-3.10.17-vs2.3.6.6/security/selinux/hooks.c 2013-08-22 20:30:00.000000000 +0000 |
26110 | @@ -66,7 +66,6 @@ | 25916 | @@ -67,7 +67,6 @@ |
26111 | #include <linux/dccp.h> | 25917 | #include <linux/dccp.h> |
26112 | #include <linux/quota.h> | 25918 | #include <linux/quota.h> |
26113 | #include <linux/un.h> /* for Unix socket types */ | 25919 | #include <linux/un.h> /* for Unix socket types */ |