]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: Fix CONFIG_TRACE_IRQFLAGS with CONFIG_VMAP_STACK
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 7 Feb 2020 17:20:57 +0000 (17:20 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 8 Feb 2020 10:49:06 +0000 (21:49 +1100)
commitd3018a232057758f73e91311964888677a5dcf95
tree45f31d6c28de94e6eec03b36671b9260265d85d6
parent19a7cd5fb8d95e04fbc89628268798312bc38be8
powerpc: Fix CONFIG_TRACE_IRQFLAGS with CONFIG_VMAP_STACK

When CONFIG_PROVE_LOCKING is selected together with (now default)
CONFIG_VMAP_STACK, kernel enter deadlock during boot.

At the point of checking whether interrupts are enabled or not, the
value of MSR saved on stack is read using the physical address of the
stack. But at this point, when using VMAP stack the DATA MMU
translation has already been re-enabled, leading to deadlock.

Don't use the physical address of the stack when
CONFIG_VMAP_STACK is set.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Reported-by: Guenter Roeck <linux@roeck-us.net>
Fixes: cf108fb2f4aa ("powerpc/32: prepare for CONFIG_VMAP_STACK")
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/daeacdc0dec0416d1c587cc9f9e7191ad3068dc0.1581095957.git.christophe.leroy@c-s.fr
arch/powerpc/kernel/entry_32.S