]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Avoid a NULL pointer dereference
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 24 Jul 2025 20:00:43 +0000 (15:00 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 18 Aug 2025 20:57:56 +0000 (16:57 -0400)
[WHY]
Although unlikely drm_atomic_get_new_connector_state() or
drm_atomic_get_old_connector_state() can return NULL.

[HOW]
Check returns before dereference.

Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 176f420effd9f78d573418024778c5e52c4304ce..b944abea306d87be15593a8396e4dcd6bef7a6b1 100644 (file)
@@ -7836,6 +7836,9 @@ amdgpu_dm_connector_atomic_check(struct drm_connector *conn,
        struct amdgpu_dm_connector *aconn = to_amdgpu_dm_connector(conn);
        int ret;
 
+       if (WARN_ON(unlikely(!old_con_state || !new_con_state)))
+               return -EINVAL;
+
        trace_amdgpu_dm_connector_atomic_check(new_con_state);
 
        if (conn->connector_type == DRM_MODE_CONNECTOR_DisplayPort) {