OSDN Git Service

target/arm: Fix PAuth keys access checks for disabled SEL2
authorFlorian Lugou <florian.lugou@provenrun.com>
Tue, 17 May 2022 14:52:42 +0000 (16:52 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 19 May 2022 15:19:03 +0000 (16:19 +0100)
As per the description of the HCR_EL2.APK field in the ARMv8 ARM,
Pointer Authentication keys accesses should only be trapped to Secure
EL2 if it is enabled.

Signed-off-by: Florian Lugou <florian.lugou@provenrun.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220517145242.1215271-1-florian.lugou@provenrun.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/helper.c

index aa7a8e0..fdd51e5 100644 (file)
@@ -6768,7 +6768,7 @@ static CPAccessResult access_pauth(CPUARMState *env, const ARMCPRegInfo *ri,
     int el = arm_current_el(env);
 
     if (el < 2 &&
-        arm_feature(env, ARM_FEATURE_EL2) &&
+        arm_is_el2_enabled(env) &&
         !(arm_hcr_el2_eff(env) & HCR_APK)) {
         return CP_ACCESS_TRAP_EL2;
     }