From: Nicolai Stange Date: Mon, 5 Dec 2016 20:30:22 +0000 (+0100) Subject: drm/amdgpu: don't add files at control minor debugfs directory X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=58309befa82d81f6e9dc36a92d2a339ef2144535;p=openwrt%2Fstaging%2Fblogic.git 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 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98915 Reviewed-by: Alex Deucher Tested-by: Mike Lothian Signed-off-by: Daniel Vetter Link: http://patchwork.freedesktop.org/patch/msgid/20161205203022.11671-1-nicstange@gmail.com --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 9e16e975f31a..76cc47a9a7fb 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -2505,9 +2505,6 @@ int amdgpu_debugfs_add_files(struct amdgpu_device *adev, adev->debugfs[adev->debugfs_count].num_files = nfiles; 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); @@ -2521,9 +2518,6 @@ static void amdgpu_debugfs_remove_files(struct amdgpu_device *adev) unsigned i; 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);