]> git.apps.os.sepia.ceph.com Git - ceph-client.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 21:56:25 +0000 (17:56 -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>
(cherry picked from commit 1e5e8d672fec9f2ab352be121be971877bff2af9)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index cd0e2976e268da41f576624c50ef0c76ede67414..a0ca3b2c6bd8789fe3233e6a9dd60678f8d76e81 100644 (file)
@@ -7792,6 +7792,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) {