[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190112171432.11309-1-j.neuschaefer@gmx.net>
Date: Sat, 12 Jan 2019 18:14:30 +0100
From: Jonathan Neuschäfer <j.neuschaefer@....net>
To: linux-kernel@...r.kernel.org
Cc: Jonathan Neuschäfer <j.neuschaefer@....net>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Dominik Brodowski <linux@...inikbrodowski.net>,
Thomas Gleixner <tglx@...utronix.de>,
Cyrill Gorcunov <gorcunov@...il.com>,
"Gustavo A. R. Silva" <gustavo@...eddedor.com>,
Yang Shi <yang.shi@...ux.alibaba.com>,
Kristina Martsenko <kristina.martsenko@....com>,
Jann Horn <jannh@...gle.com>, Kees Cook <keescook@...omium.org>
Subject: [PATCH v2] 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.
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@....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
Powered by blists - more mailing lists