KVM: s390: selftests: Add ucontrol gis routing test

Add a selftests for the interrupt routing configuration when using
ucontrol VMs.

Calling the test may trigger a null pointer dereferences on kernels not
containing the fixes in this patch series.

Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
Tested-by: Hariharan Mari <hari55@linux.ibm.com>
Reviewed-by: Hariharan Mari <hari55@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/r/20241216092140.329196-5-schlameuss@linux.ibm.com
Message-ID: <20241216092140.329196-5-schlameuss@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
This commit is contained in:
Christoph Schlameuss
2024-12-16 10:21:38 +01:00
committed by Claudio Imbrenda
parent 5021fd77d6
commit b1da33b0e3

View File

@@ -783,4 +783,23 @@ TEST_F(uc_kvm, uc_flic_attrs)
close(cd.fd);
}
TEST_F(uc_kvm, uc_set_gsi_routing)
{
struct kvm_irq_routing *routing = kvm_gsi_routing_create();
struct kvm_irq_routing_entry ue = {
.type = KVM_IRQ_ROUTING_S390_ADAPTER,
.gsi = 1,
.u.adapter = (struct kvm_irq_routing_s390_adapter) {
.ind_addr = 0,
},
};
int rc;
routing->entries[0] = ue;
routing->nr = 1;
rc = ioctl(self->vm_fd, KVM_SET_GSI_ROUTING, routing);
ASSERT_EQ(-1, rc) TH_LOG("err %s (%i)", strerror(errno), errno);
ASSERT_EQ(EINVAL, errno) TH_LOG("err %s (%i)", strerror(errno), errno);
}
TEST_HARNESS_MAIN