x86: fix kprobe_handler reenable preemption
Fix a preemption bug in kprobe_handler(). It has to call preempt_enable() before returning. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
committed by
Ingo Molnar
parent
bde6f5f59c
commit
ddc66df876
@@ -467,7 +467,8 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
|
|||||||
arch_disarm_kprobe(p);
|
arch_disarm_kprobe(p);
|
||||||
regs->ip = (unsigned long)p->addr;
|
regs->ip = (unsigned long)p->addr;
|
||||||
reset_current_kprobe();
|
reset_current_kprobe();
|
||||||
return 1;
|
ret = 1;
|
||||||
|
goto no_kprobe;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
/* We have reentered the kprobe_handler(), since
|
/* We have reentered the kprobe_handler(), since
|
||||||
|
Reference in New Issue
Block a user