Message ID | 20200917142145.ipcxb2zo4up357t2@smtp.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/vgem: validate vgem_device before exit operations | expand |
On Thu, Sep 17, 2020 at 4:21 PM Melissa Wen <melissa.srw@gmail.com> wrote: > > This patch adds a check for the vgem_device before handling it. > > Signed-off-by: Melissa Wen <melissa.srw@gmail.com> Seems reasonable. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > 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(&vgem_device->drm); > devres_release_group(&pdev->dev, NULL); > -- > 2.28.0 >
>-----Original Message----- >From: dri-devel <dri-devel-bounces@lists.freedesktop.org> On Behalf Of >Melissa Wen >Sent: Thursday, September 17, 2020 10:22 AM >To: Daniel Vetter <daniel@ffwll.ch>; David Airlie <airlied@linux.ie> >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 <melissa.srw@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@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/dri-devel
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(&vgem_device->drm); devres_release_group(&pdev->dev, NULL);
This patch adds a check for the vgem_device before handling it. Signed-off-by: Melissa Wen <melissa.srw@gmail.com> --- drivers/gpu/drm/vgem/vgem_drv.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)