[PATCH] kernel: add boot param to disable stack dump on panic

From: Nir Lichtman
Date: Tue Feb 06 2024 - 16:44:27 EST


From: Nir Lichtman <nir@xxxxxxxxxxxx>
Date: Sat, 3 Feb 2024 10:19:30 +0200
Subject: [PATCH] kernel: add boot param to disable stack dump on panic

---
Documentation/admin-guide/kernel-parameters.txt | 5 +++++
kernel/panic.c | 12 +++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 31b3a2568..433e3e5d1 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1127,6 +1127,11 @@
MTRR settings. This parameter disables that behavior,
possibly causing your machine to run very slowly.

+ disable_stack_dump_on_panic
+ This parameter disables call stack dumping when there
+ is a panic, which can help obscure less earlier messages
+ that lead to the panic.
+
disable_timer_pin_1 [X86]
Disable PIN 1 of APIC timer
Can be useful to work around chipset bugs.
diff --git a/kernel/panic.c b/kernel/panic.c
index 2807639aa..a1e1d064e 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -266,6 +266,16 @@ static void panic_other_cpus_shutdown(bool crash_kexec)
crash_smp_send_stop();
}

+static int disable_stack_dump_on_panic __initdata;
+
+static int __init disable_stack_dump_on_panic_setup(char *str)
+{
+ disable_stack_dump_on_panic = 1;
+ return 0;
+}
+
+early_param("disable_stack_dump_on_panic", disable_stack_dump_on_panic_setup);
+
/**
* panic - halt the system
* @fmt: The text string to print
@@ -340,7 +350,7 @@ void panic(const char *fmt, ...)
/*
* Avoid nested stack-dumping if a panic occurs during oops processing
*/
- if (!test_taint(TAINT_DIE) && oops_in_progress <= 1)
+ if (!test_taint(TAINT_DIE) && oops_in_progress <= 1 && !disable_stack_dump_on_panic)
dump_stack();
#endif

--
2.39.2