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

Сводка

по VulDB • 28.08.2026

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

iommufd: Получение блокировки dma_resv перед вызовом dma_buf_unpin() в пути освобождения (release path)

Функция dma_buf_unpin() требует, чтобы вызывающая сторона владела блокировкой dma_resv экспортера:

void dma_buf_unpin(struct dma_buf_attachment *attach) {
... dma_resv_assert_held(dmabuf->resv); ... }

Функция iopt_release_pages() вызывает dma_buf_unpin() без захвата этой блокировки, поэтому каждый вызов iommufd_ioas_destroy()/iommufd_ioas_unmap(), который освобождает последнюю ссылку на iopt-страницы, поддерживаемые DMABUF, приводит к срабатыванию предупреждения (WARN). Эта проблема была обнаружена при запуске тестов tools/testing/selftests/iommu/iommufd:

WARNING: drivers/dma-buf/dma-buf.c:1137 at dma_buf_unpin+0x62/0x70 RIP: 0010:dma_buf_unpin+0x62/0x70 Call Trace: <TASK> dma_buf_unpin+0x62/0x70 iopt_release_pages+0xe4/0x190 iopt_unmap_iova_range+0x1c7/0x290 iopt_unmap_all+0x1a/0x30 iommufd_ioas_destroy+0x1d/0x50 iommufd_fops_release+0x93/0x150 __fput+0xfc/0x2c0 __x64_sys_close+0x3d/0x80 do_syscall_64+0x65/0x180 </TASK>

Необходимо захватывать блокировку dma_resv вокруг вызова dma_buf_unpin() в функции iopt_release_pages(), соблюдая соглашение, принятое для iopt_map_dmabuf(). Функция dma_buf_detach() внутренне получает блокировку резервирования (reservation lock), поэтому она должна оставаться вне заблокированной области.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

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

Linux

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

26.08.2026

Раскрытие

28.08.2026

Модерация

принято

Вход

VDB-396573

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you need the next level of professionalism?

Upgrade your account now!