]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Nov 2020 12:29:00 +0000 (13:29 +0100)
commit71eea3d3df94ccdcf3b616d27d68d6c028c1968f
treedff26fb94307d2b1a70816b2f84629a3329cbb33
parente6f6e52acb962c40f77c116c21a501de3e114e17
arm64: errata: Fix handling of 1418040 with late CPU onlining

[ Upstream commit f969f03888b9438fdb227b6460d99ede5737326d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/include/asm/cpufeature.h
arch/arm64/kernel/process.c