From: Christian Brauner <christian.brauner@ubuntu.com>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Eugene Syromiatnikov <esyr@redhat.com>,
linux-kernel@vger.kernel.org,
Christian Brauner <christian@brauner.io>,
Andrew Morton <akpm@linux-foundation.org>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
"Dmitry V. Levin" <ldv@altlinux.org>,
Eric Biederman <ebiederm@xmission.com>
Subject: Re: [PATCH] fork: fail on non-zero higher 32 bits of args.exit_signal
Date: Tue, 10 Sep 2019 15:10:50 +0200 [thread overview]
Message-ID: <20190910131048.e7xr52az2zej4p4v@wittgenstein> (raw)
In-Reply-To: <20190910130935.jxqxbt7wop3ostob@wittgenstein>
On Tue, Sep 10, 2019 at 03:09:35PM +0200, Christian Brauner wrote:
> On Tue, Sep 10, 2019 at 02:44:41PM +0200, Oleg Nesterov wrote:
> > On 09/10, Eugene Syromiatnikov wrote:
> > >
> > > --- a/kernel/fork.c
> > > +++ b/kernel/fork.c
> > > @@ -2562,6 +2562,9 @@ noinline static int copy_clone_args_from_user(struct kernel_clone_args *kargs,
> > > if (copy_from_user(&args, uargs, size))
> > > return -EFAULT;
> > >
> > > + if (unlikely(((unsigned int)args.exit_signal) != args.exit_signal))
> > > + return -EINVAL;
> >
> > Hmm. Unless I am totally confused you found a serious bug...
> >
> > Without CLONE_THREAD/CLONE_PARENT copy_process() blindly does
> >
> > p->exit_signal = args->exit_signal;
> >
> > the valid_signal(sig) check in do_notify_parent() mostly saves us, but we
> > must not allow child->exit_signal < 0, if nothing else this breaks
> > thread_group_leader().
> >
> > And afaics this patch doesn't fix this? I think we need the valid_signal()
> > check...
>
> Thanks for sending this patch so quickly after our conversation
> yesterday, Eugene!
> We definitely want valid_signal() to verify the signal is ok.
>
> Eugene, can you please update the patch to use valid signal and keep it
> as a separate patch from the cleanup and selftest patches?
I'll then pick this up quickly so we can get this in before 5.3 is out.
Thanks!
Christian
next prev parent reply other threads:[~2019-09-10 13:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-10 11:57 Eugene Syromiatnikov
2019-09-10 12:20 ` Dmitry V. Levin
2019-09-10 12:44 ` Oleg Nesterov
2019-09-10 13:09 ` Christian Brauner
2019-09-10 13:10 ` Christian Brauner [this message]
2019-09-10 13:27 ` Christian Brauner
2019-09-10 14:27 ` Eugene Syromiatnikov
2019-09-10 14:39 ` Oleg Nesterov
2019-09-10 14:46 ` Christian Brauner
2019-09-10 15:18 ` Eugene Syromiatnikov
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=20190910131048.e7xr52az2zej4p4v@wittgenstein \
--to=christian.brauner@ubuntu.com \
--cc=akpm@linux-foundation.org \
--cc=christian@brauner.io \
--cc=ebiederm@xmission.com \
--cc=esyr@redhat.com \
--cc=ldv@altlinux.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.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
all inboxes | Powered by JetHome®