[PATCH] compat: be more consistent about [ug]id_t

2005-07-18 Thread Stephen Rothwell
Hi all,

When I first wrote the compat layer patches, I was somewhat cavalier about the
definition of compat_uid_t and compat_gid_t (or maybe I just misunderstood :-)).
This patch makes the compat types much more consistent with the types we are 
being
compatible with and hopefully will fix a few bugs along the way.

compat type type in compat arch
__compat_[ug]id_t   __kernel_[ug]id_t
__compat_[ug]id32_t __kernel_[ug]id32_t
compat_[ug]id_t [ug]id_t

The difference is that compat_uid_t is always 32 bits (for the archs we care 
about) but
__compat_uid_t may be 16 bits on some.

Signed-off-by: Stephen Rothwell <[EMAIL PROTECTED]>
---
 arch/mips/kernel/linux32.c   |   16 
 fs/compat.c  |   16 
 include/asm-ia64/compat.h|   20 ++--
 include/asm-mips/compat.h|   10 ++
 include/asm-parisc/compat.h  |   10 ++
 include/asm-ppc64/compat.h   |   18 ++
 include/asm-s390/compat.h|   20 ++--
 include/asm-sparc64/compat.h |   18 ++
 include/asm-x86_64/compat.h  |   20 ++--
 include/linux/compat.h   |3 +++
 ipc/compat.c |   12 ++--
 11 files changed, 87 insertions(+), 76 deletions(-)

