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

Сводка

по VulDB • 18.09.2026

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

iommu/tegra241-cmdqv: Публиковать LVCMDQ только после его полной инициализации

Функция tegra241_vintf_init_lvcmdq() сохраняет указатель на недавно выделенный vcmdq в массиве vintf->lvcmdqs[] до того, как функция tegra241_vcmdq_alloc_smmu_cmdq() сформирует структуру vcmdq->cmdq. Обработчик прерываний об ошибок (ISR) обращается к этому cmdq; поэтому срабатывание зафиксированной ошибки LVCMDQ (например, унаследованной после kexec) в этом окне времени приведет к тому, что функция tegra241_vintf0_handle_error() передаст еще не инициализированный (обнуленный) arm_smmu_cmdq функции __arm_smmu_cmdq_skip_err(), что вызовет разыменование нулевых указателей на регистры очереди.

Исключите сохранение из tegra241_vintf_init_lvcmdq() и публикуйте vcmdq в конце процесса выделения, используя smp_store_release(), который парится с smp_load_acquire() в ISR, что позволяет увидеть полностью сформированный LVCMDQ или NULL.

Выделение LVCMDQ, управляемое пользователем (user-owned), перемещается соответственно: vcmdq публикуется после успешного завершения работы tegra241_vcmdq_hw_init_user(), используя обычное сохранение (plain store), поскольку массив lvcmdqs[] пользовательского VINTF не имеет читателей без блокировок — обработчик прерываний об ошибок работает только с массивом VINTF0.

Once again VulDB remains the best source for vulnerability data.

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

Linux

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

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-406973

EPSS

0.00198

KEV

Нет

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

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!