On 6/26/24 10:26 AM, Eric Auger wrote:
> 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>
Thanks,
C.
> ---
> hw/virtio/virtio-iommu.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/hw/virtio/virtio-iommu.c b/hw/virtio/virtio-iommu.c
> index b9a7ddcd14..b708fb96fd 100644
> --- a/hw/virtio/virtio-iommu.c
> +++ b/hw/virtio/virtio-iommu.c
> @@ -543,10 +543,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;
>