Messages in this thread | | | Subject | Re: [PATCH] KVM: s390: Fix handle_sske page fault handling | From | Christian Borntraeger <> | Date | Mon, 25 Oct 2021 09:08:23 +0200 |
| |
Am 22.10.21 um 17:26 schrieb Janis Schoetterl-Glausch: > On Fri, Oct 22, 2021 at 02:00:13PM +0200, Christian Borntraeger wrote: >> Am 22.10.21 um 13:29 schrieb Janis Schoetterl-Glausch: >>> Retry if fixup_user_fault succeeds. >> >> Maybe rephrase that with a more verbose description (e.g. if fixup_user_fault succeeds >> we return EAGAIN and thus we ust retry the loop and blabla....) >> > Done > > [...] > -- >8 -- > Subject: [PATCH v2] KVM: s390: Fix handle_sske page fault handling > > If handle_sske cannot set the storage key, because there is no > page table entry or no present large page entry, it calls > fixup_user_fault. > However, currently, if the call succeeds, handle_sske returns > -EAGAIN, without having set the storage key. > Instead, retry by continue'ing the loop without incrementing the > address. > The same issue in handle_pfmf was fixed by > a11bdb1a6b78 (KVM: s390: Fix pfmf and conditional skey emulation). > > Fixes: bd096f644319 ("KVM: s390: Add skey emulation fault handling") > Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com> > Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> > Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > --- > arch/s390/kvm/priv.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c > index 53da4ceb16a3..417154b314a6 100644 > --- a/arch/s390/kvm/priv.c > +++ b/arch/s390/kvm/priv.c > @@ -397,6 +397,8 @@ static int handle_sske(struct kvm_vcpu *vcpu) > mmap_read_unlock(current->mm); > if (rc == -EFAULT) > return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING); > + if (rc == -EAGAIN) > + continue; > if (rc < 0) > return rc; > start += PAGE_SIZE; >
thanks applied.
| |