History

kernel/sys.c: Clarify that UNAME26 does not generate unique versions anymore

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"

Jonathan Neuschäfer committed 7 years ago

Commit b7285b41 parent dbc3c091 file · +2 −1Browse files

Unified · Split

kernel/sys.c+2−1
@@ -1207,7 +1207,8 @@ DECLARE_RWSEM(uts_sem); · 1206 unmodified lines
12071207 /*
12081208 * Work around broken programs that cannot handle "Linux 3.0".
12091209 * Instead we map 3.x to 2.6.40+x, so e.g. 3.0 would be 2.6.40
1210− * And we map 4.x to 2.6.60+x, so 4.0 would be 2.6.60.
1210+ * And we map 4.x and later versions to 2.6.60+x, so 4.0/5.0/6.0/... would be
1211+ * 2.6.60.
12111212 */
12121213 static int override_release(char __user *release, size_t len)
12131214 {