From: Eric Auger Date: Mon, 1 Jul 2024 08:48:53 +0000 (+0200) Subject: virtio-iommu: Fix error handling in virtio_iommu_set_host_iova_ranges() X-Git-Tag: qemu-xen-4.20.0~82^2~8 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=37baedf8e8a78cf799956447e40da79b967882bb;p=qemu-xen.git virtio-iommu: Fix error handling in virtio_iommu_set_host_iova_ranges() In case no IOMMUPciBus/IOMMUDevice are found we need to properly set the error handle and return. Fixes : Coverity CID 1549006 Signed-off-by: Eric Auger Fixes: cf2647a76e ("virtio-iommu: Compute host reserved regions") Reviewed-by: Cédric Le Goater Reviewed-by: Zhenzhong Duan Reviewed-by: Michael S. Tsirkin --- diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c index 7c54c6b5e2..8fe69ab094 100644 --- a/hw/virtio/virtio-iommu.c +++ b/hw/virtio/virtio-iommu.c @@ -563,10 +563,15 @@ static int virtio_iommu_set_host_iova_ranges(VirtIOIOMMU *s, PCIBus *bus, int ret = -EINVAL; if (!sbus) { - error_report("%s no sbus", __func__); + error_setg(errp, "%s: no IOMMUPciBus found!", __func__); + return ret; } sdev = sbus->pbdev[devfn]; + if (!sdev) { + error_setg(errp, "%s: no IOMMUDevice found!", __func__); + return ret; + } current_ranges = sdev->host_resv_ranges;