From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Arcari Subject: [PATCH] ACPI/APEI: Clear GHES block_status before panic() Date: Wed, 19 Dec 2018 11:50:52 -0500 Message-ID: <1545238252-79630-1-git-send-email-darcari@redhat.com> Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Linux ACPI Cc: Lenny Szubowicz , David Arcari , "Rafael J. Wysocki" , Len Brown , Tony Luck , Borislav Petkov , "Eric W. Biederman" , Alexandru Gagniuc , linux-kernel@vger.kernel.org List-Id: linux-acpi@vger.kernel.org From: Lenny Szubowicz In __ghes_panic() clear the block status in the APEI generic error status block for that generic hardware error source before calling panic() to prevent a second panic() in the crash kernel for exactly the same fatal error. Otherwise ghes_probe(), running in the crash kernel, would see an unhandled error in the APEI generic error status block and panic again, thereby precluding any crash dump. Signed-off-by: Lenny Szubowicz Signed-off-by: David Arcari Cc: Rafael J. Wysocki Cc: Len Brown Cc: Tony Luck Cc: Borislav Petkov Cc: "Eric W. Biederman" Cc: Alexandru Gagniuc Cc: linux-kernel@vger.kernel.org --- drivers/acpi/apei/ghes.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 02c6fd9..f008ba7 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -691,6 +691,8 @@ static void __ghes_panic(struct ghes *ghes) { __ghes_print_estatus(KERN_EMERG, ghes->generic, ghes->estatus); + ghes_clear_estatus(ghes); + /* reboot to log the error! */ if (!panic_timeout) panic_timeout = ghes_panic_timeout; -- 1.8.3.1