]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
proc: sysctl: prevent aliased sysctls from getting passed to init
authorKrister Johansen <kjlx@templeofstupid.com>
Fri, 27 Oct 2023 21:46:40 +0000 (14:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 3 Dec 2023 06:31:24 +0000 (07:31 +0100)
commitf95e9f7afe86cf589a076d38c0d59a490ba5a70e
treec93aca7e125ece9c5fb32bb7df552542dfd3d0c2
parent3f3880fc011cd71650e5ca707b4fb9c85a18e0cd
proc: sysctl: prevent aliased sysctls from getting passed to init

commit 8001f49394e353f035306a45bcf504f06fca6355 upstream.

The code that checks for unknown boot options is unaware of the sysctl
alias facility, which maps bootparams to sysctl values.  If a user sets
an old value that has a valid alias, a message about an invalid
parameter will be printed during boot, and the parameter will get passed
to init.  Fix by checking for the existence of aliased parameters in the
unknown boot parameter code.  If an alias exists, don't return an error
or pass the value to init.

Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Cc: stable@vger.kernel.org
Fixes: 0a477e1ae21b ("kernel/sysctl: support handling command line aliases")
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/proc/proc_sysctl.c
include/linux/sysctl.h
init/main.c