Re: [RFC PATCH -tip 8/9] error-injection: Fix to not enabling preemption in pre_handler

2018-03-11 Thread Masami Hiramatsu
On Sat, 10 Mar 2018 09:22:48 +0100
Ingo Molnar  wrote:

> 
> * Masami Hiramatsu  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 
> > ---
> >  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 
> patch, 
> 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).

Thanks,

> 
> Thanks,
> 
>   Ingo


-- 
Masami Hiramatsu 


Re: [RFC PATCH -tip 8/9] error-injection: Fix to not enabling preemption in pre_handler

2018-03-10 Thread Ingo Molnar

* Masami Hiramatsu  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 
> ---
>  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 patch, 
then this patch (and 8/9) should very much be part of it.

There should be no bisection breakage in the series.

Thanks,

Ingo