All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Tirado <mtirado418@gmail.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	christian@brauner.io
Subject: Re: pidfd design
Date: Mon, 25 Mar 2019 16:14:56 +0000	[thread overview]
Message-ID: <CAMkWEXO38Yfeuc9ZO6ibJVc=3HuTyK8kfT_6-Ajr_Mq2gROuTQ@mail.gmail.com> (raw)
In-Reply-To: <CAHk-=wgmKZm-fESEiLq_W37sKpqCY89nQkPNfWhvF_CQ1ANgcw@mail.gmail.com>

On Mon, Mar 25, 2019 at 5:45 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Fri, Mar 22, 2019 at 11:34 AM Michael Tirado <mtirado418@gmail.com> wrote:
> >
> > On Wed, Mar 20, 2019 at 8:08 PM Alexey Dobriyan <adobriyan@gmail.com> wrote:
> > >
> > > pidfd code should be backed out immediately. Forget about /proc.
> >
> > Seems like Torvalds just merges this sort of "stuff" without reading
> > it now, or there's something that auto accepted pull request to RC tree?
>
> There is no auto-accept.
>
> But there also didn't seem to be any valid arguments against it, and
> the android people had arguments for it.
>

Isn't Google working on their own C++ kernel now, I bet they would want
to make a smooth transition to that at some point? Hopefully they don't
screw up Linux in the process.


> Arguing against it based on "I don't like /proc" is pointless. The
> fact is, /proc is our system interface for a lot of things.
>

The argument was valid to me, at least the design is not set in
stone just yet and there is still hope. I have an option in my
namespace sandbox called "noproc", it works for many things, but
if devs start relying on /proc ALWAYS being available I begin to
have issues. You are all aware of the horrors of /proc, I hope.
I don't want /proc so deeply entrenched in the ecosystem that I
can no longer use "noproc". These sort of bold new core features
need to be designed with extreme caution and awareness of the full
spectra of affects. Just because something like procfs exists and
can be used doesn't mean it is wise to go all-in.


> Arguing against it based on "I worry about the _other_
> non-signal-sending things that could be done with this" is also
> pointless. What other things? The only thing that got merged was the
> signalling.
>

There have been "future changes" hinted through the patches lifecycle,
it leads me to believe it's a gateway patch, and the pid wrapping is a
minor bugfix bridge to some other undisclosed features. How could anyone
know the design is right without knowing what these changes might be?

pidctl/translate_pid?
I am against any new systemcall that crosses namespaces by design to
accomplish something that is already plummable. Seems like they want
to use pidfd's as some sort of token to perform these cross namespace
operations, can't wait to see how devs end up abusing this one.


> So the model of using a file descriptor instead of a 'pid' for signal
> handling is actually very unix-like. Maybe that's how pid's should
> have worked to begin with. Remember that whole "everything is a file"
> thing?
>

Perhaps it could be called an improvement if yall get it right because
AFAIK the only way to handle wrapping today is to directly clone the PID
you're worried about and deal with it immediately when the process exits
before wrap can happen. But I really wonder why PID wrapping matters SO
much, I bet some people are doing dangerously stupid things like using
PID as a credential even though everyone knows it wraps.

Maybe this can make signalling less racey somehow?
At the very least you could learn the process has exited instead of
blindly acting on a potentially recycled number. I recognize the value
in that specifically.
However, using pidfd as a token to do cross-namespace activities that
are already plummable is just plain weird to me, but maybe I'm too used
to doing things "the hard way".

  reply	other threads:[~2019-03-25 20:44 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-20 20:07 pidfd design Alexey Dobriyan
2019-03-20 20:14 ` Daniel Colascione
2019-03-20 20:39   ` Alexey Dobriyan
2019-03-20 20:47     ` Christian Brauner
2019-03-20 20:50       ` Daniel Colascione
2019-03-20 21:00         ` Christian Brauner
2019-03-22 14:04 ` Michael Tirado
2019-03-25 17:45   ` Linus Torvalds
2019-03-25 16:14     ` Michael Tirado [this message]
2019-03-25 20:45     ` Christian Brauner
2019-03-25 18:50   ` Christian Brauner
  -- strict thread matches above, loose matches on Subject: below --
2019-03-16 18:57 [RFC] simple_lmk: Introduce Simple Low Memory Killer for Android Christian Brauner
2019-03-16 19:37 ` Suren Baghdasaryan
2019-03-17  1:53   ` Joel Fernandes
2019-03-17 11:42     ` Christian Brauner
2019-03-17 15:40       ` Daniel Colascione
2019-03-18  0:29         ` Christian Brauner
2019-03-18 23:50           ` Joel Fernandes
2019-03-19 22:14             ` Christian Brauner
2019-03-19 22:48               ` Daniel Colascione
2019-03-19 23:10                 ` Christian Brauner
2019-03-20  1:52                   ` Joel Fernandes
2019-03-20  2:42                     ` pidfd design Daniel Colascione
2019-03-20  3:59                       ` Christian Brauner
2019-03-20  7:02                         ` Daniel Colascione
2019-03-20 11:33                           ` Joel Fernandes
2019-03-20 11:33                             ` Joel Fernandes
2019-03-20 18:26                             ` Christian Brauner
2019-03-20 18:38                               ` Daniel Colascione
2019-03-20 18:51                                 ` Christian Brauner
2019-03-20 18:58                                   ` Andy Lutomirski
2019-03-20 19:14                                     ` Christian Brauner
2019-03-20 19:40                                       ` Daniel Colascione
2019-03-21 17:02                                         ` Andy Lutomirski
2019-03-25 20:13                                           ` Jann Horn
2019-03-25 20:13                                             ` Jann Horn
2019-03-25 20:23                                             ` Daniel Colascione
2019-03-25 20:23                                               ` Daniel Colascione
2019-03-25 23:42                                               ` Andy Lutomirski
2019-03-25 23:42                                                 ` Andy Lutomirski
2019-03-25 23:45                                                 ` Christian Brauner
2019-03-25 23:45                                                   ` Christian Brauner
2019-03-26  0:00                                                   ` Andy Lutomirski
2019-03-26  0:00                                                     ` Andy Lutomirski
2019-03-26  0:12                                                     ` Christian Brauner
2019-03-26  0:12                                                       ` Christian Brauner
2019-03-26  0:24                                                       ` Andy Lutomirski
2019-03-26  0:24                                                         ` Andy Lutomirski
2019-03-28  9:21                                                         ` Christian Brauner
2019-03-28  9:21                                                           ` Christian Brauner
2019-03-20 19:19                                   ` Joel Fernandes
2019-03-20 19:29                                   ` Daniel Colascione
2019-03-24 14:44                                     ` Serge E. Hallyn
2019-03-24 18:48                                       ` Joel Fernandes
2019-03-20 19:11                               ` Joel Fernandes

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='CAMkWEXO38Yfeuc9ZO6ibJVc=3HuTyK8kfT_6-Ajr_Mq2gROuTQ@mail.gmail.com' \
    --to=mtirado418@gmail.com \
    --cc=adobriyan@gmail.com \
    --cc=christian@brauner.io \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.