[PATCH] drm/amdgpu: don't add files at control minor debugfs directory

Mike Lothian mike at fireburn.co.uk
Tue Dec 6 02:01:37 UTC 2016


Feel free to add a tested by from myself

Thanks for the fix

On Mon, 5 Dec 2016 at 20:33 Deucher, Alexander <Alexander.Deucher at amd.com>
wrote:

> > -----Original Message-----
> > From: Nicolai Stange [mailto:nicstange at gmail.com]
> > Sent: Monday, December 05, 2016 3:30 PM
> > To: Daniel Vetter
> > Cc: Deucher, Alexander; Koenig, Christian; Michel Dänzer; linux-
> > kernel at vger.kernel.org; dri-devel at lists.freedesktop.org; Nicolai Stange
> > Subject: [PATCH] drm/amdgpu: don't add files at control minor debugfs
> > directory
> >
> > Since commit 8a357d10043c ("drm: Nerf DRM_CONTROL nodes"), a
> > struct drm_device's ->control member is always NULL.
> >
> > In the case of CONFIG_DEBUG_FS=y, amdgpu_debugfs_add_files() accesses
> > ->control->debugfs_root though. This results in a NULL pointer
> > dereference.
> >
> > Fix this by omitting the drm_debugfs_create_files() call for the
> > control minor debugfs directory which is now non-existent anyway.
> >
> > Fixes: 8a357d10043c ("drm: Nerf DRM_CONTROL nodes")
> > Signed-off-by: Nicolai Stange <nicstange at gmail.com>
>
> Please add the bugzilla:
> https://bugs.freedesktop.org/show_bug.cgi?id=98915
> With that,
> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> > ---
> > Applicable to next-20161202. Compile-only tested.
> >
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ------
> >  1 file changed, 6 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > index deee2db..0cb3e82 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@ -2493,9 +2493,6 @@ int amdgpu_debugfs_add_files(struct
> > amdgpu_device *adev,
> >       adev->debugfs_count = i;
> >  #if defined(CONFIG_DEBUG_FS)
> >       drm_debugfs_create_files(files, nfiles,
> > -                              adev->ddev->control->debugfs_root,
> > -                              adev->ddev->control);
> > -     drm_debugfs_create_files(files, nfiles,
> >                                adev->ddev->primary->debugfs_root,
> >                                adev->ddev->primary);
> >  #endif
> > @@ -2510,9 +2507,6 @@ static void amdgpu_debugfs_remove_files(struct
> > amdgpu_device *adev)
> >       for (i = 0; i < adev->debugfs_count; i++) {
> >               drm_debugfs_remove_files(adev->debugfs[i].files,
> >                                        adev->debugfs[i].num_files,
> > -                                      adev->ddev->control);
> > -             drm_debugfs_remove_files(adev->debugfs[i].files,
> > -                                      adev->debugfs[i].num_files,
> >                                        adev->ddev->primary);
> >       }
> >  #endif
> > --
> > 2.10.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20161206/371cb336/attachment-0001.html>


More information about the dri-devel mailing list