48 lines
1.4 KiB
Diff
48 lines
1.4 KiB
Diff
|
Revert:
|
||
|
commit e3e89cc535223433a619d0969db3fa05cdd946b8
|
||
|
("Mark ptrace_{traceme,attach,detach} static")
|
||
|
|
||
|
--- b/include/linux/ptrace.h
|
||
|
+++ a/include/linux/ptrace.h
|
||
|
@@ -102,8 +102,11 @@
|
||
|
|
||
|
extern long arch_ptrace(struct task_struct *child, long request,
|
||
|
unsigned long addr, unsigned long data);
|
||
|
+extern int ptrace_traceme(void);
|
||
|
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
|
||
|
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
|
||
|
+extern int ptrace_attach(struct task_struct *tsk);
|
||
|
+extern int ptrace_detach(struct task_struct *, unsigned int);
|
||
|
extern void ptrace_disable(struct task_struct *);
|
||
|
extern int ptrace_check_attach(struct task_struct *task, int kill);
|
||
|
extern int ptrace_request(struct task_struct *child, long request,
|
||
|
--- b/kernel/ptrace.c
|
||
|
+++ a/kernel/ptrace.c
|
||
|
@@ -163,7 +163,7 @@
|
||
|
return !err;
|
||
|
}
|
||
|
|
||
|
+int ptrace_attach(struct task_struct *task)
|
||
|
-static int ptrace_attach(struct task_struct *task)
|
||
|
{
|
||
|
int retval;
|
||
|
|
||
|
@@ -219,7 +219,7 @@
|
||
|
* Performs checks and sets PT_PTRACED.
|
||
|
* Should be used by all ptrace implementations for PTRACE_TRACEME.
|
||
|
*/
|
||
|
+int ptrace_traceme(void)
|
||
|
-static int ptrace_traceme(void)
|
||
|
{
|
||
|
int ret = -EPERM;
|
||
|
|
||
|
@@ -293,7 +293,7 @@
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
+int ptrace_detach(struct task_struct *child, unsigned int data)
|
||
|
-static int ptrace_detach(struct task_struct *child, unsigned int data)
|
||
|
{
|
||
|
bool dead = false;
|
||
|
|