diff options
Diffstat (limited to 'arch/frv/kernel/ptrace.c')
-rw-r--r-- | arch/frv/kernel/ptrace.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/arch/frv/kernel/ptrace.c b/arch/frv/kernel/ptrace.c index ce88fb95ee59..a10f3092fad4 100644 --- a/arch/frv/kernel/ptrace.c +++ b/arch/frv/kernel/ptrace.c | |||
@@ -112,20 +112,12 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
112 | switch (request) { | 112 | switch (request) { |
113 | /* when I and D space are separate, these will need to be fixed. */ | 113 | /* when I and D space are separate, these will need to be fixed. */ |
114 | case PTRACE_PEEKTEXT: /* read word at location addr. */ | 114 | case PTRACE_PEEKTEXT: /* read word at location addr. */ |
115 | case PTRACE_PEEKDATA: { | 115 | case PTRACE_PEEKDATA: |
116 | int copied; | ||
117 | |||
118 | ret = -EIO; | 116 | ret = -EIO; |
119 | if (is_user_addr_valid(child, addr, sizeof(tmp)) < 0) | 117 | if (is_user_addr_valid(child, addr, sizeof(tmp)) < 0) |
120 | break; | 118 | break; |
121 | 119 | ret = generic_ptrace_peekdata(child, addr, data); | |
122 | copied = access_process_vm(child, addr, &tmp, sizeof(tmp), 0); | ||
123 | if (copied != sizeof(tmp)) | ||
124 | break; | ||
125 | |||
126 | ret = put_user(tmp,(unsigned long *) data); | ||
127 | break; | 120 | break; |
128 | } | ||
129 | 121 | ||
130 | /* read the word at location addr in the USER area. */ | 122 | /* read the word at location addr in the USER area. */ |
131 | case PTRACE_PEEKUSR: { | 123 | case PTRACE_PEEKUSR: { |