diff options
Diffstat (limited to 'arch/riscv/include/asm/syscall.h')
| -rw-r--r-- | arch/riscv/include/asm/syscall.h | 26 | 
1 files changed, 7 insertions, 19 deletions
diff --git a/arch/riscv/include/asm/syscall.h b/arch/riscv/include/asm/syscall.h index bba3da6ef157..0f2fe1794c8f 100644 --- a/arch/riscv/include/asm/syscall.h +++ b/arch/riscv/include/asm/syscall.h @@ -72,35 +72,23 @@ static inline void syscall_set_return_value(struct task_struct *task,  static inline void syscall_get_arguments(struct task_struct *task,  					 struct pt_regs *regs, -					 unsigned int i, unsigned int n,  					 unsigned long *args)  { -	BUG_ON(i + n > 6); -	if (i == 0) { -		args[0] = regs->orig_a0; -		args++; -		i++; -		n--; -	} -	memcpy(args, ®s->a1 + i * sizeof(regs->a1), n * sizeof(args[0])); +	args[0] = regs->orig_a0; +	args++; +	memcpy(args, ®s->a1, 5 * sizeof(args[0]));  }  static inline void syscall_set_arguments(struct task_struct *task,  					 struct pt_regs *regs, -					 unsigned int i, unsigned int n,  					 const unsigned long *args)  { -	BUG_ON(i + n > 6); -        if (i == 0) { -                regs->orig_a0 = args[0]; -                args++; -                i++; -                n--; -        } -	memcpy(®s->a1 + i * sizeof(regs->a1), args, n * sizeof(regs->a0)); +	regs->orig_a0 = args[0]; +	args++; +	memcpy(®s->a1, args, 5 * sizeof(regs->a1));  } -static inline int syscall_get_arch(void) +static inline int syscall_get_arch(struct task_struct *task)  {  #ifdef CONFIG_64BIT  	return AUDIT_ARCH_RISCV64;  |