diff options
Diffstat (limited to 'arch/x86_64/kernel/ptrace.c')
-rw-r--r-- | arch/x86_64/kernel/ptrace.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c index 9409117b9f19..327ff93a38b6 100644 --- a/arch/x86_64/kernel/ptrace.c +++ b/arch/x86_64/kernel/ptrace.c | |||
@@ -313,17 +313,9 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
313 | switch (request) { | 313 | switch (request) { |
314 | /* when I and D space are separate, these will need to be fixed. */ | 314 | /* when I and D space are separate, these will need to be fixed. */ |
315 | case PTRACE_PEEKTEXT: /* read word at location addr. */ | 315 | case PTRACE_PEEKTEXT: /* read word at location addr. */ |
316 | case PTRACE_PEEKDATA: { | 316 | case PTRACE_PEEKDATA: |
317 | unsigned long tmp; | 317 | ret = generic_ptrace_peekdata(child, addr, data); |
318 | int copied; | ||
319 | |||
320 | copied = access_process_vm(child, addr, &tmp, sizeof(tmp), 0); | ||
321 | ret = -EIO; | ||
322 | if (copied != sizeof(tmp)) | ||
323 | break; | ||
324 | ret = put_user(tmp,(unsigned long __user *) data); | ||
325 | break; | 318 | break; |
326 | } | ||
327 | 319 | ||
328 | /* read the word at location addr in the USER area. */ | 320 | /* read the word at location addr in the USER area. */ |
329 | case PTRACE_PEEKUSR: { | 321 | case PTRACE_PEEKUSR: { |