On 02.03.21 18:44, Claudio Imbrenda wrote:
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
queued (with small fixups) for kvms390. Still not sure if this will land in master or next. Opinions?
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(-)