This series backports the patchset "exit: Put an upper limit on how often we can oops" (https://lore.kernel.org/linux-mm/20221117233838.give.484-kees@xxxxxxxxxx/T/#u) to 4.14, as recommended at https://googleprojectzero.blogspot.com/2023/01/exploiting-null-dereferences-in-linux.html Changed in v2: - Fixed a build error in mm/kasan/report.c by dropping the patch "mm: kasan: do not panic if both panic_on_warn and kasan_multishot set". Eric W. Biederman (2): exit: Add and use make_task_dead. objtool: Add a missing comma to avoid string concatenation Jann Horn (1): exit: Put an upper limit on how often we can oops Kees Cook (7): exit: Expose "oops_count" to sysfs exit: Allow oops_limit to be disabled panic: Consolidate open-coded panic_on_warn checks panic: Introduce warn_limit panic: Expose "warn_count" to sysfs docs: Fix path paste-o for /sys/kernel/warn_count exit: Use READ_ONCE() for all oops/warn limit reads Nathan Chancellor (2): hexagon: Fix function name in die() h8300: Fix build errors from do_exit() to make_task_dead() transition Randy Dunlap (1): ia64: make IA64_MCA_RECOVERY bool instead of tristate Tiezhu Yang (1): panic: unset panic_on_warn inside panic() Xiaoming Ni (1): sysctl: add a new register_sysctl_init() interface .../ABI/testing/sysfs-kernel-oops_count | 6 ++ .../ABI/testing/sysfs-kernel-warn_count | 6 ++ Documentation/sysctl/kernel.txt | 20 +++++ arch/alpha/kernel/traps.c | 6 +- arch/alpha/mm/fault.c | 2 +- arch/arm/kernel/traps.c | 2 +- arch/arm/mm/fault.c | 2 +- arch/arm64/kernel/traps.c | 2 +- arch/arm64/mm/fault.c | 2 +- arch/h8300/kernel/traps.c | 3 +- arch/h8300/mm/fault.c | 2 +- arch/hexagon/kernel/traps.c | 2 +- arch/ia64/Kconfig | 2 +- arch/ia64/kernel/mca_drv.c | 2 +- arch/ia64/kernel/traps.c | 2 +- arch/ia64/mm/fault.c | 2 +- arch/m68k/kernel/traps.c | 2 +- arch/m68k/mm/fault.c | 2 +- arch/microblaze/kernel/exceptions.c | 4 +- arch/mips/kernel/traps.c | 2 +- arch/nios2/kernel/traps.c | 4 +- arch/openrisc/kernel/traps.c | 2 +- arch/parisc/kernel/traps.c | 2 +- arch/powerpc/kernel/traps.c | 2 +- arch/s390/kernel/dumpstack.c | 2 +- arch/s390/kernel/nmi.c | 2 +- arch/sh/kernel/traps.c | 2 +- arch/sparc/kernel/traps_32.c | 4 +- arch/sparc/kernel/traps_64.c | 4 +- arch/x86/entry/entry_32.S | 6 +- arch/x86/entry/entry_64.S | 6 +- arch/x86/kernel/dumpstack.c | 4 +- arch/xtensa/kernel/traps.c | 2 +- fs/proc/proc_sysctl.c | 33 ++++++++ include/linux/kernel.h | 1 + include/linux/sched/task.h | 1 + include/linux/sysctl.h | 3 + kernel/exit.c | 72 ++++++++++++++++++ kernel/panic.c | 75 ++++++++++++++++--- kernel/sched/core.c | 3 +- mm/kasan/report.c | 3 +- tools/objtool/check.c | 3 +- 42 files changed, 251 insertions(+), 58 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-kernel-oops_count create mode 100644 Documentation/ABI/testing/sysfs-kernel-warn_count base-commit: 3949d16100044eeb6723eca03b1038b469fb9ae8 -- 2.39.1