diff options
Diffstat (limited to 'arch/riscv/include/asm/syscall.h')
| -rw-r--r-- | arch/riscv/include/asm/syscall.h | 24 | 
1 files changed, 6 insertions, 18 deletions
| diff --git a/arch/riscv/include/asm/syscall.h b/arch/riscv/include/asm/syscall.h index bba3da6ef157..a3d5273ded7c 100644 --- a/arch/riscv/include/asm/syscall.h +++ b/arch/riscv/include/asm/syscall.h @@ -72,32 +72,20 @@ 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) |