]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/amd/display: Fix the uninitialized variable in enable_stream_features()
authorYizhuo Zhai <yzhai003@ucr.edu>
Sat, 18 Dec 2021 04:22:23 +0000 (20:22 -0800)
committerPaolo Pisati <paolo.pisati@canonical.com>
Fri, 28 Jan 2022 10:03:09 +0000 (11:03 +0100)
BugLink: https://bugs.launchpad.net/bugs/1959376
commit 0726ed3065eeb910f9cea0c933bc021a848e00b3 upstream.

In function enable_stream_features(), the variable "old_downspread.raw"
could be uninitialized if core_link_read_dpcd() fails, however, it is
used in the later if statement, and further, core_link_write_dpcd()
may write random value, which is potentially unsafe.

Fixes: 6016cd9dba0f ("drm/amd/display: add helper for enabling mst stream features")
Cc: stable@vger.kernel.org
Signed-off-by: Yizhuo Zhai <yzhai003@ucr.edu>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/gpu/drm/amd/display/dc/core/dc_link.c

index 1e4740a023708b8c65cd495f11215cd6925a31b8..6be53e4b644205a2dd0aac8e6954e142c26f20f4 100644 (file)
@@ -1767,6 +1767,8 @@ static void enable_stream_features(struct pipe_ctx *pipe_ctx)
                union down_spread_ctrl old_downspread;
                union down_spread_ctrl new_downspread;
 
+               memset(&old_downspread, 0, sizeof(old_downspread));
+
                core_link_read_dpcd(link, DP_DOWNSPREAD_CTRL,
                                &old_downspread.raw, sizeof(old_downspread));