From: "Randy.Dunlap" add missing syscalls: sys_pipe, sys_ptrace, msg/sem syscalls (from msg.h / sem.h); --- 25-akpm/arch/ia64/ia32/sys_ia32.c | 3 --- 25-akpm/arch/x86_64/ia32/ptrace32.c | 3 +-- 25-akpm/include/asm-arm/unistd.h | 2 ++ 25-akpm/include/asm-arm26/unistd.h | 2 ++ 25-akpm/include/asm-cris/unistd.h | 2 ++ 25-akpm/include/asm-h8300/unistd.h | 2 ++ 25-akpm/include/asm-i386/unistd.h | 2 ++ 25-akpm/include/asm-ia64/unistd.h | 9 ++++++++- 25-akpm/include/asm-m68k/unistd.h | 2 ++ 25-akpm/include/asm-m68knommu/unistd.h | 4 +++- 25-akpm/include/asm-mips/unistd.h | 2 ++ 25-akpm/include/asm-parisc/unistd.h | 2 ++ 25-akpm/include/asm-ppc/unistd.h | 2 ++ 25-akpm/include/asm-ppc64/unistd.h | 2 ++ 25-akpm/include/asm-s390/unistd.h | 8 ++++++++ 25-akpm/include/asm-sh/unistd.h | 4 ++++ 25-akpm/include/asm-um/unistd.h | 2 ++ 25-akpm/include/asm-v850/unistd.h | 2 ++ 25-akpm/include/asm-x86_64/unistd.h | 3 +++ 25-akpm/include/linux/msg.h | 5 ----- 25-akpm/include/linux/sem.h | 6 ------ 25-akpm/include/linux/syscalls.h | 19 +++++++++++++++++++ 25-akpm/ipc/sem.c | 10 +++++----- 23 files changed, 75 insertions(+), 23 deletions(-) diff -puN arch/ia64/ia32/sys_ia32.c~add-syscalls_h-7 arch/ia64/ia32/sys_ia32.c --- 25/arch/ia64/ia32/sys_ia32.c~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/arch/ia64/ia32/sys_ia32.c Fri Feb 13 18:03:01 2004 @@ -2015,9 +2015,6 @@ restore_ia32_fpxstate (struct task_struc return 0; } -extern asmlinkage long sys_ptrace (long, pid_t, unsigned long, unsigned long, long, long, long, - long, long); - /* * Note that the IA32 version of `ptrace' calls the IA64 routine for * many of the requests. This will only work for requests that do diff -puN arch/x86_64/ia32/ptrace32.c~add-syscalls_h-7 arch/x86_64/ia32/ptrace32.c --- 25/arch/x86_64/ia32/ptrace32.c~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/arch/x86_64/ia32/ptrace32.c Fri Feb 13 18:03:01 2004 @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -223,8 +224,6 @@ static struct task_struct *find_target(i } -extern asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, unsigned long data); - asmlinkage long sys32_ptrace(long request, u32 pid, u32 addr, u32 data) { struct task_struct *child; diff -puN include/asm-arm26/unistd.h~add-syscalls_h-7 include/asm-arm26/unistd.h --- 25/include/asm-arm26/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-arm26/unistd.h Fri Feb 13 18:03:01 2004 @@ -457,6 +457,8 @@ asmlinkage int sys_clone(unsigned long c struct pt_regs *regs); asmlinkage int sys_fork(struct pt_regs *regs); asmlinkage int sys_vfork(struct pt_regs *regs); +asmlinkage int sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); /* * The following two can't be eliminated yet - they rely on diff -puN include/asm-arm/unistd.h~add-syscalls_h-7 include/asm-arm/unistd.h --- 25/include/asm-arm/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-arm/unistd.h Fri Feb 13 18:03:01 2004 @@ -504,6 +504,8 @@ asmlinkage int sys_clone(unsigned long c struct pt_regs *regs); asmlinkage int sys_fork(struct pt_regs *regs); asmlinkage int sys_vfork(struct pt_regs *regs); +asmlinkage int sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); /* * The following two can't be eliminated yet - they rely on diff -puN include/asm-cris/unistd.h~add-syscalls_h-7 include/asm-cris/unistd.h --- 25/include/asm-cris/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-cris/unistd.h Fri Feb 13 18:03:01 2004 @@ -319,6 +319,8 @@ asmlinkage int sys_fork(long r10, long r long mof, long srp, struct pt_regs *regs); asmlinkage int sys_vfork(long r10, long r11, long r12, long r13, long mof, long srp, struct pt_regs *regs); +asmlinkage int sys_pipe(unsigned long __user *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); /* * Since we define it "external", it collides with the built-in diff -puN include/asm-h8300/unistd.h~add-syscalls_h-7 include/asm-h8300/unistd.h --- 25/include/asm-h8300/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-h8300/unistd.h Fri Feb 13 18:03:01 2004 @@ -484,6 +484,8 @@ asmlinkage long sys_mmap2(unsigned long unsigned long fd, unsigned long pgoff); asmlinkage int sys_execve(char *name, char **argv, char **envp, int dummy, ...); +asmlinkage int sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-i386/unistd.h~add-syscalls_h-7 include/asm-i386/unistd.h --- 25/include/asm-i386/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-i386/unistd.h Fri Feb 13 18:03:01 2004 @@ -405,6 +405,8 @@ asmlinkage int sys_execve(struct pt_regs asmlinkage int sys_clone(struct pt_regs regs); asmlinkage int sys_fork(struct pt_regs regs); asmlinkage int sys_vfork(struct pt_regs regs); +asmlinkage int sys_pipe(unsigned long __user *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-ia64/unistd.h~add-syscalls_h-7 include/asm-ia64/unistd.h --- 25/include/asm-ia64/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-ia64/unistd.h Fri Feb 13 18:03:01 2004 @@ -8,7 +8,6 @@ * David Mosberger-Tang */ -#include #include #define __BREAK_SYSCALL __IA64_BREAK_SYSCALL @@ -256,6 +255,9 @@ #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) +#include +#include + extern long __ia64_syscall (long a0, long a1, long a2, long a3, long a4, long nr); #ifdef __KERNEL_SYSCALLS__ @@ -340,6 +342,11 @@ asmlinkage unsigned long sys_mmap2( struct pt_regs; asmlinkage long sys_execve(char *filename, char **argv, char **envp, struct pt_regs *regs); +asmlinkage long sys_pipe(long arg0, long arg1, long arg2, long arg3, + long arg4, long arg5, long arg6, long arg7, long stack); +asmlinkage long sys_ptrace(long request, pid_t pid, + unsigned long addr, unsigned long data, + long arg4, long arg5, long arg6, long arg7, long stack); /* * "Conditional" syscalls diff -puN include/asm-m68knommu/unistd.h~add-syscalls_h-7 include/asm-m68knommu/unistd.h --- 25/include/asm-m68knommu/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-m68knommu/unistd.h Fri Feb 13 18:03:01 2004 @@ -371,7 +371,7 @@ type name(atype a, btype b, ctype c, dty } \ return (type)__res; \ } - + #ifdef __KERNEL_SYSCALLS__ @@ -410,6 +410,8 @@ asmlinkage long sys_mmap2(unsigned long unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff); asmlinkage int sys_execve(char *name, char **argv, char **envp); +asmlinkage int sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-m68k/unistd.h~add-syscalls_h-7 include/asm-m68k/unistd.h --- 25/include/asm-m68k/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-m68k/unistd.h Fri Feb 13 18:03:01 2004 @@ -368,6 +368,8 @@ asmlinkage long sys_mmap2( unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff); asmlinkage int sys_execve(char *name, char **argv, char **envp); +asmlinkage int sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-mips/unistd.h~add-syscalls_h-7 include/asm-mips/unistd.h --- 25/include/asm-mips/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-mips/unistd.h Fri Feb 13 18:03:01 2004 @@ -1089,6 +1089,8 @@ asmlinkage long sys_mmap2( unsigned long prot, unsigned long flags, unsigned long fd, unsigned long pgoff); asmlinkage int sys_execve(nabi_no_regargs struct pt_regs regs); +asmlinkage int sys_pipe(nabi_no_regargs struct pt_regs regs); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif /* __KERNEL_SYSCALLS__ */ #endif /* !__ASSEMBLY__ */ diff -puN include/asm-parisc/unistd.h~add-syscalls_h-7 include/asm-parisc/unistd.h --- 25/include/asm-parisc/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-parisc/unistd.h Fri Feb 13 18:03:01 2004 @@ -905,6 +905,8 @@ asmlinkage int sys_execve(struct pt_regs int sys_clone(unsigned long clone_flags, unsigned long usp, struct pt_regs *regs); int sys_vfork(struct pt_regs *regs); +int sys_pipe(int *fildes); +long sys_ptrace(long request, pid_t pid, long addr, long data); #endif /* __KERNEL_SYSCALLS__ */ diff -puN include/asm-ppc64/unistd.h~add-syscalls_h-7 include/asm-ppc64/unistd.h --- 25/include/asm-ppc64/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-ppc64/unistd.h Fri Feb 13 18:03:01 2004 @@ -425,6 +425,8 @@ int sys_fork(unsigned long p1, unsigned int sys_vfork(unsigned long p1, unsigned long p2, unsigned long p3, unsigned long p4, unsigned long p5, unsigned long p6, struct pt_regs *regs); +asmlinkage int sys_pipe(int *fildes); +int sys_ptrace(long request, long pid, long addr, long data); /* * "Conditional" syscalls diff -puN include/asm-ppc/unistd.h~add-syscalls_h-7 include/asm-ppc/unistd.h --- 25/include/asm-ppc/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-ppc/unistd.h Fri Feb 13 18:03:01 2004 @@ -408,6 +408,8 @@ int sys_fork(int p1, int p2, int p3, int struct pt_regs *regs); int sys_vfork(int p1, int p2, int p3, int p4, int p5, int p6, struct pt_regs *regs); +int sys_pipe(int __user *fildes); +int sys_ptrace(long request, long pid, long addr, long data); #endif /* __KERNEL_SYSCALLS__ */ diff -puN include/asm-s390/unistd.h~add-syscalls_h-7 include/asm-s390/unistd.h --- 25/include/asm-s390/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-s390/unistd.h Fri Feb 13 18:03:01 2004 @@ -505,6 +505,7 @@ type name(type1 arg1, type2 arg2, type3 #ifdef __KERNEL_SYSCALLS__ +#include #include #include #include @@ -544,6 +545,13 @@ asmlinkage int sys_execve(struct pt_regs asmlinkage int sys_clone(struct pt_regs regs); asmlinkage int sys_fork(struct pt_regs regs); asmlinkage int sys_vfork(struct pt_regs regs); +#ifndef CONFIG_ARCH_S390X +#define __SYS_RETTYPE int +#else +#define __SYS_RETTYPE long +#endif /* CONFIG_ARCH_S390X */ +asmlinkage __SYS_RETTYPE sys_pipe(unsigned long *fildes); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-sh/unistd.h~add-syscalls_h-7 include/asm-sh/unistd.h --- 25/include/asm-sh/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-sh/unistd.h Fri Feb 13 18:03:01 2004 @@ -453,6 +453,10 @@ asmlinkage int sys_fork(unsigned long r4 asmlinkage int sys_vfork(unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7, struct pt_regs regs); +asmlinkage int sys_pipe(unsigned long r4, unsigned long r5, + unsigned long r6, unsigned long r7, + struct pt_regs regs); +asmlinkage int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-um/unistd.h~add-syscalls_h-7 include/asm-um/unistd.h --- 25/include/asm-um/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-um/unistd.h Fri Feb 13 18:03:01 2004 @@ -76,6 +76,8 @@ long sys_clone(unsigned long clone_flags int *parent_tid, int *child_tid); long sys_fork(void); long sys_vfork(void); +int sys_pipe(unsigned long *fildes); +int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-v850/unistd.h~add-syscalls_h-7 include/asm-v850/unistd.h --- 25/include/asm-v850/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-v850/unistd.h Fri Feb 13 18:03:01 2004 @@ -425,6 +425,8 @@ unsigned long sys_mmap2(unsigned long ad unsigned long fd, unsigned long pgoff); struct pt_regs; int sys_execve (char *name, char **argv, char **envp, struct pt_regs *regs); +int sys_pipe (int *fildes); +int sys_ptrace(long request, long pid, long addr, long data); #endif diff -puN include/asm-x86_64/unistd.h~add-syscalls_h-7 include/asm-x86_64/unistd.h --- 25/include/asm-x86_64/unistd.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/asm-x86_64/unistd.h Fri Feb 13 18:03:01 2004 @@ -709,6 +709,9 @@ asmlinkage long sys_clone(unsigned long struct pt_regs regs); asmlinkage long sys_fork(struct pt_regs regs); asmlinkage long sys_vfork(struct pt_regs regs); +asmlinkage long sys_pipe(int *fildes); +asmlinkage long sys_ptrace(long request, long pid, + unsigned long addr, long data); #endif /* __KERNEL_SYSCALLS__ */ diff -puN include/linux/msg.h~add-syscalls_h-7 include/linux/msg.h --- 25/include/linux/msg.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/linux/msg.h Fri Feb 13 18:03:01 2004 @@ -93,11 +93,6 @@ struct msg_queue { struct list_head q_senders; }; -asmlinkage long sys_msgget (key_t key, int msgflg); -asmlinkage long sys_msgsnd (int msqid, struct msgbuf __user *msgp, size_t msgsz, int msgflg); -asmlinkage long sys_msgrcv (int msqid, struct msgbuf __user *msgp, size_t msgsz, long msgtyp, int msgflg); -asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf); - #endif /* __KERNEL__ */ #endif /* _LINUX_MSG_H */ diff -puN include/linux/sem.h~add-syscalls_h-7 include/linux/sem.h --- 25/include/linux/sem.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/linux/sem.h Fri Feb 13 18:03:01 2004 @@ -134,12 +134,6 @@ struct sysv_sem { struct sem_undo_list *undo_list; }; -asmlinkage long sys_semget (key_t key, int nsems, int semflg); -asmlinkage long sys_semop (int semid, struct sembuf __user *sops, unsigned nsops); -asmlinkage long sys_semctl (int semid, int semnum, int cmd, union semun arg); -asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, - unsigned nsops, const struct timespec __user *timeout); - void exit_sem(struct task_struct *p); #endif /* __KERNEL__ */ diff -puN include/linux/syscalls.h~add-syscalls_h-7 include/linux/syscalls.h --- 25/include/linux/syscalls.h~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/include/linux/syscalls.h Fri Feb 13 18:03:01 2004 @@ -23,7 +23,9 @@ struct itimerval; struct linux_dirent; struct linux_dirent64; struct list_head; +struct msgbuf; struct msghdr; +struct msqid_ds; struct new_utsname; struct nfsctl_arg; struct __old_kernel_stat; @@ -32,6 +34,7 @@ struct rlimit; struct rusage; struct sched_param; struct semaphore; +struct sembuf; struct sockaddr; struct stat; struct stat64; @@ -49,6 +52,7 @@ struct utimbuf; #include #include #include +#include #include #include #include @@ -411,6 +415,21 @@ asmlinkage long sys_setrlimit(unsigned i asmlinkage long sys_getrusage(int who, struct rusage __user *ru); asmlinkage long sys_umask(int mask); +asmlinkage long sys_msgget(key_t key, int msgflg); +asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp, + size_t msgsz, int msgflg); +asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp, + size_t msgsz, long msgtyp, int msgflg); +asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf); + +asmlinkage long sys_semget(key_t key, int nsems, int semflg); +asmlinkage long sys_semop(int semid, struct sembuf __user *sops, + unsigned nsops); +asmlinkage long sys_semctl(int semid, int semnum, int cmd, union semun arg); +asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops, + unsigned nsops, + const struct timespec __user *timeout); + asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn); asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn, unsigned long off, unsigned long len, diff -puN ipc/sem.c~add-syscalls_h-7 ipc/sem.c --- 25/ipc/sem.c~add-syscalls_h-7 Fri Feb 13 18:03:01 2004 +++ 25-akpm/ipc/sem.c Fri Feb 13 18:03:01 2004 @@ -1011,11 +1011,6 @@ out: return un; } -asmlinkage long sys_semop (int semid, struct sembuf __user *tsops, unsigned nsops) -{ - return sys_semtimedop(semid, tsops, nsops, NULL); -} - asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops, unsigned nsops, const struct timespec __user *timeout) { @@ -1181,6 +1176,11 @@ out_free: return error; } +asmlinkage long sys_semop (int semid, struct sembuf __user *tsops, unsigned nsops) +{ + return sys_semtimedop(semid, tsops, nsops, NULL); +} + /* If CLONE_SYSVSEM is set, establish sharing of SEM_UNDO state between * parent and child tasks. * _