瀏覽代碼

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>
Masami Hiramatsu 17 年之前
父節點
當前提交
ddc66df876
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/x86/kernel/kprobes.c

+ 2 - 1
arch/x86/kernel/kprobes.c

@@ -467,7 +467,8 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
 				arch_disarm_kprobe(p);
 				regs->ip = (unsigned long)p->addr;
 				reset_current_kprobe();
-				return 1;
+				ret = 1;
+				goto no_kprobe;
 #endif
 			}
 			/* We have reentered the kprobe_handler(), since