[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190516145819.ofqkv6ozfpumhhuk@brauner.io>
Date: Thu, 16 May 2019 16:58:19 +0200
From: Christian Brauner <christian@...uner.io>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: David Howells <dhowells@...hat.com>, Jann Horn <jannh@...gle.com>,
Oleg Nesterov <oleg@...hat.com>,
Al Viro <viro@...iv.linux.org.uk>,
"torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Arnd Bergmann <arnd@...db.de>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
Linux-sh list <linux-sh@...r.kernel.org>,
linux-mips@...r.kernel.org,
Joel Fernandes <joel@...lfernandes.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>,
sparclinux <sparclinux@...r.kernel.org>,
elena.reshetova@...el.com, Linux-Arch <linux-arch@...r.kernel.org>,
linux-s390 <linux-s390@...r.kernel.org>,
Daniel Colascione <dancol@...gle.com>,
"Serge E. Hallyn" <serge@...lyn.com>,
linux-xtensa@...ux-xtensa.org, Kees Cook <keescook@...omium.org>,
linux-m68k <linux-m68k@...ts.linux-m68k.org>,
Andy Lutomirski <luto@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Parisc List <linux-parisc@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>, cyphar@...har.com,
Andy Lutomirski <luto@...capital.net>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
alpha <linux-alpha@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linuxppc-dev <linuxppc-dev@...ts.ozlabs.org>
Subject: Re: [PATCH v1 1/2] pid: add pidfd_open()
On Thu, May 16, 2019 at 04:56:08PM +0200, Geert Uytterhoeven wrote:
> Hi Christian, David,
>
> On Thu, May 16, 2019 at 4:00 PM Christian Brauner <christian@...uner.io> wrote:
> > This adds the pidfd_open() syscall. It allows a caller to retrieve pollable
> > pidfds for a process which did not get created via CLONE_PIDFD, i.e. for a
> > process that is created via traditional fork()/clone() calls that is only
> > referenced by a PID:
> >
> > int pidfd = pidfd_open(1234, 0);
> > ret = pidfd_send_signal(pidfd, SIGSTOP, NULL, 0);
> >
> > With the introduction of pidfds through CLONE_PIDFD it is possible to
> > created pidfds at process creation time.
> > However, a lot of processes get created with traditional PID-based calls
> > such as fork() or clone() (without CLONE_PIDFD). For these processes a
> > caller can currently not create a pollable pidfd. This is a huge problem
> > for Android's low memory killer (LMK) and service managers such as systemd.
> > Both are examples of tools that want to make use of pidfds to get reliable
> > notification of process exit for non-parents (pidfd polling) and race-free
> > signal sending (pidfd_send_signal()). They intend to switch to this API for
> > process supervision/management as soon as possible. Having no way to get
> > pollable pidfds from PID-only processes is one of the biggest blockers for
> > them in adopting this api. With pidfd_open() making it possible to retrieve
> > pidfd for PID-based processes we enable them to adopt this api.
> >
> > In line with Arnd's recent changes to consolidate syscall numbers across
> > architectures, I have added the pidfd_open() syscall to all architectures
> > at the same time.
>
> > +428 common pidfd_open sys_pidfd_open
>
> This number conflicts with "[PATCH 4/4] uapi: Wire up the mount API
> syscalls on non-x86 arches", which is requested to be included before
> rc1.
Yep, already spotted this thanks to Arnd! Will change the syscall
numbers.
Thanks!
Christian
>
> Note that none of this is part of linux-next.
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
Powered by blists - more mailing lists