| From 02c76e319dd2001bedb3ea135c0d4875c05cae5a Mon Sep 17 00:00:00 2001 |
| From: Lenny Szubowicz <lszubowi@redhat.com> |
| Date: Wed, 19 Dec 2018 11:50:52 -0500 |
| Subject: ACPI/APEI: Clear GHES block_status before panic() |
| |
| [ Upstream commit 98cff8b23ed1c763a029ee81ea300df0d153d07d ] |
| |
| 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 <lszubowi@redhat.com> |
| Signed-off-by: David Arcari <darcari@redhat.com> |
| Tested-by: Tyler Baicar <baicar.tyler@gmail.com> |
| Acked-by: Borislav Petkov <bp@suse.de> |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Signed-off-by: Sasha Levin <sashal@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 f14695e744d0..5889f6407fea 100644 |
| --- a/drivers/acpi/apei/ghes.c |
| +++ b/drivers/acpi/apei/ghes.c |
| @@ -675,6 +675,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; |
| -- |
| 2.19.1 |
| |