Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] unify sys_ptrace prototype

Make sure we always return, as all syscalls should. Also move the common
prototype to <linux/syscalls.h>

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Christoph Hellwig and committed by
Linus Torvalds
dfb7dac3 7024a9b8

+17 -34
+1 -1
arch/arm/kernel/ptrace.c
··· 782 782 return ret; 783 783 } 784 784 785 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 785 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 786 786 { 787 787 struct task_struct *child; 788 788 int ret;
+1 -1
arch/arm26/kernel/ptrace.c
··· 665 665 return ret; 666 666 } 667 667 668 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 668 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 669 669 { 670 670 struct task_struct *child; 671 671 int ret;
+1 -1
arch/frv/kernel/ptrace.c
··· 106 106 child->thread.frame0->__status |= REG__STATUS_STEP; 107 107 } 108 108 109 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 109 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 110 110 { 111 111 struct task_struct *child; 112 112 unsigned long tmp;
+1 -1
arch/h8300/kernel/ptrace.c
··· 57 57 h8300_disable_trace(child); 58 58 } 59 59 60 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 60 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 61 61 { 62 62 struct task_struct *child; 63 63 int ret;
+1 -1
arch/i386/kernel/ptrace.c
··· 354 354 return 0; 355 355 } 356 356 357 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 357 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 358 358 { 359 359 struct task_struct *child; 360 360 struct user * dummy = NULL;
+1
arch/ia64/ia32/sys_ia32.c
··· 36 36 #include <linux/uio.h> 37 37 #include <linux/nfs_fs.h> 38 38 #include <linux/quota.h> 39 + #include <linux/syscalls.h> 39 40 #include <linux/sunrpc/svc.h> 40 41 #include <linux/nfsd/nfsd.h> 41 42 #include <linux/nfsd/cache.h>
+1 -1
arch/m32r/kernel/ptrace.c
··· 756 756 return ret; 757 757 } 758 758 759 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 759 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 760 760 { 761 761 struct task_struct *child; 762 762 int ret;
+1 -1
arch/m68k/kernel/ptrace.c
··· 121 121 child->thread.work.syscall_trace = 0; 122 122 } 123 123 124 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 124 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 125 125 { 126 126 struct task_struct *child; 127 127 unsigned long tmp;
+1 -1
arch/m68knommu/kernel/ptrace.c
··· 101 101 put_reg(child, PT_SR, tmp); 102 102 } 103 103 104 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 104 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 105 105 { 106 106 struct task_struct *child; 107 107 int ret;
+1 -1
arch/mips/kernel/ptrace.c
··· 174 174 return 0; 175 175 } 176 176 177 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 177 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 178 178 { 179 179 struct task_struct *child; 180 180 int ret;
+1 -1
arch/ppc/kernel/ptrace.c
··· 240 240 clear_single_step(child); 241 241 } 242 242 243 - int sys_ptrace(long request, long pid, long addr, long data) 243 + long sys_ptrace(long request, long pid, long addr, long data) 244 244 { 245 245 struct task_struct *child; 246 246 int ret = -EPERM;
+1 -1
arch/ppc64/kernel/ptrace.c
··· 53 53 clear_single_step(child); 54 54 } 55 55 56 - int sys_ptrace(long request, long pid, long addr, long data) 56 + long sys_ptrace(long request, long pid, long addr, long data) 57 57 { 58 58 struct task_struct *child; 59 59 int ret = -EPERM;
+1 -1
arch/sh/kernel/ptrace.c
··· 80 80 /* nothing to do.. */ 81 81 } 82 82 83 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 83 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 84 84 { 85 85 struct task_struct *child; 86 86 struct user * dummy = NULL;
+1 -1
arch/sh64/kernel/ptrace.c
··· 121 121 return 0; 122 122 } 123 123 124 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data) 124 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data) 125 125 { 126 126 struct task_struct *child; 127 127 extern void poke_real_address_q(unsigned long long addr, unsigned long long data);
-1
arch/um/include/sysdep-i386/syscalls.h
··· 11 11 /* Not declared on x86, incompatible declarations on x86_64, so these have 12 12 * to go here rather than in sys_call_table.c 13 13 */ 14 - extern syscall_handler_t sys_ptrace; 15 14 extern syscall_handler_t sys_rt_sigaction; 16 15 17 16 extern syscall_handler_t old_mmap_i386;
+1 -1
arch/v850/kernel/ptrace.c
··· 113 113 return 1; 114 114 } 115 115 116 - int sys_ptrace(long request, long pid, long addr, long data) 116 + long sys_ptrace(long request, long pid, long addr, long data) 117 117 { 118 118 struct task_struct *child; 119 119 int rval;
+1 -1
arch/xtensa/kernel/ptrace.c
··· 45 45 /* Nothing to do.. */ 46 46 } 47 47 48 - int sys_ptrace(long request, long pid, long addr, long data) 48 + long sys_ptrace(long request, long pid, long addr, long data) 49 49 { 50 50 struct task_struct *child; 51 51 int ret = -EPERM;
-1
include/asm-arm/unistd.h
··· 544 544 asmlinkage int sys_fork(struct pt_regs *regs); 545 545 asmlinkage int sys_vfork(struct pt_regs *regs); 546 546 asmlinkage int sys_pipe(unsigned long *fildes); 547 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 548 547 struct sigaction; 549 548 asmlinkage long sys_rt_sigaction(int sig, 550 549 const struct sigaction __user *act,
-1
include/asm-arm26/unistd.h
··· 480 480 asmlinkage int sys_fork(struct pt_regs *regs); 481 481 asmlinkage int sys_vfork(struct pt_regs *regs); 482 482 asmlinkage int sys_pipe(unsigned long *fildes); 483 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 484 483 struct sigaction; 485 484 asmlinkage long sys_rt_sigaction(int sig, 486 485 const struct sigaction __user *act,
-1
include/asm-cris/unistd.h
··· 367 367 asmlinkage int sys_vfork(long r10, long r11, long r12, long r13, 368 368 long mof, long srp, struct pt_regs *regs); 369 369 asmlinkage int sys_pipe(unsigned long __user *fildes); 370 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 371 370 struct sigaction; 372 371 asmlinkage long sys_rt_sigaction(int sig, 373 372 const struct sigaction __user *act,
-1
include/asm-h8300/unistd.h
··· 528 528 asmlinkage int sys_execve(char *name, char **argv, char **envp, 529 529 int dummy, ...); 530 530 asmlinkage int sys_pipe(unsigned long *fildes); 531 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 532 531 struct sigaction; 533 532 asmlinkage long sys_rt_sigaction(int sig, 534 533 const struct sigaction __user *act,
-1
include/asm-i386/unistd.h
··· 448 448 asmlinkage int sys_fork(struct pt_regs regs); 449 449 asmlinkage int sys_vfork(struct pt_regs regs); 450 450 asmlinkage int sys_pipe(unsigned long __user *fildes); 451 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 452 451 asmlinkage long sys_iopl(unsigned long unused); 453 452 struct sigaction; 454 453 asmlinkage long sys_rt_sigaction(int sig,
-2
include/asm-ia64/unistd.h
··· 383 383 long sys_execve(char __user *filename, char __user * __user *argv, 384 384 char __user * __user *envp, struct pt_regs *regs); 385 385 asmlinkage long sys_pipe(void); 386 - asmlinkage long sys_ptrace(long request, pid_t pid, 387 - unsigned long addr, unsigned long data); 388 386 asmlinkage long sys_rt_sigaction(int sig, 389 387 const struct sigaction __user *act, 390 388 struct sigaction __user *oact,
-1
include/asm-m32r/unistd.h
··· 452 452 asmlinkage int sys_fork(struct pt_regs regs); 453 453 asmlinkage int sys_vfork(struct pt_regs regs); 454 454 asmlinkage int sys_pipe(unsigned long __user *fildes); 455 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 456 455 struct sigaction; 457 456 asmlinkage long sys_rt_sigaction(int sig, 458 457 const struct sigaction __user *act,
-1
include/asm-m68k/unistd.h
··· 444 444 unsigned long fd, unsigned long pgoff); 445 445 asmlinkage int sys_execve(char *name, char **argv, char **envp); 446 446 asmlinkage int sys_pipe(unsigned long *fildes); 447 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 448 447 struct pt_regs; 449 448 struct sigaction; 450 449 asmlinkage long sys_rt_sigaction(int sig,
-1
include/asm-m68knommu/unistd.h
··· 504 504 unsigned long fd, unsigned long pgoff); 505 505 asmlinkage int sys_execve(char *name, char **argv, char **envp); 506 506 asmlinkage int sys_pipe(unsigned long *fildes); 507 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 508 507 struct pt_regs; 509 508 int sys_request_irq(unsigned int, 510 509 irqreturn_t (*)(int, void *, struct pt_regs *),
-1
include/asm-mips/unistd.h
··· 1177 1177 unsigned long fd, unsigned long pgoff); 1178 1178 asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs); 1179 1179 asmlinkage int sys_pipe(nabi_no_regargs struct pt_regs regs); 1180 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 1181 1180 struct sigaction; 1182 1181 asmlinkage long sys_rt_sigaction(int sig, 1183 1182 const struct sigaction __user *act,
-1
include/asm-ppc/unistd.h
··· 469 469 int sys_vfork(int p1, int p2, int p3, int p4, int p5, int p6, 470 470 struct pt_regs *regs); 471 471 int sys_pipe(int __user *fildes); 472 - int sys_ptrace(long request, long pid, long addr, long data); 473 472 struct sigaction; 474 473 long sys_rt_sigaction(int sig, 475 474 const struct sigaction __user *act,
-1
include/asm-ppc64/unistd.h
··· 467 467 unsigned long p4, unsigned long p5, unsigned long p6, 468 468 struct pt_regs *regs); 469 469 int sys_pipe(int __user *fildes); 470 - int sys_ptrace(long request, long pid, long addr, long data); 471 470 struct sigaction; 472 471 long sys_rt_sigaction(int sig, const struct sigaction __user *act, 473 472 struct sigaction __user *oact, size_t sigsetsize);
-1
include/asm-s390/unistd.h
··· 590 590 asmlinkage long sys_fork(struct pt_regs regs); 591 591 asmlinkage long sys_vfork(struct pt_regs regs); 592 592 asmlinkage long sys_pipe(unsigned long __user *fildes); 593 - asmlinkage long sys_ptrace(long request, long pid, long addr, long data); 594 593 struct sigaction; 595 594 asmlinkage long sys_rt_sigaction(int sig, 596 595 const struct sigaction __user *act,
-1
include/asm-sh/unistd.h
··· 503 503 asmlinkage int sys_pipe(unsigned long r4, unsigned long r5, 504 504 unsigned long r6, unsigned long r7, 505 505 struct pt_regs regs); 506 - asmlinkage int sys_ptrace(long request, long pid, long addr, long data); 507 506 asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char *buf, 508 507 size_t count, long dummy, loff_t pos); 509 508 asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char *buf,
-1
include/asm-v850/unistd.h
··· 452 452 struct pt_regs; 453 453 int sys_execve (char *name, char **argv, char **envp, struct pt_regs *regs); 454 454 int sys_pipe (int *fildes); 455 - int sys_ptrace(long request, long pid, long addr, long data); 456 455 struct sigaction; 457 456 asmlinkage long sys_rt_sigaction(int sig, 458 457 const struct sigaction __user *act,
-2
include/asm-x86_64/unistd.h
··· 780 780 #include <linux/types.h> 781 781 #include <asm/ptrace.h> 782 782 783 - asmlinkage long sys_ptrace(long request, long pid, 784 - unsigned long addr, long data); 785 783 asmlinkage long sys_iopl(unsigned int level, struct pt_regs *regs); 786 784 asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on); 787 785 struct sigaction;
+1
include/linux/syscalls.h
··· 491 491 asmlinkage long sys_syslog(int type, char __user *buf, int len); 492 492 asmlinkage long sys_uselib(const char __user *library); 493 493 asmlinkage long sys_ni_syscall(void); 494 + asmlinkage long sys_ptrace(long request, long pid, long addr, long data); 494 495 495 496 asmlinkage long sys_add_key(const char __user *_type, 496 497 const char __user *_description,