Page MenuHomeFreeBSD

D24478.diff
No OneTemporary

D24478.diff

Index: head/sys/cddl/dev/dtrace/mips/dtrace_subr.c
===================================================================
--- head/sys/cddl/dev/dtrace/mips/dtrace_subr.c
+++ head/sys/cddl/dev/dtrace/mips/dtrace_subr.c
@@ -251,6 +251,9 @@
int invop;
invop = dtrace_invop(frame->pc, frame, frame->pc);
+ if (invop == 0)
+ return (-1);
+
offs = (invop & LDSD_DATA_MASK);
sp = (register_t *)((uint8_t *)frame->sp + offs);
Index: head/sys/mips/mips/trap.c
===================================================================
--- head/sys/mips/mips/trap.c
+++ head/sys/mips/mips/trap.c
@@ -807,10 +807,9 @@
#if defined(KDTRACE_HOOKS) || defined(DDB)
case T_BREAK:
#ifdef KDTRACE_HOOKS
- if (!usermode && dtrace_invop_jump_addr != 0) {
- dtrace_invop_jump_addr(trapframe);
+ if (!usermode && dtrace_invop_jump_addr != NULL &&
+ dtrace_invop_jump_addr(trapframe) == 0)
return (trapframe->pc);
- }
#endif
#ifdef DDB
kdb_trap(type, 0, trapframe);

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 8, 2:05 AM (19 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34823038
Default Alt Text
D24478.diff (969 B)

Event Timeline