riscv: Fix handling of interrupts during kernel page faults

We were checking the wrong status bit when deciding whether to enable
interrupts.

Reviewed by:	jrtc27
Fixes:		c226f19351 ("riscv: Permit spurious faults in kernel mode")
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D49897
This commit is contained in:
Mark Johnston 2025-04-19 22:41:07 +00:00
parent b66e75bffc
commit 0ca5e3dd1a

View file

@ -239,7 +239,7 @@ page_fault_handler(struct trapframe *frame, int usermode)
* Enable interrupts for the duration of the page fault. For
* user faults this was done already in do_trap_user().
*/
if ((frame->tf_sstatus & SSTATUS_SIE) != 0)
if ((frame->tf_sstatus & SSTATUS_SPIE) != 0)
intr_enable();
if (stval >= VM_MIN_KERNEL_ADDRESS) {