# 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/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 5450e8a316a64cddcbc15f90733ebc78aa736545 # < make -s -j 120 ARCH=s390 O=/kisskb/build/linus_s390-allyesconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # yes \n | make -s -j 120 ARCH=s390 O=/kisskb/build/linus_s390-allyesconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- oldconfig yes: standard output: Broken pipe # make -s -j 120 ARCH=s390 O=/kisskb/build/linus_s390-allyesconfig_s390x-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/s390-linux/bin/s390-linux- /kisskb/src/drivers/hwtracing/intel_th/msu.c: In function 'msc_buffer_win_alloc': /kisskb/src/drivers/hwtracing/intel_th/msu.c:783:21: warning: unused variable 'i' [-Wunused-variable] int ret = -ENOMEM, i; ^ /kisskb/src/drivers/hwtracing/intel_th/msu.c: In function 'msc_buffer_win_free': /kisskb/src/drivers/hwtracing/intel_th/msu.c:863:6: warning: unused variable 'i' [-Wunused-variable] int i; ^ /kisskb/src/lib/test_kasan.c: In function 'kasan_alloca_oob_left': /kisskb/src/lib/test_kasan.c:487:1: warning: 'kasan_alloca_oob_left' uses dynamic stack allocation } ^ /kisskb/src/lib/test_kasan.c: In function 'kasan_alloca_oob_right': /kisskb/src/lib/test_kasan.c:497:1: warning: 'kasan_alloca_oob_right' uses dynamic stack allocation } ^ /kisskb/src/drivers/input/joystick/analog.c:160:2: warning: #warning Precise timer not defined for this architecture. [-Wcpp] #warning Precise timer not defined for this architecture. ^~~~~~~ In file included from /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:40: /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c: In function 'mvpp2_setup_bm_pool': /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2.h:614:2: warning: overflow in conversion from 'long unsigned int' to 'int' changes value from '18446744073709551584' to '-32' [-Woverflow] ((total_size) - NET_SKB_PAD - MVPP2_SKB_SHINFO_SIZE) ^ /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2.h:677:33: note: in expansion of macro 'MVPP2_RX_MAX_PKT_SIZE' #define MVPP2_BM_SHORT_PKT_SIZE MVPP2_RX_MAX_PKT_SIZE(MVPP2_BM_SHORT_FRAME_SIZE) ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c:551:41: note: in expansion of macro 'MVPP2_BM_SHORT_PKT_SIZE' mvpp2_pools[MVPP2_BM_SHORT].pkt_size = MVPP2_BM_SHORT_PKT_SIZE; ^~~~~~~~~~~~~~~~~~~~~~~ Completed OK # rm -rf /kisskb/build/linus_s390-allyesconfig_s390x-gcc8 # Build took: 0:11:05.610027