diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-28 23:04:26 -0500 |
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-28 23:43:27 -0500 |
| commit | 24465a40ba452bd81fdc9eecb2d75bb903aafdf6 (patch) | |
| tree | 859765acda3c65273fce6601029a7c4d8002c41d | |
| parent | 1ea2a0160588582cd8414a8026d5b54f1705dfa1 (diff) | |
take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h
now it can be done...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| -rw-r--r-- | arch/arm64/include/asm/syscalls.h | 8 | ||||
| -rw-r--r-- | arch/hexagon/include/asm/syscall.h | 5 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/Kbuild | 1 | ||||
| -rw-r--r-- | arch/microblaze/include/asm/syscalls.h | 16 | ||||
| -rw-r--r-- | arch/s390/kernel/entry.h | 4 | ||||
| -rw-r--r-- | arch/tile/include/asm/syscalls.h | 3 | ||||
| -rw-r--r-- | arch/tile/kernel/compat.c | 1 | ||||
| -rw-r--r-- | arch/tile/kernel/sys.c | 1 | ||||
| -rw-r--r-- | arch/x86/include/asm/syscalls.h | 11 | ||||
| -rw-r--r-- | arch/x86/um/shared/sysdep/syscalls.h | 2 | ||||
| -rw-r--r-- | include/asm-generic/syscalls.h | 12 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 10 |
12 files changed, 11 insertions, 63 deletions
diff --git a/arch/arm64/include/asm/syscalls.h b/arch/arm64/include/asm/syscalls.h index 010ec127dc5b..20d63b290665 100644 --- a/arch/arm64/include/asm/syscalls.h +++ b/arch/arm64/include/asm/syscalls.h | |||
| @@ -27,14 +27,6 @@ asmlinkage long sys_rt_sigreturn_wrapper(void); | |||
| 27 | asmlinkage long sys_sigaltstack_wrapper(const stack_t __user *uss, | 27 | asmlinkage long sys_sigaltstack_wrapper(const stack_t __user *uss, |
| 28 | stack_t __user *uoss); | 28 | stack_t __user *uoss); |
| 29 | 29 | ||
| 30 | /* | ||
| 31 | * AArch64 sys_clone implementation has a different prototype than the generic | ||
| 32 | * one (additional TLS value argument). | ||
| 33 | */ | ||
| 34 | asmlinkage long sys_clone(unsigned long, unsigned long, void __user *, int, | ||
| 35 | void __user *); | ||
| 36 | #define sys_clone sys_clone | ||
| 37 | |||
| 38 | #include <asm-generic/syscalls.h> | 30 | #include <asm-generic/syscalls.h> |
| 39 | 31 | ||
| 40 | #endif /* __ASM_SYSCALLS_H */ | 32 | #endif /* __ASM_SYSCALLS_H */ |
diff --git a/arch/hexagon/include/asm/syscall.h b/arch/hexagon/include/asm/syscall.h index ec2ce6792cd6..4af9c7b6f13a 100644 --- a/arch/hexagon/include/asm/syscall.h +++ b/arch/hexagon/include/asm/syscall.h | |||
| @@ -25,11 +25,6 @@ typedef long (*syscall_fn)(unsigned long, unsigned long, | |||
| 25 | unsigned long, unsigned long, | 25 | unsigned long, unsigned long, |
| 26 | unsigned long, unsigned long); | 26 | unsigned long, unsigned long); |
| 27 | 27 | ||
| 28 | asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, | ||
| 29 | unsigned long parent_tidp, unsigned long child_tidp); | ||
| 30 | |||
| 31 | #define sys_clone sys_clone | ||
| 32 | |||
| 33 | #include <asm-generic/syscalls.h> | 28 | #include <asm-generic/syscalls.h> |
| 34 | 29 | ||
| 35 | extern void *sys_call_table[]; | 30 | extern void *sys_call_table[]; |
diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild index 8653072d7e9f..88a758a67922 100644 --- a/arch/microblaze/include/asm/Kbuild +++ b/arch/microblaze/include/asm/Kbuild | |||
| @@ -3,3 +3,4 @@ include include/asm-generic/Kbuild.asm | |||
| 3 | header-y += elf.h | 3 | header-y += elf.h |
| 4 | generic-y += clkdev.h | 4 | generic-y += clkdev.h |
| 5 | generic-y += exec.h | 5 | generic-y += exec.h |
| 6 | generic-y += syscalls.h | ||
diff --git a/arch/microblaze/include/asm/syscalls.h b/arch/microblaze/include/asm/syscalls.h deleted file mode 100644 index 27f2f4c0f39f..000000000000 --- a/arch/microblaze/include/asm/syscalls.h +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | #ifndef __ASM_MICROBLAZE_SYSCALLS_H | ||
| 2 | |||
| 3 | asmlinkage long microblaze_vfork(struct pt_regs *regs); | ||
| 4 | asmlinkage long microblaze_clone(int flags, unsigned long stack, | ||
| 5 | struct pt_regs *regs); | ||
| 6 | asmlinkage long microblaze_execve(const char __user *filenamei, | ||
| 7 | const char __user *const __user *argv, | ||
| 8 | const char __user *const __user *envp, | ||
| 9 | struct pt_regs *regs); | ||
| 10 | |||
| 11 | asmlinkage long sys_clone(int flags, unsigned long stack, struct pt_regs *regs); | ||
| 12 | #define sys_clone sys_clone | ||
| 13 | |||
| 14 | #include <asm-generic/syscalls.h> | ||
| 15 | |||
| 16 | #endif /* __ASM_MICROBLAZE_SYSCALLS_H */ | ||
diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h index d0d3f69a7346..d8251b98f17a 100644 --- a/arch/s390/kernel/entry.h +++ b/arch/s390/kernel/entry.h | |||
| @@ -54,10 +54,6 @@ long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, | |||
| 54 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); | 54 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); |
| 55 | long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high, | 55 | long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high, |
| 56 | u32 len_low); | 56 | u32 len_low); |
| 57 | long sys_fork(void); | ||
| 58 | long sys_clone(unsigned long newsp, unsigned long clone_flags, | ||
| 59 | int __user *parent_tidptr, int __user *child_tidptr); | ||
| 60 | long sys_vfork(void); | ||
| 61 | long sys_sigsuspend(int history0, int history1, old_sigset_t mask); | 57 | long sys_sigsuspend(int history0, int history1, old_sigset_t mask); |
| 62 | long sys_sigaction(int sig, const struct old_sigaction __user *act, | 58 | long sys_sigaction(int sig, const struct old_sigaction __user *act, |
| 63 | struct old_sigaction __user *oact); | 59 | struct old_sigaction __user *oact); |
diff --git a/arch/tile/include/asm/syscalls.h b/arch/tile/include/asm/syscalls.h index 394c76f2dc76..4c8462a62cb6 100644 --- a/arch/tile/include/asm/syscalls.h +++ b/arch/tile/include/asm/syscalls.h | |||
| @@ -63,11 +63,8 @@ long sys_ftruncate64(unsigned int fd, loff_t length); | |||
| 63 | #endif | 63 | #endif |
| 64 | 64 | ||
| 65 | /* Provide versions of standard syscalls that use current_pt_regs(). */ | 65 | /* Provide versions of standard syscalls that use current_pt_regs(). */ |
| 66 | long sys_clone(unsigned long clone_flags, unsigned long newsp, | ||
| 67 | void __user *parent_tid, void __user *child_tid); | ||
| 68 | long sys_rt_sigreturn(void); | 66 | long sys_rt_sigreturn(void); |
| 69 | long sys_sigaltstack(const stack_t __user *, stack_t __user *); | 67 | long sys_sigaltstack(const stack_t __user *, stack_t __user *); |
| 70 | #define sys_clone sys_clone | ||
| 71 | #define sys_rt_sigreturn sys_rt_sigreturn | 68 | #define sys_rt_sigreturn sys_rt_sigreturn |
| 72 | #define sys_sigaltstack sys_sigaltstack | 69 | #define sys_sigaltstack sys_sigaltstack |
| 73 | 70 | ||
diff --git a/arch/tile/kernel/compat.c b/arch/tile/kernel/compat.c index a2e805569d5d..9cd7cb6041c0 100644 --- a/arch/tile/kernel/compat.c +++ b/arch/tile/kernel/compat.c | |||
| @@ -104,7 +104,6 @@ long compat_sys_sched_rr_get_interval(compat_pid_t pid, | |||
| 104 | 104 | ||
| 105 | /* Call the assembly trampolines where necessary. */ | 105 | /* Call the assembly trampolines where necessary. */ |
| 106 | #define compat_sys_rt_sigreturn _compat_sys_rt_sigreturn | 106 | #define compat_sys_rt_sigreturn _compat_sys_rt_sigreturn |
| 107 | #undef sys_clone | ||
| 108 | #define sys_clone _sys_clone | 107 | #define sys_clone _sys_clone |
| 109 | 108 | ||
| 110 | /* | 109 | /* |
diff --git a/arch/tile/kernel/sys.c b/arch/tile/kernel/sys.c index 02ff5c0ef775..b881a7be24bd 100644 --- a/arch/tile/kernel/sys.c +++ b/arch/tile/kernel/sys.c | |||
| @@ -109,7 +109,6 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, | |||
| 109 | /* Call the assembly trampolines where necessary. */ | 109 | /* Call the assembly trampolines where necessary. */ |
| 110 | #undef sys_rt_sigreturn | 110 | #undef sys_rt_sigreturn |
| 111 | #define sys_rt_sigreturn _sys_rt_sigreturn | 111 | #define sys_rt_sigreturn _sys_rt_sigreturn |
| 112 | #undef sys_clone | ||
| 113 | #define sys_clone _sys_clone | 112 | #define sys_clone _sys_clone |
| 114 | 113 | ||
| 115 | /* | 114 | /* |
diff --git a/arch/x86/include/asm/syscalls.h b/arch/x86/include/asm/syscalls.h index f7252d11416b..2f8374718aa3 100644 --- a/arch/x86/include/asm/syscalls.h +++ b/arch/x86/include/asm/syscalls.h | |||
| @@ -20,17 +20,6 @@ | |||
| 20 | asmlinkage long sys_ioperm(unsigned long, unsigned long, int); | 20 | asmlinkage long sys_ioperm(unsigned long, unsigned long, int); |
| 21 | long sys_iopl(unsigned int, struct pt_regs *); | 21 | long sys_iopl(unsigned int, struct pt_regs *); |
| 22 | 22 | ||
| 23 | /* kernel/process.c */ | ||
| 24 | asmlinkage long sys_fork(void); | ||
| 25 | asmlinkage long sys_vfork(void); | ||
| 26 | #ifdef CONFIG_CLONE_BACKWARDS | ||
| 27 | asmlinkage long sys_clone(unsigned long, unsigned long, void __user *, int, | ||
| 28 | void __user *); | ||
| 29 | #else | ||
| 30 | asmlinkage long sys_clone(unsigned long, unsigned long, void __user *, | ||
| 31 | void __user *, int); | ||
| 32 | #endif | ||
| 33 | |||
| 34 | /* kernel/ldt.c */ | 23 | /* kernel/ldt.c */ |
| 35 | asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); | 24 | asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); |
| 36 | 25 | ||
diff --git a/arch/x86/um/shared/sysdep/syscalls.h b/arch/x86/um/shared/sysdep/syscalls.h index ca255a805ed9..bd9a89b67e41 100644 --- a/arch/x86/um/shared/sysdep/syscalls.h +++ b/arch/x86/um/shared/sysdep/syscalls.h | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | extern long sys_clone(unsigned long clone_flags, unsigned long newsp, | ||
| 2 | void __user *parent_tid, void __user *child_tid); | ||
| 3 | #ifdef __i386__ | 1 | #ifdef __i386__ |
| 4 | #include "syscalls_32.h" | 2 | #include "syscalls_32.h" |
| 5 | #else | 3 | #else |
diff --git a/include/asm-generic/syscalls.h b/include/asm-generic/syscalls.h index 77960333b1a1..58f466ff00d3 100644 --- a/include/asm-generic/syscalls.h +++ b/include/asm-generic/syscalls.h | |||
| @@ -8,18 +8,6 @@ | |||
| 8 | * Calling conventions for these system calls can differ, so | 8 | * Calling conventions for these system calls can differ, so |
| 9 | * it's possible to override them. | 9 | * it's possible to override them. |
| 10 | */ | 10 | */ |
| 11 | #ifndef sys_clone | ||
| 12 | asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp, | ||
| 13 | void __user *parent_tid, void __user *child_tid); | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #ifndef sys_fork | ||
| 17 | asmlinkage long sys_fork(void); | ||
| 18 | #endif | ||
| 19 | |||
| 20 | #ifndef sys_vfork | ||
| 21 | asmlinkage long sys_vfork(void); | ||
| 22 | #endif | ||
| 23 | 11 | ||
| 24 | #ifndef sys_mmap2 | 12 | #ifndef sys_mmap2 |
| 25 | asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | 13 | asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 526deb333b91..91835e7f364d 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -836,6 +836,16 @@ int kernel_execve(const char *filename, const char *const argv[], const char *co | |||
| 836 | (const char __user *const __user *)envp) | 836 | (const char __user *const __user *)envp) |
| 837 | #endif | 837 | #endif |
| 838 | 838 | ||
| 839 | asmlinkage long sys_fork(void); | ||
| 840 | asmlinkage long sys_vfork(void); | ||
| 841 | #ifdef CONFIG_CLONE_BACKWARDS | ||
| 842 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int, | ||
| 843 | int __user *); | ||
| 844 | #else | ||
| 845 | asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, | ||
| 846 | int __user *, int); | ||
| 847 | #endif | ||
| 848 | |||
| 839 | asmlinkage long sys_execve(const char __user *filename, | 849 | asmlinkage long sys_execve(const char __user *filename, |
| 840 | const char __user *const __user *argv, | 850 | const char __user *const __user *argv, |
| 841 | const char __user *const __user *envp); | 851 | const char __user *const __user *envp); |
