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

Geert Uytterhoeven geert at linux-m68k.org
Tue Oct 3 11:11:59 PDT 2017


On Tue, Oct 3, 2017 at 5:37 PM, Nicolas Pitre <nicolas.pitre at linaro.org> 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 at linaro.org>
>> Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
>
> Good! This fixes another similar case I had but I didn't come around to
> look at closely yet.
>
> Acked-by: Nicolas Pitre <nico at linaro.org>

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 at linux-m68k.org

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



More information about the linux-arm-kernel mailing list