On Thu, Aug 24, 2017 at 07:56:47PM +0800, Baoquan He wrote:
> In get_domain(), 'domain' could still be NULL before it's passed to
> dma_ops_domain() to dereference. For safety, check if 'domain' is
> NULL before passing to dma_ops_domain().
> 
> Reported-by: Dan Carpenter <[email protected]>
> Signed-off-by: Baoquan He <[email protected]>
> ---
>  drivers/iommu/amd_iommu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
> index 16f1e6af00b0..2e2d5e6a13b3 100644
> --- a/drivers/iommu/amd_iommu.c
> +++ b/drivers/iommu/amd_iommu.c
> @@ -2262,7 +2262,7 @@ static struct protection_domain *get_domain(struct 
> device *dev)
>               domain = to_pdomain(io_domain);
>               attach_device(dev, domain);
>       }
> -     if (!dma_ops_domain(domain))
> +     if (domain && !dma_ops_domain(domain))
>               return ERR_PTR(-EBUSY);
>  
>       return domain;

This still doesn't look right.  None of the callers can handle a NULL
domain.

regards,
dan carpenter

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to