GHES: Carve out the panic functionality
... into another function for more clarity. No functionality change. Signed-off-by: Borislav Petkov <bp@suse.de>
This commit is contained in:
parent
115684961a
commit
e10be03f60
@ -823,6 +823,18 @@ static void __process_error(struct ghes *ghes)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void __ghes_panic(struct ghes *ghes)
|
||||||
|
{
|
||||||
|
oops_begin();
|
||||||
|
ghes_print_queued_estatus();
|
||||||
|
__ghes_print_estatus(KERN_EMERG, ghes->generic, ghes->estatus);
|
||||||
|
|
||||||
|
/* reboot to log the error! */
|
||||||
|
if (panic_timeout == 0)
|
||||||
|
panic_timeout = ghes_panic_timeout;
|
||||||
|
panic("Fatal hardware error!");
|
||||||
|
}
|
||||||
|
|
||||||
static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
|
static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
struct ghes *ghes, *ghes_global = NULL;
|
struct ghes *ghes, *ghes_global = NULL;
|
||||||
@ -846,16 +858,8 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
|
|||||||
if (ret == NMI_DONE)
|
if (ret == NMI_DONE)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (sev_global >= GHES_SEV_PANIC) {
|
if (sev_global >= GHES_SEV_PANIC)
|
||||||
oops_begin();
|
__ghes_panic(ghes_global);
|
||||||
ghes_print_queued_estatus();
|
|
||||||
__ghes_print_estatus(KERN_EMERG, ghes_global->generic,
|
|
||||||
ghes_global->estatus);
|
|
||||||
/* reboot to log the error! */
|
|
||||||
if (panic_timeout == 0)
|
|
||||||
panic_timeout = ghes_panic_timeout;
|
|
||||||
panic("Fatal hardware error!");
|
|
||||||
}
|
|
||||||
|
|
||||||
list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
|
list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
|
||||||
if (!(ghes->flags & GHES_TO_CLEAR))
|
if (!(ghes->flags & GHES_TO_CLEAR))
|
||||||
|
Loading…
Reference in New Issue
Block a user