In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: use proper...
🔗 CVE IDs covered (1)
📋 Description
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)
🔗 References (6)
- https://nvd.nist.gov/vuln/detail/CVE-2026-80704
- https://git.kernel.org/stable/c/02647d98340738f918690ed227fdcf154db1b84a
- https://git.kernel.org/stable/c/114b42507b6a23d9d24e24e4ef165233332c64d4
- https://git.kernel.org/stable/c/a94e62b7c7018fcfe0251e53fa96af30f12d923a
- https://git.kernel.org/stable/c/f556bc844cc4423e5ad41ae41a4c24f1cf75b978
- https://github.com/advisories/GHSA-pqhq-6v8m-mfrc