On Thu, Sep 19, 2019 at 10:07 AM Christoph Hellwig <hch@xxxxxx> wrote: > > I personally surived with it, but really hated writing the open coded > list_for_each_entry + list_del or while list_first_entry_or_null + > ┐ist_del when I could have a nice primitive for it. I finally decided > to just add that helper.. You realize that the list helper is even mis-named? Generally a "pop()" should pop the last entry, not the first one. Or course, which one is last and which one is first is entirely up to you since you can add at the tail or the beginning. So even the name is ambiguous. So I really think the whole thing was badly implemented (and yes, part of that was the whole implementation thing). Doing list_del() by hand also means that you can actually decide if you want list_del_init() or not. So it's But again - keep that helper if you want it. Just don't put a badly implemented and badly named "helper" it in a global header file that _everybody_ has to look at. Linus