[PATCH 6.6.y] drm/amd/display: Check link_index before accessing dc->links[]

jianqi.ren.cn at windriver.com jianqi.ren.cn at windriver.com
Tue Apr 8 00:36:47 UTC 2025


From: Alex Hung <alex.hung at amd.com>

[ Upstream commit 8aa2864044b9d13e95fe224f32e808afbf79ecdf ]

[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 at amd.com>
Acked-by: Tom Chung <chiahsuan.chung at amd.com>
Signed-off-by: Alex Hung <alex.hung at amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
[The macro MAX_LINKS is introduced by Commit 60df5628144b ("drm/amd/display:
 handle invalid connector indices") after 6.10. So here we still use the
 original array length MAX_PIPES * 2]
Signed-off-by: Jianqi Ren <jianqi.ren.cn at windriver.com>
Signed-off-by: He Zhe <zhe.he at windriver.com>
---
Verified the build test
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_exports.c | 3 +++
 1 file changed, 3 insertions(+)

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 f365773d5714..e9b3c1c7a931 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_PIPES * 2))
+		return NULL;
+
 	return dc->links[link_index];
 }
 
-- 
2.34.1



More information about the dri-devel mailing list