]> git.baikalelectronics.ru Git - kernel.git/commit
init: use do_mount() instead of ksys_mount()
authorDominik Brodowski <linux@dominikbrodowski.net>
Tue, 23 Oct 2018 20:41:09 +0000 (22:41 +0200)
committerDominik Brodowski <linux@dominikbrodowski.net>
Thu, 12 Dec 2019 13:50:05 +0000 (14:50 +0100)
commit7d4e64e1cd4877ae607fa7047d0e8ba7338b29a2
tree841730eb8a627568c8d8b75eef0621c4cf3d900d
parentc6b69a1d170b82ead4a527942786b978563ad167
init: use do_mount() instead of ksys_mount()

In prepare_namespace(), do_mount() can be used instead of ksys_mount()
as the first and third argument are const strings in the kernel, the
second and fourth argument are passed through anyway, and the fifth
argument is NULL.

In do_mount_root(), ksys_mount() is called with the first and third
argument being already kernelspace strings, which do not need to be
copied over from userspace to kernelspace (again). The second and
fourth arguments are passed through to do_mount() anyway. The fifth
argument, while already residing in kernelspace, needs to be put into
a page of its own. Then, do_mount() can be used instead of
ksys_mount().

Once this is done, there are no in-kernel users to ksys_mount() left,
which can therefore be removed.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
fs/namespace.c
include/linux/syscalls.h
init/do_mounts.c