]> Gentwo Git Trees - linux/.git/commitdiff
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
authorStephen Rothwell <sfr@canb.auug.org.au>
Tue, 21 Jan 2025 05:09:05 +0000 (16:09 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 21 Jan 2025 05:09:05 +0000 (16:09 +1100)
1  2 
Documentation/virt/kvm/api.rst
arch/s390/include/asm/pgtable.h
arch/s390/kvm/interrupt.c
arch/s390/kvm/vsie.c
arch/x86/kvm/x86.c
tools/testing/selftests/kvm/s390/ucontrol_test.c

Simple merge
Simple merge
index d4f031e086fc38d3f8f8511a0039f7a6147889d3,c1526149700eaca584d041748506e55256498706..07ff0e10cb7f5c0294bf85f1d65d1eb124698705
@@@ -2898,17 -2895,17 +2899,19 @@@ int kvm_set_routing_entry(struct kvm *k
        switch (ue->type) {
        /* we store the userspace addresses instead of the guest addresses */
        case KVM_IRQ_ROUTING_S390_ADAPTER:
 +              if (kvm_is_ucontrol(kvm))
 +                      return -EINVAL;
                e->set = set_adapter_int;
-               uaddr =  gmap_translate(kvm->arch.gmap, ue->u.adapter.summary_addr);
-               if (uaddr == -EFAULT)
-                       return -EFAULT;
-               e->adapter.summary_addr = uaddr;
-               uaddr =  gmap_translate(kvm->arch.gmap, ue->u.adapter.ind_addr);
-               if (uaddr == -EFAULT)
+               idx = srcu_read_lock(&kvm->srcu);
+               uaddr_s = gpa_to_hva(kvm, ue->u.adapter.summary_addr);
+               uaddr_i = gpa_to_hva(kvm, ue->u.adapter.ind_addr);
+               srcu_read_unlock(&kvm->srcu, idx);
+               if (kvm_is_error_hva(uaddr_s) || kvm_is_error_hva(uaddr_i))
                        return -EFAULT;
-               e->adapter.ind_addr = uaddr;
+               e->adapter.summary_addr = uaddr_s;
+               e->adapter.ind_addr = uaddr_i;
                e->adapter.summary_offset = ue->u.adapter.summary_offset;
                e->adapter.ind_offset = ue->u.adapter.ind_offset;
                e->adapter.adapter_id = ue->u.adapter.adapter_id;
Simple merge
Simple merge