# git rev-parse -q --verify a602285ac11b019e9ce7c3907328e9f95f4967f0^{commit} a602285ac11b019e9ce7c3907328e9f95f4967f0 already have revision, skipping fetch # 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-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 a602285ac11b019e9ce7c3907328e9f95f4967f0 # < make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- randconfig # Added to kconfig CONFIG_STANDALONE=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_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_BPF_PRELOAD=n # Added to kconfig # < make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig .config:6401:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:6403:warning: override: reassigning to symbol GCC_PLUGINS # make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- vmlinux.o: warning: objtool: do_machine_check()+0xc10: call to queue_task_work.isra.35() leaves .noinstr.text section /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info mm/kfence/kfence_test.o: file not recognized: File format not recognized make[3]: *** [/kisskb/src/scripts/Makefile.modfinal:60: mm/kfence/kfence_test.ko] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.modpost:140: __modpost] Error 2 make[1]: *** [/kisskb/src/Makefile:1787: modules] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 32 ARCH=x86_64 O=/kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus-rand_x86_64-randconfig_x86_64-gcc8 # Build took: 0:02:33.632109