mirror of https://github.com/xemu-project/xemu.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 <eric.auger@redhat.com>
Fixes: cf2647a76e
("virtio-iommu: Compute host reserved regions")
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
44b7329de4
commit
37baedf8e8
|
@ -563,10 +563,15 @@ static int virtio_iommu_set_host_iova_ranges(VirtIOIOMMU *s, PCIBus *bus,
|
||||||
int ret = -EINVAL;
|
int ret = -EINVAL;
|
||||||
|
|
||||||
if (!sbus) {
|
if (!sbus) {
|
||||||
error_report("%s no sbus", __func__);
|
error_setg(errp, "%s: no IOMMUPciBus found!", __func__);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
sdev = sbus->pbdev[devfn];
|
sdev = sbus->pbdev[devfn];
|
||||||
|
if (!sdev) {
|
||||||
|
error_setg(errp, "%s: no IOMMUDevice found!", __func__);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
current_ranges = sdev->host_resv_ranges;
|
current_ranges = sdev->host_resv_ranges;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue