Merge tag 'core-process-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/braune...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 16 Sep 2019 16:28:19 +0000 (09:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 16 Sep 2019 16:28:19 +0000 (09:28 -0700)
commitc17112a5c413f20188da276c138484e7127cdc84
tree9fb0607a64e4dd49bbf405ed456221640fa972d8
parent4d856f72c10ecb060868ed10ff1b1453943fc6c8
parent821cc7b0b205c0df64cce59aacc330af251fa8f7
Merge tag 'core-process-v5.4' of git://git./linux/kernel/git/brauner/linux

Pull pidfd/waitid updates from Christian Brauner:
 "This contains two features and various tests.

  First, it adds support for waiting on process through pidfds by adding
  the P_PIDFD type to the waitid() syscall. This completes the basic
  functionality of the pidfd api (cf. [1]). In the meantime we also have
  a new adition to the userspace projects that make use of the pidfd
  api. The qt project was nice enough to send a mail pointing out that
  they have a pr up to switch to the pidfd api (cf. [2]).

  Second, this tag contains an extension to the waitid() syscall to make
  it possible to wait on the current process group in a race free manner
  (even though the actual problem is very unlikely) by specifing 0
  together with the P_PGID type. This extension traces back to a
  discussion on the glibc development mailing list.

  There are also a range of tests for the features above. Additionally,
  the test-suite which detected the pidfd-polling race we fixed in [3]
  is included in this tag"

[1] https://lwn.net/Articles/794707/
[2] https://codereview.qt-project.org/c/qt/qtbase/+/108456
[3] commit b191d6491be6 ("pidfd: fix a poll race when setting exit_state")

* tag 'core-process-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
  waitid: Add support for waiting for the current process group
  tests: add pidfd poll tests
  tests: move common definitions and functions into pidfd.h
  pidfd: add pidfd_wait tests
  pidfd: add P_PIDFD to waitid()
kernel/exit.c
kernel/fork.c
kernel/signal.c
tools/testing/selftests/pidfd/pidfd_test.c