aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:14:21 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 08:15:26 -0500
commit003d7ab479168132a2b2c6700fe682b08f08ab0c (patch)
treee9f51f17949cabab6324ee1415a55e350334c841
parenta6b42e83f249aad723589b2bdf6d1dfb2b0997c8 (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.c8
-rw-r--r--fs/utimes.c5
-rw-r--r--kernel/uid16.c12
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}
148EXPORT_SYMBOL(vfs_llseek); 148EXPORT_SYMBOL(vfs_llseek);
149 149
150asmlinkage long sys_lseek(unsigned int fd, off_t offset, unsigned int origin) 150SYSCALL_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
174asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, 174SYSCALL_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 */
27asmlinkage long sys_utime(char __user *filename, struct utimbuf __user *times) 27SYSCALL_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
217asmlinkage long sys_utimes(char __user *filename, struct timeval __user *utimes) 217SYSCALL_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
165asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist) 165SYSCALL_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
188asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist) 188SYSCALL_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
213asmlinkage long sys_getuid16(void) 213SYSCALL_DEFINE0(getuid16)
214{ 214{
215 return high2lowuid(current_uid()); 215 return high2lowuid(current_uid());
216} 216}
217 217
218asmlinkage long sys_geteuid16(void) 218SYSCALL_DEFINE0(geteuid16)
219{ 219{
220 return high2lowuid(current_euid()); 220 return high2lowuid(current_euid());
221} 221}
222 222
223asmlinkage long sys_getgid16(void) 223SYSCALL_DEFINE0(getgid16)
224{ 224{
225 return high2lowgid(current_gid()); 225 return high2lowgid(current_gid());
226} 226}
227 227
228asmlinkage long sys_getegid16(void) 228SYSCALL_DEFINE0(getegid16)
229{ 229{
230 return high2lowgid(current_egid()); 230 return high2lowgid(current_egid());
231} 231}