aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Mackall <mpm@selenic.com>2006-01-08 04:05:24 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-08 23:14:11 -0500
commite585e47031751f4e393e10ffd922885508b958dd (patch)
tree08a641dab000aacb25c6b7331c32271e4109535f
parent22c4e3084eb8b88288a622a57d8b35c450a439f2 (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/Kconfig3
-rw-r--r--arch/arm/Kconfig4
-rw-r--r--arch/arm26/Kconfig4
-rw-r--r--arch/cris/Kconfig4
-rw-r--r--arch/h8300/Kconfig4
-rw-r--r--arch/i386/Kconfig4
-rw-r--r--arch/m68k/Kconfig4
-rw-r--r--arch/m68knommu/Kconfig4
-rw-r--r--arch/parisc/Kconfig3
-rw-r--r--arch/powerpc/Kconfig3
-rw-r--r--arch/ppc/Kconfig3
-rw-r--r--arch/sh/Kconfig4
-rw-r--r--arch/sparc/Kconfig4
-rw-r--r--arch/sparc64/Kconfig5
-rw-r--r--arch/um/Kconfig4
-rw-r--r--arch/v850/Kconfig3
-rw-r--r--arch/x86_64/Kconfig5
-rw-r--r--init/Kconfig9
-rw-r--r--kernel/sys_ni.c19
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
21config UID16
22 bool
23
24config RWSEM_GENERIC_SPINLOCK 21config 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
49config UID16
50 bool
51 default y
52
53config RWSEM_GENERIC_SPINLOCK 49config 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
37config UID16
38 bool
39 default y
40
41config RWSEM_GENERIC_SPINLOCK 37config 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
12config UID16
13 bool
14 default y
15
16config RWSEM_GENERIC_SPINLOCK 12config 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
24config UID16
25 bool
26 default y
27
28config RWSEM_GENERIC_SPINLOCK 24config 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
29config SBUS 29config SBUS
30 bool 30 bool
31 31
32config UID16
33 bool
34 default y
35
36config GENERIC_ISA_DMA 32config 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
13config UID16
14 bool
15 default y
16
17config RWSEM_GENERIC_SPINLOCK 13config 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
20config UID16
21 bool
22 default y
23
24config RWSEM_GENERIC_SPINLOCK 20config 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
19config STACK_GROWSUP 19config STACK_GROWSUP
20 def_bool y 20 def_bool y
21 21
22config UID16
23 bool
24
25config RWSEM_GENERIC_SPINLOCK 22config 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
29config UID16
30 bool
31
32config GENERIC_HARDIRQS 29config 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
11config UID16
12 bool
13
14config GENERIC_HARDIRQS 11config 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
17config UID16
18 bool
19 default y
20
21config RWSEM_GENERIC_SPINLOCK 17config 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
12config UID16
13 bool
14 default y
15
16config HIGHMEM 12config 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
312config UID16
313 bool
314 depends on SPARC32_COMPAT
315 default y
316
317config BINFMT_ELF32 312config 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
22config PCI 22config PCI
23 bool 23 bool
24 24
25config UID16
26 bool
27 default y
28
29config GENERIC_CALIBRATE_DELAY 25config 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"
10config MMU 10config MMU
11 bool 11 bool
12 default n 12 default n
13config UID16
14 bool
15 default n
16config RWSEM_GENERIC_SPINLOCK 13config 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
545config UID16
546 bool
547 depends on IA32_EMULATION
548 default y
549
550endmenu 545endmenu
551 546
552source "net/Kconfig" 547source "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
229source "usr/Kconfig" 229source "usr/Kconfig"
230 230
231config 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
231config CC_OPTIMIZE_FOR_SIZE 240config 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);
83cond_syscall(sys_inotify_add_watch); 83cond_syscall(sys_inotify_add_watch);
84cond_syscall(sys_inotify_rm_watch); 84cond_syscall(sys_inotify_rm_watch);
85cond_syscall(sys_migrate_pages); 85cond_syscall(sys_migrate_pages);
86cond_syscall(sys_chown16);
87cond_syscall(sys_fchown16);
88cond_syscall(sys_getegid16);
89cond_syscall(sys_geteuid16);
90cond_syscall(sys_getgid16);
91cond_syscall(sys_getgroups16);
92cond_syscall(sys_getresgid16);
93cond_syscall(sys_getresuid16);
94cond_syscall(sys_getuid16);
95cond_syscall(sys_lchown16);
96cond_syscall(sys_setfsgid16);
97cond_syscall(sys_setfsuid16);
98cond_syscall(sys_setgid16);
99cond_syscall(sys_setgroups16);
100cond_syscall(sys_setregid16);
101cond_syscall(sys_setresgid16);
102cond_syscall(sys_setresuid16);
103cond_syscall(sys_setreuid16);
104cond_syscall(sys_setuid16);
86 105
87/* arch-specific weak syscall entries */ 106/* arch-specific weak syscall entries */
88cond_syscall(sys_pciconfig_read); 107cond_syscall(sys_pciconfig_read);