CVE-2026-80704

Summary

In the Linux kernel, the following vulnerability has been resolved:

drm/amd/display: use proper context for logging

The same as the rest of the code, get_ss_info_from_atombios() uses calc_pll_cs->ctx->logger for logging. But calc_pll_cs->ctx is initialized only later in calc_pll_max_vco_construct(). Therefore, any output using DC_LOG_SYNC() leads to a NULL pointer deference in get_ss_info_from_atombios().

According to Sashiko, the very same problem exists in dce112_get_pix_clk_dividers() and dcn3_get_pix_clk_dividers() too.

To avoid accessing the NULL context, use clk_src->base.ctx->logger everywhere. That context in base is initialized earlier in dce110_clk_src_construct() and dce112_clk_src_construct(). Before get_ss_info_from_atombios() or Sashiko's get_pix_clk_dividers functions above are actually called. This is done by redefining DC_LOGGER to CTX->logger.

Before: dce110_clk_src_construct() did: -> sets clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- uses calc_pll_cs->ctx # BOOM -> calc_pll_max_vco_construct() <- sets calc_pll_cs->ctx

After: dce110_clk_src_construct() does: -> sets clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- uses clk_src->base.ctx

(cherry picked from commit 6f16fcbb0c46a87e3d9685407e906573d60104b0)

Affected Software

VendorProductVersion RangeStatus
LinuxLinux1296423bf23c7a58133970e223b1f47ec6570308 < a94e62b7c7018fcfe0251e53fa96af30f12d923aaffected
LinuxLinux1296423bf23c7a58133970e223b1f47ec6570308 < 02647d98340738f918690ed227fdcf154db1b84aaffected
LinuxLinux1296423bf23c7a58133970e223b1f47ec6570308 < f556bc844cc4423e5ad41ae41a4c24f1cf75b978affected
LinuxLinux1296423bf23c7a58133970e223b1f47ec6570308 < 114b42507b6a23d9d24e24e4ef165233332c64d4affected
LinuxLinux4.17affected
LinuxLinux0 < 4.17unaffected
LinuxLinux6.12.103 <= 6.12.*unaffected
LinuxLinux6.18.44 <= 6.18.*unaffected
LinuxLinux7.1.8 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References