summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/syscall.h
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2019-04-21 23:18:44 +0200
committerGreg Kroah-Hartman2019-04-21 23:18:44 +0200
commit817de6b85914a3dda72b971c074d4d342965fba0 (patch)
treedf0a4563a04aadb8f8595f72392d66d65797c455 /arch/powerpc/include/asm/syscall.h
parentstaging: kpc2000: add initial set of Daktronics drivers (diff)
parentLinux 5.1-rc6 (diff)
downloadkernel-qcow2-linux-817de6b85914a3dda72b971c074d4d342965fba0.tar.gz
kernel-qcow2-linux-817de6b85914a3dda72b971c074d4d342965fba0.tar.xz
kernel-qcow2-linux-817de6b85914a3dda72b971c074d4d342965fba0.zip
Merge 5.1-rc6 into staging-next
We want the fixes in here as well as this resolves an iio driver merge issue. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/powerpc/include/asm/syscall.h')
-rw-r--r--arch/powerpc/include/asm/syscall.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/arch/powerpc/include/asm/syscall.h b/arch/powerpc/include/asm/syscall.h
index 1a0e7a8b1c81..1243045bad2d 100644
--- a/arch/powerpc/include/asm/syscall.h
+++ b/arch/powerpc/include/asm/syscall.h
@@ -65,22 +65,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)
{
unsigned long val, mask = -1UL;
-
- BUG_ON(i + n > 6);
+ unsigned int n = 6;
#ifdef CONFIG_COMPAT
if (test_tsk_thread_flag(task, TIF_32BIT))
mask = 0xffffffff;
#endif
while (n--) {
- if (n == 0 && i == 0)
+ if (n == 0)
val = regs->orig_gpr3;
else
- val = regs->gpr[3 + i + n];
+ val = regs->gpr[3 + n];
args[n] = val & mask;
}
@@ -88,15 +86,12 @@ static inline void syscall_get_arguments(struct task_struct *task,
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);
- memcpy(&regs->gpr[3 + i], args, n * sizeof(args[0]));
+ memcpy(&regs->gpr[3], args, 6 * sizeof(args[0]));
/* Also copy the first argument into orig_gpr3 */
- if (i == 0 && n > 0)
- regs->orig_gpr3 = args[0];
+ regs->orig_gpr3 = args[0];
}
static inline int syscall_get_arch(void)