drm/amd/pm: fix null ptr access
authorFlora Cui <flora.cui@amd.com>
Thu, 13 Jan 2022 06:55:24 +0000 (14:55 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jan 2022 22:52:47 +0000 (17:52 -0500)
check null ptr first before access its element

v2: check adev->pm.dpm_enabled early in amdgpu_debugfs_pm_init()

Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/amdgpu_dpm.c
drivers/gpu/drm/amd/pm/amdgpu_pm.c

index f0daa66..5fc3389 100644 (file)
@@ -463,7 +463,7 @@ int amdgpu_pm_load_smu_firmware(struct amdgpu_device *adev, uint32_t *smu_versio
        const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
        int r = 0;
 
-       if (!pp_funcs->load_firmware)
+       if (!pp_funcs || !pp_funcs->load_firmware)
                return 0;
 
        mutex_lock(&adev->pm.mutex);
index 1b03ad7..49a9c63 100644 (file)
@@ -3583,6 +3583,9 @@ void amdgpu_debugfs_pm_init(struct amdgpu_device *adev)
        struct drm_minor *minor = adev_to_drm(adev)->primary;
        struct dentry *root = minor->debugfs_root;
 
+       if (!adev->pm.dpm_enabled)
+               return;
+
        debugfs_create_file("amdgpu_pm_info", 0444, root, adev,
                            &amdgpu_debugfs_pm_info_fops);