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 | |
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>
-rw-r--r-- | arch/mips/kernel/linux32.c | 16 | ||||
-rw-r--r-- | fs/compat.c | 16 | ||||
-rw-r--r-- | include/asm-ia64/compat.h | 20 | ||||
-rw-r--r-- | include/asm-mips/compat.h | 10 | ||||
-rw-r--r-- | include/asm-parisc/compat.h | 10 | ||||
-rw-r--r-- | include/asm-ppc64/compat.h | 18 | ||||
-rw-r--r-- | include/asm-s390/compat.h | 20 | ||||
-rw-r--r-- | include/asm-sparc64/compat.h | 18 | ||||
-rw-r--r-- | include/asm-x86_64/compat.h | 20 | ||||
-rw-r--r-- | include/linux/compat.h | 3 | ||||
-rw-r--r-- | ipc/compat.c | 12 |
11 files changed, 87 insertions, 76 deletions
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 4613219dd73e..ece4564919d8 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
@@ -546,20 +546,20 @@ struct msgbuf32 { s32 mtype; char mtext[1]; }; | |||
546 | struct ipc_perm32 | 546 | struct ipc_perm32 |
547 | { | 547 | { |
548 | key_t key; | 548 | key_t key; |
549 | compat_uid_t uid; | 549 | __compat_uid_t uid; |
550 | compat_gid_t gid; | 550 | __compat_gid_t gid; |
551 | compat_uid_t cuid; | 551 | __compat_uid_t cuid; |
552 | compat_gid_t cgid; | 552 | __compat_gid_t cgid; |
553 | compat_mode_t mode; | 553 | compat_mode_t mode; |
554 | unsigned short seq; | 554 | unsigned short seq; |
555 | }; | 555 | }; |
556 | 556 | ||
557 | struct ipc64_perm32 { | 557 | struct ipc64_perm32 { |
558 | key_t key; | 558 | key_t key; |
559 | compat_uid_t uid; | 559 | __compat_uid_t uid; |
560 | compat_gid_t gid; | 560 | __compat_gid_t gid; |
561 | compat_uid_t cuid; | 561 | __compat_uid_t cuid; |
562 | compat_gid_t cgid; | 562 | __compat_gid_t cgid; |
563 | compat_mode_t mode; | 563 | compat_mode_t mode; |
564 | unsigned short seq; | 564 | unsigned short seq; |
565 | unsigned short __pad1; | 565 | unsigned short __pad1; |
diff --git a/fs/compat.c b/fs/compat.c index 6b06b6bae35e..8e03d31eec3b 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -720,14 +720,14 @@ compat_sys_io_submit(aio_context_t ctx_id, int nr, u32 __user *iocb) | |||
720 | struct compat_ncp_mount_data { | 720 | struct compat_ncp_mount_data { |
721 | compat_int_t version; | 721 | compat_int_t version; |
722 | compat_uint_t ncp_fd; | 722 | compat_uint_t ncp_fd; |
723 | compat_uid_t mounted_uid; | 723 | __compat_uid_t mounted_uid; |
724 | compat_pid_t wdog_pid; | 724 | compat_pid_t wdog_pid; |
725 | unsigned char mounted_vol[NCP_VOLNAME_LEN + 1]; | 725 | unsigned char mounted_vol[NCP_VOLNAME_LEN + 1]; |
726 | compat_uint_t time_out; | 726 | compat_uint_t time_out; |
727 | compat_uint_t retry_count; | 727 | compat_uint_t retry_count; |
728 | compat_uint_t flags; | 728 | compat_uint_t flags; |
729 | compat_uid_t uid; | 729 | __compat_uid_t uid; |
730 | compat_gid_t gid; | 730 | __compat_gid_t gid; |
731 | compat_mode_t file_mode; | 731 | compat_mode_t file_mode; |
732 | compat_mode_t dir_mode; | 732 | compat_mode_t dir_mode; |
733 | }; | 733 | }; |
@@ -784,9 +784,9 @@ static void *do_ncp_super_data_conv(void *raw_data) | |||
784 | 784 | ||
785 | struct compat_smb_mount_data { | 785 | struct compat_smb_mount_data { |
786 | compat_int_t version; | 786 | compat_int_t version; |
787 | compat_uid_t mounted_uid; | 787 | __compat_uid_t mounted_uid; |
788 | compat_uid_t uid; | 788 | __compat_uid_t uid; |
789 | compat_gid_t gid; | 789 | __compat_gid_t gid; |
790 | compat_mode_t file_mode; | 790 | compat_mode_t file_mode; |
791 | compat_mode_t dir_mode; | 791 | compat_mode_t dir_mode; |
792 | }; | 792 | }; |
@@ -1808,8 +1808,8 @@ struct compat_nfsctl_export { | |||
1808 | compat_dev_t ex32_dev; | 1808 | compat_dev_t ex32_dev; |
1809 | compat_ino_t ex32_ino; | 1809 | compat_ino_t ex32_ino; |
1810 | compat_int_t ex32_flags; | 1810 | compat_int_t ex32_flags; |
1811 | compat_uid_t ex32_anon_uid; | 1811 | __compat_uid_t ex32_anon_uid; |
1812 | compat_gid_t ex32_anon_gid; | 1812 | __compat_gid_t ex32_anon_gid; |
1813 | }; | 1813 | }; |
1814 | 1814 | ||
1815 | struct compat_nfsctl_fdparm { | 1815 | struct compat_nfsctl_fdparm { |
diff --git a/include/asm-ia64/compat.h b/include/asm-ia64/compat.h index 0c05e5bad8a0..aaf11f4e9169 100644 --- a/include/asm-ia64/compat.h +++ b/include/asm-ia64/compat.h | |||
@@ -13,10 +13,10 @@ typedef s32 compat_time_t; | |||
13 | typedef s32 compat_clock_t; | 13 | typedef s32 compat_clock_t; |
14 | typedef s32 compat_key_t; | 14 | typedef s32 compat_key_t; |
15 | typedef s32 compat_pid_t; | 15 | typedef s32 compat_pid_t; |
16 | typedef u16 compat_uid_t; | 16 | typedef u16 __compat_uid_t; |
17 | typedef u16 compat_gid_t; | 17 | typedef u16 __compat_gid_t; |
18 | typedef u32 compat_uid32_t; | 18 | typedef u32 __compat_uid32_t; |
19 | typedef u32 compat_gid32_t; | 19 | typedef u32 __compat_gid32_t; |
20 | typedef u16 compat_mode_t; | 20 | typedef u16 compat_mode_t; |
21 | typedef u32 compat_ino_t; | 21 | typedef u32 compat_ino_t; |
22 | typedef u16 compat_dev_t; | 22 | typedef u16 compat_dev_t; |
@@ -50,8 +50,8 @@ struct compat_stat { | |||
50 | compat_ino_t st_ino; | 50 | compat_ino_t st_ino; |
51 | compat_mode_t st_mode; | 51 | compat_mode_t st_mode; |
52 | compat_nlink_t st_nlink; | 52 | compat_nlink_t st_nlink; |
53 | compat_uid_t st_uid; | 53 | __compat_uid_t st_uid; |
54 | compat_gid_t st_gid; | 54 | __compat_gid_t st_gid; |
55 | compat_dev_t st_rdev; | 55 | compat_dev_t st_rdev; |
56 | u16 __pad2; | 56 | u16 __pad2; |
57 | u32 st_size; | 57 | u32 st_size; |
@@ -120,10 +120,10 @@ typedef u32 compat_sigset_word; | |||
120 | 120 | ||
121 | struct compat_ipc64_perm { | 121 | struct compat_ipc64_perm { |
122 | compat_key_t key; | 122 | compat_key_t key; |
123 | compat_uid32_t uid; | 123 | __compat_uid32_t uid; |
124 | compat_gid32_t gid; | 124 | __compat_gid32_t gid; |
125 | compat_uid32_t cuid; | 125 | __compat_uid32_t cuid; |
126 | compat_gid32_t cgid; | 126 | __compat_gid32_t cgid; |
127 | unsigned short mode; | 127 | unsigned short mode; |
128 | unsigned short __pad1; | 128 | unsigned short __pad1; |
129 | unsigned short seq; | 129 | unsigned short seq; |
diff --git a/include/asm-mips/compat.h b/include/asm-mips/compat.h index d78002afb1e1..2c084cd4bc0a 100644 --- a/include/asm-mips/compat.h +++ b/include/asm-mips/compat.h | |||
@@ -15,8 +15,10 @@ typedef s32 compat_clock_t; | |||
15 | typedef s32 compat_suseconds_t; | 15 | typedef s32 compat_suseconds_t; |
16 | 16 | ||
17 | typedef s32 compat_pid_t; | 17 | typedef s32 compat_pid_t; |
18 | typedef s32 compat_uid_t; | 18 | typedef u32 __compat_uid_t; |
19 | typedef s32 compat_gid_t; | 19 | typedef u32 __compat_gid_t; |
20 | typedef u32 __compat_uid32_t; | ||
21 | typedef u32 __compat_gid32_t; | ||
20 | typedef u32 compat_mode_t; | 22 | typedef u32 compat_mode_t; |
21 | typedef u32 compat_ino_t; | 23 | typedef u32 compat_ino_t; |
22 | typedef u32 compat_dev_t; | 24 | typedef u32 compat_dev_t; |
@@ -52,8 +54,8 @@ struct compat_stat { | |||
52 | compat_ino_t st_ino; | 54 | compat_ino_t st_ino; |
53 | compat_mode_t st_mode; | 55 | compat_mode_t st_mode; |
54 | compat_nlink_t st_nlink; | 56 | compat_nlink_t st_nlink; |
55 | compat_uid_t st_uid; | 57 | __compat_uid32_t st_uid; |
56 | compat_gid_t st_gid; | 58 | __compat_gid32_t st_gid; |
57 | compat_dev_t st_rdev; | 59 | compat_dev_t st_rdev; |
58 | s32 st_pad2[2]; | 60 | s32 st_pad2[2]; |
59 | compat_off_t st_size; | 61 | compat_off_t st_size; |
diff --git a/include/asm-parisc/compat.h b/include/asm-parisc/compat.h index 7630d1ad2391..38b918feead9 100644 --- a/include/asm-parisc/compat.h +++ b/include/asm-parisc/compat.h | |||
@@ -13,8 +13,10 @@ typedef s32 compat_ssize_t; | |||
13 | typedef s32 compat_time_t; | 13 | typedef s32 compat_time_t; |
14 | typedef s32 compat_clock_t; | 14 | typedef s32 compat_clock_t; |
15 | typedef s32 compat_pid_t; | 15 | typedef s32 compat_pid_t; |
16 | typedef u32 compat_uid_t; | 16 | typedef u32 __compat_uid_t; |
17 | typedef u32 compat_gid_t; | 17 | typedef u32 __compat_gid_t; |
18 | typedef u32 __compat_uid32_t; | ||
19 | typedef u32 __compat_gid32_t; | ||
18 | typedef u16 compat_mode_t; | 20 | typedef u16 compat_mode_t; |
19 | typedef u32 compat_ino_t; | 21 | typedef u32 compat_ino_t; |
20 | typedef u32 compat_dev_t; | 22 | typedef u32 compat_dev_t; |
@@ -67,8 +69,8 @@ struct compat_stat { | |||
67 | compat_dev_t st_realdev; | 69 | compat_dev_t st_realdev; |
68 | u16 st_basemode; | 70 | u16 st_basemode; |
69 | u16 st_spareshort; | 71 | u16 st_spareshort; |
70 | compat_uid_t st_uid; | 72 | __compat_uid32_t st_uid; |
71 | compat_gid_t st_gid; | 73 | __compat_gid32_t st_gid; |
72 | u32 st_spare4[3]; | 74 | u32 st_spare4[3]; |
73 | }; | 75 | }; |
74 | 76 | ||
diff --git a/include/asm-ppc64/compat.h b/include/asm-ppc64/compat.h index 12414f5fc666..6ec62cd2d1d1 100644 --- a/include/asm-ppc64/compat.h +++ b/include/asm-ppc64/compat.h | |||
@@ -13,8 +13,10 @@ typedef s32 compat_ssize_t; | |||
13 | typedef s32 compat_time_t; | 13 | typedef s32 compat_time_t; |
14 | typedef s32 compat_clock_t; | 14 | typedef s32 compat_clock_t; |
15 | typedef s32 compat_pid_t; | 15 | typedef s32 compat_pid_t; |
16 | typedef u32 compat_uid_t; | 16 | typedef u32 __compat_uid_t; |
17 | typedef u32 compat_gid_t; | 17 | typedef u32 __compat_gid_t; |
18 | typedef u32 __compat_uid32_t; | ||
19 | typedef u32 __compat_gid32_t; | ||
18 | typedef u32 compat_mode_t; | 20 | typedef u32 compat_mode_t; |
19 | typedef u32 compat_ino_t; | 21 | typedef u32 compat_ino_t; |
20 | typedef u32 compat_dev_t; | 22 | typedef u32 compat_dev_t; |
@@ -48,8 +50,8 @@ struct compat_stat { | |||
48 | compat_ino_t st_ino; | 50 | compat_ino_t st_ino; |
49 | compat_mode_t st_mode; | 51 | compat_mode_t st_mode; |
50 | compat_nlink_t st_nlink; | 52 | compat_nlink_t st_nlink; |
51 | compat_uid_t st_uid; | 53 | __compat_uid32_t st_uid; |
52 | compat_gid_t st_gid; | 54 | __compat_gid32_t st_gid; |
53 | compat_dev_t st_rdev; | 55 | compat_dev_t st_rdev; |
54 | compat_off_t st_size; | 56 | compat_off_t st_size; |
55 | compat_off_t st_blksize; | 57 | compat_off_t st_blksize; |
@@ -144,10 +146,10 @@ static inline void __user *compat_alloc_user_space(long len) | |||
144 | */ | 146 | */ |
145 | struct compat_ipc64_perm { | 147 | struct compat_ipc64_perm { |
146 | compat_key_t key; | 148 | compat_key_t key; |
147 | compat_uid_t uid; | 149 | __compat_uid_t uid; |
148 | compat_gid_t gid; | 150 | __compat_gid_t gid; |
149 | compat_uid_t cuid; | 151 | __compat_uid_t cuid; |
150 | compat_gid_t cgid; | 152 | __compat_gid_t cgid; |
151 | compat_mode_t mode; | 153 | compat_mode_t mode; |
152 | unsigned int seq; | 154 | unsigned int seq; |
153 | unsigned int __pad2; | 155 | unsigned int __pad2; |
diff --git a/include/asm-s390/compat.h b/include/asm-s390/compat.h index 7f8f544eb262..a007715f4aea 100644 --- a/include/asm-s390/compat.h +++ b/include/asm-s390/compat.h | |||
@@ -13,10 +13,10 @@ typedef s32 compat_ssize_t; | |||
13 | typedef s32 compat_time_t; | 13 | typedef s32 compat_time_t; |
14 | typedef s32 compat_clock_t; | 14 | typedef s32 compat_clock_t; |
15 | typedef s32 compat_pid_t; | 15 | typedef s32 compat_pid_t; |
16 | typedef u16 compat_uid_t; | 16 | typedef u16 __compat_uid_t; |
17 | typedef u16 compat_gid_t; | 17 | typedef u16 __compat_gid_t; |
18 | typedef u32 compat_uid32_t; | 18 | typedef u32 __compat_uid32_t; |
19 | typedef u32 compat_gid32_t; | 19 | typedef u32 __compat_gid32_t; |
20 | typedef u16 compat_mode_t; | 20 | typedef u16 compat_mode_t; |
21 | typedef u32 compat_ino_t; | 21 | typedef u32 compat_ino_t; |
22 | typedef u16 compat_dev_t; | 22 | typedef u16 compat_dev_t; |
@@ -51,8 +51,8 @@ struct compat_stat { | |||
51 | compat_ino_t st_ino; | 51 | compat_ino_t st_ino; |
52 | compat_mode_t st_mode; | 52 | compat_mode_t st_mode; |
53 | compat_nlink_t st_nlink; | 53 | compat_nlink_t st_nlink; |
54 | compat_uid_t st_uid; | 54 | __compat_uid_t st_uid; |
55 | compat_gid_t st_gid; | 55 | __compat_gid_t st_gid; |
56 | compat_dev_t st_rdev; | 56 | compat_dev_t st_rdev; |
57 | u16 __pad2; | 57 | u16 __pad2; |
58 | u32 st_size; | 58 | u32 st_size; |
@@ -140,10 +140,10 @@ static inline void __user *compat_alloc_user_space(long len) | |||
140 | 140 | ||
141 | struct compat_ipc64_perm { | 141 | struct compat_ipc64_perm { |
142 | compat_key_t key; | 142 | compat_key_t key; |
143 | compat_uid32_t uid; | 143 | __compat_uid32_t uid; |
144 | compat_gid32_t gid; | 144 | __compat_gid32_t gid; |
145 | compat_uid32_t cuid; | 145 | __compat_uid32_t cuid; |
146 | compat_gid32_t cgid; | 146 | __compat_gid32_t cgid; |
147 | compat_mode_t mode; | 147 | compat_mode_t mode; |
148 | unsigned short __pad1; | 148 | unsigned short __pad1; |
149 | unsigned short seq; | 149 | unsigned short seq; |
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; |
diff --git a/include/asm-x86_64/compat.h b/include/asm-x86_64/compat.h index d0f453c5adfc..f0155c38f639 100644 --- a/include/asm-x86_64/compat.h +++ b/include/asm-x86_64/compat.h | |||
@@ -14,10 +14,10 @@ typedef s32 compat_ssize_t; | |||
14 | typedef s32 compat_time_t; | 14 | typedef s32 compat_time_t; |
15 | typedef s32 compat_clock_t; | 15 | typedef s32 compat_clock_t; |
16 | typedef s32 compat_pid_t; | 16 | typedef s32 compat_pid_t; |
17 | typedef u16 compat_uid_t; | 17 | typedef u16 __compat_uid_t; |
18 | typedef u16 compat_gid_t; | 18 | typedef u16 __compat_gid_t; |
19 | typedef u32 compat_uid32_t; | 19 | typedef u32 __compat_uid32_t; |
20 | typedef u32 compat_gid32_t; | 20 | typedef u32 __compat_gid32_t; |
21 | typedef u16 compat_mode_t; | 21 | typedef u16 compat_mode_t; |
22 | typedef u32 compat_ino_t; | 22 | typedef u32 compat_ino_t; |
23 | typedef u16 compat_dev_t; | 23 | typedef u16 compat_dev_t; |
@@ -52,8 +52,8 @@ struct compat_stat { | |||
52 | compat_ino_t st_ino; | 52 | compat_ino_t st_ino; |
53 | compat_mode_t st_mode; | 53 | compat_mode_t st_mode; |
54 | compat_nlink_t st_nlink; | 54 | compat_nlink_t st_nlink; |
55 | compat_uid_t st_uid; | 55 | __compat_uid_t st_uid; |
56 | compat_gid_t st_gid; | 56 | __compat_gid_t st_gid; |
57 | compat_dev_t st_rdev; | 57 | compat_dev_t st_rdev; |
58 | u16 __pad2; | 58 | u16 __pad2; |
59 | u32 st_size; | 59 | u32 st_size; |
@@ -122,10 +122,10 @@ typedef u32 compat_sigset_word; | |||
122 | 122 | ||
123 | struct compat_ipc64_perm { | 123 | struct compat_ipc64_perm { |
124 | compat_key_t key; | 124 | compat_key_t key; |
125 | compat_uid32_t uid; | 125 | __compat_uid32_t uid; |
126 | compat_gid32_t gid; | 126 | __compat_gid32_t gid; |
127 | compat_uid32_t cuid; | 127 | __compat_uid32_t cuid; |
128 | compat_gid32_t cgid; | 128 | __compat_gid32_t cgid; |
129 | unsigned short mode; | 129 | unsigned short mode; |
130 | unsigned short __pad1; | 130 | unsigned short __pad1; |
131 | unsigned short seq; | 131 | unsigned short seq; |
diff --git a/include/linux/compat.h b/include/linux/compat.h index b58b7d6f2fdb..f9ca534787e2 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
@@ -18,6 +18,9 @@ | |||
18 | #define compat_jiffies_to_clock_t(x) \ | 18 | #define compat_jiffies_to_clock_t(x) \ |
19 | (((unsigned long)(x) * COMPAT_USER_HZ) / HZ) | 19 | (((unsigned long)(x) * COMPAT_USER_HZ) / HZ) |
20 | 20 | ||
21 | typedef __compat_uid32_t compat_uid_t; | ||
22 | typedef __compat_gid32_t compat_gid_t; | ||
23 | |||
21 | struct rusage; | 24 | struct rusage; |
22 | 25 | ||
23 | struct compat_itimerspec { | 26 | struct compat_itimerspec { |
diff --git a/ipc/compat.c b/ipc/compat.c index 3881d564c668..1fe95f6659dd 100644 --- a/ipc/compat.c +++ b/ipc/compat.c | |||
@@ -42,10 +42,10 @@ struct compat_msgbuf { | |||
42 | 42 | ||
43 | struct compat_ipc_perm { | 43 | struct compat_ipc_perm { |
44 | key_t key; | 44 | key_t key; |
45 | compat_uid_t uid; | 45 | __compat_uid_t uid; |
46 | compat_gid_t gid; | 46 | __compat_gid_t gid; |
47 | compat_uid_t cuid; | 47 | __compat_uid_t cuid; |
48 | compat_gid_t cgid; | 48 | __compat_gid_t cgid; |
49 | compat_mode_t mode; | 49 | compat_mode_t mode; |
50 | unsigned short seq; | 50 | unsigned short seq; |
51 | }; | 51 | }; |
@@ -174,8 +174,8 @@ static inline int __put_compat_ipc_perm(struct ipc64_perm *p, | |||
174 | struct compat_ipc_perm __user *up) | 174 | struct compat_ipc_perm __user *up) |
175 | { | 175 | { |
176 | int err; | 176 | int err; |
177 | compat_uid_t u; | 177 | __compat_uid_t u; |
178 | compat_gid_t g; | 178 | __compat_gid_t g; |
179 | 179 | ||
180 | err = __put_user(p->key, &up->key); | 180 | err = __put_user(p->key, &up->key); |
181 | SET_UID(u, p->uid); | 181 | SET_UID(u, p->uid); |