Skip to content

Commit a4b37f5

Browse files
bysuibp3tk0v
authored andcommitted
x86/fred: Fix incorrect error code printout in fred_bad_type()
regs->orig_ax has been set to -1 on entry so in the printout, fred_bad_type() should use the passed parameter error_code. Fixes: 14619d9 ("x86/fred: FRED entry/exit and dispatch code") Signed-off-by: Hou Wenlong <[email protected]> Signed-off-by: Borislav Petkov (AMD) <[email protected]> Acked-by: H. Peter Anvin (Intel) <[email protected]> Link: https://lore.kernel.org/r/b2a8f0a41449d25240e314a2ddfbf6549511fb04.1713353612.git.houwenlong.hwl@antgroup.com
1 parent 32f5f73 commit a4b37f5

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

arch/x86/entry/entry_fred.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,20 @@ static noinstr void fred_bad_type(struct pt_regs *regs, unsigned long error_code
2828
if (regs->fred_cs.sl > 0) {
2929
pr_emerg("PANIC: invalid or fatal FRED event; event type %u "
3030
"vector %u error 0x%lx aux 0x%lx at %04x:%016lx\n",
31-
regs->fred_ss.type, regs->fred_ss.vector, regs->orig_ax,
31+
regs->fred_ss.type, regs->fred_ss.vector, error_code,
3232
fred_event_data(regs), regs->cs, regs->ip);
33-
die("invalid or fatal FRED event", regs, regs->orig_ax);
33+
die("invalid or fatal FRED event", regs, error_code);
3434
panic("invalid or fatal FRED event");
3535
} else {
3636
unsigned long flags = oops_begin();
3737
int sig = SIGKILL;
3838

3939
pr_alert("BUG: invalid or fatal FRED event; event type %u "
4040
"vector %u error 0x%lx aux 0x%lx at %04x:%016lx\n",
41-
regs->fred_ss.type, regs->fred_ss.vector, regs->orig_ax,
41+
regs->fred_ss.type, regs->fred_ss.vector, error_code,
4242
fred_event_data(regs), regs->cs, regs->ip);
4343

44-
if (__die("Invalid or fatal FRED event", regs, regs->orig_ax))
44+
if (__die("Invalid or fatal FRED event", regs, error_code))
4545
sig = 0;
4646

4747
oops_end(flags, regs, sig);

0 commit comments

Comments
 (0)