summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Hung <alex.hung@amd.com>2024-04-17 01:30:17 +0300
committerAlex Deucher <alexander.deucher@amd.com>2024-05-02 23:18:17 +0300
commit8aa2864044b9d13e95fe224f32e808afbf79ecdf (patch)
tree5a68f43d5b71a1dc3d76a12de8a336471cc91ad2
parent52cbcf980509e6190740dd1e2a1a437e8fb8101b (diff)
downloadlinux-8aa2864044b9d13e95fe224f32e808afbf79ecdf.tar.xz
drm/amd/display: Check link_index before accessing dc->links[]
[WHY & HOW] dc->links[] has max size of MAX_LINKS and NULL is return when trying to access with out-of-bound index. This fixes 3 OVERRUN and 1 RESOURCE_LEAK issues reported by Coverity. Reviewed-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Alex Hung <alex.hung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
index c6c35037bdb8..dfdfe22d9e85 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c
@@ -37,6 +37,9 @@
#include "dce/dce_i2c.h"
struct dc_link *dc_get_link_at_index(struct dc *dc, uint32_t link_index)
{
+ if (link_index >= MAX_LINKS)
+ return NULL;
+
return dc->links[link_index];
}