Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e10be03f authored by Borislav Petkov's avatar Borislav Petkov
Browse files

GHES: Carve out the panic functionality



... into another function for more clarity. No functionality change.

Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent 11568496
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -823,6 +823,18 @@ static void __process_error(struct ghes *ghes)
#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)
{
	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)
		goto out;

	if (sev_global >= GHES_SEV_PANIC) {
		oops_begin();
		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!");
	}
	if (sev_global >= GHES_SEV_PANIC)
		__ghes_panic(ghes_global);

	list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
		if (!(ghes->flags & GHES_TO_CLEAR))