aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/avr32/kernel/ptrace.c')
-rw-r--r--arch/avr32/kernel/ptrace.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/avr32/kernel/ptrace.c b/arch/avr32/kernel/ptrace.c
index 5e73c25f8f85..4aedcab7cd4b 100644
--- a/arch/avr32/kernel/ptrace.c
+++ b/arch/avr32/kernel/ptrace.c
@@ -146,9 +146,11 @@ static int ptrace_setregs(struct task_struct *tsk, const void __user *uregs)
146 return ret; 146 return ret;
147} 147}
148 148
149long arch_ptrace(struct task_struct *child, long request, long addr, long data) 149long arch_ptrace(struct task_struct *child, long request,
150 unsigned long addr, unsigned long data)
150{ 151{
151 int ret; 152 int ret;
153 void __user *datap = (void __user *) data;
152 154
153 switch (request) { 155 switch (request) {
154 /* Read the word at location addr in the child process */ 156 /* Read the word at location addr in the child process */
@@ -158,8 +160,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
158 break; 160 break;
159 161
160 case PTRACE_PEEKUSR: 162 case PTRACE_PEEKUSR:
161 ret = ptrace_read_user(child, addr, 163 ret = ptrace_read_user(child, addr, datap);
162 (unsigned long __user *)data);
163 break; 164 break;
164 165
165 /* Write the word in data at location addr */ 166 /* Write the word in data at location addr */
@@ -173,11 +174,11 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
173 break; 174 break;
174 175
175 case PTRACE_GETREGS: 176 case PTRACE_GETREGS:
176 ret = ptrace_getregs(child, (void __user *)data); 177 ret = ptrace_getregs(child, datap);
177 break; 178 break;
178 179
179 case PTRACE_SETREGS: 180 case PTRACE_SETREGS:
180 ret = ptrace_setregs(child, (const void __user *)data); 181 ret = ptrace_setregs(child, datap);
181 break; 182 break;
182 183
183 default: 184 default: