X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=arch%2Ffrv%2Fkernel%2Fptrace.c;h=709e9bdc6126de06417624a0edd8297dca38dc22;hb=592a607bbc053bc6f614a0e619326009f4b3829e;hp=fcff819b4340669003e1e0966f174a4677f004ed;hpb=0d10e47f9635ecafe5a9dc6e10cb056a87a4daa2;p=karo-tx-linux.git diff --git a/arch/frv/kernel/ptrace.c b/arch/frv/kernel/ptrace.c index fcff819b4340..709e9bdc6126 100644 --- a/arch/frv/kernel/ptrace.c +++ b/arch/frv/kernel/ptrace.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -113,20 +112,12 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) switch (request) { /* when I and D space are separate, these will need to be fixed. */ case PTRACE_PEEKTEXT: /* read word at location addr. */ - case PTRACE_PEEKDATA: { - int copied; - + case PTRACE_PEEKDATA: ret = -EIO; if (is_user_addr_valid(child, addr, sizeof(tmp)) < 0) break; - - copied = access_process_vm(child, addr, &tmp, sizeof(tmp), 0); - if (copied != sizeof(tmp)) - break; - - ret = put_user(tmp,(unsigned long *) data); + ret = generic_ptrace_peekdata(child, addr, data); break; - } /* read the word at location addr in the USER area. */ case PTRACE_PEEKUSR: { @@ -177,9 +168,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) ret = -EIO; if (is_user_addr_valid(child, addr, sizeof(tmp)) < 0) break; - if (access_process_vm(child, addr, &data, sizeof(data), 1) != sizeof(data)) - break; - ret = 0; + ret = generic_ptrace_pokedata(child, addr, data); break; case PTRACE_POKEUSR: /* write the word at location addr in the USER area */