CVE-2023-52836 in Linux
Сводка
по VulDB • 21.05.2026
В ядре Linux устранена следующая уязвимость:
locking/ww_mutex/test: исправлена потенциальная повреждение рабочей очереди (workqueue)
В некоторых случаях при запуске кода test-ww_mutex наблюдалось странное поведение, при котором flush_workqueue иногда возвращался до завершения всех рабочих потоков.
Часто это приводило к странным сбоям, поскольку мьютексы освобождались в то время, когда они всё ещё использовались.
При анализе кода была обнаружена проблема времени жизни: управляющий поток, который запускает рабочие задачи, выделяет структуры «struct stress», передаваемые потокам рабочей очереди. Затем, когда потоки рабочей очереди завершают свою работу, они освобождают структуру stress, переданную им.
К сожалению, узел work_struct рабочей очереди находится внутри структуры stress. Это означает, что work_struct освобождается до возврата из рабочего потока и в то время, когда flush_workqueue ожидает завершения.
Более разумным решением представляется предоставить управляющему потоку как выделение, так и освобождение структур stress, чтобы гарантировать отсутствие повреждения рабочей очереди из-за преждевременного освобождения структуры.
Таким образом, данный патч перерабатывает тест для реализации такого подхода, и после этого изменения ранние возвраты из flush_workqueue больше не наблюдаются.
If you want to get best quality of vulnerability data, you may have to visit VulDB.