In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Fix using rcu_read_(un)lock while iterating The usage of rcu_read_(un)lock while inside list_for_each_entry_rcu is not safe since for the most part entries fetched this way shall be treated as rcu_dereference: Note that the value returned by rcu_dereference() is valid only within the enclosing RCU read-side critical section [1]_. For example, the following is **not** legal:: rcu_read_lock(); p = rcu_dereference(head.next); rcu_read_unlock(); x = p->address; /* BUG!!! */ rcu_read_lock(); y = p->data; /* BUG!!! */ rcu_read_unlock();
https://git.kernel.org/stable/c/f9ecc90b5d501b3a5a62d0685d5104f934bb0104
https://git.kernel.org/stable/c/581dd2dc168fe0ed2a7a5534a724f0d3751c93ae
https://git.kernel.org/stable/c/0108132d7d76d884e443d18b4f067cdf2811911b