• Z
    drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes() · 588a7017
    Zhou Qingyang 提交于
    In amdgpu_dm_connector_add_common_modes(), amdgpu_dm_create_common_mode()
    is assigned to mode and is passed to drm_mode_probed_add() directly after
    that. drm_mode_probed_add() passes &mode->head to list_add_tail(), and
    there is a dereference of it in list_add_tail() without recoveries, which
    could lead to NULL pointer dereference on failure of
    amdgpu_dm_create_common_mode().
    
    Fix this by adding a NULL check of mode.
    
    This bug was found by a static analyzer.
    
    Builds with 'make allyesconfig' show no new warnings,
    and our static analyzer no longer warns about this code.
    
    Fixes: e7b07cee ("drm/amd/display: Merge amdgpu_dm_types and amdgpu_dm")
    Signed-off-by: NZhou Qingyang <zhou1615@umn.edu>
    Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
    588a7017
amdgpu_dm.c 337.9 KB