diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:14:21 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:26 -0500 |
commit | 003d7ab479168132a2b2c6700fe682b08f08ab0c (patch) | |
tree | e9f51f17949cabab6324ee1415a55e350334c841 | |
parent | a6b42e83f249aad723589b2bdf6d1dfb2b0997c8 (diff) |
[CVE-2009-0029] System call wrappers part 19
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r-- | fs/read_write.c | 8 | ||||
-rw-r--r-- | fs/utimes.c | 5 | ||||
-rw-r--r-- | kernel/uid16.c | 12 |
3 files changed, 13 insertions, 12 deletions
diff --git a/fs/read_write.c b/fs/read_write.c index 0671aa016b6f..fad10af59d95 100644 --- a/fs/read_write.c +++ b/fs/read_write.c | |||
@@ -147,7 +147,7 @@ loff_t vfs_llseek(struct file *file, loff_t offset, int origin) | |||
147 | } | 147 | } |
148 | EXPORT_SYMBOL(vfs_llseek); | 148 | EXPORT_SYMBOL(vfs_llseek); |
149 | 149 | ||
150 | asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin) | 150 | SYSCALL_DEFINE3(lseek, unsigned int, fd, off_t, offset, unsigned int, origin) |
151 | { | 151 | { |
152 | off_t retval; | 152 | off_t retval; |
153 | struct file * file; | 153 | struct file * file; |
@@ -171,9 +171,9 @@ bad: | |||
171 | } | 171 | } |
172 | 172 | ||
173 | #ifdef __ARCH_WANT_SYS_LLSEEK | 173 | #ifdef __ARCH_WANT_SYS_LLSEEK |
174 | asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, | 174 | SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high, |
175 | unsigned long offset_low, loff_t __user * result, | 175 | unsigned long, offset_low, loff_t __user *, result, |
176 | unsigned int origin) | 176 | unsigned int, origin) |
177 | { | 177 | { |
178 | int retval; | 178 | int retval; |
179 | struct file * file; | 179 | struct file * file; |
diff --git a/fs/utimes.c b/fs/utimes.c index 6929e3e91d05..ee853615798a 100644 --- a/fs/utimes.c +++ b/fs/utimes.c | |||
@@ -24,7 +24,7 @@ | |||
24 | * must be owner or have write permission. | 24 | * must be owner or have write permission. |
25 | * Else, update from *times, must be owner or super user. | 25 | * Else, update from *times, must be owner or super user. |
26 | */ | 26 | */ |
27 | asmlinkage long sys_utime(char __user *filename, struct utimbuf __user *times) | 27 | SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *, times) |
28 | { | 28 | { |
29 | struct timespec tv[2]; | 29 | struct timespec tv[2]; |
30 | 30 | ||
@@ -214,7 +214,8 @@ asmlinkage long sys_futimesat(int dfd, char __user *filename, struct timeval __u | |||
214 | return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0); | 214 | return do_utimes(dfd, filename, utimes ? tstimes : NULL, 0); |
215 | } | 215 | } |
216 | 216 | ||
217 | asmlinkage long sys_utimes(char __user *filename, struct timeval __user *utimes) | 217 | SYSCALL_DEFINE2(utimes, char __user *, filename, |
218 | struct timeval __user *, utimes) | ||
218 | { | 219 | { |
219 | return sys_futimesat(AT_FDCWD, filename, utimes); | 220 | return sys_futimesat(AT_FDCWD, filename, utimes); |
220 | } | 221 | } |
diff --git a/kernel/uid16.c b/kernel/uid16.c index 221894e6e980..0314501688b9 100644 --- a/kernel/uid16.c +++ b/kernel/uid16.c | |||
@@ -162,7 +162,7 @@ static int groups16_from_user(struct group_info *group_info, | |||
162 | return 0; | 162 | return 0; |
163 | } | 163 | } |
164 | 164 | ||
165 | asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist) | 165 | SYSCALL_DEFINE2(getgroups16, int, gidsetsize, old_gid_t __user *, grouplist) |
166 | { | 166 | { |
167 | const struct cred *cred = current_cred(); | 167 | const struct cred *cred = current_cred(); |
168 | int i; | 168 | int i; |
@@ -185,7 +185,7 @@ out: | |||
185 | return i; | 185 | return i; |
186 | } | 186 | } |
187 | 187 | ||
188 | asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist) | 188 | SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist) |
189 | { | 189 | { |
190 | struct group_info *group_info; | 190 | struct group_info *group_info; |
191 | int retval; | 191 | int retval; |
@@ -210,22 +210,22 @@ asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist) | |||
210 | return retval; | 210 | return retval; |
211 | } | 211 | } |
212 | 212 | ||
213 | asmlinkage long sys_getuid16(void) | 213 | SYSCALL_DEFINE0(getuid16) |
214 | { | 214 | { |
215 | return high2lowuid(current_uid()); | 215 | return high2lowuid(current_uid()); |
216 | } | 216 | } |
217 | 217 | ||
218 | asmlinkage long sys_geteuid16(void) | 218 | SYSCALL_DEFINE0(geteuid16) |
219 | { | 219 | { |
220 | return high2lowuid(current_euid()); | 220 | return high2lowuid(current_euid()); |
221 | } | 221 | } |
222 | 222 | ||
223 | asmlinkage long sys_getgid16(void) | 223 | SYSCALL_DEFINE0(getgid16) |
224 | { | 224 | { |
225 | return high2lowgid(current_gid()); | 225 | return high2lowgid(current_gid()); |
226 | } | 226 | } |
227 | 227 | ||
228 | asmlinkage long sys_getegid16(void) | 228 | SYSCALL_DEFINE0(getegid16) |
229 | { | 229 | { |
230 | return high2lowgid(current_egid()); | 230 | return high2lowgid(current_egid()); |
231 | } | 231 | } |