diff options
| author | Zhou Qingyang <[email protected]> | 2022-01-24 16:57:29 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2022-01-25 23:00:36 +0000 |
| commit | 588a70177df3b1777484267584ef38ab2ca899a2 (patch) | |
| tree | 0a4aac1cb221b84521c8608a1a98f36bec010ebe /drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | |
| parent | drm/amd/display/dc/calcs/dce_calcs: Fix a memleak in calculate_bandwidth() (diff) | |
| download | kernel-588a70177df3b1777484267584ef38ab2ca899a2.tar.gz kernel-588a70177df3b1777484267584ef38ab2ca899a2.zip | |
drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
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: e7b07ceef2a6 ("drm/amd/display: Merge amdgpu_dm_types and amdgpu_dm")
Signed-off-by: Zhou Qingyang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h')
0 files changed, 0 insertions, 0 deletions
