From: Will Deacon Date: Wed, 15 Jan 2020 14:06:37 +0000 (+0000) Subject: arm64: Use register field helper in kaslr_requires_kpti() X-Git-Tag: v5.6-rc1~208^2~4^4~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a569f5f37203451d5378cb7de45f643bcb93d5e9;p=thirdparty%2Fkernel%2Flinux.git arm64: Use register field helper in kaslr_requires_kpti() Rather than open-code the extraction of the E0PD field from the MMFR2 register, we can use the cpuid_feature_extract_unsigned_field() helper instead. Acked-by: Suzuki K Poulose Reviewed-by: Catalin Marinas Signed-off-by: Will Deacon --- diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index d5242b44dc5a2..1ebeb5bc17d22 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -980,7 +980,6 @@ has_useable_cnp(const struct arm64_cpu_capabilities *entry, int scope) */ bool kaslr_requires_kpti(void) { - u64 ftr; if (!IS_ENABLED(CONFIG_RANDOMIZE_BASE)) return false; @@ -989,8 +988,9 @@ bool kaslr_requires_kpti(void) * where available. */ if (IS_ENABLED(CONFIG_ARM64_E0PD)) { - ftr = read_sysreg_s(SYS_ID_AA64MMFR2_EL1); - if ((ftr >> ID_AA64MMFR2_E0PD_SHIFT) & 0xf) + u64 mmfr2 = read_sysreg_s(SYS_ID_AA64MMFR2_EL1); + if (cpuid_feature_extract_unsigned_field(mmfr2, + ID_AA64MMFR2_E0PD_SHIFT)) return false; }