summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMa Ke <make_ruc2021@163.com>2023-10-13 04:53:43 +0300
committerAlex Deucher <alexander.deucher@amd.com>2023-10-13 18:36:25 +0300
commitcd90511557fdfb394bb4ac4c3b539b007383914c (patch)
tree9bbf8323890e567d0bdab2a3d5472e2de789386d
parent49c775b783cb7de88461ca6c1385bd8c3e8b9b92 (diff)
downloadlinux-cd90511557fdfb394bb4ac4c3b539b007383914c.tar.xz
drm/amdgpu/vkms: fix a possible null pointer dereference
In amdgpu_vkms_conn_get_modes(), the return value of drm_cvt_mode() is assigned to mode, which will lead to a NULL pointer dereference on failure of drm_cvt_mode(). Add a check to avoid null pointer dereference. Signed-off-by: Ma Ke <make_ruc2021@163.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
index 7148a216ae2f..db6fc0cb18eb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c
@@ -239,6 +239,8 @@ static int amdgpu_vkms_conn_get_modes(struct drm_connector *connector)
for (i = 0; i < ARRAY_SIZE(common_modes); i++) {
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);
}