]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
arm64: errata: Fix handling of 1418040 with late CPU onlining
authorWill Deacon <will@kernel.org>
Fri, 6 Nov 2020 11:14:26 +0000 (11:14 +0000)
committerWill Deacon <will@kernel.org>
Tue, 10 Nov 2020 13:09:39 +0000 (13:09 +0000)
commitf969f03888b9438fdb227b6460d99ede5737326d
treed537cff035f4204a6078cc962bd794de9d13689d
parent108aa503657ee2fe8aa071dc620d96372c252ecd
arm64: errata: Fix handling of 1418040 with late CPU onlining

In a surprising turn of events, it transpires that CPU capabilities
configured as ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE are never set as the
result of late-onlining. Therefore our handling of erratum 1418040 does
not get activated if it is not required by any of the boot CPUs, even
though we allow late-onlining of an affected CPU.

In order to get things working again, replace the cpus_have_const_cap()
invocation with an explicit check for the current CPU using
this_cpu_has_cap().

Cc: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201106114952.10032-1-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/cpufeature.h
arch/arm64/kernel/process.c