mbox series

[v4.9.y,0/2] arm64: prevent boot-time crashes when detecting local features

Message ID 20180601171210.16870-1-mark.rutland@arm.com
Headers show
Series arm64: prevent boot-time crashes when detecting local features | expand

Message

Mark Rutland June 1, 2018, 5:12 p.m. UTC
Marc reported that v4.9.y hung at boot time on his GICv3 system, since the
spectre backports.

This is because the errata detection logic tries to enable a static key in the
secondary bringup path, before the secondary CPU has configured its GICv3 CPU
interface, causing it to blow up when it tries to IPI the other CPUs. This
affects any local cpu feature detection in systems with heterogeneous CPUs.

Some prior rework upstream moved this out of the secondary bringup path, which
avoids the issue, so this series backports said rework.

Thanks,
Mark.

Mark Rutland (1):
  arm64/cpufeature: don't use mutex in bringup path

Suzuki K Poulose (1):
  arm64: Add hypervisor safe helper for checking constant capabilities

 arch/arm64/include/asm/cpufeature.h | 27 ++++++++++++++++++++-------
 arch/arm64/include/asm/kvm_host.h   | 10 +++++++---
 arch/arm64/include/asm/kvm_mmu.h    |  2 +-
 arch/arm64/include/asm/mmu.h        |  2 +-
 arch/arm64/kernel/cpufeature.c      | 28 ++++++++++++++++++++++++----
 arch/arm64/kernel/process.c         |  2 +-
 drivers/irqchip/irq-gic-v3.c        | 13 +------------
 7 files changed, 55 insertions(+), 29 deletions(-)

-- 
2.11.0