microblaze: Fix sparse warnings - ptrace
authorMichal Simek <monstr@monstr.eu>
Mon, 7 Feb 2011 10:38:57 +0000 (11:38 +0100)
committerMichal Simek <monstr@monstr.eu>
Wed, 9 Mar 2011 07:09:58 +0000 (08:09 +0100)
Warning log:
CHECK   arch/microblaze/kernel/ptrace.c
arch/microblaze/kernel/ptrace.c:126:11: warning: incorrect type in initializer (different address spaces)
arch/microblaze/kernel/ptrace.c:126:11:    expected unknown type 2[noderef] *__pu_addr<asn:1>
arch/microblaze/kernel/ptrace.c:126:11:    got unsigned long *<noident>
arch/microblaze/kernel/ptrace.c:134:17: warning: symbol 'do_syscall_trace_enter' was not declared. Should it be static?
arch/microblaze/kernel/ptrace.c:157:17: warning: symbol 'do_syscall_trace_leave' was not declared. Should it be static?

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/include/asm/syscall.h
arch/microblaze/kernel/ptrace.c

index 048dfcd8d89d62d38ee6373b8f75940ef676ff65..9bc431783105caf678b92a08b64e8daa5a2964d1 100644 (file)
@@ -96,4 +96,7 @@ static inline void syscall_set_arguments(struct task_struct *task,
                microblaze_set_syscall_arg(regs, i++, *args++);
 }
 
+asmlinkage long do_syscall_trace_enter(struct pt_regs *regs);
+asmlinkage void do_syscall_trace_leave(struct pt_regs *regs);
+
 #endif /* __ASM_MICROBLAZE_SYSCALL_H */
index 05ac8cc975d53192e80557b15b9ea0c3013a02f8..6a8e0cc5c57d40dbfc165c5df15c86b9cece0277 100644 (file)
@@ -39,6 +39,7 @@
 #include <linux/uaccess.h>
 #include <asm/asm-offsets.h>
 #include <asm/cacheflush.h>
+#include <asm/syscall.h>
 #include <asm/io.h>
 
 /* Returns the address where the register at REG_OFFS in P is stashed away. */
@@ -123,7 +124,7 @@ long arch_ptrace(struct task_struct *child, long request,
                        rval = -EIO;
 
                if (rval == 0 && request == PTRACE_PEEKUSR)
-                       rval = put_user(val, (unsigned long *)data);
+                       rval = put_user(val, (unsigned long __user *)data);
                break;
        default:
                rval = ptrace_request(child, request, addr, data);