h8300: switch to ->regset_get()
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 16 Jun 2020 18:13:39 +0000 (14:13 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Jul 2020 18:31:10 +0000 (14:31 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/h8300/kernel/ptrace.c

index 0dc1c8f..a11db00 100644 (file)
@@ -87,20 +87,15 @@ int h8300_put_reg(struct task_struct *task, int regno, unsigned long data)
 
 static int regs_get(struct task_struct *target,
                    const struct user_regset *regset,
-                   unsigned int pos, unsigned int count,
-                   void *kbuf, void __user *ubuf)
+                   struct membuf to)
 {
        int r;
-       struct user_regs_struct regs;
-       long *reg = (long *)&regs;
 
-       /* build user regs in buffer */
-       BUILD_BUG_ON(sizeof(regs) % sizeof(long) != 0);
-       for (r = 0; r < sizeof(regs) / sizeof(long); r++)
-               *reg++ = h8300_get_reg(target, r);
+       BUILD_BUG_ON(sizeof(struct user_regs_struct) % sizeof(long) != 0);
+       for (r = 0; r < ELF_NGREG; r++)
+               membuf_store(&to, h8300_get_reg(target, r));
 
-       return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
-                                  &regs, 0, sizeof(regs));
+       return 0;
 }
 
 static int regs_set(struct task_struct *target,
@@ -139,7 +134,7 @@ static const struct user_regset h8300_regsets[] = {
                .n              = ELF_NGREG,
                .size           = sizeof(long),
                .align          = sizeof(long),
-               .get            = regs_get,
+               .regset_get             = regs_get,
                .set            = regs_set,
        },
 };