Index: sys/riscv/riscv/stack_machdep.c =================================================================== --- sys/riscv/riscv/stack_machdep.c +++ sys/riscv/riscv/stack_machdep.c @@ -58,8 +58,6 @@ td->td_kstack_pages * PAGE_SIZE) break; unwind_frame(frame); - if (!INKERNEL((vm_offset_t)frame->pc)) - break; if (stack_put(st, frame->pc) == -1) break; } Index: sys/riscv/riscv/unwind.c =================================================================== --- sys/riscv/riscv/unwind.c +++ sys/riscv/riscv/unwind.c @@ -53,5 +53,7 @@ frame->fp = ((uintptr_t *)fp)[-2]; frame->pc = ((uintptr_t *)fp)[-1] - 4; + if (!INKERNEL(frame->pc)) + return (-1); return (0); }