On Sat, Aug 6, 2022 at 11:30 AM Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > > > > > Please don't use version numbers for ABI issues. Version numbers are > > for human consumption, nothing more, and shouldn't be used for > > anything that has semantics. > > Yes, I know you mentioned this before and I said I'd look to switch to > feature bitmasks. Yet here we are. Sorry about that, but I will take > a serious look at fixing this over the next development cycle(s). Well, right now we're in the situation where there are certain kernels that say that they implement "version 1.9" of the thing, but they don't actually implement the "version 1.8.1" extensions. So anybody who asks for "v1.8.1 or newer" will literally get random behavior. And yes, that random behavior hopefully then doesn't happen with any *tagged* kernel version, but it's an example of how broken version numbers are as an ABI. Imagine you are bisecting something entirely unrelated, and then end up testing one of those "this says it does 1.9, but doesn't do 1.8.1" kernels.. Presumably (and hopefully) these features are all so esoteric that absolutely nobody cares. IOW, I sincerely _hope_ the solution to the version number mess is "nobody actually uses that field anyway". Because if it matters, it's broken. It's broken by design, but we literally seem to have one example of active breakage in the tree right now. Linus