arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB
SSBS provides a relatively cheap mitigation for SSB, but it is still a mitigation and its presence does not indicate that the CPU is unaffected by the vulnerability. Tweak the mitigation logic so that we report the correct string in sysfs. Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
61ae1321f0
commit
eb337cdfcd
@ -386,15 +386,17 @@ static bool has_ssbd_mitigation(const struct arm64_cpu_capabilities *entry,
|
|||||||
|
|
||||||
WARN_ON(scope != SCOPE_LOCAL_CPU || preemptible());
|
WARN_ON(scope != SCOPE_LOCAL_CPU || preemptible());
|
||||||
|
|
||||||
if (this_cpu_has_cap(ARM64_SSBS)) {
|
|
||||||
required = false;
|
|
||||||
goto out_printmsg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* delay setting __ssb_safe until we get a firmware response */
|
/* delay setting __ssb_safe until we get a firmware response */
|
||||||
if (is_midr_in_range_list(read_cpuid_id(), entry->midr_range_list))
|
if (is_midr_in_range_list(read_cpuid_id(), entry->midr_range_list))
|
||||||
this_cpu_safe = true;
|
this_cpu_safe = true;
|
||||||
|
|
||||||
|
if (this_cpu_has_cap(ARM64_SSBS)) {
|
||||||
|
if (!this_cpu_safe)
|
||||||
|
__ssb_safe = false;
|
||||||
|
required = false;
|
||||||
|
goto out_printmsg;
|
||||||
|
}
|
||||||
|
|
||||||
if (psci_ops.smccc_version == SMCCC_VERSION_1_0) {
|
if (psci_ops.smccc_version == SMCCC_VERSION_1_0) {
|
||||||
ssbd_state = ARM64_SSBD_UNKNOWN;
|
ssbd_state = ARM64_SSBD_UNKNOWN;
|
||||||
if (!this_cpu_safe)
|
if (!this_cpu_safe)
|
||||||
|
Loading…
Reference in New Issue
Block a user