From: Roland McGrath <roland@redhat.com>
To: davidm@hpl.hp.com
Cc: akpm@osdl.org, tony.luck@intel.com, linux-ia64@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch] add arch_ptrace_stop() hook and use it on ia64
Date: Tue, 10 May 2005 17:59:46 -0700 [thread overview]
Message-ID: <200505110059.j4B0xkkM003452@magilla.sf.frob.com> (raw)
In-Reply-To: David Mosberger's message of Tuesday, 10 May 2005 13:31:59 -0700 <17025.6719.837031.411067@napali.hpl.hp.com>
Hi David. Sorry I wasn't able to reply to your earlier questions about
this before now. I knew the question needed some thought and I was too
busy to consider it in detail, so it fell by the wayside. Today I've spent
a little time thinking about it, though still not explored the subject
completely. It definitely will not fly to change ptrace_stop in that way.
That opens up some race holes that the whole revamp that added the
ptrace_stop function was intended to close. The scenario I can think of
off hand is a race with a SIGKILL that must resume the thread from any
tracing stop, or prevent it from entering the tracing stop, and then will
not. (This leads to threads in TASK_TRACED with a pending SIGKILL, that
cannot be killed with repeated kill -9s, and live until the tracer uses
PTRACE_CONT, detaches, or dies.)
When I suggested this change for ia64 originally, I overlooked the need to
handle blocking in writing to user memory. I'd like to give a little more
thought to the general case. As long as only uninterruptible waits are
provoked by an arch hook, then I think it is reasonably solvable. I think
that SIGKILL races are the only ones that can arise, and those can be
addressed with some signal bookkeeping changes. I'd like to give it a
little more thought. I expect it will wind up being some core changes that
make it safe for an arch hook to drop and reacquire the siglock if it's
doing something that won't always complete quickly, and then this will all
happen before changing state, unlocking, and deciding to block (which won't
be done if there was an intervening SIGKILL).
Thanks,
Roland
next prev parent reply other threads:[~2005-05-11 1:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-10 20:31 David Mosberger
2005-05-10 23:10 ` Andrew Morton
2005-05-11 0:59 ` Roland McGrath [this message]
2005-05-11 8:55 ` David Mosberger
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=200505110059.j4B0xkkM003452@magilla.sf.frob.com \
--to=roland@redhat.com \
--cc=akpm@osdl.org \
--cc=davidm@hpl.hp.com \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tony.luck@intel.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
all inboxes | Powered by JetHome®