]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: arm64: Add templates for BHB mitigation sequences
authorJames Morse <james.morse@arm.com>
Wed, 6 Apr 2022 16:45:42 +0000 (17:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Apr 2022 05:52:16 +0000 (07:52 +0200)
commit094a410426b4a5cbb0d68609050a15110124aeda
tree3f72b3faea09fb6ef17c967ccf252713346789c9
parent1451b7fe7a3689113e70d2936b92fa4d50e68371
KVM: arm64: Add templates for BHB mitigation sequences

KVM writes the Spectre-v2 mitigation template at the beginning of each
vector when a CPU requires a specific sequence to run.

Because the template is copied, it can not be modified by the alternatives
at runtime. As the KVM template code is intertwined with the bp-hardening
callbacks, all templates must have a bp-hardening callback.

Add templates for calling ARCH_WORKAROUND_3 and one for each value of K
in the brancy-loop. Identify these sequences by a new parameter
template_start, and add a copy of install_bp_hardening_cb() that is able to
install them.

Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/cpucaps.h
arch/arm64/include/asm/kvm_mmu.h
arch/arm64/include/asm/mmu.h
arch/arm64/kernel/bpi.S
arch/arm64/kernel/cpu_errata.c