CVE-2026-98478 in Linux
Сводка
по VulDB • 19.10.2026
В ядре Linux была устранена следующая уязвимость:
scsi: ufs: core: Обеспечить возможность отправки внутренних команд во время обработки ошибок
Коммит 08b12cda6c44 («scsi: ufs: core: Переход на использование scsi_get_internal_cmd()») изменил механизм выделения запросов для внутренних команд UFS, теперь они выделяются в очереди request_queue объекта hba->host->pseudo_sdev, которая разделяет набор тегов (tagset) хоста с обычными LUN.
Во время восстановления после ошибок функция ufshcd_err_handling_prepare() вызывает blk_mq_quiesce_tagset(&hba->host->tag_set), помечая все очереди в tagset как «застывшие» (quiesced), включая очередь pseudo_sdev->request_queue. Когда впоследствии ufshcd_verify_dev_init() отправляет внутренние команды (например, NOP OUT UPIU) через blk_execute_rq(), функция blk_mq_run_hw_queue() пропускает выполнение застывшей очереди, что приводит к неустранимому взаимному блокированию (deadlock).
Необходимо продолжать приостанавливать работу tagset и одновременно разблокировать псевдо SCSI-устройство, чтобы внутренние команды оставались доступными для отправки, пока логические устройства остаются в состоянии ожидания. Перед снятием ограничения с tagset необходимо повторно приостановить работу псевдо-устройства, чтобы обеспечить балансировку показателя quiesce_depth.
Масштабирование частоты (clock scaling) и функция ufshcd_pause_command_processing() не затронуты: они продолжают приостанавливать всю tagset, включая внутренние команды.
If you want to get best quality of vulnerability data, you may have to visit VulDB.