diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:13:54 -0500 |
|---|---|---|
| committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:14 -0500 |
| commit | 2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba (patch) | |
| tree | 4e0fefd574bab5470a02edf439727f472a9663c6 /include/linux | |
| parent | 4c696ba7982501d43dea11dbbaabd2aa8a19cc42 (diff) | |
[CVE-2009-0029] Convert all system calls to return a long
Convert all system calls to return a long. This should be a NOP since all
converted types should have the same size anyway.
With the exception of sys_exit_group which returned void. But that doesn't
matter since the system call doesn't return.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/syscalls.h | 79 |
1 files changed, 39 insertions, 40 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index a7593f670ca6..22290eeaf553 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -77,7 +77,7 @@ asmlinkage long sys_times(struct tms __user *tbuf); | |||
| 77 | 77 | ||
| 78 | asmlinkage long sys_gettid(void); | 78 | asmlinkage long sys_gettid(void); |
| 79 | asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp); | 79 | asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp); |
| 80 | asmlinkage unsigned long sys_alarm(unsigned int seconds); | 80 | asmlinkage long sys_alarm(unsigned int seconds); |
| 81 | asmlinkage long sys_getpid(void); | 81 | asmlinkage long sys_getpid(void); |
| 82 | asmlinkage long sys_getppid(void); | 82 | asmlinkage long sys_getppid(void); |
| 83 | asmlinkage long sys_getuid(void); | 83 | asmlinkage long sys_getuid(void); |
| @@ -166,7 +166,7 @@ asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments, | |||
| 166 | unsigned long flags); | 166 | unsigned long flags); |
| 167 | 167 | ||
| 168 | asmlinkage long sys_exit(int error_code); | 168 | asmlinkage long sys_exit(int error_code); |
| 169 | asmlinkage void sys_exit_group(int error_code); | 169 | asmlinkage long sys_exit_group(int error_code); |
| 170 | asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, | 170 | asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, |
| 171 | int options, struct rusage __user *ru); | 171 | int options, struct rusage __user *ru); |
| 172 | asmlinkage long sys_waitid(int which, pid_t pid, | 172 | asmlinkage long sys_waitid(int which, pid_t pid, |
| @@ -196,7 +196,7 @@ asmlinkage long sys_tkill(int pid, int sig); | |||
| 196 | asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); | 196 | asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo); |
| 197 | asmlinkage long sys_sgetmask(void); | 197 | asmlinkage long sys_sgetmask(void); |
| 198 | asmlinkage long sys_ssetmask(int newmask); | 198 | asmlinkage long sys_ssetmask(int newmask); |
| 199 | asmlinkage unsigned long sys_signal(int sig, __sighandler_t handler); | 199 | asmlinkage long sys_signal(int sig, __sighandler_t handler); |
| 200 | asmlinkage long sys_pause(void); | 200 | asmlinkage long sys_pause(void); |
| 201 | 201 | ||
| 202 | asmlinkage long sys_sync(void); | 202 | asmlinkage long sys_sync(void); |
| @@ -246,29 +246,29 @@ asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name, | |||
| 246 | const void __user *value, size_t size, int flags); | 246 | const void __user *value, size_t size, int flags); |
| 247 | asmlinkage long sys_fsetxattr(int fd, const char __user *name, | 247 | asmlinkage long sys_fsetxattr(int fd, const char __user *name, |
| 248 | const void __user *value, size_t size, int flags); | 248 | const void __user *value, size_t size, int flags); |
| 249 | asmlinkage ssize_t sys_getxattr(const char __user *path, const char __user *name, | 249 | asmlinkage long sys_getxattr(const char __user *path, const char __user *name, |
| 250 | void __user *value, size_t size); | 250 | void __user *value, size_t size); |
| 251 | asmlinkage ssize_t sys_lgetxattr(const char __user *path, const char __user *name, | 251 | asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name, |
| 252 | void __user *value, size_t size); | 252 | void __user *value, size_t size); |
| 253 | asmlinkage ssize_t sys_fgetxattr(int fd, const char __user *name, | 253 | asmlinkage long sys_fgetxattr(int fd, const char __user *name, |
| 254 | void __user *value, size_t size); | 254 | void __user *value, size_t size); |
| 255 | asmlinkage ssize_t sys_listxattr(const char __user *path, char __user *list, | 255 | asmlinkage long sys_listxattr(const char __user *path, char __user *list, |
| 256 | size_t size); | 256 | size_t size); |
| 257 | asmlinkage ssize_t sys_llistxattr(const char __user *path, char __user *list, | 257 | asmlinkage long sys_llistxattr(const char __user *path, char __user *list, |
| 258 | size_t size); | 258 | size_t size); |
| 259 | asmlinkage ssize_t sys_flistxattr(int fd, char __user *list, size_t size); | 259 | asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size); |
| 260 | asmlinkage long sys_removexattr(const char __user *path, | 260 | asmlinkage long sys_removexattr(const char __user *path, |
| 261 | const char __user *name); | 261 | const char __user *name); |
| 262 | asmlinkage long sys_lremovexattr(const char __user *path, | 262 | asmlinkage long sys_lremovexattr(const char __user *path, |
| 263 | const char __user *name); | 263 | const char __user *name); |
| 264 | asmlinkage long sys_fremovexattr(int fd, const char __user *name); | 264 | asmlinkage long sys_fremovexattr(int fd, const char __user *name); |
| 265 | 265 | ||
| 266 | asmlinkage unsigned long sys_brk(unsigned long brk); | 266 | asmlinkage long sys_brk(unsigned long brk); |
| 267 | asmlinkage long sys_mprotect(unsigned long start, size_t len, | 267 | asmlinkage long sys_mprotect(unsigned long start, size_t len, |
| 268 | unsigned long prot); | 268 | unsigned long prot); |
| 269 | asmlinkage unsigned long sys_mremap(unsigned long addr, | 269 | asmlinkage long sys_mremap(unsigned long addr, |
| 270 | unsigned long old_len, unsigned long new_len, | 270 | unsigned long old_len, unsigned long new_len, |
| 271 | unsigned long flags, unsigned long new_addr); | 271 | unsigned long flags, unsigned long new_addr); |
| 272 | asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, | 272 | asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, |
| 273 | unsigned long prot, unsigned long pgoff, | 273 | unsigned long prot, unsigned long pgoff, |
| 274 | unsigned long flags); | 274 | unsigned long flags); |
| @@ -321,10 +321,10 @@ asmlinkage long sys_io_submit(aio_context_t, long, | |||
| 321 | struct iocb __user * __user *); | 321 | struct iocb __user * __user *); |
| 322 | asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, | 322 | asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, |
| 323 | struct io_event __user *result); | 323 | struct io_event __user *result); |
| 324 | asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd, | 324 | asmlinkage long sys_sendfile(int out_fd, int in_fd, |
| 325 | off_t __user *offset, size_t count); | 325 | off_t __user *offset, size_t count); |
| 326 | asmlinkage ssize_t sys_sendfile64(int out_fd, int in_fd, | 326 | asmlinkage long sys_sendfile64(int out_fd, int in_fd, |
| 327 | loff_t __user *offset, size_t count); | 327 | loff_t __user *offset, size_t count); |
| 328 | asmlinkage long sys_readlink(const char __user *path, | 328 | asmlinkage long sys_readlink(const char __user *path, |
| 329 | char __user *buf, int bufsiz); | 329 | char __user *buf, int bufsiz); |
| 330 | asmlinkage long sys_creat(const char __user *pathname, int mode); | 330 | asmlinkage long sys_creat(const char __user *pathname, int mode); |
| @@ -368,26 +368,25 @@ asmlinkage long sys_utime(char __user *filename, | |||
| 368 | struct utimbuf __user *times); | 368 | struct utimbuf __user *times); |
| 369 | asmlinkage long sys_utimes(char __user *filename, | 369 | asmlinkage long sys_utimes(char __user *filename, |
| 370 | struct timeval __user *utimes); | 370 | struct timeval __user *utimes); |
| 371 | asmlinkage off_t sys_lseek(unsigned int fd, off_t offset, | 371 | asmlinkage long sys_lseek(unsigned int fd, off_t offset, |
| 372 | unsigned int origin); | 372 | unsigned int origin); |
| 373 | asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, | 373 | asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high, |
| 374 | unsigned long offset_low, loff_t __user *result, | 374 | unsigned long offset_low, loff_t __user *result, |
| 375 | unsigned int origin); | 375 | unsigned int origin); |
| 376 | asmlinkage ssize_t sys_read(unsigned int fd, char __user *buf, | 376 | asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count); |
| 377 | size_t count); | 377 | asmlinkage long sys_readahead(int fd, loff_t offset, size_t count); |
| 378 | asmlinkage ssize_t sys_readahead(int fd, loff_t offset, size_t count); | 378 | asmlinkage long sys_readv(unsigned long fd, |
| 379 | asmlinkage ssize_t sys_readv(unsigned long fd, | 379 | const struct iovec __user *vec, |
| 380 | const struct iovec __user *vec, | 380 | unsigned long vlen); |
| 381 | unsigned long vlen); | 381 | asmlinkage long sys_write(unsigned int fd, const char __user *buf, |
| 382 | asmlinkage ssize_t sys_write(unsigned int fd, const char __user *buf, | 382 | size_t count); |
| 383 | size_t count); | 383 | asmlinkage long sys_writev(unsigned long fd, |
| 384 | asmlinkage ssize_t sys_writev(unsigned long fd, | 384 | const struct iovec __user *vec, |
| 385 | const struct iovec __user *vec, | 385 | unsigned long vlen); |
| 386 | unsigned long vlen); | 386 | asmlinkage long sys_pread64(unsigned int fd, char __user *buf, |
| 387 | asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf, | 387 | size_t count, loff_t pos); |
| 388 | size_t count, loff_t pos); | 388 | asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf, |
| 389 | asmlinkage ssize_t sys_pwrite64(unsigned int fd, const char __user *buf, | 389 | size_t count, loff_t pos); |
| 390 | size_t count, loff_t pos); | ||
| 391 | asmlinkage long sys_getcwd(char __user *buf, unsigned long size); | 390 | asmlinkage long sys_getcwd(char __user *buf, unsigned long size); |
| 392 | asmlinkage long sys_mkdir(const char __user *pathname, int mode); | 391 | asmlinkage long sys_mkdir(const char __user *pathname, int mode); |
| 393 | asmlinkage long sys_chdir(const char __user *filename); | 392 | asmlinkage long sys_chdir(const char __user *filename); |
| @@ -476,7 +475,7 @@ asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf); | |||
| 476 | asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr); | 475 | asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr); |
| 477 | asmlinkage long sys_mq_unlink(const char __user *name); | 476 | asmlinkage long sys_mq_unlink(const char __user *name); |
| 478 | asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); | 477 | asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout); |
| 479 | asmlinkage ssize_t sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); | 478 | asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout); |
| 480 | asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); | 479 | asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification); |
| 481 | asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); | 480 | asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat); |
| 482 | 481 | ||
