aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-10-21 22:25:53 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-21 22:25:53 -0400
commit9d401279d682280a92db8193ede8415c34588207 (patch)
tree07d9c01fdbc136b101a5eb369d91191eabeb74ed /arch
parent53b50f9483cce47d1a7aefd1c9f442c094a5b1f7 (diff)
powerpc: don't bother with zero-extending arguments in sys_clone()
... since the syscall glue had been doing that for 9 years already. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/process.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 8c600c3f6613..471c52cfc1fb 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1025,8 +1025,6 @@ int get_unalign_ctl(struct task_struct *tsk, unsigned long adr)
1025 return put_user(tsk->thread.align_ctl, (unsigned int __user *)adr); 1025 return put_user(tsk->thread.align_ctl, (unsigned int __user *)adr);
1026} 1026}
1027 1027
1028#define TRUNC_PTR(x) ((typeof(x))(((unsigned long)(x)) & 0xffffffff))
1029
1030int sys_clone(unsigned long clone_flags, unsigned long usp, 1028int sys_clone(unsigned long clone_flags, unsigned long usp,
1031 int __user *parent_tidp, void __user *child_threadptr, 1029 int __user *parent_tidp, void __user *child_threadptr,
1032 int __user *child_tidp, int p6, 1030 int __user *child_tidp, int p6,
@@ -1035,12 +1033,6 @@ int sys_clone(unsigned long clone_flags, unsigned long usp,
1035 CHECK_FULL_REGS(regs); 1033 CHECK_FULL_REGS(regs);
1036 if (usp == 0) 1034 if (usp == 0)
1037 usp = regs->gpr[1]; /* stack pointer for child */ 1035 usp = regs->gpr[1]; /* stack pointer for child */
1038#ifdef CONFIG_PPC64
1039 if (is_32bit_task()) {
1040 parent_tidp = TRUNC_PTR(parent_tidp);
1041 child_tidp = TRUNC_PTR(child_tidp);
1042 }
1043#endif
1044 return do_fork(clone_flags, usp, regs, 0, parent_tidp, child_tidp); 1036 return do_fork(clone_flags, usp, regs, 0, parent_tidp, child_tidp);
1045} 1037}
1046 1038