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

Ard Biesheuvel ardb at kernel.org
Sat Mar 5 14:04:23 PST 2022


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.



More information about the linux-arm-kernel mailing list