From: Christian Brauner <brauner@kernel.org>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Tycho Andersen <tycho@tycho.pizza>,
linux-kernel@vger.kernel.org, linux-api@vger.kernel.org,
Tycho Andersen <tandersen@netflix.com>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH v3 1/3] pidfd: allow pidfd_open() on non-thread-group leaders
Date: Sat, 27 Jan 2024 15:26:37 +0100 [thread overview]
Message-ID: <20240127-welpen-seitlich-cd8707e09d1a@brauner> (raw)
In-Reply-To: <20240126143349.GD7386@redhat.com>
On Fri, Jan 26, 2024 at 03:33:50PM +0100, Oleg Nesterov wrote:
> On 01/26, Christian Brauner wrote:
> >
> > > --- a/include/uapi/linux/pidfd.h
> > > +++ b/include/uapi/linux/pidfd.h
> > > @@ -7,6 +7,7 @@
> > > #include <linux/fcntl.h>
> > >
> > > /* Flags for pidfd_open(). */
> > > -#define PIDFD_NONBLOCK O_NONBLOCK
> > > +#define PIDFD_NONBLOCK O_NONBLOCK
> > > +#define PIDFD_THREAD O_EXCL // or anything else not used by anon_inode's
> >
> > I like it!
> >
> > The only request I would have is to not alias O_EXCL and PIDFD_THREAD.
> > Because it doesn't map as clearly as NONBLOCK did.
>
> But it would be nice to have PIDFD_THREAD in file->f_flags. Where else
> can we keep it?
No, I did just mean that the uapi value doesn't necessarily have to
reflect what we do internally. IOW, we can still raise O_EXCL internally
in ->f_flags but there's no need to expose it as O_EXCL to userspace. We
often have internal and external flag spaces. If you prefer it your way
I'm not going argue.
> I chose O_EXCL because it can only be used at open time, it can never
> be used or changed after anon_inode_getfile(), so we can safely do
>
> pidfd_file->f_flags |= PIDFD_THREAD;
>
> in __pidfd_prepare() and then check in pidfd_poll/pidfd_send_signal.
>
> What do you suggest instead?
(Long-term and unrelated to this here, I think we will need to consider
not just stashing struct pid in pidfd_file->private_data but instead
struct pid with additional data because there's various functionality
that users would like that requires additional state to be stored and we
can't or don't want to do that in struct pid directly.)
next prev parent reply other threads:[~2024-01-27 14:26 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-23 15:34 [PATCH v3 0/3] pidfds for non thread group leaders Tycho Andersen
2024-01-23 15:34 ` [PATCH v3 1/3] pidfd: allow pidfd_open() on non-thread-group leaders Tycho Andersen
2024-01-23 19:56 ` Oleg Nesterov
2024-01-23 21:10 ` Tycho Andersen
2024-01-23 22:22 ` Oleg Nesterov
2024-01-24 1:25 ` Oleg Nesterov
2024-01-25 14:08 ` Oleg Nesterov
2024-01-25 17:17 ` Christian Brauner
2024-01-25 17:51 ` Oleg Nesterov
2024-01-25 18:03 ` Tycho Andersen
2024-01-25 18:25 ` Oleg Nesterov
2024-01-25 18:30 ` Oleg Nesterov
2024-01-25 18:36 ` Tycho Andersen
2024-01-26 9:49 ` Christian Brauner
2024-01-26 9:42 ` Christian Brauner
2024-01-26 14:33 ` Oleg Nesterov
2024-01-26 9:47 ` Christian Brauner
2024-01-26 14:33 ` Oleg Nesterov
2024-01-27 14:26 ` Christian Brauner [this message]
2024-01-26 21:50 ` Tycho Andersen
2024-01-27 10:54 ` Oleg Nesterov
2024-01-27 14:33 ` Christian Brauner
2024-01-27 15:55 ` Tycho Andersen
2024-01-27 16:31 ` Oleg Nesterov
2024-01-27 17:20 ` Tycho Andersen
2024-01-27 19:31 ` Oleg Nesterov
2024-01-27 20:44 ` Tycho Andersen
2024-01-27 21:10 ` Oleg Nesterov
2024-01-29 11:23 ` [RFC PATCH] pidfd: implement PIDFD_THREAD flag for pidfd_open() Oleg Nesterov
2024-01-29 13:41 ` Christian Brauner
2024-01-29 14:31 ` Tycho Andersen
2024-01-29 15:14 ` Christian Brauner
2024-01-30 11:21 ` Oleg Nesterov
2024-01-31 18:11 ` Andy Lutomirski
2024-01-31 18:48 ` Oleg Nesterov
2024-01-31 19:14 ` Oleg Nesterov
2024-01-31 19:24 ` Andy Lutomirski
2024-01-31 19:46 ` Christian Brauner
2024-01-31 19:50 ` Andy Lutomirski
2024-02-01 13:30 ` Christian Brauner
2024-02-01 13:39 ` Christian Brauner
2024-02-01 19:33 ` Andy Lutomirski
2024-01-23 15:34 ` [PATCH v3 2/3] selftests/pidfd: add non-thread-group leader tests Tycho Andersen
2024-01-23 15:34 ` [PATCH v3 3/3] clone: allow CLONE_THREAD | CLONE_PIDFD together Tycho Andersen
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=20240127-welpen-seitlich-cd8707e09d1a@brauner \
--to=brauner@kernel.org \
--cc=ebiederm@xmission.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=tandersen@netflix.com \
--cc=tycho@tycho.pizza \
/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