aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-11-28 23:04:26 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-11-28 23:43:27 -0500
commit24465a40ba452bd81fdc9eecb2d75bb903aafdf6 (patch)
tree859765acda3c65273fce6601029a7c4d8002c41d
parent1ea2a0160588582cd8414a8026d5b54f1705dfa1 (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.h8
-rw-r--r--arch/hexagon/include/asm/syscall.h5
-rw-r--r--arch/microblaze/include/asm/Kbuild1
-rw-r--r--arch/microblaze/include/asm/syscalls.h16
-rw-r--r--arch/s390/kernel/entry.h4
-rw-r--r--arch/tile/include/asm/syscalls.h3
-rw-r--r--arch/tile/kernel/compat.c1
-rw-r--r--arch/tile/kernel/sys.c1
-rw-r--r--arch/x86/include/asm/syscalls.h11
-rw-r--r--arch/x86/um/shared/sysdep/syscalls.h2
-rw-r--r--include/asm-generic/syscalls.h12
-rw-r--r--include/linux/syscalls.h10
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);
27asmlinkage long sys_sigaltstack_wrapper(const stack_t __user *uss, 27asmlinkage 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 */
34asmlinkage 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
28asmlinkage 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
35extern void *sys_call_table[]; 30extern 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
3header-y += elf.h 3header-y += elf.h
4generic-y += clkdev.h 4generic-y += clkdev.h
5generic-y += exec.h 5generic-y += exec.h
6generic-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
3asmlinkage long microblaze_vfork(struct pt_regs *regs);
4asmlinkage long microblaze_clone(int flags, unsigned long stack,
5 struct pt_regs *regs);
6asmlinkage 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
11asmlinkage 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,
54long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); 54long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args);
55long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high, 55long sys_s390_fallocate(int fd, int mode, loff_t offset, u32 len_high,
56 u32 len_low); 56 u32 len_low);
57long sys_fork(void);
58long sys_clone(unsigned long newsp, unsigned long clone_flags,
59 int __user *parent_tidptr, int __user *child_tidptr);
60long sys_vfork(void);
61long sys_sigsuspend(int history0, int history1, old_sigset_t mask); 57long sys_sigsuspend(int history0, int history1, old_sigset_t mask);
62long sys_sigaction(int sig, const struct old_sigaction __user *act, 58long 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(). */
66long sys_clone(unsigned long clone_flags, unsigned long newsp,
67 void __user *parent_tid, void __user *child_tid);
68long sys_rt_sigreturn(void); 66long sys_rt_sigreturn(void);
69long sys_sigaltstack(const stack_t __user *, stack_t __user *); 67long 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 @@
20asmlinkage long sys_ioperm(unsigned long, unsigned long, int); 20asmlinkage long sys_ioperm(unsigned long, unsigned long, int);
21long sys_iopl(unsigned int, struct pt_regs *); 21long sys_iopl(unsigned int, struct pt_regs *);
22 22
23/* kernel/process.c */
24asmlinkage long sys_fork(void);
25asmlinkage long sys_vfork(void);
26#ifdef CONFIG_CLONE_BACKWARDS
27asmlinkage long sys_clone(unsigned long, unsigned long, void __user *, int,
28 void __user *);
29#else
30asmlinkage long sys_clone(unsigned long, unsigned long, void __user *,
31 void __user *, int);
32#endif
33
34/* kernel/ldt.c */ 23/* kernel/ldt.c */
35asmlinkage int sys_modify_ldt(int, void __user *, unsigned long); 24asmlinkage 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 @@
1extern 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
12asmlinkage 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
17asmlinkage long sys_fork(void);
18#endif
19
20#ifndef sys_vfork
21asmlinkage long sys_vfork(void);
22#endif
23 11
24#ifndef sys_mmap2 12#ifndef sys_mmap2
25asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, 13asmlinkage 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
839asmlinkage long sys_fork(void);
840asmlinkage long sys_vfork(void);
841#ifdef CONFIG_CLONE_BACKWARDS
842asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int,
843 int __user *);
844#else
845asmlinkage long sys_clone(unsigned long, unsigned long, int __user *,
846 int __user *, int);
847#endif
848
839asmlinkage long sys_execve(const char __user *filename, 849asmlinkage 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);