diff options
author | Matt Mackall <mpm@selenic.com> | 2006-01-08 04:05:24 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-08 23:14:11 -0500 |
commit | e585e47031751f4e393e10ffd922885508b958dd (patch) | |
tree | 08a641dab000aacb25c6b7331c32271e4109535f | |
parent | 22c4e3084eb8b88288a622a57d8b35c450a439f2 (diff) |
[PATCH] tiny: Make *[ug]id16 support optional
Configurable 16-bit UID and friends support
This allows turning off the legacy 16 bit UID interfaces on embedded platforms.
text data bss dec hex filename
3330172 529036 190556 4049764 3dcb64 vmlinux-baseline
3328268 529040 190556 4047864 3dc3f8 vmlinux
From: Adrian Bunk <bunk@stusta.de>
UID16 was accidentially disabled for !EMBEDDED.
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/alpha/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | arch/arm26/Kconfig | 4 | ||||
-rw-r--r-- | arch/cris/Kconfig | 4 | ||||
-rw-r--r-- | arch/h8300/Kconfig | 4 | ||||
-rw-r--r-- | arch/i386/Kconfig | 4 | ||||
-rw-r--r-- | arch/m68k/Kconfig | 4 | ||||
-rw-r--r-- | arch/m68knommu/Kconfig | 4 | ||||
-rw-r--r-- | arch/parisc/Kconfig | 3 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 3 | ||||
-rw-r--r-- | arch/ppc/Kconfig | 3 | ||||
-rw-r--r-- | arch/sh/Kconfig | 4 | ||||
-rw-r--r-- | arch/sparc/Kconfig | 4 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 5 | ||||
-rw-r--r-- | arch/um/Kconfig | 4 | ||||
-rw-r--r-- | arch/v850/Kconfig | 3 | ||||
-rw-r--r-- | arch/x86_64/Kconfig | 5 | ||||
-rw-r--r-- | init/Kconfig | 9 | ||||
-rw-r--r-- | kernel/sys_ni.c | 19 |
19 files changed, 28 insertions, 65 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 153337ff1d7b..eedf41bf7057 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -18,9 +18,6 @@ config MMU | |||
18 | bool | 18 | bool |
19 | default y | 19 | default y |
20 | 20 | ||
21 | config UID16 | ||
22 | bool | ||
23 | |||
24 | config RWSEM_GENERIC_SPINLOCK | 21 | config RWSEM_GENERIC_SPINLOCK |
25 | bool | 22 | bool |
26 | 23 | ||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 16a5d522b2f2..7a74e3e5f916 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -46,10 +46,6 @@ config MCA | |||
46 | <file:Documentation/mca.txt> (and especially the web page given | 46 | <file:Documentation/mca.txt> (and especially the web page given |
47 | there) before attempting to build an MCA bus kernel. | 47 | there) before attempting to build an MCA bus kernel. |
48 | 48 | ||
49 | config UID16 | ||
50 | bool | ||
51 | default y | ||
52 | |||
53 | config RWSEM_GENERIC_SPINLOCK | 49 | config RWSEM_GENERIC_SPINLOCK |
54 | bool | 50 | bool |
55 | default y | 51 | default y |
diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig index 1f00b3d03a07..274e07019b46 100644 --- a/arch/arm26/Kconfig +++ b/arch/arm26/Kconfig | |||
@@ -34,10 +34,6 @@ config FORCE_MAX_ZONEORDER | |||
34 | int | 34 | int |
35 | default 9 | 35 | default 9 |
36 | 36 | ||
37 | config UID16 | ||
38 | bool | ||
39 | default y | ||
40 | |||
41 | config RWSEM_GENERIC_SPINLOCK | 37 | config RWSEM_GENERIC_SPINLOCK |
42 | bool | 38 | bool |
43 | default y | 39 | default y |
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index e5979d68e352..b83261949737 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig | |||
@@ -9,10 +9,6 @@ config MMU | |||
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | 11 | ||
12 | config UID16 | ||
13 | bool | ||
14 | default y | ||
15 | |||
16 | config RWSEM_GENERIC_SPINLOCK | 12 | config RWSEM_GENERIC_SPINLOCK |
17 | bool | 13 | bool |
18 | default y | 14 | default y |
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 26698a49f153..80940d712acf 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig | |||
@@ -21,10 +21,6 @@ config FPU | |||
21 | bool | 21 | bool |
22 | default n | 22 | default n |
23 | 23 | ||
24 | config UID16 | ||
25 | bool | ||
26 | default y | ||
27 | |||
28 | config RWSEM_GENERIC_SPINLOCK | 24 | config RWSEM_GENERIC_SPINLOCK |
29 | bool | 25 | bool |
30 | default y | 26 | default y |
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 810ba8c37a5f..d849c6870e3a 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -29,10 +29,6 @@ config MMU | |||
29 | config SBUS | 29 | config SBUS |
30 | bool | 30 | bool |
31 | 31 | ||
32 | config UID16 | ||
33 | bool | ||
34 | default y | ||
35 | |||
36 | config GENERIC_ISA_DMA | 32 | config GENERIC_ISA_DMA |
37 | bool | 33 | bool |
38 | default y | 34 | default y |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 1dd5d18b2201..96b919828053 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -10,10 +10,6 @@ config MMU | |||
10 | bool | 10 | bool |
11 | default y | 11 | default y |
12 | 12 | ||
13 | config UID16 | ||
14 | bool | ||
15 | default y | ||
16 | |||
17 | config RWSEM_GENERIC_SPINLOCK | 13 | config RWSEM_GENERIC_SPINLOCK |
18 | bool | 14 | bool |
19 | default y | 15 | default y |
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index b96498120fe9..e2a6e8648960 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -17,10 +17,6 @@ config FPU | |||
17 | bool | 17 | bool |
18 | default n | 18 | default n |
19 | 19 | ||
20 | config UID16 | ||
21 | bool | ||
22 | default y | ||
23 | |||
24 | config RWSEM_GENERIC_SPINLOCK | 20 | config RWSEM_GENERIC_SPINLOCK |
25 | bool | 21 | bool |
26 | default y | 22 | default y |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 874a283edb95..e77a06e9621e 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -19,9 +19,6 @@ config MMU | |||
19 | config STACK_GROWSUP | 19 | config STACK_GROWSUP |
20 | def_bool y | 20 | def_bool y |
21 | 21 | ||
22 | config UID16 | ||
23 | bool | ||
24 | |||
25 | config RWSEM_GENERIC_SPINLOCK | 22 | config RWSEM_GENERIC_SPINLOCK |
26 | def_bool y | 23 | def_bool y |
27 | 24 | ||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index db93dbc0e21a..331483ace0d9 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -26,9 +26,6 @@ config MMU | |||
26 | bool | 26 | bool |
27 | default y | 27 | default y |
28 | 28 | ||
29 | config UID16 | ||
30 | bool | ||
31 | |||
32 | config GENERIC_HARDIRQS | 29 | config GENERIC_HARDIRQS |
33 | bool | 30 | bool |
34 | default y | 31 | default y |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index cc3f64c084c5..e396f4591d59 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -8,9 +8,6 @@ config MMU | |||
8 | bool | 8 | bool |
9 | default y | 9 | default y |
10 | 10 | ||
11 | config UID16 | ||
12 | bool | ||
13 | |||
14 | config GENERIC_HARDIRQS | 11 | config GENERIC_HARDIRQS |
15 | bool | 12 | bool |
16 | default y | 13 | default y |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 64f5ae0ff96d..8cf6d437a630 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -14,10 +14,6 @@ config SUPERH | |||
14 | gaming console. The SuperH port has a home page at | 14 | gaming console. The SuperH port has a home page at |
15 | <http://www.linux-sh.org/>. | 15 | <http://www.linux-sh.org/>. |
16 | 16 | ||
17 | config UID16 | ||
18 | bool | ||
19 | default y | ||
20 | |||
21 | config RWSEM_GENERIC_SPINLOCK | 17 | config RWSEM_GENERIC_SPINLOCK |
22 | bool | 18 | bool |
23 | default y | 19 | default y |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 56c34e7fd4ee..f944b58cdfe7 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -9,10 +9,6 @@ config MMU | |||
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | 11 | ||
12 | config UID16 | ||
13 | bool | ||
14 | default y | ||
15 | |||
16 | config HIGHMEM | 12 | config HIGHMEM |
17 | bool | 13 | bool |
18 | default y | 14 | default y |
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index c4b7ad70cd7c..b775ceb4cf98 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -309,11 +309,6 @@ config COMPAT | |||
309 | depends on SPARC32_COMPAT | 309 | depends on SPARC32_COMPAT |
310 | default y | 310 | default y |
311 | 311 | ||
312 | config UID16 | ||
313 | bool | ||
314 | depends on SPARC32_COMPAT | ||
315 | default y | ||
316 | |||
317 | config BINFMT_ELF32 | 312 | config BINFMT_ELF32 |
318 | tristate "Kernel support for 32-bit ELF binaries" | 313 | tristate "Kernel support for 32-bit ELF binaries" |
319 | depends on SPARC32_COMPAT | 314 | depends on SPARC32_COMPAT |
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index cdaa2ab19258..b4ff2e576021 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig | |||
@@ -22,10 +22,6 @@ config SBUS | |||
22 | config PCI | 22 | config PCI |
23 | bool | 23 | bool |
24 | 24 | ||
25 | config UID16 | ||
26 | bool | ||
27 | default y | ||
28 | |||
29 | config GENERIC_CALIBRATE_DELAY | 25 | config GENERIC_CALIBRATE_DELAY |
30 | bool | 26 | bool |
31 | default y | 27 | default y |
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index 310865903234..04494638b963 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig | |||
@@ -10,9 +10,6 @@ mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration" | |||
10 | config MMU | 10 | config MMU |
11 | bool | 11 | bool |
12 | default n | 12 | default n |
13 | config UID16 | ||
14 | bool | ||
15 | default n | ||
16 | config RWSEM_GENERIC_SPINLOCK | 13 | config RWSEM_GENERIC_SPINLOCK |
17 | bool | 14 | bool |
18 | default y | 15 | default y |
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 6ece645e4dbe..4f3e925962c3 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -542,11 +542,6 @@ config SYSVIPC_COMPAT | |||
542 | depends on COMPAT && SYSVIPC | 542 | depends on COMPAT && SYSVIPC |
543 | default y | 543 | default y |
544 | 544 | ||
545 | config UID16 | ||
546 | bool | ||
547 | depends on IA32_EMULATION | ||
548 | default y | ||
549 | |||
550 | endmenu | 545 | endmenu |
551 | 546 | ||
552 | source "net/Kconfig" | 547 | source "net/Kconfig" |
diff --git a/init/Kconfig b/init/Kconfig index 0eb65f2ad8c9..1a1f114a37e8 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -228,6 +228,15 @@ config CPUSETS | |||
228 | 228 | ||
229 | source "usr/Kconfig" | 229 | source "usr/Kconfig" |
230 | 230 | ||
231 | config UID16 | ||
232 | bool "Enable 16-bit UID system calls" if EMBEDDED | ||
233 | depends !ALPHA && !PPC && !PPC64 && !PARISC && !V850 && !ARCH_S390X | ||
234 | depends !X86_64 || IA32_EMULATION | ||
235 | depends !SPARC64 || SPARC32_COMPAT | ||
236 | default y | ||
237 | help | ||
238 | This enables the legacy 16-bit UID syscall wrappers. | ||
239 | |||
231 | config CC_OPTIMIZE_FOR_SIZE | 240 | config CC_OPTIMIZE_FOR_SIZE |
232 | bool "Optimize for size (Look out for broken compilers!)" | 241 | bool "Optimize for size (Look out for broken compilers!)" |
233 | default y | 242 | default y |
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c index 7a8bc7f60d91..72cafc922d39 100644 --- a/kernel/sys_ni.c +++ b/kernel/sys_ni.c | |||
@@ -83,6 +83,25 @@ cond_syscall(sys_inotify_init); | |||
83 | cond_syscall(sys_inotify_add_watch); | 83 | cond_syscall(sys_inotify_add_watch); |
84 | cond_syscall(sys_inotify_rm_watch); | 84 | cond_syscall(sys_inotify_rm_watch); |
85 | cond_syscall(sys_migrate_pages); | 85 | cond_syscall(sys_migrate_pages); |
86 | cond_syscall(sys_chown16); | ||
87 | cond_syscall(sys_fchown16); | ||
88 | cond_syscall(sys_getegid16); | ||
89 | cond_syscall(sys_geteuid16); | ||
90 | cond_syscall(sys_getgid16); | ||
91 | cond_syscall(sys_getgroups16); | ||
92 | cond_syscall(sys_getresgid16); | ||
93 | cond_syscall(sys_getresuid16); | ||
94 | cond_syscall(sys_getuid16); | ||
95 | cond_syscall(sys_lchown16); | ||
96 | cond_syscall(sys_setfsgid16); | ||
97 | cond_syscall(sys_setfsuid16); | ||
98 | cond_syscall(sys_setgid16); | ||
99 | cond_syscall(sys_setgroups16); | ||
100 | cond_syscall(sys_setregid16); | ||
101 | cond_syscall(sys_setresgid16); | ||
102 | cond_syscall(sys_setresuid16); | ||
103 | cond_syscall(sys_setreuid16); | ||
104 | cond_syscall(sys_setuid16); | ||
86 | 105 | ||
87 | /* arch-specific weak syscall entries */ | 106 | /* arch-specific weak syscall entries */ |
88 | cond_syscall(sys_pciconfig_read); | 107 | cond_syscall(sys_pciconfig_read); |