CVE-2026-98313 in LinuxИнформация

Сводка

по VulDB • 06.10.2026

В ядре Linux была устранена следующая уязвимость:

drm/msm/dp: пропускать PUSH_IDLE, если канал (link) никогда не был включен.

Функция msm_dp_display_atomic_enable() завершает работу досрочно при сбое тренировки канала (link training), оставляя флаг ->power_on равным false и основной канал выключенным. Тем не менее, функция msm_dp_display_atomic_disable() всё равно записывает значение DP_STATE_CTRL_PUSH_IDLE и ожидает завершения паттерна простоя (idle-pattern completion), который никогда не поступит; поэтому каждый неудачный вызов enable сопровождается сообщением "PUSH_IDLE pattern timedout".

Все остальные шаги процесса отключения уже зависят от этого флага: функция msm_dp_display_disable(), вызываемая из .atomic_post_disable(), завершает работу досрочно при !power_on. Запись PUSH_IDLE является единственной, которая не зависит от этого условия; в результате ссылка runtime-PM контроллера снимается без предварительного выключения канала.

На устройстве glymur (Snapdragon X2 Elite) последствиями являются не просто предупреждения: SoC не справляется с этим — TrustZone принудительно останавливает удаленные процессоры SOCCP и ADSP, а система перезагружается молча примерно через 50 мс, без вывода oops или panic. На ноутбуке ASUS Zenbook A16 (UX3607OA), у которого eDP-панель в настоящее время не проходит тренировку канала, эта ошибка воспроизводится без участия композитора или GPU:

# Включение eDP уже завершилось ошибкой "Failed link training (rc=-104)" echo 1 > /sys/class/graphics/fb0/blank

[535.645455] === marker ===
[535.694833] qcom_q6v5_pas d00000.remoteproc: fatal error received: \
sys_m_smsm.c:512:TZ force stop [535.694875] remoteproc remoteproc0: crash detected in soccp: type fatal error
[535.728857] qcom_q6v5_pas 6800000.remoteproc: fatal error received: \
sys_m_smsm.c:783:err fatal notification received from TZ <SoC reset>

Необходимо привязать запись PUSH_IDLE к флагу ->power_on, чтобы путь отключения (disable path) был согласован с остальной частью процесса teardown. При применении этого исправления та же последовательность действий становится безопасной и система остается в рабочем состоянии; без него она перезагружается каждый раз.

Безусловная запись датируется исходным драйвером DP (c943b4948b58 ("drm/msm/dp: add displayPort driver support")), но окружающий код был несколько раз переструктурирован, поэтому тег Fixes не предлагается.

Обратите внимание, что сбой тренировки канала eDP, который проявляется на устройстве A16, является отдельной проблемой в PHY-интерфейсе eDP glymur и сообщается отдельно; данное изменение касается лишь предотвращения повреждения системы при сбоях тренировки по любой причине.

Тестирование проводилось на ASUS Zenbook A16 (UX3607OA), Snapdragon X2 Extreme, на ветках linux-next next-20260803 и next-20260807. Система с тех пор работает под управлением next-20260807 с данным патчем в качестве основного драйвера (daily driver).

Patchwork: https://patchwork.freedesktop.org/patch/745167/

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

Linux

Резервировать

25.09.2026

Раскрытие

06.10.2026

Модерация

принято

Вход

VDB-414059

EPSS

0.00173

KEV

Нет

Деятельности

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!