aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2020-01-15 14:06:37 +0000
committerWill Deacon <will@kernel.org>2020-01-15 16:49:48 +0000
commita569f5f37203451d5378cb7de45f643bcb93d5e9 (patch)
tree61ded13bb8dc746f02b194d25eaac348b635071e /arch
parentarm64: Simplify early check for broken TX1 when KASLR is enabled (diff)
downloadlinux-dev-a569f5f37203451d5378cb7de45f643bcb93d5e9.tar.xz
linux-dev-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.c6
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;
}