Page MenuHomeFreeBSD

D26015.diff
No OneTemporary

D26015.diff

Index: sys/riscv/riscv/stack_machdep.c
===================================================================
--- sys/riscv/riscv/stack_machdep.c
+++ sys/riscv/riscv/stack_machdep.c
@@ -57,8 +57,7 @@
(vm_offset_t)frame->fp >= td->td_kstack +
td->td_kstack_pages * PAGE_SIZE)
break;
- unwind_frame(frame);
- if (!INKERNEL((vm_offset_t)frame->pc))
+ if (unwind_frame(frame) < 0)
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);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 16, 7:37 AM (20 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14655328
Default Alt Text
D26015.diff (773 B)

Event Timeline