aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ptrace.h
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-10-27 18:33:45 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-10-27 21:03:10 -0400
commit4abf986960ecda6a87fc2f795aacf888a2f0127e (patch)
tree39601ac75c3b92a3894722287bd9068a8b5e68d0 /include/linux/ptrace.h
parentc4b5ed250eebf854d40f27b43362c80f115cb57a (diff)
ptrace: change signature of sys_ptrace() and friends
Since userspace API of ptrace syscall defines @addr and @data as void pointers, it would be more appropriate to define them as unsigned long in kernel. Therefore related functions are changed also. 'unsigned long' is typically used in other places in kernel as an opaque data type and that using this helps cleaning up a lot of warnings from sparse. Suggested-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Namhyung Kim <namhyung@gmail.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/ptrace.h')
-rw-r--r--include/linux/ptrace.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
index 4272521e29e9..67a4cd77c352 100644
--- a/include/linux/ptrace.h
+++ b/include/linux/ptrace.h
@@ -108,7 +108,8 @@ extern int ptrace_attach(struct task_struct *tsk);
108extern int ptrace_detach(struct task_struct *, unsigned int); 108extern int ptrace_detach(struct task_struct *, unsigned int);
109extern void ptrace_disable(struct task_struct *); 109extern void ptrace_disable(struct task_struct *);
110extern int ptrace_check_attach(struct task_struct *task, int kill); 110extern int ptrace_check_attach(struct task_struct *task, int kill);
111extern int ptrace_request(struct task_struct *child, long request, long addr, long data); 111extern int ptrace_request(struct task_struct *child, long request,
112 unsigned long addr, unsigned long data);
112extern void ptrace_notify(int exit_code); 113extern void ptrace_notify(int exit_code);
113extern void __ptrace_link(struct task_struct *child, 114extern void __ptrace_link(struct task_struct *child,
114 struct task_struct *new_parent); 115 struct task_struct *new_parent);
@@ -132,8 +133,10 @@ static inline void ptrace_unlink(struct task_struct *child)
132 __ptrace_unlink(child); 133 __ptrace_unlink(child);
133} 134}
134 135
135int generic_ptrace_peekdata(struct task_struct *tsk, long addr, long data); 136int generic_ptrace_peekdata(struct task_struct *tsk, unsigned long addr,
136int generic_ptrace_pokedata(struct task_struct *tsk, long addr, long data); 137 unsigned long data);
138int generic_ptrace_pokedata(struct task_struct *tsk, unsigned long addr,
139 unsigned long data);
137 140
138/** 141/**
139 * task_ptrace - return %PT_* flags that apply to a task 142 * task_ptrace - return %PT_* flags that apply to a task