On Sun, Mar 18, 2018 at 8:51 PM, Guo Ren <[email protected]> wrote:
> Signed-off-by: Guo Ren <[email protected]>

> + */
> +long arch_ptrace(struct task_struct *child, long request, unsigned long addr,
> +               unsigned long data)
> +{
> +       unsigned long tmp = 0, ret = 0;
> +       int i;
> +
> +       switch (request) {
> +               /* read the word at location addr in the USER area. */
> +       case PTRACE_PEEKUSR:

> +
> +       case PTRACE_POKEUSR:  /* write the word at location addr in the USER 
> area */

> +       case PTRACE_GETREGS:    /* Get all gp regs from the child. */

> +       case PTRACE_SETREGS:    /* Set all gp regs in the child. */
> +               for (i = 0; i <= CSKY_GREG_NUM; i++) {
> +                       ret = get_user(tmp, (unsigned long *)data);


I think all of these should use the regset code like arch/riscv/kernel/ptrace.c
does.

       Arnd

Reply via email to