The problem is that you guys are looking at CONFIG_MODVERSIONS the wrong
way around.
It's the _off_ case that is broken. Always was, always will be.
If CONFIG_MODVERSIONS is off, we remove the symbol versioning, and replace
it with the _insane_ kernel version check. That is never valid. The fact
that the kernel version is the same doesn't mean that the module will
work, since we often do lots of changes within the same version.
So the solution is to say CONFIG_MODVERSIONS=y, and everybody is happy.
Your modules will actually test things that _matter_, and will stop
loading if the data types or function prototypes have changed.
Linus
--