]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: Correct value returned by ESR_ELx_FSC_ADDRSZ_nL()
authorSteven Price <steven.price@arm.com>
Fri, 3 Jul 2026 13:48:35 +0000 (14:48 +0100)
committerWill Deacon <will@kernel.org>
Tue, 21 Jul 2026 15:13:10 +0000 (15:13 +0000)
Address size fault, level -1 is encoded as 0b101001 or 0x29 according to
the Arm ARM. Correct the value to match the spec. This also matches the
offset of "level -1 address size fault" in the fault_info array in
fault.c.

Fixes: fb8a3eba9c81 ("KVM: arm64: Only read HPFAR_EL2 when value is architecturally valid")
Signed-off-by: Steven Price <steven.price@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/esr.h

index 81c17320a588d9f01da2447a8e8ecadfdaf38b7e..f816f5d77f1a5464802ebaac58480249a7bf8096 100644 (file)
  * Annoyingly, the negative levels for Address size faults aren't laid out
  * contiguously (or in the desired order)
  */
-#define ESR_ELx_FSC_ADDRSZ_nL(n)       ((n) == -1 ? 0x25 : 0x2C)
+#define ESR_ELx_FSC_ADDRSZ_nL(n)       ((n) == -1 ? 0x29 : 0x2C)
 #define ESR_ELx_FSC_ADDRSZ_L(n)                ((n) < 0 ? ESR_ELx_FSC_ADDRSZ_nL(n) : \
                                                   (ESR_ELx_FSC_ADDRSZ + (n)))