[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240206213902.GA1490631@lichtman.org>
Date: Tue, 6 Feb 2024 21:39:02 +0000
From: Nir Lichtman <nir@...htman.org>
To: linux-kernel@...r.kernel.org
Subject: [PATCH] kernel: add boot param to disable stack dump on panic
From: Nir Lichtman <nir@...htman.org>
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
Powered by blists - more mailing lists