]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/radeon: fix null pointer dereference in radeon_add_common_modes
authorMa Ke <make24@iscas.ac.cn>
Thu, 18 Jul 2024 13:13:29 +0000 (21:13 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Jul 2024 21:32:27 +0000 (17:32 -0400)
In radeon_add_common_modes(), the return value of drm_cvt_mode() is
assigned to mode, which will lead to a possible NULL pointer dereference
on failure of drm_cvt_mode(). Add a check to avoid npd.

Cc: stable@vger.kernel.org
Fixes: d50ba256b5f1 ("drm/kms: start adding command line interface using fb.")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_connectors.c

index 69693ba5949e7cc3cc3060d032ca6f0faee66162..880edabfc9e3d00964f658af6b98860f430f45c9 100644 (file)
@@ -505,6 +505,9 @@ static void radeon_add_common_modes(struct drm_encoder *encoder, struct drm_conn
                        continue;
 
                mode = drm_cvt_mode(dev, common_modes[i].w, common_modes[i].h, 60, false, false, false);
+               if (!mode)
+                       continue;
+
                drm_mode_probed_add(connector, mode);
        }
 }