Ad

CVE-2026-74392

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

В ядре Linux устранена следующая уязвимость: dm: ограничить целевой биоопрос одним выстрелом dm_poll_bio() — это обратный вызов ->poll_bio() для составного устройства dm. Вызывающая сторона знает только об очереди dm, поэтому она может решить выполнить вращающийся опрос, если он считает, что опрашивается одна очередь. Проходя эти флаги, не измененные для сопоставленного клона, позволяют blk_mq_poll() вращаться по цели очередь изнутри dm_poll_bio().

С помощью io_uring IOPOLL на цели dm-stripe это может сохранить задачу в dm_poll_bio() -> bio_poll() -> blk_mq_poll() достаточно долго, чтобы вызвать остановку процессора RCU, прежде чем io_uring вернется в режим io_iopoll_check() и его проверка Need_resched(). Ограничьте dm's ->poll_bio(), заставив однократный опрос цели биос. Вызывающий может снова вызвать dm_poll_bio(), если хочет сохранить опрос, а также получает возможность дождаться завершения или перенести между проходами.

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

In the Linux kernel, the following vulnerability has been resolved: dm: limit target bio polling to one shot dm_poll_bio() is the ->poll_bio() callback for a stacked dm device. The caller only knows about the dm queue, so it may decide to do a spinning poll if it thinks a single queue is being polled. Passing those flags unchanged to the mapped clone lets blk_mq_poll() spin on a target queue from inside dm_poll_bio(). With io_uring IOPOLL on a dm-stripe target this can keep a task in dm_poll_bio() -> bio_poll() -> blk_mq_poll() long enough to trigger an RCU CPU stall, before io_uring gets back to io_iopoll_check() and its need_resched() check. Keep dm's ->poll_bio() bounded by forcing one-shot polling for target bios. The caller can invoke dm_poll_bio() again if it wants to keep polling, and it also gets a chance to reap completions or reschedule between passes.