-- 
Cheers,
Stephen Rothwell[EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus/arch/mips/kernel/linux32.c 
linus-compat_uid_t/arch/mips/kernel/linux32.c
--- linus/arch/mips/kernel/linux32.c2005-06-27 16:08:00.0 +1000
+++ linus-compat_uid_t/arch/mips/kernel/linux32.c   2005-06-27 
17:40:08.0 +1000
@@ -546,20 +546,20 @@ struct msgbuf32 { s32 mtype; char mtext[
 struct ipc_perm32
 {
key_t key;
-compat_uid_t  uid;
-compat_gid_t  gid;
-compat_uid_t  cuid;
-compat_gid_t  cgid;
+__compat_uid_t  uid;
+__compat_gid_t  gid;
+__compat_uid_t  cuid;
+__compat_gid_t  cgid;
 compat_mode_t  mode;
 unsigned short  seq;
 };
 
 struct ipc64_perm32 {
key_t key;
-   compat_uid_t uid;
-   compat_gid_t gid;
-   compat_uid_t cuid;
-   compat_gid_t cgid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
+   __compat_uid_t cuid;
+   __compat_gid_t cgid;
compat_mode_t   mode; 
unsigned short  seq;
unsigned short __pad1;
diff -ruNp linus/fs/compat.c linus-compat_uid_t/fs/compat.c
--- linus/fs/compat.c   2005-07-13 15:13:18.0 +1000
+++ linus-compat_uid_t/fs/compat.c  2005-07-13 16:26:29.0 +1000
@@ -720,14 +720,14 @@ compat_sys_io_submit(aio_context_t ctx_i
 struct compat_ncp_mount_data {
compat_int_t version;
compat_uint_t ncp_fd;
-   compat_uid_t mounted_uid;
+   __compat_uid_t mounted_uid;
compat_pid_t wdog_pid;
unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
compat_uint_t time_out;
compat_uint_t retry_count;
compat_uint_t flags;
-   compat_uid_t uid;
-   compat_gid_t gid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
compat_mode_t file_mode;
compat_mode_t dir_mode;
 };
@@ -784,9 +784,9 @@ static void *do_ncp_super_data_conv(void
 
 struct compat_smb_mount_data {
compat_int_t version;
-   compat_uid_t mounted_uid;
-   compat_uid_t uid;
-   compat_gid_t gid;
+   __compat_uid_t mounted_uid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
compat_mode_t file_mode;
compat_mode_t dir_mode;
 };
@@ -1808,8 +1808,8 @@ struct compat_nfsctl_export {
compat_dev_tex32_dev;
compat_ino_tex32_ino;
compat_int_tex32_flags;
-   compat_uid_tex32_anon_uid;
-   compat_gid_tex32_anon_gid;
+   __compat_uid_t  ex32_anon_uid;
+   __compat_gid_t  ex32_anon_gid;
 };
 
 struct compat_nfsctl_fdparm {
diff -ruNp linus/include/asm-ia64/compat.h 
linus-compat_uid_t/include/asm-ia64/compat.h
--- linus/include/asm-ia64/compat.h 2005-06-27 16:08:06.0 +1000
+++ linus-compat_uid_t/include/asm-ia64/compat.h2005-06-27 
17:40:08.0 +1000
@@ -13,10 +13,10 @@ typedef s32 compat_time_t;
 typedef s32compat_clock_t;
 typedef s32compat_key_t;
 typedef s32compat_pid_t;
-typedef u16compat_uid_t;
-typedef u16compat_gid_t;
-typedef u32compat_uid32_t;
-typedef u32compat_gid32_t;
+typedef u16__compat_uid_t;
+typedef u16__compat_gid_t;
+typedef u32__compat_uid32_t;
+typedef u32__compat_gid32_t;
 typedef u16compat_mode_t;
 typedef u32compat_ino_t;
 typedef u16compat_dev_t;
@@ -50,8 +50,8 @@ struct compat_stat {
compat_ino_tst_ino;
compat_mode_t   st_mode;
compat_nlink_t  st_nlink;
-   compat_uid_t

[PATCH] compat: be more consistent about [ug]id_t

2005-07-18 Thread Stephen Rothwell
Hi all,

When I first wrote the compat layer patches, I was somewhat cavalier about the
definition of compat_uid_t and compat_gid_t (or maybe I just misunderstood :-)).
This patch makes the compat types much more consistent with the types we are 
being
compatible with and hopefully will fix a few bugs along the way.

compat type type in compat arch
__compat_[ug]id_t   __kernel_[ug]id_t
__compat_[ug]id32_t __kernel_[ug]id32_t
compat_[ug]id_t [ug]id_t

The difference is that compat_uid_t is always 32 bits (for the archs we care 
about) but
__compat_uid_t may be 16 bits on some.

Signed-off-by: Stephen Rothwell [EMAIL PROTECTED]
---
 arch/mips/kernel/linux32.c   |   16 
 fs/compat.c  |   16 
 include/asm-ia64/compat.h|   20 ++--
 include/asm-mips/compat.h|   10 ++
 include/asm-parisc/compat.h  |   10 ++
 include/asm-ppc64/compat.h   |   18 ++
 include/asm-s390/compat.h|   20 ++--
 include/asm-sparc64/compat.h |   18 ++
 include/asm-x86_64/compat.h  |   20 ++--
 include/linux/compat.h   |3 +++
 ipc/compat.c |   12 ++--
 11 files changed, 87 insertions(+), 76 deletions(-)

-- 
Cheers,
Stephen Rothwell[EMAIL PROTECTED]
http://www.canb.auug.org.au/~sfr/

diff -ruNp linus/arch/mips/kernel/linux32.c 
linus-compat_uid_t/arch/mips/kernel/linux32.c
--- linus/arch/mips/kernel/linux32.c2005-06-27 16:08:00.0 +1000
+++ linus-compat_uid_t/arch/mips/kernel/linux32.c   2005-06-27 
17:40:08.0 +1000
@@ -546,20 +546,20 @@ struct msgbuf32 { s32 mtype; char mtext[
 struct ipc_perm32
 {
key_t key;
-compat_uid_t  uid;
-compat_gid_t  gid;
-compat_uid_t  cuid;
-compat_gid_t  cgid;
+__compat_uid_t  uid;
+__compat_gid_t  gid;
+__compat_uid_t  cuid;
+__compat_gid_t  cgid;
 compat_mode_t  mode;
 unsigned short  seq;
 };
 
 struct ipc64_perm32 {
key_t key;
-   compat_uid_t uid;
-   compat_gid_t gid;
-   compat_uid_t cuid;
-   compat_gid_t cgid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
+   __compat_uid_t cuid;
+   __compat_gid_t cgid;
compat_mode_t   mode; 
unsigned short  seq;
unsigned short __pad1;
diff -ruNp linus/fs/compat.c linus-compat_uid_t/fs/compat.c
--- linus/fs/compat.c   2005-07-13 15:13:18.0 +1000
+++ linus-compat_uid_t/fs/compat.c  2005-07-13 16:26:29.0 +1000
@@ -720,14 +720,14 @@ compat_sys_io_submit(aio_context_t ctx_i
 struct compat_ncp_mount_data {
compat_int_t version;
compat_uint_t ncp_fd;
-   compat_uid_t mounted_uid;
+   __compat_uid_t mounted_uid;
compat_pid_t wdog_pid;
unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
compat_uint_t time_out;
compat_uint_t retry_count;
compat_uint_t flags;
-   compat_uid_t uid;
-   compat_gid_t gid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
compat_mode_t file_mode;
compat_mode_t dir_mode;
 };
@@ -784,9 +784,9 @@ static void *do_ncp_super_data_conv(void
 
 struct compat_smb_mount_data {
compat_int_t version;
-   compat_uid_t mounted_uid;
-   compat_uid_t uid;
-   compat_gid_t gid;
+   __compat_uid_t mounted_uid;
+   __compat_uid_t uid;
+   __compat_gid_t gid;
compat_mode_t file_mode;
compat_mode_t dir_mode;
 };
@@ -1808,8 +1808,8 @@ struct compat_nfsctl_export {
compat_dev_tex32_dev;
compat_ino_tex32_ino;
compat_int_tex32_flags;
-   compat_uid_tex32_anon_uid;
-   compat_gid_tex32_anon_gid;
+   __compat_uid_t  ex32_anon_uid;
+   __compat_gid_t  ex32_anon_gid;
 };
 
 struct compat_nfsctl_fdparm {
diff -ruNp linus/include/asm-ia64/compat.h 
linus-compat_uid_t/include/asm-ia64/compat.h
--- linus/include/asm-ia64/compat.h 2005-06-27 16:08:06.0 +1000
+++ linus-compat_uid_t/include/asm-ia64/compat.h2005-06-27 
17:40:08.0 +1000
@@ -13,10 +13,10 @@ typedef s32 compat_time_t;
 typedef s32compat_clock_t;
 typedef s32compat_key_t;
 typedef s32compat_pid_t;
-typedef u16compat_uid_t;
-typedef u16compat_gid_t;
-typedef u32compat_uid32_t;
-typedef u32compat_gid32_t;
+typedef u16__compat_uid_t;
+typedef u16__compat_gid_t;
+typedef u32__compat_uid32_t;
+typedef u32__compat_gid32_t;
 typedef u16compat_mode_t;
 typedef u32compat_ino_t;
 typedef u16compat_dev_t;
@@ -50,8 +50,8 @@ struct compat_stat {
compat_ino_tst_ino;
compat_mode_t   st_mode;
compat_nlink_t  st_nlink;
-   compat_uid_t