On Fri, Jul 04, 2025 at 12:57:39PM -0700, Linus Torvalds wrote: > Ugh. I don't hate the concept, but if we do this, I think it needs to > be better abstracted out. > > And you may be right that things like list_for_each_entry() won't > care, but I would not be surprised there is list debugging code that > could care deeply. Or if anybody uses things like "list_is_first()", > it will work 99+_% of the time, but then break horribly if the low bit > of the prev pointer is set. > > So we obviously use the low bits of pointers in many other situations, > but I do think that it needs to have some kind of clear abstraction > and type safety to make sure that people don't use the "normal" list > handling helpers silently by mistake when they won't actually work. Point, but in this case I'd be tempted to turn the damn thing into pointer + unsigned long right in the struct mount, and deal with it explicitly. And put a big note on it, along the lines of "we might want to abstract that someday". Backporting would be easier that way, if nothing else...