Re: arm64: pstore: printk causing hang during boot in __memcpy_toio with pstore enabled

From: Guenter Roeck
Date: Wed Aug 01 2018 - 09:19:18 EST

On 08/01/2018 05:35 AM, Ivid Suvarna wrote:

When pstore is enabled and a *pr_info(any printk) in
__memcpy_toio(arch/arm64/kernel/io.c)* is added, kernel wont boot and
just hangs.

The path where __memcpy_toio is called is below:

-> memcpy_toio
-> __memcpy_toio

I tried with trace_printk and kernel boots fine. I understand that
printk has overhead, but is this expected when we use some printk
statement in __memcpy_toio?

I think the problem may be that the printk() output is copied to pstore.
Since pstore calls memcpy_toio(), you get a nice recursion if you add a
printk() call to it.