aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/ppc_asm.h
diff options
context:
space:
mode:
authorRohan McLure <rmclure@linux.ibm.com>2022-09-21 16:55:42 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2022-09-26 23:00:14 +1000
commit2c27d4a419f627636b8c6038e55acb26df05c391 (patch)
tree72ab274a06583565a00c0f757160d1042116b747 /arch/powerpc/include/asm/ppc_asm.h
parentpowerpc: Remove asmlinkage from syscall handler definitions (diff)
downloadlinux-dev-2c27d4a419f627636b8c6038e55acb26df05c391.tar.xz
linux-dev-2c27d4a419f627636b8c6038e55acb26df05c391.zip
powerpc: Save caller r3 prior to system_call_exception
This reverts commit 8875f47b7681 ("powerpc/syscall: Save r3 in regs->orig_r3 "). Save caller's original r3 state to the kernel stackframe before entering system_call_exception. This allows for user registers to be cleared by the time system_call_exception is entered, reducing the influence of user registers on speculation within the kernel. Prior to this commit, orig_r3 was saved at the beginning of system_call_exception. Instead, save orig_r3 while the user value is still live in r3. Also replicate this early save in 32-bit. A similar save was removed in commit 6f76a01173cc ("powerpc/syscall: implement system call entry/exit logic in C for PPC32") when 32-bit adopted system_call_exception. Revert its removal of orig_r3 saves. Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220921065605.1051927-3-rmclure@linux.ibm.com
Diffstat (limited to 'arch/powerpc/include/asm/ppc_asm.h')
0 files changed, 0 insertions, 0 deletions