[PATCHSET ptrace] ptrace: implement PTRACE_SEIZE/INTERRUPT and group stop notification, take#5

From: Tejun Heo
Date: Tue Jun 14 2011 - 05:20:29 EST


Hello,

This is the fifth take of PTRACE_SEIZE/INTERRUPT and group stop
notification patchset.

Changes from the last take[1] are,

* Rebased on top of Oleg's ptrace branch[2] which now contains prep
patches from the last take[1], so prep patches are dropped from this
series.

* si_pt_flags and PTRACE_SI_STOPPED are dropped in favor of encoding
the current group stop state in exit_code of STOP traps. If group
stop is in effect for the tracee, signr part of exit_code is the
stopping signal; otherwise, it's SIGTRAP.

Note that SIGCONT isn't used for NOTIFY traps - SIGTRAP is used
instead, so signr is either SIG(stop) or SIGTRAP. NOTIFY traps
aren't differen't from any other STOP traps and all we need is the
current state of group stop. There's no need to distinguish NOTIFY
traps.

* LISTENING test moved from wait_task_stopped() to
task_stopped_code().

This patchset contains the following five patches.

0001-job-control-introduce-JOBCTL_TRAP_STOP-and-use-it-fo.patch
0002-ptrace-implement-PTRACE_SEIZE.patch
0003-ptrace-implement-PTRACE_INTERRUPT.patch
0004-ptrace-implement-TRAP_NOTIFY-and-use-it-for-group-st.patch
0005-ptrace-implement-PTRACE_LISTEN.patch

and available in the following git branch.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git review-ptrace-seize

The HEAD is 20b0913886 (ptrace: implement PTRACE_LISTEN). If you see
older branch, please retry after a while (korg is still syncing).

The patchset is on top of Oleg's ptrace branch[2] - dd1d677269
(signal: remove three noop tracehooks).

diffstat follows.

include/linux/ptrace.h | 9 ++
include/linux/sched.h | 10 ++-
kernel/exit.c | 3
kernel/ptrace.c | 116 +++++++++++++++++++++++++++++++----
kernel/signal.c | 162 ++++++++++++++++++++++++++++++++++++++-----------
5 files changed, 249 insertions(+), 51 deletions(-)

Thanks.

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel/1147384
[2] git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc.git ptrace
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/