Ad

CVE-2026-80704

NONE EPSS 0.16%
Обновлено 28 августа 2026
AMD
Параметр Значение
Поставщик AMD
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: drm/amd/display: используйте правильный контекст для регистрации Как и остальной код, get_ss_info_from_atombios() использует Calc_pll_cs->ctx->logger для ведения журнала. Но Calc_pll_cs->ctx инициализируется только позже вcalc_pll_max_vco_construct(). Следовательно, любой вывод с использованием DC_LOG_SYNC() приводит к уважению нулевого указателя в get_ss_info_from_atombios().

По словам Сашико, та же проблема существует и в dce112_get_pix_clk_dividers() и dcn3_get_pix_clk_dividers() тоже. Чтобы избежать доступа к NULL-контексту, используйте clk_src->base.ctx->logger. везде. Этот контекст в базе инициализируется ранее в dce110_clk_src_construct() и dce112_clk_src_construct().

До get_ss_info_from_atombios() или функции get_pix_clk_dividers Сашико выше на самом деле называются. Это делается путем переопределения DC_LOGGER на CTX->регистратор. До: dce110_clk_src_construct() сделал: -> устанавливает clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- использует Calc_pll_cs->ctx # BOOM -> Calc_pll_max_vco_construct() <- устанавливает Calc_pll_cs->ctx После: dce110_clk_src_construct() выполняет: -> устанавливает clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- использует clk_src->base.ctx (вишня выбрана из коммита 6f16fcbb0c46a87e3d9685407e906573d60104b0)

Показать оригинальное описание (EN)

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)