From: bsegall@google.com
To: Oleg Nesterov <oleg@redhat.com>
Cc: linux-kernel@vger.kernel.org, Roland McGrath <roland@hack.frob.com>
Subject: Re: [PATCH] ptrace: fix PTRACE_LISTEN race corrupting task->state
Date: Wed, 22 Feb 2017 09:56:40 -0800 [thread overview]
Message-ID: <xm26y3wyhzxj.fsf@bsegall-linux.mtv.corp.google.com> (raw)
In-Reply-To: <20170222165538.GA15968@redhat.com> (Oleg Nesterov's message of "Wed, 22 Feb 2017 17:55:39 +0100")
Oleg Nesterov <oleg@redhat.com> writes:
> On 02/21, bsegall@google.com wrote:
>>
>> In PT_SEIZED + LISTEN mode SIGSTOP/SIGCONT signals cause a wakeup
>> against __TASK_TRACED. If this races with the ptrace_unfreeze_traced at
>> the end of a PTRACE_LISTEN, this can wake the task /after/ the check
>> against __TASK_TRACED, but before the reset of state to TASK_TRACED.
>
> Oh, thanks...
>
> note also that PTRACE_LISTEN itself can do ptrace_signal_wake_up(true),
>
>> This causes it to instead clobber TASK_WAKING,
>
> even if it is already TASK_RUNNING it is simply wrong to set TASK_TRACED
> in both cases, right?
Yeah, that's also wrong and could possibly lead to different errors, but
is likely to work out by accident when say ttwu checks on_rq and sees true.
>
> Thanks. The patch looks good at first glance, but let me think a bit...
> perhaps we should change PTRACE_LISTEN instead, not sure.
>
> Oleg.
next prev parent reply other threads:[~2017-02-22 17:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-21 18:47 bsegall
2017-02-22 16:55 ` Oleg Nesterov
2017-02-22 17:03 ` Oleg Nesterov
2017-02-22 17:56 ` bsegall [this message]
2017-02-24 16:36 ` Oleg Nesterov
2017-02-27 18:08 ` bsegall
2017-04-04 21:47 ` [PATCHv2] " bsegall
2017-04-04 21:53 ` Andrew Morton
2017-04-05 12:36 ` Oleg Nesterov
2017-04-05 12:30 ` Oleg Nesterov
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=xm26y3wyhzxj.fsf@bsegall-linux.mtv.corp.google.com \
--to=bsegall@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=roland@hack.frob.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®