Messages in this thread | | | Date | Sat, 3 Mar 2018 10:58:23 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH -tip] x86: kprobes: Cleanup preempt disabling and enabling |
| |
* Masami Hiramatsu <mhiramat@kernel.org> wrote:
> +/* > + * Interrupts are disabled on entry as trap3 is an interrupt gate and they > + * remain disabled throughout this function. > + */ > +int kprobe_int3_handler(struct pt_regs *regs) > +{ > + struct kprobe_ctlblk *kcb; > + int ret; > + > + if (user_mode(regs)) > + return 0; > + > + /* > + * We don't want to be preempted for the entire > + * duration of kprobe processing. > + */ > + preempt_disable(); > + > + kcb = get_kprobe_ctlblk(); > + ret = kprobe_int3_dispatcher(regs, kcb); > + > + if (!kprobe_ready_for_singlestep(regs)) > + preempt_enable_no_resched(); > + > + return ret;
What's the point of disabling preemption, if IRQs are disabled already?
There's no preemption when IRQs are off...
Thanks,
Ingo
| |