# git rev-parse -q --verify 5450e8a316a64cddcbc15f90733ebc78aa736545^{commit} 5450e8a316a64cddcbc15f90733ebc78aa736545 already have revision, skipping fetch # git checkout -q -f -B kisskb 5450e8a316a64cddcbc15f90733ebc78aa736545 # git clean -qxdf # < git log -1 # commit 5450e8a316a64cddcbc15f90733ebc78aa736545 # Merge: 29cd581b5949 172bb24a4f48 # Author: Linus Torvalds # Date: Wed Jul 10 22:17:21 2019 -0700 # # Merge tag 'pidfd-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux # # Pull pidfd updates from Christian Brauner: # "This adds two main features. # # - First, it adds polling support for pidfds. This allows process # managers to know when a (non-parent) process dies in a race-free # way. # # The notification mechanism used follows the same logic that is # currently used when the parent of a task is notified of a child's # death. With this patchset it is possible to put pidfds in an # {e}poll loop and get reliable notifications for process (i.e. # thread-group) exit. # # - The second feature compliments the first one by making it possible # to retrieve pollable pidfds for processes that were not created # using CLONE_PIDFD. # # 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 problem for Android's low memory killer (LMK) and service # managers such as systemd. # # Both patchsets are accompanied by selftests. # # It's perhaps worth noting that the work done so far and the work done # in this branch for pidfd_open() and polling support do already see # some adoption: # # - Android is in the process of backporting this work to all their LTS # kernels [1] # # - Service managers make use of pidfd_send_signal but will need to # wait until we enable waiting on pidfds for full adoption. # # - And projects I maintain make use of both pidfd_send_signal and # CLONE_PIDFD [2] and will use polling support and pidfd_open() too" # # [1] https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.9+backport%22 # https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.14+backport%22 # https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.19+backport%22 # # [2] https://github.com/lxc/lxc/blob/aab6e3eb73c343231cdde775db938994fc6f2803/src/lxc/start.c#L1753 # # * tag 'pidfd-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux: # tests: add pidfd_open() tests # arch: wire-up pidfd_open() # pid: add pidfd_open() # pidfd: add polling selftests # pidfd: add polling support # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 5450e8a316a64cddcbc15f90733ebc78aa736545 # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 defconfig # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/um/os-Linux/signal.c: In function 'timer_real_alarm_handler': /kisskb/src/arch/um/os-Linux/signal.c:93:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/arch/um/os-Linux/signal.c: In function 'sig_handler_common': /kisskb/src/arch/um/os-Linux/signal.c:51:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-defconfig_um-x86_64 # Build took: 0:00:36.983067