# git rev-parse -q --verify a602285ac11b019e9ce7c3907328e9f95f4967f0^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify a602285ac11b019e9ce7c3907328e9f95f4967f0^{commit} a602285ac11b019e9ce7c3907328e9f95f4967f0 # git checkout -q -f -B kisskb a602285ac11b019e9ce7c3907328e9f95f4967f0 # git clean -qxdf # < git log -1 # commit a602285ac11b019e9ce7c3907328e9f95f4967f0 # Merge: 5c4e0a21fae8 3f66f86bfed3 # Author: Linus Torvalds # Date: Wed Nov 3 12:15:29 2021 -0700 # # Merge branch 'per_signal_struct_coredumps-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace # # Pull per signal_struct coredumps from Eric Biederman: # "Current coredumps are mixed up with the exit code, the signal handling # code, and the ptrace code making coredumps much more complicated than # necessary and difficult to follow. # # This series of changes starts with ptrace_stop and cleans it up, # making it easier to follow what is happening in ptrace_stop. Then # cleans up the exec interactions with coredumps. Then cleans up the # coredump interactions with exit. Finally the coredump interactions # with the signal handling code is cleaned up. # # The first and last changes are bug fixes for minor bugs. # # I believe the fact that vfork followed by execve can kill the process # the called vfork if exec fails is sufficient justification to change # the userspace visible behavior. # # In previous discussions some of these changes were organized # differently and individually appeared to make the code base worse. As # currently written I believe they all stand on their own as cleanups # and bug fixes. # # Which means that even if the worst should happen and the last change # needs to be reverted for some unimaginable reason, the code base will # still be improved. # # If the worst does not happen there are a more cleanups that can be # made. Signals that generate coredumps can easily become eligible for # short circuit delivery in complete_signal. The entire rendezvous for # generating a coredump can move into get_signal. The function # force_sig_info_to_task be written in a way that does not modify the # signal handling state of the target task (because coredumps are # eligible for short circuit delivery). Many of these future cleanups # can be done another way but nothing so cleanly as if coredumps become # per signal_struct" # # * 'per_signal_struct_coredumps-for-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: # coredump: Limit coredumps to a single thread group # coredump: Don't perform any cleanups before dumping core # exit: Factor coredump_exit_mm out of exit_mm # exec: Check for a pending fatal signal instead of core_state # ptrace: Remove the unnecessary arguments from arch_ptrace_stop # signal: Remove the bogus sigkill_pending in ptrace_stop # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 a602285ac11b019e9ce7c3907328e9f95f4967f0 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # < make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:4747:warning: override: reassigning to symbol PPC64 .config:4748:warning: override: reassigning to symbol PPC_DISABLE_WERROR .config:4750:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:4752:warning: override: reassigning to symbol GCC_PLUGINS # make -s -j 48 ARCH=powerpc O=/kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- :1559:2: warning: #warning syscall futex_waitv not implemented [-Wcpp] Completed OK # rm -rf /kisskb/build/linus-rand_powerpc-randconfig_powerpc-gcc9 # Build took: 0:06:36.331312