diff mbox series

acpi/ghes: Make ghes_panic_timeout adjustable as a parameter

Message ID 20241227095422.44147-1-feng.tang@linux.alibaba.com (mailing list archive)
State New
Headers show
Series acpi/ghes: Make ghes_panic_timeout adjustable as a parameter | expand

Commit Message

Feng Tang Dec. 27, 2024, 9:54 a.m. UTC
There is a problem report that when debugging a hard-to-reproduce panic
issue, user wanted the kernel to not reboot by adding "panic=0" in
kernel cmdline, so that the panic context could be kept, say the panic
was caught randomly in the mid-night, and user hoped to check it in
the morning. GHES panic handler may overwrite that user setting and
force to reboot after 'ghes_panic_timeout'(30) seconds.

Make 'ghes_panic_timeout' a parameter can provide user some flexibility
to change the timeout on demand, without changing current behavior.

Signed-off-by: Feng Tang <feng.tang@linux.alibaba.com>
---
 drivers/acpi/apei/ghes.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Borislav Petkov Dec. 27, 2024, 10:09 a.m. UTC | #1
On December 27, 2024 10:54:22 AM GMT+01:00, Feng Tang <feng.tang@linux.alibaba.com> wrote:
>There is a problem report that when debugging a hard-to-reproduce panic
>issue, user wanted the kernel to not reboot by adding "panic=0" in
>kernel cmdline, so that the panic context could be kept, say the panic
>was caught randomly in the mid-night, and user hoped to check it in
>the morning. GHES panic handler may overwrite that user setting and
>force to reboot after 'ghes_panic_timeout'(30) seconds.

Why doesn't the ghes panic handler honor a panic=0 setting?
diff mbox series

Patch

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 07789f0b59bc..a8a6310e476a 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -174,6 +174,7 @@  static struct ghes_estatus_cache __rcu *ghes_estatus_caches[GHES_ESTATUS_CACHES_
 static atomic_t ghes_estatus_cache_alloced;
 
 static int ghes_panic_timeout __read_mostly = 30;
+module_param(ghes_panic_timeout, int, 0644);
 
 static void __iomem *ghes_map(u64 pfn, enum fixed_addresses fixmap_idx)
 {