On 27.08.2018 14:47, Li Qiang wrote:
> Free the vdev->msi_perm in error path.
> 
> Signed-off-by: Li Qiang <liq...@gmail.com>
> ---
>  drivers/vfio/pci/vfio_pci_config.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/vfio/pci/vfio_pci_config.c 
> b/drivers/vfio/pci/vfio_pci_config.c
> index 115a36f6f403..62023b4a373b 100644
> --- a/drivers/vfio/pci/vfio_pci_config.c
> +++ b/drivers/vfio/pci/vfio_pci_config.c
> @@ -1180,8 +1180,10 @@ static int vfio_msi_cap_len(struct vfio_pci_device 
> *vdev, u8 pos)
>               return -ENOMEM;
>  
>       ret = init_pci_cap_msi_perm(vdev->msi_perm, len, flags);
> -     if (ret)
> +     if (ret) {
> +             kfree(vdev->msi_perm);
>               return ret;
> +     }
>  
>       return len;
>  }
> 

Doesn't vfio_config_free() take care of that in all cases?

-- 

Thanks,

David / dhildenb

Reply via email to