On 11/19/19 11:18 AM, David Hildenbrand wrote: > On 24.10.19 13:40, Janosch Frank wrote: >> Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> >> --- >> arch/s390/kvm/kvm-s390.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c >> index eddc9508c1b1..17a78774c617 100644 >> --- a/arch/s390/kvm/kvm-s390.c >> +++ b/arch/s390/kvm/kvm-s390.c >> @@ -3646,6 +3646,15 @@ static int kvm_s390_handle_requests(struct kvm_vcpu *vcpu) >> rc = gmap_mprotect_notify(vcpu->arch.gmap, >> kvm_s390_get_prefix(vcpu), >> PAGE_SIZE * 2, PROT_WRITE); >> + if (!rc && kvm_s390_pv_is_protected(vcpu->kvm)) { >> + rc = uv_convert_to_secure(vcpu->arch.gmap, >> + kvm_s390_get_prefix(vcpu)); >> + WARN_ON_ONCE(rc && rc != -EEXIST); >> + rc = uv_convert_to_secure(vcpu->arch.gmap, >> + kvm_s390_get_prefix(vcpu) + PAGE_SIZE); >> + WARN_ON_ONCE(rc && rc != -EEXIST); >> + rc = 0; >> + } > > ... what if userspace reads the prefix pages just after these calls? > validity? :/ Currently yes, we're working with firmware to fix this. > >> if (rc) { >> kvm_make_request(KVM_REQ_MMU_RELOAD, vcpu); >> return rc; >> >
Attachment:
signature.asc
Description: OpenPGP digital signature