On Sat, 10 Mar 2018 09:22:48 +0100
Ingo Molnar <mi...@kernel.org> wrote:
> * Masami Hiramatsu <mhira...@kernel.org> wrote:
> > Since kprobes pre_handler doesn't need to recover preemption
> > even if it modifies regs->ip anymore, this fixes to remove
> > the preempt_enable_no_resched() from pre_handler.
> > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
> > ---
> > kernel/fail_function.c | 1 -
> > 1 file changed, 1 deletion(-)
> > diff --git a/kernel/fail_function.c b/kernel/fail_function.c
> > index 21b0122cb39c..b1713521f096 100644
> > --- a/kernel/fail_function.c
> > +++ b/kernel/fail_function.c
> > @@ -176,7 +176,6 @@ static int fei_kprobe_handler(struct kprobe *kp, struct
> > pt_regs *regs)
> > override_function_with_return(regs);
> > /* Kprobe specific fixup */
> > reset_current_kprobe();
> > - preempt_enable_no_resched();
> > return 1;
> > }
> So where did the matching preempt_disable() get removed? If it's the 6/9
> then this patch (and 8/9) should very much be part of it.
It is 7/9, in kprobe_int3_handler() and kprobe_ftrace_handler().
The latter is a bit tricky, originally it enable preemption only when
the pre_handler returns 0, but 7/9 changes it always enables preemption.
> There should be no bisection breakage in the series.
OK, I will merge 7/9-9/9 (anyway those are currently only support x86).
Masami Hiramatsu <mhira...@kernel.org>