On Wed, 31 May 2023 15:15:41 -0700 Benjamin Segall <bsegall@xxxxxxxxxx> wrote: > >> Can you please provide a more detailed explanation about why > >> list_del_init_careful() is needed here? > > > > Yeah, this needs more explanation... Next time someone looks at this > > code and there's a *_careful() added they'll want to know why. > > So the general reason is the same as with autoremove_wake_function, it > pairs with the list_entry_careful in ep_poll (which is epoll's modified > copy of finish_wait). > > I think the original actual _problem_ was a -stable issue that was fixed > instead by doing additional backports, so this may just avoid potential > extra loops and avoid potential compiler shenanigans from the data race. The point is that the foo_careful() callsites should be commented, please.