[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1299614199-25142-1-git-send-email-tj@kernel.org>
Date: Tue, 8 Mar 2011 20:56:31 +0100
From: Tejun Heo <tj@...nel.org>
To: oleg@...hat.com, roland@...hat.com, jan.kratochvil@...hat.com,
vda.linux@...glemail.com
Cc: linux-kernel@...r.kernel.org, torvalds@...ux-foundation.org,
akpm@...ux-foundation.org, indan@....nu
Subject: [RFC PATCHSET] ptrace,signal: Fix notifications to the real parent while ptraced
Hello,
This patchset implements "P2. Fix notifications to the real parent" of
the ptrace job control improvements proposal[1].
As the whole job control / ptrace logic is quite delicate, I tried to
be very granual with changes and add plenty of explanations for
subtleties.
This patchset contains the following eight patches.
0001-job-control-Don-t-set-group_stop-exit_code-if-re-ent.patch
0002-job-control-Small-reorganization-of-wait_consider_ta.patch
0003-job-control-Fix-ptracer-wait-2-hang-and-explain-nota.patch
0004-job-control-Allow-access-to-job-control-events-throu.patch
0005-job-control-Add-for_ptrace-to-do_notify_parent_cldst.patch
0006-job-control-Job-control-stop-notifications-should-al.patch
0007-job-control-Notify-the-real-parent-of-job-control-ev.patch
0008-job-control-Don-t-send-duplicate-job-control-stop-no.patch
0001-0003 fix subtle issues and prepare for wait(2) related changes.
I don't think any of this needs to be backported. 0004 make the job
control stopped/continued states visible to the real parent regardless
of ptrace.
0005-0006 prepare for notification related changes. 0007-0008 enable
proper job control notifications to the real parent regardless of
ptrace.
This patchset introduces behavior changes; however, all the changes
are visible only to the real parent. As basically everything job
control related was broken while ptraced, I don't think these changes
need to be conditionalized (ie. enabled only when explicitly told so).
Doing so is likely to only increase confusion with few benefits.
After this patchset, I can ^Z a strace(1) attached command and get a
shell prompt. The interaction of course is not perfect yet because
strace(1) currently unconditionally overrides job control stop, but
it's a progress. For strace(1) itself, nothing really changes.
This patchset is based on 2.6.38-rc7 (212e3499b2) + "group stop /
ptrace updates, take#2" patchset[2] which implements P1. The git
branch for the P1 patchset has been regenerated with Oleg's Acked-by's
added and available in ptrace-review-P1 branch.
This patchset is available in the following git branch.
git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git ptrace-review-P2
HEAD is fbbe61c532ba23d2d00bff7c2b354e0522ae4afc. git.korg takes some
time to sync so if it shows older commit, please try again after a
while. diffstat follows.
kernel/exit.c | 83 +++++++++++++++++++++++++++++++---------
kernel/signal.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++------
2 files changed, 170 insertions(+), 29 deletions(-)
Thanks.
--
tejun
[1] http://thread.gmane.org/gmane.linux.kernel/1107045
[2] http://thread.gmane.org/gmane.linux.kernel/1109224
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists