Re: [PATCH] rcu: Allow rcu_irq_enter_check_tick() from NMI

From: Thomas Gleixner
Date: Mon Nov 16 2020 - 12:24:59 EST


On Mon, Nov 16 2020 at 13:10, Peter Zijlstra wrote:

> Any which way around; here's a proper patch...
>
> ---
>
> Subject: rcu: Allow rcu_irq_enter_check_tick() from NMI
> From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Date: Mon Nov 16 12:54:56 CET 2020
>
> Eugenio managed to tickle #PF from NMI context which resulted in
> hitting a WARN in RCU through irqentry_enter() ->
> __rcu_irq_enter_check_tick().
>
> However, this situation is perfectly sane and does not warrant an
> WARN. The #PF will (necessarily) be atomic and not require messing
> with the tick state, so early return is correct.
>
> Fixes: aaf2bc50df1f ("rcu: Abstract out rcu_irq_enter_check_tick() from rcu_nmi_enter()")
> Reported-by: "Eugenio Pérez" <eupm90@xxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxx>
> Reviewed-by: Paul E. McKenney <paulmck@xxxxxxxxxx>

Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>