diff options
author | Vladimir Murzin <vladimir.murzin@arm.com> | 2022-02-24 12:49:50 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2022-02-25 13:38:51 +0000 |
commit | da844beb6d9f97cb6fe4b443f9610a9fcc534f9d (patch) | |
tree | 92eed7f9f1cb8c019b0ffdd9e8c3f6dca3f90b9d /arch/arm64/kernel/cpufeature.c | |
parent | Linux 5.17-rc3 (diff) | |
download | linux-dev-da844beb6d9f97cb6fe4b443f9610a9fcc534f9d.tar.xz linux-dev-da844beb6d9f97cb6fe4b443f9610a9fcc534f9d.zip |
arm64: cpufeature: Account min_field_value when cheking secondaries for PAuth
In case, both boot_val and sec_val have value below min_field_value we
would wrongly report that address authentication is supported. It is
not a big issue because we enable address authentication based on boot
cpu (and check there is correct).
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220224124952.119612-2-vladimir.murzin@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/kernel/cpufeature.c')
-rw-r--r-- | arch/arm64/kernel/cpufeature.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c index e5f23dab1c8d..3271770b60d6 100644 --- a/arch/arm64/kernel/cpufeature.c +++ b/arch/arm64/kernel/cpufeature.c @@ -1829,7 +1829,7 @@ static bool has_address_auth_cpucap(const struct arm64_cpu_capabilities *entry, /* Now check for the secondary CPUs with SCOPE_LOCAL_CPU scope */ sec_val = cpuid_feature_extract_field(__read_sysreg_by_encoding(entry->sys_reg), entry->field_pos, entry->sign); - return sec_val == boot_val; + return (sec_val >= entry->min_field_value) && (sec_val == boot_val); } static bool has_address_auth_metacap(const struct arm64_cpu_capabilities *entry, |