Re: [PATCH] ARM: head-common.S: Clear lr before jumping to start_kernel()

From: Geert Uytterhoeven
Date: Tue Oct 03 2017 - 14:12:05 EST


On Tue, Oct 3, 2017 at 5:37 PM, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> wrote:
> On Tue, 3 Oct 2017, Geert Uytterhoeven wrote:
>
>> If CONFIG_DEBUG_LOCK_ALLOC=y, the kernel log is spammed with a few
>> hundred identical messages:
>>
>> unwind: Unknown symbol address c0800300
>> unwind: Index not found c0800300
>>
>> c0800300 is the return address from the last subroutine call (to
>> __memzero()) in __mmap_switched(). Apparently having this address in
>> the link register confuses the unwinder.
>>
>> To fix this, reset the link register to zero before jumping to
>> start_kernel().
>>
>> Fixes: 9520b1a1b5f7a348 ("ARM: head-common.S: speed up startup code")
>> Suggested-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> Good! This fixes another similar case I had but I didn't come around to
> look at closely yet.
>
> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>

Thanks!

> Please send it to RMK's patch system.

Done (I hope so ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds