CVE-2023-53281 in LinuxИнформация

Сводка

по VulDB • 13.06.2026

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

drivers: staging: rtl8723bs: Исправление блокировки в _rtw_join_timeout_handler()

Коммит 041879b12ddb («drivers: staging: rtl8192bs: Fix deadlock in rtw_joinbss_event_prehandle()») не только исправил взаимную блокировку (deadlock), но и изменил функцию _rtw_join_timeout_handler(), чтобы она использовала spin_[un]lock_irq() вместо spin_[un]lock_bh().

Функция _rtw_join_timeout_handler() вызывает rtw_do_join(), которая захватывает pmlmepriv->scanned_queue.lock с помощью spin_[un]lock_bh(). Этот вызов spin_unlock_bh() повторно включает softirq, что приводит к ошибке (oops) в kernel/softirq.c: __local_bh_enable_ip() при выполнении lockdep_assert_irqs_enabled():

[ 244.506087] WARNING: CPU: 2 PID: 0 at kernel/softirq.c:376 __local_bh_enable_ip+0xa6/0x100
... [ 244.509022] Call Trace:
[ 244.509048] <IRQ>
[ 244.509100] _rtw_join_timeout_handler+0x134/0x170 [r8723bs]
[ 244.509468] ? __pfx__rtw_join_timeout_handler+0x10/0x10 [r8723bs]
[ 244.509772] ? __pfx__rtw_join_timeout_handler+0x10/0x10 [r8723bs]
[ 244.510076] call_timer_fn+0x95/0x2a0
[ 244.510200] __run_timers.part.0+0x1da/0x2d0

Эта ошибка (oops) вызвана переходом на spin_[un]lock_irq(), который отключает прерывания (IRQs) на протяжении всего времени выполнения _rtw_join_timeout_handler().

Отключение IRQ не является необходимым, поскольку весь код, использующий эту блокировку, выполняется либо в контексте пользователя, либо из softirq. Для исправления этой проблемы следует вернуться к использованию spin_[un]lock_bh().

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

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

Linux

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

16.09.2025

Раскрытие

16.09.2025

Модерация

принято

Вход

VDB-324391

EPSS

0.00118

KEV

Нет

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

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!