public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier@gentoo.org>
To: Oleg Nesterov <oleg@redhat.com>
Cc: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>,
	pacman@kosh.dhis.org, "linux-man" <linux-man@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Denys Vlasenko <dvlasenk@redhat.com>, Tejun Heo <tj@kernel.org>,
	Jan Kratochvil <jan.kratochvil@redhat.com>,
	Pedro Alves <palves@redhat.com>
Subject: Re: ptrace.2: PTRACE_KILL needs a stopped process too
Date: Wed, 9 May 2012 11:09:33 -0400	[thread overview]
Message-ID: <201205091109.35637.vapier@gentoo.org> (raw)
In-Reply-To: <20120422200459.GA7519@redhat.com>

[-- Attachment #1: Type: Text/Plain, Size: 1468 bytes --]

On Sunday 22 April 2012 16:04:59 Oleg Nesterov wrote:
> On 04/23, Michael Kerrisk (man-pages) wrote:
> > [widening CC]
> 
> add more CC's
> 
> > The man page says "For requests other than PTRACE_KILL,
> 
> Argh, PTRACE_KILL again.
> 
> You know, I simply do not know what it was supposed to do. I can only
> see what the code actually does.
> 
> > the child process
> > must be stopped."
> 
> Yes and no.
> 
> Yes, ptrace(PTRACE_KILL) "succeeds" even if the tracee is not stopped.
> 
> No, it has no effect if the tracee is not stopped.
> 
> All I can say is: PTRACE_KILL should never exist. If you want to kill
> the tracee, you can do kill(SIGKILL).
> 
> Roughly, ptrace(PTRACE_KILL) is equal to ptrace(PTRACE_CONT, SIGKILL)
> except it always returns 0.
> 
> > If the man page is describing actual intended kernel behavior, then it's
> > a fairly long-standing kernel bug.
> 
> Perhaps. May be it should simply do kill(SIGKILL), but then it is not
> clear why do we have PTRACE_KILL. And once again, I was never able to
> understand the supposed behaviour.
> 
> Personally, I think we should fix the documentation. And imho the only
> possible fix is to add this note: do not ever use PTRACE_KILL.

probably not that big of a deal, but the reason i like using 
ptrace(PTRACE_KILL) over a raw kill() is that you are less likely to kill the 
wrong process by accident.  maybe not that big of a deal in practice though.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2012-05-09 19:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20091216004533.22261.qmail@kosh.dhis.org>
2012-04-22 18:56 ` ptrace.2: PTRACE_KILL needs a stopped process too Michael Kerrisk (man-pages)
2012-04-22 20:04   ` Oleg Nesterov
2012-05-02 12:06     ` Pedro Alves
2012-05-09 15:09     ` Mike Frysinger [this message]
2012-05-09 19:35       ` Pedro Alves
2012-05-09 20:12         ` Oleg Nesterov
2012-05-09 16:41           ` Mike Frysinger
2012-05-09 21:14             ` Oleg Nesterov
2012-05-09 22:16               ` Pedro Alves
2012-05-09 22:08           ` Pedro Alves

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=201205091109.35637.vapier@gentoo.org \
    --to=vapier@gentoo.org \
    --cc=dvlasenk@redhat.com \
    --cc=jan.kratochvil@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=oleg@redhat.com \
    --cc=pacman@kosh.dhis.org \
    --cc=palves@redhat.com \
    --cc=tj@kernel.org \
    /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