]> www.infradead.org Git - linux.git/commitdiff
KVM: s390: Don't re-setup dummy routing when KVM_CREATE_IRQCHIP
authorYi Wang <foxywang@tencent.com>
Mon, 6 May 2024 10:17:51 +0000 (18:17 +0800)
committerSean Christopherson <seanjc@google.com>
Tue, 11 Jun 2024 21:18:41 +0000 (14:18 -0700)
Now that KVM sets up empty irq routing in kvm_create_vm(), there's
no need to setup dummy routing when KVM_CREATE_IRQCHIP.

Note, userspace could very theoretically use KVM_CREATE_IRQCHIP after
KVM_SET_GSI_ROUTING to reset to empty IRQ routing, but it's extremely
unlikely any VMM does that, e.g. the main reason s390 does anything for
KVM_CREATE_IRQCHIP is to that s390 doesn't need to be special cased by the
VMM.

Signed-off-by: Yi Wang <foxywang@tencent.com>
Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
Link: https://lore.kernel.org/r/20240506101751.3145407-4-foxywang@tencent.com
[sean: keep use_irqchip check, call out KVM_SET_GSI_ROUTING impact]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/s390/kvm/kvm-s390.c

index 82e9631cd9efb86defd13e029f0a737726ba853b..4641083ee1009193bb1535bedd898464dfd07f22 100644 (file)
@@ -2996,14 +2996,9 @@ int kvm_arch_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
                break;
        }
        case KVM_CREATE_IRQCHIP: {
-               struct kvm_irq_routing_entry routing;
-
                r = -EINVAL;
-               if (kvm->arch.use_irqchip) {
-                       /* Set up dummy routing. */
-                       memset(&routing, 0, sizeof(routing));
-                       r = kvm_set_irq_routing(kvm, &routing, 0, 0);
-               }
+               if (kvm->arch.use_irqchip)
+                       r = 0;
                break;
        }
        case KVM_SET_DEVICE_ATTR: {