powerpc64/idle: Fix SP offsets when saving GPRs
authorChristopher M. Riedl <cmr@codefail.de>
Sat, 6 Feb 2021 07:23:42 +0000 (01:23 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 8 Feb 2021 14:10:16 +0000 (01:10 +1100)
commit73287caa9210ded6066833195f4335f7f688a46b
tree7cf13613c61cd1f2ad7766a3bc29a8f2b91c610c
parentb842d131c7983f8f0b9c9572c073130b5f2bcf11
powerpc64/idle: Fix SP offsets when saving GPRs

The idle entry/exit code saves/restores GPRs in the stack "red zone"
(Protected Zone according to PowerPC64 ELF ABI v2). However, the offset
used for the first GPR is incorrect and overwrites the back chain - the
Protected Zone actually starts below the current SP. In practice this is
probably not an issue, but it's still incorrect so fix it.

Also expand the comments to explain why using the stack "red zone"
instead of creating a new stackframe is appropriate here.

Signed-off-by: Christopher M. Riedl <cmr@codefail.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210206072342.5067-1-cmr@codefail.de
arch/powerpc/kernel/idle_book3s.S