]> git.hungrycats.org Git - linux/commitdiff
[SPARC64]: Clean up uid16 usage just like x86_64 did.
authorDavid S. Miller <davem@nuts.ninka.net>
Mon, 6 Oct 2003 18:41:37 +0000 (11:41 -0700)
committerDavid S. Miller <davem@nuts.ninka.net>
Mon, 6 Oct 2003 18:41:37 +0000 (11:41 -0700)
arch/sparc64/Kconfig
arch/sparc64/defconfig
arch/sparc64/kernel/sys_sparc32.c
include/asm-sparc64/posix_types.h

index d7feea69ec03a063780c4002731ac03b23a91641..f45b04ef0254479fbbb1774867a8be9d61effe91 100644 (file)
@@ -359,6 +359,11 @@ 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 c474129f360b04c6887f6c3eac943f44a343863f..69f7a4eca4f15f538ab4159aed42ce7186d2e4a7 100644 (file)
@@ -75,6 +75,7 @@ CONFIG_RTC=y
 CONFIG_SUN_OPENPROMFS=m
 CONFIG_SPARC32_COMPAT=y
 CONFIG_COMPAT=y
+CONFIG_UID16=y
 CONFIG_BINFMT_ELF32=y
 # CONFIG_BINFMT_AOUT32 is not set
 CONFIG_BINFMT_ELF=y
@@ -979,8 +980,14 @@ CONFIG_INPUT_EVDEV=y
 #
 # Input I/O drivers
 #
-# CONFIG_GAMEPORT is not set
-CONFIG_SOUND_GAMEPORT=y
+CONFIG_GAMEPORT=m
+CONFIG_SOUND_GAMEPORT=m
+# CONFIG_GAMEPORT_NS558 is not set
+# CONFIG_GAMEPORT_L4 is not set
+# CONFIG_GAMEPORT_EMU10K1 is not set
+# CONFIG_GAMEPORT_VORTEX is not set
+# CONFIG_GAMEPORT_FM801 is not set
+# CONFIG_GAMEPORT_CS461x is not set
 CONFIG_SERIO=y
 CONFIG_SERIO_I8042=y
 # CONFIG_SERIO_SERPORT is not set
@@ -1334,6 +1341,9 @@ CONFIG_SND_VIRMIDI=m
 #
 CONFIG_SND_ALI5451=m
 CONFIG_SND_AZT3328=m
+CONFIG_SND_CS46XX=m
+# CONFIG_SND_CS46XX_NEW_DSP is not set
+CONFIG_SND_CS4281=m
 CONFIG_SND_EMU10K1=m
 CONFIG_SND_KORG1212=m
 CONFIG_SND_NM256=m
@@ -1341,15 +1351,20 @@ CONFIG_SND_NM256=m
 # CONFIG_SND_RME96 is not set
 # CONFIG_SND_RME9652 is not set
 # CONFIG_SND_HDSP is not set
+CONFIG_SND_TRIDENT=m
 CONFIG_SND_YMFPCI=m
 CONFIG_SND_ALS4000=m
 CONFIG_SND_CMIPCI=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
 CONFIG_SND_ES1968=m
 CONFIG_SND_MAESTRO3=m
 CONFIG_SND_FM801=m
 CONFIG_SND_ICE1712=m
 # CONFIG_SND_ICE1724 is not set
 CONFIG_SND_INTEL8X0=m
+CONFIG_SND_SONICVIBES=m
 # CONFIG_SND_VIA82XX is not set
 CONFIG_SND_VX222=m
 
index bec0edb4e9ada313c280b340b4082bd83aef7bfb..7e92f4f9456f66bfa353519657fc55e8f847ceb6 100644 (file)
@@ -55,6 +55,7 @@
 #include <linux/vfs.h>
 #include <linux/netfilter_ipv4/ip_tables.h>
 #include <linux/ptrace.h>
+#include <linux/highuid.h>
 
 #include <asm/types.h>
 #include <asm/ipc.h>
@@ -99,34 +100,6 @@ extern asmlinkage long sys_setresgid(gid_t, gid_t, gid_t);
 extern asmlinkage long sys_setfsuid(uid_t);
 extern asmlinkage long sys_setfsgid(gid_t);
  
-/* For this source file, we want overflow handling. */
-
-#undef high2lowuid
-#undef high2lowgid
-#undef low2highuid
-#undef low2highgid
-#undef SET_UID16
-#undef SET_GID16
-#undef NEW_TO_OLD_UID
-#undef NEW_TO_OLD_GID
-#undef SET_OLDSTAT_UID
-#undef SET_OLDSTAT_GID
-#undef SET_STAT_UID
-#undef SET_STAT_GID
-
-#define high2lowuid(uid) ((uid) > 65535) ? (u16)overflowuid : (u16)(uid)
-#define high2lowgid(gid) ((gid) > 65535) ? (u16)overflowgid : (u16)(gid)
-#define low2highuid(uid) ((uid) == (u16)-1) ? (uid_t)-1 : (uid_t)(uid)
-#define low2highgid(gid) ((gid) == (u16)-1) ? (gid_t)-1 : (gid_t)(gid)
-#define SET_UID16(var, uid)    var = high2lowuid(uid)
-#define SET_GID16(var, gid)    var = high2lowgid(gid)
-#define NEW_TO_OLD_UID(uid)    high2lowuid(uid)
-#define NEW_TO_OLD_GID(gid)    high2lowgid(gid)
-#define SET_OLDSTAT_UID(stat, uid)     (stat).st_uid = high2lowuid(uid)
-#define SET_OLDSTAT_GID(stat, gid)     (stat).st_gid = high2lowgid(gid)
-#define SET_STAT_UID(stat, uid)                (stat).st_uid = high2lowuid(uid)
-#define SET_STAT_GID(stat, gid)                (stat).st_gid = high2lowgid(gid)
-
 asmlinkage long sys32_chown16(const char * filename, u16 user, u16 group)
 {
        return sys_chown(filename, low2highuid(user), low2highgid(group));
index 133444385364bda5f1b2447a58ab169f4b204b4d..c86b9452c683a62e42e01d8c44cfda38071a0a57 100644 (file)
@@ -28,8 +28,8 @@ typedef unsigned short               __kernel_gid16_t;
 typedef int                    __kernel_clockid_t;
 typedef int                    __kernel_timer_t;
 
-typedef __kernel_uid_t                __kernel_old_uid_t;
-typedef __kernel_gid_t         __kernel_old_gid_t;
+typedef unsigned short                __kernel_old_uid_t;
+typedef unsigned short         __kernel_old_gid_t;
 typedef __kernel_uid_t        __kernel_uid32_t;
 typedef __kernel_gid_t        __kernel_gid32_t;