Merge tag 'mm-hotfixes-stable-2023-03-04-13-12' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
Pull misc fixes from Andrew Morton: "17 hotfixes. Eight are for MM and seven are for other parts of the kernel. Seven are cc:stable and eight address post-6.3 issues or were judged unsuitable for -stable backporting" * tag 'mm-hotfixes-stable-2023-03-04-13-12' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: mailmap: map Dikshita Agarwal's old address to his current one mailmap: map Vikash Garodia's old address to his current one fs/cramfs/inode.c: initialize file_ra_state fs: hfsplus: fix UAF issue in hfsplus_put_super panic: fix the panic_print NMI backtrace setting lib: parser: update documentation for match_NUMBER functions kasan, x86: don't rename memintrinsics in uninstrumented files kasan: test: fix test for new meminstrinsic instrumentation kasan: treat meminstrinsic as builtins in uninstrumented files kasan: emit different calls for instrumentable memintrinsics ocfs2: fix non-auto defrag path not working issue ocfs2: fix defrag path triggering jbd2 ASSERT mailmap: map Georgi Djakov's old Linaro address to his current one mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISON lib/zlib: DFLTCC deflate does not write all available bits for Z_NO_FLUSH mm/damon/paddr: fix missing folio_put() mm/mremap: fix dup_anon_vma() in vma_merge() case 4
This commit is contained in:
@@ -212,9 +212,6 @@ static void panic_print_sys_info(bool console_flush)
|
||||
return;
|
||||
}
|
||||
|
||||
if (panic_print & PANIC_PRINT_ALL_CPU_BT)
|
||||
trigger_all_cpu_backtrace();
|
||||
|
||||
if (panic_print & PANIC_PRINT_TASK_INFO)
|
||||
show_state();
|
||||
|
||||
@@ -244,6 +241,30 @@ void check_panic_on_warn(const char *origin)
|
||||
origin, limit);
|
||||
}
|
||||
|
||||
/*
|
||||
* Helper that triggers the NMI backtrace (if set in panic_print)
|
||||
* and then performs the secondary CPUs shutdown - we cannot have
|
||||
* the NMI backtrace after the CPUs are off!
|
||||
*/
|
||||
static void panic_other_cpus_shutdown(bool crash_kexec)
|
||||
{
|
||||
if (panic_print & PANIC_PRINT_ALL_CPU_BT)
|
||||
trigger_all_cpu_backtrace();
|
||||
|
||||
/*
|
||||
* Note that smp_send_stop() is the usual SMP shutdown function,
|
||||
* which unfortunately may not be hardened to work in a panic
|
||||
* situation. If we want to do crash dump after notifier calls
|
||||
* and kmsg_dump, we will need architecture dependent extra
|
||||
* bits in addition to stopping other CPUs, hence we rely on
|
||||
* crash_smp_send_stop() for that.
|
||||
*/
|
||||
if (!crash_kexec)
|
||||
smp_send_stop();
|
||||
else
|
||||
crash_smp_send_stop();
|
||||
}
|
||||
|
||||
/**
|
||||
* panic - halt the system
|
||||
* @fmt: The text string to print
|
||||
@@ -334,23 +355,10 @@ void panic(const char *fmt, ...)
|
||||
*
|
||||
* Bypass the panic_cpu check and call __crash_kexec directly.
|
||||
*/
|
||||
if (!_crash_kexec_post_notifiers) {
|
||||
if (!_crash_kexec_post_notifiers)
|
||||
__crash_kexec(NULL);
|
||||
|
||||
/*
|
||||
* Note smp_send_stop is the usual smp shutdown function, which
|
||||
* unfortunately means it may not be hardened to work in a
|
||||
* panic situation.
|
||||
*/
|
||||
smp_send_stop();
|
||||
} else {
|
||||
/*
|
||||
* If we want to do crash dump after notifier calls and
|
||||
* kmsg_dump, we will need architecture dependent extra
|
||||
* works in addition to stopping other CPUs.
|
||||
*/
|
||||
crash_smp_send_stop();
|
||||
}
|
||||
panic_other_cpus_shutdown(_crash_kexec_post_notifiers);
|
||||
|
||||
/*
|
||||
* Run any panic handlers, including those that might need to
|
||||
|
||||
Reference in New Issue
Block a user