Page MenuHomeFreeBSD

D24018.id69361.diff
No OneTemporary

D24018.id69361.diff

Index: sys/cddl/dev/dtrace/riscv/dtrace_subr.c
===================================================================
--- sys/cddl/dev/dtrace/riscv/dtrace_subr.c
+++ sys/cddl/dev/dtrace/riscv/dtrace_subr.c
@@ -255,6 +255,8 @@
int invop;
invop = dtrace_invop(frame->tf_sepc, frame, frame->tf_sepc);
+ if (invop == 0)
+ return (-1);
if (match_opcode(invop, (MATCH_SD | RS2_RA | RS1_SP),
(MASK_SD | RS2_MASK | RS1_MASK))) {
Index: sys/riscv/riscv/trap.c
===================================================================
--- sys/riscv/riscv/trap.c
+++ sys/riscv/riscv/trap.c
@@ -275,10 +275,9 @@
break;
case EXCP_BREAKPOINT:
#ifdef KDTRACE_HOOKS
- if (dtrace_invop_jump_addr != 0) {
- dtrace_invop_jump_addr(frame);
- break;
- }
+ if (dtrace_invop_jump_addr != 0 &&
+ dtrace_invop_jump_addr(frame) == 0)
+ break;
#endif
#ifdef KDB
kdb_trap(exception, 0, frame);

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 9, 8:09 PM (16 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34875208
Default Alt Text
D24018.id69361.diff (900 B)

Event Timeline