]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 7 Sep 2020 13:42:09 +0000 (13:42 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 15 Sep 2020 12:13:33 +0000 (22:13 +1000)
commit2b981491c26026a9727735f6254193b6c48d14b0
tree6d4c98677a61815048a13eedbe9784c1aa4160b5
parent5651f9455cca43a7d7ae95f81065f1eef377eae6
powerpc/32: Fix vmap stack - Do not activate MMU before reading task struct

We need r1 to be properly set before activating MMU, so
reading task_struct->stack must be done with MMU off.

This means we need an additional register to play with MSR
bits while r11 now points to the stack. For that, move r10
back to CR (As is already done for hash MMU) and use r10.

We still don't have r1 correct yet when we activate MMU.
It is done in following patch.

Fixes: 6d8530ad28c2 ("powerpc/32: prepare for CONFIG_VMAP_STACK")
Cc: stable@vger.kernel.org
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/a027d447022a006c9c4958ac734128e577a3c5c1.1599486108.git.christophe.leroy@csgroup.eu
arch/powerpc/kernel/head_32.S
arch/powerpc/kernel/head_32.h