| From 5541432e09dc2031978188f3e8a00b9fc78cf097 Mon Sep 17 00:00:00 2001 |
| From: Khushit Shah <khushit.shah@nutanix.com> |
| Date: Mon, 31 Aug 2026 10:54:44 +0000 |
| Subject: arm64: errata: pass REVIDR when matching target implementation CPUs |
| |
| From: Khushit Shah <khushit.shah@nutanix.com> |
| |
| commit 5541432e09dc2031978188f3e8a00b9fc78cf097 upstream. |
| |
| When target implementation CPUs are provided, is_affected_midr_range() |
| accidentally passed the MIDR as both arguments to __is_affected_midr_range(), |
| so the REVIDR mask check operated on the wrong register. |
| |
| Pass REVIDR as intended. |
| |
| Fixes: 86edf6bdcf05 ("smccc/kvm_guest: Enable errata based on implementation CPUs") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Khushit Shah <khushit.shah@nutanix.com> |
| Reviewed-by: Zenghui Yu (Huawei) <zenghui.yu@linux.dev> |
| Acked-by: Marc Zyngier <maz@kernel.org> |
| Reviewed-by: Shameer Kolothum <skolothumtho@nvidia.com> |
| Signed-off-by: Will Deacon <will@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/arm64/kernel/cpu_errata.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/arm64/kernel/cpu_errata.c |
| +++ b/arch/arm64/kernel/cpu_errata.c |
| @@ -82,7 +82,7 @@ is_affected_midr_range(const struct arm6 |
| |
| for (i = 0; i < target_impl_cpu_num; i++) { |
| if (__is_affected_midr_range(entry, target_impl_cpus[i].midr, |
| - target_impl_cpus[i].midr)) |
| + target_impl_cpus[i].revidr)) |
| return true; |
| } |
| return false; |