From 05f5f1d49ef78b5b06c183f6a94a0f17b980a24d Mon Sep 17 00:00:00 2001 From: winstang Date: Mon, 28 Oct 2024 21:29:49 +0800 Subject: [PATCH 1/2] drm/amd/display: added NULL check at start of dc_validate_stream mainline inclusion from mainline-v6.11-rc1 commit 26c56049cc4f1705b498df013949427692a4b0d5 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAU9N4 CVE: CVE-2024-46802 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=26c56049cc4f1705b498df013949427692a4b0d5 -------------------------------- [Why] prevent invalid memory access [How] check if dc and stream are NULL Co-authored-by: winstang Reviewed-by: Alvin Lee Acked-by: Zaeem Mohamed Signed-off-by: winstang Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher Signed-off-by: Yu Liao --- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c index 0a13c06eea44..6a993cdb101e 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c @@ -2914,6 +2914,9 @@ void resource_build_bit_depth_reduction_params(struct dc_stream_state *stream, enum dc_status dc_validate_stream(struct dc *dc, struct dc_stream_state *stream) { + if (dc == NULL || stream == NULL) + return DC_ERROR_UNEXPECTED; + struct dc_link *link = stream->link; struct timing_generator *tg = dc->res_pool->timing_generators[0]; enum dc_status res = DC_OK; -- Gitee From 3d1097701ce0f7dfa0b84e5385fd2201cdc4f883 Mon Sep 17 00:00:00 2001 From: Yu Liao Date: Mon, 28 Oct 2024 21:29:50 +0800 Subject: [PATCH 2/2] drm/amd/display: fix mixed declarations warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit hulk inclusion category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAU9N4 CVE: CVE-2024-46802 -------------------------------- The previous commit introduce a compile warning: drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c: In function ‘dc_validate_stream’: drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:2920:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] struct dc_link *link = stream->link; ^~~~~~ Fix this by moving those declarations before code. Fixes: d61f7961de27 ("drm/amd/display: added NULL check at start of dc_validate_stream") Signed-off-by: Yu Liao --- drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c index 6a993cdb101e..233edabc97d4 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c @@ -2914,12 +2914,15 @@ void resource_build_bit_depth_reduction_params(struct dc_stream_state *stream, enum dc_status dc_validate_stream(struct dc *dc, struct dc_stream_state *stream) { + struct dc_link *link; + struct timing_generator *tg; + enum dc_status res = DC_OK; + if (dc == NULL || stream == NULL) return DC_ERROR_UNEXPECTED; - struct dc_link *link = stream->link; - struct timing_generator *tg = dc->res_pool->timing_generators[0]; - enum dc_status res = DC_OK; + link = stream->link; + tg = dc->res_pool->timing_generators[0]; calculate_phy_pix_clks(stream); -- Gitee