UNAME26 is a mechanism to report Linux's version as 2.6.x, for compatibility with old/broken software. Due to the way it is implemented, it would have to be updated after 5.0, to keep the resulting versions unique. Linus Torvalds argued:
> Do we actually need this? > > I'd rather let it bitrot, and just let it return random versions. It > will just start again at 2.4.60, won't it? > > Anybody who uses UNAME26 for a 5.x kernel might as well think it's > still 4.x. The user space is so old that it can't possibly care about > differences between 4.x and 5.x, can it? > > The only thing that matters is that it shows "2.4.<largeenough>", > which it will do regardless. Cc: Linus Torvalds <torva...@linux-foundation.org> Signed-off-by: Jonathan Neuschäfer <j.neuschae...@gmx.net> --- v2: - Switched to documenting why UNAME26 is not updated v1: - https://lore.kernel.org/patchwork/patch/1029578/ --- kernel/sys.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sys.c b/kernel/sys.c index a48cbf1414b8..f7eb62eceb24 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1207,7 +1207,8 @@ DECLARE_RWSEM(uts_sem); /* * Work around broken programs that cannot handle "Linux 3.0". * Instead we map 3.x to 2.6.40+x, so e.g. 3.0 would be 2.6.40 - * And we map 4.x to 2.6.60+x, so 4.0 would be 2.6.60. + * And we map 4.x and later versions to 2.6.60+x, so 4.0/5.0/6.0/... would be + * 2.6.60. */ static int override_release(char __user *release, size_t len) { -- 2.20.1