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

Ruhl, Michael J michael.j.ruhl at intel.com
Thu Sep 17 14:39:38 UTC 2020


>-----Original Message-----
>From: dri-devel <dri-devel-bounces at lists.freedesktop.org> On Behalf Of
>Melissa Wen
>Sent: Thursday, September 17, 2020 10:22 AM
>To: Daniel Vetter <daniel at ffwll.ch>; David Airlie <airlied at linux.ie>
>Cc: dri-devel at 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 <melissa.srw at gmail.com>
>---
> 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(&vgem_device->drm);
> 	devres_release_group(&pdev->dev, NULL);
>--
>2.28.0
>
>_______________________________________________
>dri-devel mailing list
>dri-devel at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list