[PATCH] tiny: Make *[ug]id16 support optional
Matt Mackall [Sun, 8 Jan 2006 09:05:24 +0000 (01:05 -0800)]
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>

19 files changed:
arch/alpha/Kconfig
arch/arm/Kconfig
arch/arm26/Kconfig
arch/cris/Kconfig
arch/h8300/Kconfig
arch/i386/Kconfig
arch/m68k/Kconfig
arch/m68knommu/Kconfig
arch/parisc/Kconfig
arch/powerpc/Kconfig
arch/ppc/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/sparc64/Kconfig
arch/um/Kconfig
arch/v850/Kconfig
arch/x86_64/Kconfig
init/Kconfig
kernel/sys_ni.c

index 153337f..eedf41b 100644 (file)
@@ -18,9 +18,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config RWSEM_GENERIC_SPINLOCK
        bool
 
index 16a5d52..7a74e3e 100644 (file)
@@ -46,10 +46,6 @@ config MCA
          <file:Documentation/mca.txt> (and especially the web page given
          there) before attempting to build an MCA bus kernel.
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 1f00b3d..274e070 100644 (file)
@@ -34,10 +34,6 @@ config FORCE_MAX_ZONEORDER
         int
         default 9
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index e5979d6..b832619 100644 (file)
@@ -9,10 +9,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 26698a4..80940d7 100644 (file)
@@ -21,10 +21,6 @@ config FPU
        bool
        default n
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 810ba8c..d849c68 100644 (file)
@@ -29,10 +29,6 @@ config MMU
 config SBUS
        bool
 
-config UID16
-       bool
-       default y
-
 config GENERIC_ISA_DMA
        bool
        default y
index 1dd5d18..96b9198 100644 (file)
@@ -10,10 +10,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index b964981..e2a6e86 100644 (file)
@@ -17,10 +17,6 @@ config FPU
        bool
        default n
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 874a283..e77a06e 100644 (file)
@@ -19,9 +19,6 @@ config MMU
 config STACK_GROWSUP
        def_bool y
 
-config UID16
-       bool
-
 config RWSEM_GENERIC_SPINLOCK
        def_bool y
 
index db93dbc..331483a 100644 (file)
@@ -26,9 +26,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
index cc3f64c..e396f45 100644 (file)
@@ -8,9 +8,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-
 config GENERIC_HARDIRQS
        bool
        default y
index 64f5ae0..8cf6d43 100644 (file)
@@ -14,10 +14,6 @@ config SUPERH
          gaming console.  The SuperH port has a home page at
          <http://www.linux-sh.org/>.
 
-config UID16
-       bool
-       default y
-
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 56c34e7..f944b58 100644 (file)
@@ -9,10 +9,6 @@ config MMU
        bool
        default y
 
-config UID16
-       bool
-       default y
-
 config HIGHMEM
        bool
        default y
index c4b7ad7..b775ceb 100644 (file)
@@ -309,11 +309,6 @@ config COMPAT
        depends on SPARC32_COMPAT
        default y
 
-config UID16
-       bool
-       depends on SPARC32_COMPAT
-       default y
-
 config BINFMT_ELF32
        tristate "Kernel support for 32-bit ELF binaries"
        depends on SPARC32_COMPAT
index cdaa2ab..b4ff2e5 100644 (file)
@@ -22,10 +22,6 @@ config SBUS
 config PCI
        bool
 
-config UID16
-       bool
-       default y
-
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
index 3108659..0449463 100644 (file)
@@ -10,9 +10,6 @@ mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration"
 config MMU
                bool
        default n
-config UID16
-       bool
-       default n
 config RWSEM_GENERIC_SPINLOCK
        bool
        default y
index 6ece645..4f3e925 100644 (file)
@@ -542,11 +542,6 @@ config SYSVIPC_COMPAT
        depends on COMPAT && SYSVIPC
        default y
 
-config UID16
-       bool
-       depends on IA32_EMULATION
-       default y
-
 endmenu
 
 source "net/Kconfig"
index 0eb65f2..1a1f114 100644 (file)
@@ -228,6 +228,15 @@ config CPUSETS
 
 source "usr/Kconfig"
 
+config UID16
+       bool "Enable 16-bit UID system calls" if EMBEDDED
+       depends !ALPHA && !PPC && !PPC64 && !PARISC && !V850 && !ARCH_S390X
+       depends !X86_64 || IA32_EMULATION
+       depends !SPARC64 || SPARC32_COMPAT
+       default y
+       help
+         This enables the legacy 16-bit UID syscall wrappers.
+
 config CC_OPTIMIZE_FOR_SIZE
        bool "Optimize for size (Look out for broken compilers!)"
        default y
index 7a8bc7f..72cafc9 100644 (file)
@@ -83,6 +83,25 @@ cond_syscall(sys_inotify_init);
 cond_syscall(sys_inotify_add_watch);
 cond_syscall(sys_inotify_rm_watch);
 cond_syscall(sys_migrate_pages);
+cond_syscall(sys_chown16);
+cond_syscall(sys_fchown16);
+cond_syscall(sys_getegid16);
+cond_syscall(sys_geteuid16);
+cond_syscall(sys_getgid16);
+cond_syscall(sys_getgroups16);
+cond_syscall(sys_getresgid16);
+cond_syscall(sys_getresuid16);
+cond_syscall(sys_getuid16);
+cond_syscall(sys_lchown16);
+cond_syscall(sys_setfsgid16);
+cond_syscall(sys_setfsuid16);
+cond_syscall(sys_setgid16);
+cond_syscall(sys_setgroups16);
+cond_syscall(sys_setregid16);
+cond_syscall(sys_setresgid16);
+cond_syscall(sys_setresuid16);
+cond_syscall(sys_setreuid16);
+cond_syscall(sys_setuid16);
 
 /* arch-specific weak syscall entries */
 cond_syscall(sys_pciconfig_read);