mbox series

[v4,0/2] s390/kvm: fix MVPG when in VSIE

Message ID 20210223191353.267981-1-imbrenda@linux.ibm.com (mailing list archive)
Headers show
Series s390/kvm: fix MVPG when in VSIE | expand

Message

Claudio Imbrenda Feb. 23, 2021, 7:13 p.m. UTC
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.

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 (2):
  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 |   6 ++-
 arch/s390/kvm/vsie.c    | 101 ++++++++++++++++++++++++++++++++++++----
 3 files changed, 122 insertions(+), 15 deletions(-)

Comments

Janosch Frank Feb. 24, 2021, 8:15 a.m. UTC | #1
On 2/23/21 8:13 PM, 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.

Could you please push this to devel so we get some CI coverage.

And before you do that please exchange my ACK mail address in the first
patch for the linux one.


> 
> 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 (2):
>   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 |   6 ++-
>  arch/s390/kvm/vsie.c    | 101 ++++++++++++++++++++++++++++++++++++----
>  3 files changed, 122 insertions(+), 15 deletions(-)
>