Export __ptrace_detach() and do_notify_parent_cldstop() for ptrace-utrace. Signed-off-by: Roland McGrath <rol...@redhat.com> Signed-off-by: Oleg Nesterov <o...@redhat.com> ---
include/linux/ptrace.h | 1 + include/linux/sched.h | 1 + kernel/ptrace.c | 2 +- kernel/signal.c | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) --- V1/include/linux/ptrace.h~4_EXPORT_2_HELPERS 2009-12-18 00:20:50.000000000 +0100 +++ V1/include/linux/ptrace.h 2009-12-18 00:53:58.000000000 +0100 @@ -85,6 +85,7 @@ 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 bool __ptrace_detach(struct task_struct *tracer, struct task_struct *tracee); 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); --- V1/include/linux/sched.h~4_EXPORT_2_HELPERS 2009-12-18 00:20:50.000000000 +0100 +++ V1/include/linux/sched.h 2009-12-18 00:53:58.000000000 +0100 @@ -2081,6 +2081,7 @@ extern int kill_pgrp(struct pid *pid, in extern int kill_pid(struct pid *pid, int sig, int priv); extern int kill_proc_info(int, struct siginfo *, pid_t); extern int do_notify_parent(struct task_struct *, int); +extern void do_notify_parent_cldstop(struct task_struct *, int); extern void __wake_up_parent(struct task_struct *p, struct task_struct *parent); extern void force_sig(int, struct task_struct *); extern int send_sig(int, struct task_struct *, int); --- V1/kernel/ptrace.c~4_EXPORT_2_HELPERS 2009-09-24 21:38:54.000000000 +0200 +++ V1/kernel/ptrace.c 2009-12-18 00:53:58.000000000 +0100 @@ -271,7 +271,7 @@ static int ignoring_children(struct sigh * reap it now, in that case we must also wake up sub-threads sleeping in * do_wait(). */ -static bool __ptrace_detach(struct task_struct *tracer, struct task_struct *p) +bool __ptrace_detach(struct task_struct *tracer, struct task_struct *p) { __ptrace_unlink(p); --- V1/kernel/signal.c~4_EXPORT_2_HELPERS 2009-12-18 00:48:35.000000000 +0100 +++ V1/kernel/signal.c 2009-12-18 00:53:58.000000000 +0100 @@ -1494,7 +1494,7 @@ int do_notify_parent(struct task_struct return ret; } -static void do_notify_parent_cldstop(struct task_struct *tsk, int why) +void do_notify_parent_cldstop(struct task_struct *tsk, int why) { struct siginfo info; unsigned long flags;