powerpc/dexcr: Handle hashchk exception
authorBenjamin Gray <bgray@linux.ibm.com>
Mon, 19 Jun 2023 07:36:25 +0000 (17:36 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 19 Jun 2023 07:36:26 +0000 (17:36 +1000)
commit5bcba4e6c13f0c889da1f9e67ee10accd9ca4c19
treeda6844eb74b2f2a374adf652893f3b6b56f5e952
parent0ffd60b782ed79349baf28dd3259c872f39274e9
powerpc/dexcr: Handle hashchk exception

Recognise and pass the appropriate signal to the user program when a
hashchk instruction triggers. This is independent of allowing
configuration of DEXCR[NPHIE], as a hypervisor can enforce this aspect
regardless of the kernel.

The signal mirrors how ARM reports their similar check failure. For
example, their FPAC handler in arch/arm64/kernel/traps.c do_el0_fpac()
does this. When we fail to read the instruction that caused the fault
we send a segfault, similar to how emulate_math() does it.

Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230616034846.311705-5-bgray@linux.ibm.com
arch/powerpc/include/asm/ppc-opcode.h
arch/powerpc/kernel/traps.c