diff options
author | Will Deacon <will@kernel.org> | 2020-01-15 14:06:37 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-01-15 16:49:48 +0000 |
commit | a569f5f37203451d5378cb7de45f643bcb93d5e9 (patch) | |
tree | 61ded13bb8dc746f02b194d25eaac348b635071e /arch | |
parent | ebac96ede61a1a46bdef12df3c1f9c20b00f2d88 (diff) | |
download | lwn-a569f5f37203451d5378cb7de45f643bcb93d5e9.tar.gz lwn-a569f5f37203451d5378cb7de45f643bcb93d5e9.zip |
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 <suzuki.poulose@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm64/kernel/cpufeature.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index d5242b44dc5a..1ebeb5bc17d2 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; } |