diff options
| author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-09-06 18:16:40 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:19 -0400 |
| commit | 202e5979af4d91c7ca05892641131dee22653259 (patch) | |
| tree | ba8443571add62bc93d29c1f6a3575381cccd167 /include/asm-sparc64 | |
| parent | 8dbfc5cfdcac04d656f6f6789eb8fcdcc3d2dfda (diff) | |
[PATCH] compat: be more consistent about [ug]id_t
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 <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-sparc64')
| -rw-r--r-- | include/asm-sparc64/compat.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/include/asm-sparc64/compat.h b/include/asm-sparc64/compat.h index b59122dd176d..c73935dc7ba1 100644 --- a/include/asm-sparc64/compat.h +++ b/include/asm-sparc64/compat.h | |||
| @@ -12,8 +12,10 @@ typedef s32 compat_ssize_t; | |||
| 12 | typedef s32 compat_time_t; | 12 | typedef s32 compat_time_t; |
| 13 | typedef s32 compat_clock_t; | 13 | typedef s32 compat_clock_t; |
| 14 | typedef s32 compat_pid_t; | 14 | typedef s32 compat_pid_t; |
| 15 | typedef u16 compat_uid_t; | 15 | typedef u16 __compat_uid_t; |
| 16 | typedef u16 compat_gid_t; | 16 | typedef u16 __compat_gid_t; |
| 17 | typedef u32 __compat_uid32_t; | ||
| 18 | typedef u32 __compat_gid32_t; | ||
| 17 | typedef u16 compat_mode_t; | 19 | typedef u16 compat_mode_t; |
| 18 | typedef u32 compat_ino_t; | 20 | typedef u32 compat_ino_t; |
| 19 | typedef u16 compat_dev_t; | 21 | typedef u16 compat_dev_t; |
| @@ -47,8 +49,8 @@ struct compat_stat { | |||
| 47 | compat_ino_t st_ino; | 49 | compat_ino_t st_ino; |
| 48 | compat_mode_t st_mode; | 50 | compat_mode_t st_mode; |
| 49 | compat_nlink_t st_nlink; | 51 | compat_nlink_t st_nlink; |
| 50 | compat_uid_t st_uid; | 52 | __compat_uid_t st_uid; |
| 51 | compat_gid_t st_gid; | 53 | __compat_gid_t st_gid; |
| 52 | compat_dev_t st_rdev; | 54 | compat_dev_t st_rdev; |
| 53 | compat_off_t st_size; | 55 | compat_off_t st_size; |
| 54 | compat_time_t st_atime; | 56 | compat_time_t st_atime; |
| @@ -177,10 +179,10 @@ static __inline__ void __user *compat_alloc_user_space(long len) | |||
| 177 | 179 | ||
| 178 | struct compat_ipc64_perm { | 180 | struct compat_ipc64_perm { |
| 179 | compat_key_t key; | 181 | compat_key_t key; |
| 180 | __kernel_uid_t uid; | 182 | __compat_uid32_t uid; |
| 181 | __kernel_gid_t gid; | 183 | __compat_gid32_t gid; |
| 182 | __kernel_uid_t cuid; | 184 | __compat_uid32_t cuid; |
| 183 | __kernel_gid_t cgid; | 185 | __compat_gid32_t cgid; |
| 184 | unsigned short __pad1; | 186 | unsigned short __pad1; |
| 185 | compat_mode_t mode; | 187 | compat_mode_t mode; |
| 186 | unsigned short __pad2; | 188 | unsigned short __pad2; |
