[PATCH] ARM: return_address: disable again for CONFIG_ARM_UNWIND=y

Corentin Labbe clabbe.montjoie at gmail.com
Mon Mar 7 02:21:07 PST 2022


Le Sat, Mar 05, 2022 at 10:04:23PM +0000, Ard Biesheuvel a écrit :
> On Sat, 5 Mar 2022 at 20:20, Corentin Labbe <clabbe.montjoie at gmail.com> wrote:
> >
> > Le Wed, Mar 02, 2022 at 12:32:01PM +0100, Ard Biesheuvel a écrit :
> > > Commit 41918ec82eb6 ("ARM: ftrace: enable the graph tracer with the EABI
> > > unwinder") removed the dummy version of return_address() that was
> > > provided for the CONFIG_ARM_UNWIND=y case, on the assumption that the
> > > removal of the kernel_text_address() call from unwind_frame() in the
> > > preceding patch made it safe to do so.
> > >
> > > However, this turns out not to be the case: Corentin reports warnings
> > > about suspicious RCU usage and other strange behavior that seems to
> > > originate in the stack unwinding that occurs in return_address().
> > >
> > > Given that the function graph tracer (which is what these changes were
> > > enabling for CONFIG_ARM_UNWIND=y builds) does not appear to care about
> > > this distinction, let's revert return_address() to the old state.
> > >
> > > Cc: Corentin Labbe <clabbe.montjoie at gmail.com>
> > > Fixes: 41918ec82eb6 ("ARM: ftrace: enable the graph tracer with the EABI unwinder")
> > > Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
> >
> > Hello
> >
> > On next-20220304 even with both
> > ARM: unwind: avoid spurious warnings on bogus code addresses
> > and
> > ARM: return_address: disable again for CONFIG_ARM_UNWIND=y
> >
> > I got:
> > [    0.134043] =============================
> > [    0.138372] WARNING: suspicious RCU usage
> > [    0.142702] 5.17.0-rc6-next-20220304-dirty #3 Not tainted
> ...
> > [    1.015443]  show_stack from 0xf0991e6c
> >
> > On next-20220303 I got nothing.
> 
> This makes me suspect that this is unrelated, given that no changes
> were applied to Russell's tree in the mean time, as far as I can tell.

Hello

I bisected to dc6e0818bc9a0336d9accf3ea35d146d72aa7a18 ("sched/cpuacct: Optimize away RCU read lock")
but reverting lead to some remaining RCU (but far less than before).

I continue to debug it.

Regards



More information about the linux-arm-kernel mailing list