On Fri, 9 Oct 2026 at 13:23, Mathieu Poirier <[email protected]> wrote:
>
> > -     list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
> > +     list_for_each_entry(vq, &vdev->vqs, list) {
>
> How is list_for_each_entry_safe() no longer needed?

The first loop only clears the pointers with RCU_INIT_POINTER(). It does not
modify the list, so the 'safe' variant is not needed there.
synchronize_srcu() is
then called once, after that loop, to wait for in-flight readers. The
actual removal
still happens in the second loop, which keeps list_for_each_entry_safe().

Reply via email to