From e53b9b24d0b87b3b479b42d52ae9b7dd0f8186eb Mon Sep 17 00:00:00 2001 From: Alex Hung Date: Thu, 28 Nov 2024 02:03:03 +0000 Subject: [PATCH] drm/amd/display: Check link_index before accessing dc->links[] mainline inclusion from mainline-v6.11 commit 8aa2864044b9d13e95fe224f32e808afbf79ecdf category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAU9QT CVE: CVE-2024-46813 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=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 Acked-by: Tom Chung Signed-off-by: Alex Hung Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Conflicts: amd/display/dc/core/dc_link_exports.c [MAX_LINKS not defined, use MAX_PIPES * 2 + 2.] Signed-off-by: Zicheng Qu --- 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..dcc8240f251f 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 + 2) + return NULL; + return dc->links[link_index]; } -- Gitee