CVE-2024-46850

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
27/09/2024
Last modified:
04/10/2024

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()<br /> <br /> dc_state_destruct() nulls the resource context of the DC state. The pipe<br /> context passed to dcn35_set_drr() is a member of this resource context.<br /> <br /> If dc_state_destruct() is called parallel to the IRQ processing (which<br /> calls dcn35_set_drr() at some point), we can end up using already nulled<br /> function callback fields of struct stream_resource.<br /> <br /> The logic in dcn35_set_drr() already tries to avoid this, by checking tg<br /> against NULL. But if the nulling happens exactly after the NULL check and<br /> before the next access, then we get a race.<br /> <br /> Avoid this by copying tg first to a local variable, and then use this<br /> variable for all the operations. This should work, as long as nobody<br /> frees the resource pool where the timing generators live.<br /> <br /> (cherry picked from commit 0607a50c004798a96e62c089a4c34c220179dcb5)

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.10.11 (excluding)
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:*