linux-stable/arch/arm/mm
Ard Biesheuvel a3d742c6b5 ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle
[ Upstream commit 0609e20024 ]

Jon reports that the Spectre-BHB init code is filling up the kernel log
with spurious notifications about which mitigation has been enabled,
every time any CPU comes out of a low power state.

Given that Spectre-BHB mitigations are system wide, only a single
mitigation can be enabled, and we already print an error if two types of
CPUs coexist in a single system that require different Spectre-BHB
mitigations.

This means that the pr_info() that describes the selected mitigation
does not need to be emitted for each CPU anyway, and so we can simply
emit it only once.

In order to clarify the above in the log message, update it to describe
that the selected mitigation will be enabled on all CPUs, including ones
that are unaffected. If another CPU comes up later that is affected and
requires a different mitigation, we report an error as before.

Fixes: b9baf5c8c5 ("ARM: Spectre-BHB workaround")
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-07-21 20:42:44 +02:00
..
abort-ev4.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-ev4t.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-ev5t.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-ev5tj.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-ev6.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-ev7.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-lv4t.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-macro.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
abort-nommu.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
alignment.c ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction 2022-07-21 20:42:43 +02:00
cache-aurora-l2.h
cache-fa.S
cache-feroceon-l2.c
cache-l2x0-pmu.c
cache-l2x0.c ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values 2020-10-29 09:07:09 +01:00
cache-nop.S
cache-tauros2.c
cache-tauros3.h
cache-uniphier.c
cache-v4.S
cache-v4wb.S ARM: align .data section 2017-08-14 16:22:55 +01:00
cache-v4wt.S
cache-v6.S
cache-v7.S ARM: 8814/1: mm: improve/fix ARM v7_dma_inv_range() unaligned address handling 2018-12-21 14:13:16 +01:00
cache-v7m.S ARM: 8815/1: V7M: align v7m_dma_inv_range() with v7 counterpart 2018-12-21 14:13:16 +01:00
cache-xsc3l2.c
context.c
copypage-fa.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-feroceon.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-v4mc.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-v4wb.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-v4wt.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-v6.c
copypage-xsc3.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
copypage-xscale.c ARM: 8805/2: remove unneeded naked function usage 2021-12-22 09:18:01 +01:00
dma-mapping-nommu.c ARM: NOMMU: Wire-up default DMA interface 2017-07-20 16:09:27 +02:00
dma-mapping.c dma-coherent: introduce interface for default DMA pool 2017-07-20 16:09:10 +02:00
dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dump.c ARM: 8721/1: mm: dump: check hardware RO bit for LPAE 2017-11-30 08:40:40 +00:00
extable.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fault-armv.c
fault.c ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes 2019-10-07 18:55:09 +02:00
fault.h ARM: 8898/1: mm: Don't treat faults reported from cache maintenance as writes 2019-10-07 18:55:09 +02:00
flush.c
fsr-2level.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fsr-3level.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
highmem.c
hugetlbpage.c
idmap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
init.c ARM: 8949/1: mm: mark free_memmap as __init 2020-02-14 16:32:23 -05:00
iomap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ioremap.c ARM: 8799/1: mm: fix pci_ioremap_io() offset check 2018-11-04 14:52:38 +01:00
Kconfig ARM: Spectre-BHB workaround 2022-03-11 10:13:30 +01:00
l2c-common.c
l2c-l2x0-resume.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit 2018-10-18 09:16:26 +02:00
mm.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu.c ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions 2022-03-08 19:01:58 +01:00
nommu.c ARM: 8700/1: nommu: always reserve address 0 away 2017-10-12 11:18:17 +01:00
pabort-legacy.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pabort-v6.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pabort-v7.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pageattr.c
pgd.c
physaddr.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
proc-arm7tdmi.S
proc-arm9tdmi.S
proc-arm720.S
proc-arm740.S
proc-arm920.S
proc-arm922.S
proc-arm925.S
proc-arm926.S
proc-arm940.S
proc-arm946.S
proc-arm1020.S
proc-arm1020e.S
proc-arm1022.S
proc-arm1026.S
proc-fa526.S
proc-feroceon.S
proc-macros.S ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned 2021-11-02 18:25:10 +01:00
proc-mohawk.S
proc-sa110.S
proc-sa1100.S
proc-syms.c
proc-v6.S
proc-v7-2level.S ARM: spectre-v2: harden branch predictor on context switches 2018-10-18 09:16:26 +02:00
proc-v7-3level.S ARM: 8690/1: lpae: build TTB control register value from scratch in v7_ttb_setup 2017-08-29 13:09:12 +01:00
proc-v7-bugs.c ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle 2022-07-21 20:42:44 +02:00
proc-v7.S ARM: 8809/1: proc-v7: fix Thumb annotation of cpu_v7_hvc_switch_mm 2018-11-21 09:24:09 +01:00
proc-v7m.S ARM: 8926/1: v7m: remove register save to stack before svc 2019-11-10 11:25:16 +01:00
proc-xsc3.S
proc-xscale.S ARM: align .data section 2017-08-14 16:22:55 +01:00
pv-fixup-asm.S
tcm.h
tlb-fa.S
tlb-v4.S
tlb-v4wb.S
tlb-v4wbi.S
tlb-v6.S
tlb-v7.S