aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/kernel/ptrace.c')
-rw-r--r--arch/um/kernel/ptrace.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c
index ffc599bd85c3..ec19fed7c64b 100644
--- a/arch/um/kernel/ptrace.c
+++ b/arch/um/kernel/ptrace.c
@@ -252,13 +252,13 @@ long sys_ptrace(long request, long pid, long addr, long data)
252 break; 252 break;
253#endif 253#endif
254 case PTRACE_FAULTINFO: { 254 case PTRACE_FAULTINFO: {
255 struct ptrace_faultinfo fault; 255 /* Take the info from thread->arch->faultinfo,
256 256 * but transfer max. sizeof(struct ptrace_faultinfo).
257 fault = ((struct ptrace_faultinfo) 257 * On i386, ptrace_faultinfo is smaller!
258 { .is_write = child->thread.err, 258 */
259 .addr = child->thread.cr2 }); 259 ret = copy_to_user((unsigned long __user *) data,
260 ret = copy_to_user((unsigned long __user *) data, &fault, 260 &child->thread.arch.faultinfo,
261 sizeof(fault)); 261 sizeof(struct ptrace_faultinfo));
262 if(ret) 262 if(ret)
263 break; 263 break;
264 break; 264 break;
@@ -269,6 +269,7 @@ long sys_ptrace(long request, long pid, long addr, long data)
269 sizeof(child->pending.signal)); 269 sizeof(child->pending.signal));
270 break; 270 break;
271 271
272#ifdef PTRACE_LDT
272 case PTRACE_LDT: { 273 case PTRACE_LDT: {
273 struct ptrace_ldt ldt; 274 struct ptrace_ldt ldt;
274 275
@@ -284,6 +285,7 @@ long sys_ptrace(long request, long pid, long addr, long data)
284 ret = -EIO; 285 ret = -EIO;
285 break; 286 break;
286 } 287 }
288#endif
287#ifdef CONFIG_PROC_MM 289#ifdef CONFIG_PROC_MM
288 case PTRACE_SWITCH_MM: { 290 case PTRACE_SWITCH_MM: {
289 struct mm_struct *old = child->mm; 291 struct mm_struct *old = child->mm;