RE: [PATCH] drm/vgem: validate vgem_device before exit operations

2020-09-17 Thread Ruhl, Michael J
>-Original Message-
>From: dri-devel  On Behalf Of
>Melissa Wen
>Sent: Thursday, September 17, 2020 10:22 AM
>To: Daniel Vetter ; David Airlie 
>Cc: dri-devel@lists.freedesktop.org
>Subject: [PATCH] drm/vgem: validate vgem_device before exit operations
>
>This patch adds a check for the vgem_device before handling it.
>
>Signed-off-by: Melissa Wen 
>---
> drivers/gpu/drm/vgem/vgem_drv.c | 9 -
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/vgem/vgem_drv.c
>b/drivers/gpu/drm/vgem/vgem_drv.c
>index cb884c890065..119ca887cb8a 100644
>--- a/drivers/gpu/drm/vgem/vgem_drv.c
>+++ b/drivers/gpu/drm/vgem/vgem_drv.c
>@@ -472,7 +472,14 @@ static int __init vgem_init(void)
>
> static void __exit vgem_exit(void)
> {
>-  struct platform_device *pdev = vgem_device->platform;
>+  struct platform_device *pdev;
>+
>+  if (!vgem_device) {
>+  DRM_INFO("vgem_device is NULL\n");
>+  return;
>+  }

This only gets called on module_exit.

If module_init fails, (which is where this is allocated), will the exit ever
be called?

M


>+
>+  pdev = vgem_device->platform;
>
>   drm_dev_unregister(_device->drm);
>   devres_release_group(>dev, NULL);
>--
>2.28.0
>
>___
>dri-devel mailing list
>dri-devel@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm/vgem: validate vgem_device before exit operations

2020-09-17 Thread Daniel Vetter
On Thu, Sep 17, 2020 at 4:21 PM Melissa Wen  wrote:
>
> This patch adds a check for the vgem_device before handling it.
>
> Signed-off-by: Melissa Wen 

Seems reasonable. Reviewed-by: Daniel Vetter 
> ---
>  drivers/gpu/drm/vgem/vgem_drv.c | 9 -
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
> index cb884c890065..119ca887cb8a 100644
> --- a/drivers/gpu/drm/vgem/vgem_drv.c
> +++ b/drivers/gpu/drm/vgem/vgem_drv.c
> @@ -472,7 +472,14 @@ static int __init vgem_init(void)
>
>  static void __exit vgem_exit(void)
>  {
> -   struct platform_device *pdev = vgem_device->platform;
> +   struct platform_device *pdev;
> +
> +   if (!vgem_device) {
> +   DRM_INFO("vgem_device is NULL\n");
> +   return;
> +   }
> +
> +   pdev = vgem_device->platform;
>
> drm_dev_unregister(_device->drm);
> devres_release_group(>dev, NULL);
> --
> 2.28.0
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel