powerpc/64: Add interrupt register sanitisation macros
authorRohan McLure <rmclure@linux.ibm.com>
Thu, 1 Dec 2022 07:10:14 +0000 (18:10 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 2 Dec 2022 09:45:57 +0000 (20:45 +1100)
commitcbf892ba56677b942020d2bc7ca9b79281fa0bcc
tree642ef6a1d33b0ba53b8a09da23896c2d2b4403f0
parent0e23347f1e0f2b1c98f87a4088231d0d6f59b962
powerpc/64: Add interrupt register sanitisation macros

Include in asm/ppc_asm.h macros to be used in multiple successive
patches to implement zeroising architected registers in interrupt
handlers. Registers will be sanitised in this fashion in future patches
to reduce the speculation influence of user-controlled register values.
These mitigations will be configurable through the
CONFIG_INTERRUPT_SANITIZE_REGISTERS Kconfig option.

Included are macros for conditionally zeroising registers and restoring
as required with the mitigation enabled. With the mitigation disabled,
non-volatiles must be restored on demand at separate locations to
those required by the mitigation.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221201071019.1953023-2-rmclure@linux.ibm.com
arch/powerpc/include/asm/ppc_asm.h