x86, um: switch to generic fork/vfork/clone
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -467,10 +467,15 @@ GLOBAL(\label)
|
||||
PTREGSCALL stub32_sigaltstack, sys32_sigaltstack, %rdx
|
||||
PTREGSCALL stub32_execve, compat_sys_execve, %rcx
|
||||
PTREGSCALL stub32_fork, sys_fork, %rdi
|
||||
PTREGSCALL stub32_clone, sys32_clone, %rdx
|
||||
PTREGSCALL stub32_vfork, sys_vfork, %rdi
|
||||
PTREGSCALL stub32_iopl, sys_iopl, %rsi
|
||||
|
||||
ALIGN
|
||||
GLOBAL(stub32_clone)
|
||||
leaq sys_clone(%rip),%rax
|
||||
mov %r8, %rcx
|
||||
jmp ia32_ptregs_common
|
||||
|
||||
ALIGN
|
||||
ia32_ptregs_common:
|
||||
popq %r11
|
||||
|
@@ -385,17 +385,6 @@ asmlinkage long sys32_sendfile(int out_fd, int in_fd,
|
||||
return ret;
|
||||
}
|
||||
|
||||
asmlinkage long sys32_clone(unsigned int clone_flags, unsigned int newsp,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
void __user *parent_tid = (void __user *)regs->dx;
|
||||
void __user *child_tid = (void __user *)regs->di;
|
||||
|
||||
if (!newsp)
|
||||
newsp = regs->sp;
|
||||
return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid);
|
||||
}
|
||||
|
||||
/*
|
||||
* Some system calls that need sign extended arguments. This could be
|
||||
* done by a generic wrapper.
|
||||
|
Viittaa uudesa ongelmassa
Block a user