aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/process.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2009-09-22 16:58:41 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-09-22 16:58:43 -0400
commit2d70ca23f86647e076e3a8b64b3a90e583b894d5 (patch)
tree38c95c0728211e872fd652cc9d2f371fa0145773 /arch/s390/kernel/process.c
parent6541f7b68f229aacd2e453bc9e94335fc56419fe (diff)
[S390] Convert sys_clone to function with parameters.
Use function parameters instead of accessing the pt_regs structure to get the parameters. Also merge the 31 and 64 bit versions since they are identical. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r--arch/s390/kernel/process.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 5a43f27eec13..189d978f76d6 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -230,17 +230,11 @@ SYSCALL_DEFINE0(fork)
230 return do_fork(SIGCHLD, regs->gprs[15], regs, 0, NULL, NULL); 230 return do_fork(SIGCHLD, regs->gprs[15], regs, 0, NULL, NULL);
231} 231}
232 232
233SYSCALL_DEFINE0(clone) 233SYSCALL_DEFINE4(clone, unsigned long, newsp, unsigned long, clone_flags,
234 int __user *, parent_tidptr, int __user *, child_tidptr)
234{ 235{
235 struct pt_regs *regs = task_pt_regs(current); 236 struct pt_regs *regs = task_pt_regs(current);
236 unsigned long clone_flags;
237 unsigned long newsp;
238 int __user *parent_tidptr, *child_tidptr;
239 237
240 clone_flags = regs->gprs[3];
241 newsp = regs->orig_gpr2;
242 parent_tidptr = (int __user *) regs->gprs[4];
243 child_tidptr = (int __user *) regs->gprs[5];
244 if (!newsp) 238 if (!newsp)
245 newsp = regs->gprs[15]; 239 newsp = regs->gprs[15];
246 return do_fork(clone_flags, newsp, regs, 0, 240 return do_fork(clone_flags, newsp, regs, 0,