Re: Kernel version numbers after 4.9.255 and 4.4.255

From: Tony Battersby
Date: Fri Feb 05 2021 - 12:50:56 EST


On 2/4/21 6:00 AM, Jiri Slaby wrote:
> Agreed. But currently, sublevel won't "wrap", it will "overflow" to
> patchlevel. And that might be a problem. So we might need to update the
> header generation using e.g. "sublevel & 0xff" (wrap around) or
> "sublevel > 255 : 255 : sublevel" (be monotonic and get stuck at 255).
>
> In both LINUX_VERSION_CODE generation and KERNEL_VERSION proper.

My preference would be to be monotonic and get stuck at 255 to avoid
breaking out-of-tree modules.  If needed, add another macro that
increases the number of bits that can be used to check for sublevels >
255, while keeping the old macros for compatibility reasons.  Since
sublevels > 255 have never existed before, any such checks must be
newly-added, so they can be required to use the new macros.

I do not run the 4.4/4.9 kernels usually, but I do sometimes test a wide
range of kernels from 3.18 (gasp!) up to the latest when bisecting,
benchmarking, or debugging problems.  And I use a number of out-of-tree
modules that rely on the KERNEL_VERSION to make everything work.  Some
out-of-tree modules like an updated igb network driver might be needed
to make it possible to test the old kernel on particular hardware.

In the worst case, I can patch LINUX_VERSION_CODE and KERNEL_VERSION
locally to make out-of-tree modules work.  Or else just not test kernels
with sublevel > 255.

Tony Battersby
Cybernetics