CVE-2026-43115
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
06/05/2026
Última modificación:
06/05/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
srcu: Use irq_work to start GP in tiny SRCU<br />
<br />
Tiny SRCU&#39;s srcu_gp_start_if_needed() directly calls schedule_work(),<br />
which acquires the workqueue pool->lock.<br />
<br />
This causes a lockdep splat when call_srcu() is called with a scheduler<br />
lock held, due to:<br />
<br />
call_srcu() [holding pi_lock]<br />
srcu_gp_start_if_needed()<br />
schedule_work() -> pool->lock<br />
<br />
workqueue_init() / create_worker() [holding pool->lock]<br />
wake_up_process() -> try_to_wake_up() -> pi_lock<br />
<br />
Also add irq_work_sync() to cleanup_srcu_struct() to prevent a<br />
use-after-free if a queued irq_work fires after cleanup begins.<br />
<br />
Tested with rcutorture SRCU-T and no lockdep warnings.<br />
<br />
[ Thanks to Boqun for similar fix in patch "rcu: Use an intermediate irq_work<br />
to start process_srcu()" ]



