<div dir="ltr">Feel free to add a tested by from myself<div><br></div><div>Thanks for the fix</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 5 Dec 2016 at 20:33 Deucher, Alexander <<a href="mailto:Alexander.Deucher@amd.com">Alexander.Deucher@amd.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> -----Original Message-----<br class="gmail_msg">
> From: Nicolai Stange [mailto:<a href="mailto:nicstange@gmail.com" class="gmail_msg" target="_blank">nicstange@gmail.com</a>]<br class="gmail_msg">
> Sent: Monday, December 05, 2016 3:30 PM<br class="gmail_msg">
> To: Daniel Vetter<br class="gmail_msg">
> Cc: Deucher, Alexander; Koenig, Christian; Michel Dänzer; linux-<br class="gmail_msg">
> <a href="mailto:kernel@vger.kernel.org" class="gmail_msg" target="_blank">kernel@vger.kernel.org</a>; <a href="mailto:dri-devel@lists.freedesktop.org" class="gmail_msg" target="_blank">dri-devel@lists.freedesktop.org</a>; Nicolai Stange<br class="gmail_msg">
> Subject: [PATCH] drm/amdgpu: don't add files at control minor debugfs<br class="gmail_msg">
> directory<br class="gmail_msg">
><br class="gmail_msg">
> Since commit 8a357d10043c ("drm: Nerf DRM_CONTROL nodes"), a<br class="gmail_msg">
> struct drm_device's ->control member is always NULL.<br class="gmail_msg">
><br class="gmail_msg">
> In the case of CONFIG_DEBUG_FS=y, amdgpu_debugfs_add_files() accesses<br class="gmail_msg">
> ->control->debugfs_root though. This results in a NULL pointer<br class="gmail_msg">
> dereference.<br class="gmail_msg">
><br class="gmail_msg">
> Fix this by omitting the drm_debugfs_create_files() call for the<br class="gmail_msg">
> control minor debugfs directory which is now non-existent anyway.<br class="gmail_msg">
><br class="gmail_msg">
> Fixes: 8a357d10043c ("drm: Nerf DRM_CONTROL nodes")<br class="gmail_msg">
> Signed-off-by: Nicolai Stange <<a href="mailto:nicstange@gmail.com" class="gmail_msg" target="_blank">nicstange@gmail.com</a>><br class="gmail_msg">
<br class="gmail_msg">
Please add the bugzilla:<br class="gmail_msg">
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=98915" rel="noreferrer" class="gmail_msg" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=98915</a><br class="gmail_msg">
With that,<br class="gmail_msg">
Reviewed-by: Alex Deucher <<a href="mailto:alexander.deucher@amd.com" class="gmail_msg" target="_blank">alexander.deucher@amd.com</a>><br class="gmail_msg">
<br class="gmail_msg">
> ---<br class="gmail_msg">
> Applicable to next-20161202. Compile-only tested.<br class="gmail_msg">
><br class="gmail_msg">
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ------<br class="gmail_msg">
>  1 file changed, 6 deletions(-)<br class="gmail_msg">
><br class="gmail_msg">
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c<br class="gmail_msg">
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c<br class="gmail_msg">
> index deee2db..0cb3e82 100644<br class="gmail_msg">
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c<br class="gmail_msg">
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c<br class="gmail_msg">
> @@ -2493,9 +2493,6 @@ int amdgpu_debugfs_add_files(struct<br class="gmail_msg">
> amdgpu_device *adev,<br class="gmail_msg">
>       adev->debugfs_count = i;<br class="gmail_msg">
>  #if defined(CONFIG_DEBUG_FS)<br class="gmail_msg">
>       drm_debugfs_create_files(files, nfiles,<br class="gmail_msg">
> -                              adev->ddev->control->debugfs_root,<br class="gmail_msg">
> -                              adev->ddev->control);<br class="gmail_msg">
> -     drm_debugfs_create_files(files, nfiles,<br class="gmail_msg">
>                                adev->ddev->primary->debugfs_root,<br class="gmail_msg">
>                                adev->ddev->primary);<br class="gmail_msg">
>  #endif<br class="gmail_msg">
> @@ -2510,9 +2507,6 @@ static void amdgpu_debugfs_remove_files(struct<br class="gmail_msg">
> amdgpu_device *adev)<br class="gmail_msg">
>       for (i = 0; i < adev->debugfs_count; i++) {<br class="gmail_msg">
>               drm_debugfs_remove_files(adev->debugfs[i].files,<br class="gmail_msg">
>                                        adev->debugfs[i].num_files,<br class="gmail_msg">
> -                                      adev->ddev->control);<br class="gmail_msg">
> -             drm_debugfs_remove_files(adev->debugfs[i].files,<br class="gmail_msg">
> -                                      adev->debugfs[i].num_files,<br class="gmail_msg">
>                                        adev->ddev->primary);<br class="gmail_msg">
>       }<br class="gmail_msg">
>  #endif<br class="gmail_msg">
> --<br class="gmail_msg">
> 2.10.2<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
dri-devel mailing list<br class="gmail_msg">
<a href="mailto:dri-devel@lists.freedesktop.org" class="gmail_msg" target="_blank">dri-devel@lists.freedesktop.org</a><br class="gmail_msg">
<a href="https://lists.freedesktop.org/mailman/listinfo/dri-devel" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br class="gmail_msg">
</blockquote></div>