# 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 24 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allmodconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # yes \n | make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 oldconfig yes: standard output: Broken pipe # make -s -j 24 ARCH=um O=/kisskb/build/linus_um-allmodconfig_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 2048 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 2976 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ /kisskb/src/security/apparmor/policy_unpack.c: In function 'unpack_profile': /kisskb/src/security/apparmor/policy_unpack.c:523:9: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized] str[pos] = ':'; ^ /kisskb/src/security/apparmor/policy_unpack.c:494:14: note: 'pos' was declared here int c, j, pos, size2 = unpack_strdup(e, &str, NULL); ^ /kisskb/src/lib/lz4/lz4hc_compress.c: In function 'LZ4HC_compress_generic': /kisskb/src/lib/lz4/lz4hc_compress.c:579:1: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-allmodconfig_um-x86_64 # Build took: 0:05:41.216063