{"id":"CVE-2026-80704","state":"PUBLISHED","title":"drm/amd/display: use proper context for logging","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: use proper context for logging\n\nThe same as the rest of the code, get_ss_info_from_atombios() uses\ncalc_pll_cs->ctx->logger for logging. But calc_pll_cs->ctx is\ninitialized only later in calc_pll_max_vco_construct(). Therefore, any\noutput using DC_LOG_SYNC() leads to a NULL pointer deference in\nget_ss_info_from_atombios().\n\nAccording to Sashiko, the very same problem exists in\ndce112_get_pix_clk_dividers() and dcn3_get_pix_clk_dividers() too.\n\nTo avoid accessing the NULL context, use clk_src->base.ctx->logger\neverywhere. That context in base is initialized earlier in\ndce110_clk_src_construct() and dce112_clk_src_construct(). Before\nget_ss_info_from_atombios() or Sashiko's get_pix_clk_dividers functions\nabove are actually called. This is done by redefining DC_LOGGER to\nCTX->logger.\n\nBefore:\ndce110_clk_src_construct() did:\n -> sets clk_src->base.ctx = ctx;\n -> ss_info_from_atombios_create()\n   -> get_ss_info_from_atombios()   <- uses calc_pll_cs->ctx  # BOOM\n -> calc_pll_max_vco_construct()    <- sets calc_pll_cs->ctx\n\nAfter:\ndce110_clk_src_construct() does:\n -> sets clk_src->base.ctx = ctx;\n -> ss_info_from_atombios_create()\n   -> get_ss_info_from_atombios()   <- uses clk_src->base.ctx\n\n(cherry picked from commit 6f16fcbb0c46a87e3d9685407e906573d60104b0)","publishedAt":"2026-08-28T06:53:06.442Z","updatedAt":"2026-10-21T12:46:58.375Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"07b52a41765722ec971e0cd9739b140bf4933998","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"a94e62b7c7018fcfe0251e53fa96af30f12d923a","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"02647d98340738f918690ed227fdcf154db1b84a","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"f556bc844cc4423e5ad41ae41a4c24f1cf75b978","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"114b42507b6a23d9d24e24e4ef165233332c64d4","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.17","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.103","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.44","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.8","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c"]}],"references":["https://git.kernel.org/stable/c/07b52a41765722ec971e0cd9739b140bf4933998","https://git.kernel.org/stable/c/a94e62b7c7018fcfe0251e53fa96af30f12d923a","https://git.kernel.org/stable/c/02647d98340738f918690ed227fdcf154db1b84a","https://git.kernel.org/stable/c/f556bc844cc4423e5ad41ae41a4c24f1cf75b978","https://git.kernel.org/stable/c/114b42507b6a23d9d24e24e4ef165233332c64d4"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80704.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80704","state":"PUBLISHED","datePublished":"2026-08-28T06:53:06.442Z","dateUpdated":"2026-10-21T12:46:58.375Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-26T14:34:25.786Z"},"containers":{"cna":{"title":"drm/amd/display: use proper context for logging","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amd/display: use proper context for logging\n\nThe same as the rest of the code, get_ss_info_from_atombios() uses\ncalc_pll_cs->ctx->logger for logging. But calc_pll_cs->ctx is\ninitialized only later in calc_pll_max_vco_construct(). Therefore, any\noutput using DC_LOG_SYNC() leads to a NULL pointer deference in\nget_ss_info_from_atombios().\n\nAccording to Sashiko, the very same problem exists in\ndce112_get_pix_clk_dividers() and dcn3_get_pix_clk_dividers() too.\n\nTo avoid accessing the NULL context, use clk_src->base.ctx->logger\neverywhere. That context in base is initialized earlier in\ndce110_clk_src_construct() and dce112_clk_src_construct(). Before\nget_ss_info_from_atombios() or Sashiko's get_pix_clk_dividers functions\nabove are actually called. This is done by redefining DC_LOGGER to\nCTX->logger.\n\nBefore:\ndce110_clk_src_construct() did:\n -> sets clk_src->base.ctx = ctx;\n -> ss_info_from_atombios_create()\n   -> get_ss_info_from_atombios()   <- uses calc_pll_cs->ctx  # BOOM\n -> calc_pll_max_vco_construct()    <- sets calc_pll_cs->ctx\n\nAfter:\ndce110_clk_src_construct() does:\n -> sets clk_src->base.ctx = ctx;\n -> ss_info_from_atombios_create()\n   -> get_ss_info_from_atombios()   <- uses clk_src->base.ctx\n\n(cherry picked from commit 6f16fcbb0c46a87e3d9685407e906573d60104b0)"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"07b52a41765722ec971e0cd9739b140bf4933998","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"a94e62b7c7018fcfe0251e53fa96af30f12d923a","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"02647d98340738f918690ed227fdcf154db1b84a","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"f556bc844cc4423e5ad41ae41a4c24f1cf75b978","versionType":"git"},{"version":"1296423bf23c7a58133970e223b1f47ec6570308","status":"affected","lessThan":"114b42507b6a23d9d24e24e4ef165233332c64d4","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.17","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.103","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.44","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.8","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/07b52a41765722ec971e0cd9739b140bf4933998"},{"url":"https://git.kernel.org/stable/c/a94e62b7c7018fcfe0251e53fa96af30f12d923a"},{"url":"https://git.kernel.org/stable/c/02647d98340738f918690ed227fdcf154db1b84a"},{"url":"https://git.kernel.org/stable/c/f556bc844cc4423e5ad41ae41a4c24f1cf75b978"},{"url":"https://git.kernel.org/stable/c/114b42507b6a23d9d24e24e4ef165233332c64d4"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-21T12:46:58.375Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.12.103"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.18.44"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"7.1.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}