[PATCH v5 0/3] s390/kvm: fix MVPG when in VSIE

Claudio Imbrenda
2021-03-03T02:29:47Z

The current handling of the MVPG instruction when executed in a nested
guest is wrong, and can lead to the nested guest hanging.

This patchset fixes the behaviour to be more architecturally correct,
and fixes the hangs observed.

v4->v5
* split kvm_s390_logical_to_effective so it can be reused for vSIE
* fix existing comments and add some more comments
* use the new split _kvm_s390_logical_to_effective in vsie_handle_mvpg

v3->v4
* added PEI_ prefix to DAT_PROT and NOT_PTE macros
* added small comment to explain what they are about

v2->v3
* improved some comments
* improved some variable and parameter names for increased readability
* fixed missing handling of page faults in the MVPG handler
* small readability improvements

v1->v2
* complete rewrite

Claudio Imbrenda (3):
s390/kvm: split kvm_s390_logical_to_effective
s390/kvm: extend kvm_s390_shadow_fault to return entry pointer
s390/kvm: VSIE: correctly handle MVPG when in VSIE

arch/s390/kvm/gaccess.c | 30 ++++++++++--
arch/s390/kvm/gaccess.h | 35 ++++++++++---
arch/s390/kvm/vsie.c | 106 ++++++++++++++++++++++++++++++++++++----
3 files changed, 151 insertions(+), 20 deletions(-)

--
2.26.2