Re: [PATCH 03/21] rcu: Add a note about noinstr VS unsafe eqs functions

From: Peter Zijlstra
Date: Thu May 19 2022 - 17:43:39 EST


On Thu, May 19, 2022 at 05:00:26PM +0200, Peter Zijlstra wrote:
> On Tue, May 03, 2022 at 12:00:33PM +0200, Frederic Weisbecker wrote:
> > @@ -895,6 +899,10 @@ static void noinstr rcu_eqs_exit(bool user)
> > *
> > * If you add or remove a call to rcu_idle_exit(), be sure to test with
> > * CONFIG_RCU_EQS_DEBUG=y.
> > + *
> > + * FIXME: This function should be noinstr but the below local_irq_save() is
> > + * unsafe because it involves illegal RCU uses through tracing and lockdep.
> > + * This must be fixed first.
> > */
> > void rcu_idle_exit(void)
> > {
>
> Urgh, except this one... I'm sure I fixed that at some point. Clearly
> that never made it in :/

I found my patches and brushed them off, see here:

https://lkml.kernel.org/r/20220519212750.656413111@xxxxxxxxxxxxx