mbox series

[v5.8,0/2] KVM: arm64: Fix AT instruction handling

Message ID 20200901103546.53302-1-andre.przywara@arm.com
Headers show
Series KVM: arm64: Fix AT instruction handling | expand

Message

Andre Przywara Sept. 1, 2020, 10:35 a.m. UTC
In some architectural corner cases, AT instructions can generate an
exception, which KVM is not really ready to handle properly.
Teach the code to handle this situation gracefully.

This is a backport of the respective upstream patches to v5.8(.5).
James prepared and tested these already, but we were lacking the upstream
commit ID so far.
I am sending this on his behalf, since he is off this week.

The last two of the originally three patches were tagged Cc: stable
already, but 2/3 did not apply cleanly, hence this specific backport.
3/3 has already been added to stable-queue, so I am dropping it from
this post.

Cheers,
Andre.

James Morse (2):
  KVM: arm64: Add kvm_extable for vaxoricism code
  KVM: arm64: Survive synchronous exceptions caused by AT instructions

 arch/arm64/include/asm/kvm_asm.h | 43 +++++++++++++++++++++
 arch/arm64/kernel/vmlinux.lds.S  |  8 ++++
 arch/arm64/kvm/hyp/entry.S       | 15 +++++---
 arch/arm64/kvm/hyp/hyp-entry.S   | 65 ++++++++++++++++++++------------
 arch/arm64/kvm/hyp/switch.c      | 39 +++++++++++++++++--
 5 files changed, 136 insertions(+), 34 deletions(-)