[PATCH v2] vgem: fix error return in vgem_init()

Alexandr Sapozhnkiov posted 1 patch 2 months, 2 weeks ago
drivers/gpu/drm/vgem/vgem_drv.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[PATCH v2] vgem: fix error return in vgem_init()
Posted by Alexandr Sapozhnkiov 2 months, 2 weeks ago
From: Alexandr Sapozhnikov <alsp705@gmail.com>

The dma_coerce_mask_and_coherent function may 
fail to apply a mask due to incorrectly passed parameters. 
However, since this function returns the -EIO error, 
this is an abnormal situation and the error should be logged.

Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Alexandr Sapozhnikov <alsp705@gmail.com>
---
 drivers/gpu/drm/vgem/vgem_drv.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index c5e3e5457737..dc132dd44b9e 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -140,8 +140,10 @@ static int __init vgem_init(void)
 		goto out_unregister;
 	}
 
-	dma_coerce_mask_and_coherent(&pdev->dev,
+	ret = dma_coerce_mask_and_coherent(&pdev->dev,
 				     DMA_BIT_MASK(64));
+	if (ret)
+		goto out_unregister;
 
 	vgem_device = devm_drm_dev_alloc(&pdev->dev, &vgem_driver,
 					 struct vgem_device, drm);
-- 
2.43.0
Re: [PATCH v2] vgem: fix error return in vgem_init()
Posted by Markus Elfring 2 months, 2 weeks ago
> The dma_coerce_mask_and_coherent function may 
> fail to apply a mask due to incorrectly passed parameters. 
…

* You may occasionally put more than 61 characters into text lines
  of such a change description.
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.17#n658

* Would you like to choose another imperative wording?

* How do you think about to add any tags (like “Fixes” and “Cc”) accordingly?


…
> ---
>  drivers/gpu/drm/vgem/vgem_drv.c | 4 +++-
…

Some contributors would appreciate patch version descriptions.
https://lore.kernel.org/all/?q=%22This+looks+like+a+new+version+of+a+previously+submitted+patch%22


…
> +++ b/drivers/gpu/drm/vgem/vgem_drv.c
> @@ -140,8 +140,10 @@ static int __init vgem_init(void)
>  		goto out_unregister;
>  	}
>  
> -	dma_coerce_mask_and_coherent(&pdev->dev,
> +	ret = dma_coerce_mask_and_coherent(&pdev->dev,
>  				     DMA_BIT_MASK(64));
> +	if (ret)
> +		goto out_unregister;
…

I suggest to keep the passed parameters in the same line for this function call.

Regards,
Markus