From: Tejun Heo <tj@kernel.org>
To: oleg@redhat.com
Cc: vda.linux@googlemail.com, jan.kratochvil@redhat.com,
linux-kernel@vger.kernel.org, torvalds@linux-foundation.org,
akpm@linux-foundation.org, indan@nul.nu, bdonlan@gmail.com,
pedro@codesourcery.com
Subject: [PATCHSET ptrace] ptrace: implement PTRACE_SEIZE/INTERRUPT and group stop notification, take#3
Date: Tue, 24 May 2011 20:37:20 +0200 [thread overview]
Message-ID: <1306262259-7285-1-git-send-email-tj@kernel.org> (raw)
Hello,
This is the third try at implementing PTRACE_SEIZE/INTERRUPT and group
stop notification. This patchset contains both the prep and the
actual implementation patches. Changes from the second take[1][2]
are,
- 0008-ptrace-move-JOBCTL_TRAPPING-wait-to-wait-2-and-ptrac.patch:
wait_task_stopped() syscall restart fixed such that -ERESTARTSYS is
used for !WNOHANG waits.
- 0006-job-control-introduce-task_set_jobctl_pending.patch:
Added to address Oleg's concern that setting trap conditions on
dying task may make it unkillable. task_set_jobctl_pending() is
always used when raising stop/trap conditions and becomes noop if
target task is dying. 0011, 0013 and 0019 updated to use
task_set_jobctl_pending().
- 0012-ptrace-implement-PTRACE_SEIZE.patch:
PTRACE_SEIZE no longer traps the tracee automatically as suggested
by Jan Kratochvil. If tracee is running, it's left running.
- 0016-ptrace-make-group-stop-state-visible-via-PTRACE_GETS.patch:
- 0018-ptrace-add-JOBCTL_BLOCK_NOTIFY.patch:-v2:
Cosmetic updates as per review.
This patchset contains the following 19 patches.
0001-job-control-rename-signal-group_stop-and-flags-to-jo.patch
0002-ptrace-ptrace_check_attach-rename-kill-to-ignore_sta.patch
0003-ptrace-relocate-set_current_state-TASK_TRACED-in-ptr.patch
0004-job-control-introduce-JOBCTL_PENDING_MASK-and-task_c.patch
0005-job-control-make-task_clear_jobctl_pending-clear-TRA.patch
0006-job-control-introduce-task_set_jobctl_pending.patch
0007-ptrace-use-bit_waitqueue-for-TRAPPING-instead-of-wai.patch
0008-ptrace-move-JOBCTL_TRAPPING-wait-to-wait-2-and-ptrac.patch
0009-ptrace-make-TRAPPING-wait-interruptible.patch
0010-signal-remove-three-noop-tracehooks.patch
0011-job-control-introduce-JOBCTL_TRAP_STOP-and-use-it-fo.patch
0012-ptrace-implement-PTRACE_SEIZE.patch
0013-ptrace-implement-PTRACE_INTERRUPT.patch
0014-ptrace-restructure-ptrace_getsiginfo.patch
0015-ptrace-add-siginfo.si_pt_flags.patch
0016-ptrace-make-group-stop-state-visible-via-PTRACE_GETS.patch
0017-ptrace-don-t-let-PTRACE_SETSIGINFO-override-__SI_TRA.patch
0018-ptrace-add-JOBCTL_BLOCK_NOTIFY.patch
0019-ptrace-implement-group-stop-notification-for-ptracer.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 6e3eb3ab5f (ptrace: implement group stop notification for
ptracer). If you see older branch, please retry after a while (korg
is still syncing).
The patchset is on top of today's (20110524) mainline -
d762f438310 (Merge branch 'sh-latest' of
git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6).
diffstat follows.
arch/ia64/include/asm/siginfo.h | 7
arch/ia64/kernel/signal.c | 5
arch/mips/include/asm/compat-signal.h | 7
arch/mips/include/asm/siginfo.h | 7
arch/mips/kernel/signal32.c | 5
arch/parisc/kernel/signal32.c | 5
arch/parisc/kernel/signal32.h | 7
arch/powerpc/kernel/ppc32.h | 7
arch/powerpc/kernel/signal_32.c | 5
arch/s390/kernel/compat_linux.h | 7
arch/s390/kernel/compat_signal.c | 5
arch/sparc/kernel/signal32.c | 12 +
arch/tile/kernel/compat_signal.c | 11 +
arch/x86/ia32/ia32_signal.c | 4
arch/x86/include/asm/ia32.h | 7
fs/exec.c | 2
include/asm-generic/siginfo.h | 10
include/linux/ptrace.h | 16 +
include/linux/sched.h | 28 +-
include/linux/tracehook.h | 52 ----
kernel/exit.c | 27 ++
kernel/ptrace.c | 302 +++++++++++++++++++++++----
kernel/signal.c | 370 ++++++++++++++++++++++------------
23 files changed, 672 insertions(+), 236 deletions(-)
--
tejun
[1] http://thread.gmane.org/gmane.linux.kernel/1139751
[2] http://thread.gmane.org/gmane.linux.kernel/1140778
next reply other threads:[~2011-05-24 18:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-24 18:37 Tejun Heo [this message]
2011-05-24 18:37 ` [PATCH 01/19] job control: rename signal->group_stop and flags to jobctl and rearrange flags Tejun Heo
2011-05-24 18:37 ` [PATCH 02/19] ptrace: ptrace_check_attach(): rename @kill to @ignore_state and add comments Tejun Heo
2011-05-24 18:37 ` [PATCH 03/19] ptrace: relocate set_current_state(TASK_TRACED) in ptrace_stop() Tejun Heo
2011-05-24 18:37 ` [PATCH 04/19] job control: introduce JOBCTL_PENDING_MASK and task_clear_jobctl_pending() Tejun Heo
2011-05-24 18:37 ` [PATCH 05/19] job control: make task_clear_jobctl_pending() clear TRAPPING automatically Tejun Heo
2011-05-24 18:37 ` [PATCH 06/19] job control: introduce task_set_jobctl_pending() Tejun Heo
2011-05-24 18:37 ` [PATCH 07/19] ptrace: use bit_waitqueue for TRAPPING instead of wait_chldexit Tejun Heo
2011-05-24 19:03 ` Linus Torvalds
2011-05-25 8:44 ` Tejun Heo
2011-05-25 14:34 ` Linus Torvalds
2011-05-25 14:42 ` Tejun Heo
2011-05-25 21:08 ` Valdis.Kletnieks
2011-05-24 18:37 ` [PATCH 08/19] ptrace: move JOBCTL_TRAPPING wait to wait(2) and ptrace_check_attach() Tejun Heo
2011-05-24 18:37 ` [PATCH 09/19] ptrace: make TRAPPING wait interruptible Tejun Heo
2011-05-24 18:37 ` [PATCH 10/19] signal: remove three noop tracehooks Tejun Heo
2011-05-24 18:37 ` [PATCH 11/19] job control: introduce JOBCTL_TRAP_STOP and use it for group stop trap Tejun Heo
2011-05-24 18:37 ` [PATCH 12/19] ptrace: implement PTRACE_SEIZE Tejun Heo
2011-05-24 18:37 ` [PATCH 13/19] ptrace: implement PTRACE_INTERRUPT Tejun Heo
2011-05-24 18:37 ` [PATCH 14/19] ptrace: restructure ptrace_getsiginfo() Tejun Heo
2011-05-24 18:37 ` [PATCH 15/19] ptrace: add siginfo.si_pt_flags Tejun Heo
2011-05-24 18:37 ` [PATCH 16/19] ptrace: make group stop state visible via PTRACE_GETSIGINFO Tejun Heo
2011-05-24 18:37 ` [PATCH 17/19] ptrace: don't let PTRACE_SETSIGINFO override __SI_TRAP siginfo Tejun Heo
2011-05-24 18:37 ` [PATCH 18/19] ptrace: add JOBCTL_BLOCK_NOTIFY Tejun Heo
2011-05-24 18:37 ` [PATCH 19/19] ptrace: implement group stop notification for ptracer Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1306262259-7285-1-git-send-email-tj@kernel.org \
--to=tj@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=bdonlan@gmail.com \
--cc=indan@nul.nu \
--cc=jan.kratochvil@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=pedro@codesourcery.com \
--cc=torvalds@linux-foundation.org \
--cc=vda.linux@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox