The Linux compatibility code is converting the version number (e.g.
2.6.32) in two different ways and then comparing the results.
The linux_map_osrel() function converted MAJOR.MINOR.PATCH similar to
what FreeBSD does natively. I.e. where major=v0, minor=v1, and patch=v2
` v = v0 * 1000000 + v1 * 1000 + v2;`
The LINUX_KERNVER() macro, on the other hand, converted the value with
bit shifts. I.e. where major=a, minor=b, and patch=c
` v = (((a) << 16) + ((b) << 8) + (c))`
Fix is to use multiplication in the macro, and then use the macro in the
function.
PR: 229209