Re: [PATCH net v3 04/11] list: Move on_list_rcu() to list.h and add on_list() also
From: Linus Torvalds
Date: Sun Mar 29 2026 - 16:02:14 EST
On Sun, 29 Mar 2026 at 12:12, Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> Could someone with sufficient weight to their name ack this?
I don't particularly like it. I think the name is too generic, and
it's all wrong anyway. Whether something is on a list or not ends up
being much too specific to the use-case, and I do *not* see a huge
advantage to a helper function that just wraps "list_empty()" with
another name that is actually *less* descriptive.
So no. NAK.
As you mention, the RCU version at least does something else, but
honestly, it looks pretty damn questionable too. And no, it does not
work for non-RCU lists in any kind of generic sense, since iut's
perfectly valid to remove list entries without poisoning them.,
For example, some places that want a simple "am I on a list" will use
__list_del_clearprev(), which does *not* poison the prev pointer, but
just clears it instead. And then the "am I on a list" is just checking
prev for NULL or not.
In other words: all of this is wrong. Whether you are on a list or not
is simply not a generic operation. It depends on the user.
The name is also *MUCH* too generic anyway.
Linus