diff --git a/arch/x86/include/asm/syscall.h b/arch/x86/include/asm/syscall.h index e8a28380d..7cbf733d1 100755 --- a/arch/x86/include/asm/syscall.h +++ b/arch/x86/include/asm/syscall.h @@ -85,12 +85,7 @@ static inline void syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, unsigned long *args) { - args[0] = regs->bx; - args[1] = regs->cx; - args[2] = regs->dx; - args[3] = regs->si; - args[4] = regs->di; - args[5] = regs->bp; + memcpy(args, ®s->bx, 6 * sizeof(args[0])); } static inline void syscall_set_arguments(struct task_struct *task,