答复: [PATCH v5.10] drm/amd/display: Wake DMCUB before executing GPINT commands

From: wangzhu
Date: Wed Apr 17 2024 - 23:20:00 EST


Hi Greg, thanks for your reply. Since there is no patch to fix CVE-2023-52624 in linux-5.10, there is a patch in the linux-6.7 branch to fix it, its commit is 2ef98c6d753a744e333b7e34b9cf687040fba57d ("drm/amd/display: Wake DMCUB before executing GPINT commands"). When we apply this patch to linux-5.10, there are lots of conflicts, and we found there are lots of dependent patches, we do not apply all these patches since some are not meant to fix the cve, so we just get part of them, and for each patch we just get the part which is helpful to fix.


-----邮件原件-----
发件人: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
发送时间: 2024年4月16日 12:49
收件人: wangzhu <wangzhu9@xxxxxxxxxx>
抄送: harry.wentland@xxxxxxx; sunpeng.li@xxxxxxx; alexander.deucher@xxxxxxx; christian.koenig@xxxxxxx; airlied@xxxxxxxx; daniel@xxxxxxxx; sanglipeng1@xxxxxx; sashal@xxxxxxxxxx; wayne.lin@xxxxxxx; joshua@xxxxxxxxx; hongao@xxxxxxxxxxxxx; cssk@xxxxxxxx; nicholas.kazlauskas@xxxxxxx; chiahsuan.chung@xxxxxxx; mwen@xxxxxxxxxx; roman.li@xxxxxxx; aurabindo.pillai@xxxxxxx; hansen.dsouza@xxxxxxx; Rodrigo.Siqueira@xxxxxxx; Konstantin Meskhidze (A) <konstantin.meskhidze@xxxxxxxxxx>; aric.cyr@xxxxxxx; zhangjialin (F) <zhangjialin11@xxxxxxxxxx>; jaehyun.chung@xxxxxxx; mario.limonciello@xxxxxxx; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
主题: Re: [PATCH v5.10] drm/amd/display: Wake DMCUB before executing GPINT commands

On Tue, Apr 16, 2024 at 02:43:47AM +0000, Zhu Wang wrote:
> From: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx>
>
> stable inclusion
> from stable-v6.7.3
> commit 2ef98c6d753a7 ("drm/amd/display: Wake DMCUB before executing GPINT commands")
> category: bugfix
> bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9BV4C
> CVE: CVE-2023-52624
>
> Reference:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com
> mit/?id=2ef98c6d753a744e333b7e34b9cf687040fba57d
>
> --------------------------------
>
> [ Upstream commit e5ffd1263dd5b ("drm/amd/display: Wake DMCUB before
> executing GPINT commands") ]
>
> [Why]
> DMCUB can be in idle when we attempt to interface with the HW through
> the GPINT mailbox resulting in a system hang.
>
> [How]
> Add dc_wake_and_execute_gpint() to wrap the wake, execute, sleep
> sequence.
>
> If the GPINT executes successfully then DMCUB will be put back into
> sleep after the optional response is returned.
>
> It functions similar to the inbox command interface.
>
> Cc: Mario Limonciello <mario.limonciello@xxxxxxx>
> Cc: Alex Deucher <alexander.deucher@xxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Reviewed-by: Hansen Dsouza <hansen.dsouza@xxxxxxx>
> Acked-by: Wayne Lin <wayne.lin@xxxxxxx>
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx>
> Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx>
> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
>
> This patch comes from following commits:
>
> 115c7e7f0501 ("drm/amd/display: Add psr get_state call")
> 1d496907f1c5 ("drm/amd/display: Engage PSR synchronously")
> 34ba432c946d ("drm/amd/display: [FW Promotion] Release 0.0.44")
> 672251b223c1 ("drm/amd/display: [FW Promotion] Release 0.0.40")
> 04f3c88f0955 ("drm/amd/display: Retry getting PSR state if command
> times out") b30eda8d416c ("drm/amd/display: Add ETW log to
> dmub_psr_get_state") f59a66c1915e ("drm/amd/display: use do-while-0
> for DC_TRACE_LEVEL_MESSAGE()") e97cc04fe0fb ("drm/amd/display:
> refactor dmub commands into single function")
> 522b9a5d5852 ("drm/amd/display: drain dmub inbox if queue is full")
> 9dce8c2a5f1b ("drm/amd/display: [FW Promotion] Release 0.0.161.0")
> 276641775848 ("drm/amd/display: [FW Promotion] Release 0.0.162.0")
> 8774029f76b9 ("drm/amd/display: Add DCN35 CLK_MGR") 65138eb72e1f
> ("drm/amd/display: Add DCN35 DMUB") dc01c4b79bfe ("drm/amd/display:
> Update driver and IPS interop")
> 5b7954272ae9 ("drm/amd/display: [FW Promotion] Release 0.0.183.0")
> da2d16fcdda3 ("drm/amd/display: Fix IPS handshake for idle
> optimizations")
> 5e8a0d3598b4 ("drm/amd/display: Negate IPS allow and commit bits")
> 820c3870c491 ("drm/amd/display: Refactor DMCUB enter/exit idle
> interface") 2ef98c6d753a ("drm/amd/display: Wake DMCUB before
> executing GPINT commands")
>
> Signed-off-by: Zhu Wang <wangzhu9@xxxxxxxxxx>

I'm confused, what are we supposed to do with this?

greg k-h