Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1588257
| From | Nicolas Pitre <nicolas.pitre@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/1] fs: Allows for the pivot_root syscall to be optional |
| Date | 2017-02-26 02:50 +0100 |
| Message-ID | <teW8h-83d-1@gated-at.bofh.it> (permalink) |
| References | <teVvA-7L7-9@gated-at.bofh.it> <teVvA-7L7-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sat, 25 Feb 2017, Brian Ashworth wrote:
> The pivot_root syscall is not needed on systems that do not use
> any intermediate filesystem. Allowing for pivot_root to be
> ommitted from the kernel will aid in the tinification efforts.
>
> Without CONFIG_PIVOT_ROOT_SYSCALL set
> add/remove: 0/2 grow/shrink: 1/0 up/down: 45/-707 (-662)
> function old new delta
> attach_recursive_mnt 349 394 +45
> attach_mnt 71 - -71
> sys_pivot_root 636 - -636
> Total: Before=1899893, After=1899231, chg -0.03%
A -0.03% size difference doesn't seem much. To bring up a more
realistic scenario for tinification statistics, you could start from
"make tinyconfig" instead.
> Signed-off-by: Brian Ashworth <bosrsf04@gmail.com>
> ---
> fs/namespace.c | 2 ++
> init/Kconfig | 10 ++++++++++
> kernel/sys_ni.c | 1 +
> 3 files changed, 13 insertions(+)
I agree that this is a much more interesting diffstat than the previous
one.
Acked-by: Nicolas Pitre <nico@linaro.org>
> diff --git a/fs/namespace.c b/fs/namespace.c
> index 487ba30bb5c6..5e24a08bfb36 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -3058,6 +3058,7 @@ bool path_is_under(const struct path *path1, const struct path *path2)
> }
> EXPORT_SYMBOL(path_is_under);
>
> +#ifdef CONFIG_PIVOT_ROOT_SYSCALL
> /*
> * pivot_root Semantics:
> * Moves the root file system of the current process to the directory put_old,
> @@ -3180,6 +3181,7 @@ SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
> out0:
> return error;
> }
> +#endif /* CONFIG_PIVOT_ROOT_SYSCALL */
>
> static void __init init_mount_tree(void)
> {
> diff --git a/init/Kconfig b/init/Kconfig
> index 8c39615165b7..4ea9ab25ec30 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1450,6 +1450,16 @@ config SYSCTL_SYSCALL
>
> If unsure say N here.
>
> +config PIVOT_ROOT_SYSCALL
> + bool "Pivot_root syscall support" if EXPERT
> + default y
> + help
> + pivot_root is a system call that allows the root to be moved and
> + replaced by another root. This is needed for intermediate file
> + systems such as initrd.
> +
> + If unsure say Y here.
> +
> config POSIX_TIMERS
> bool "Posix Clocks & timers" if EXPERT
> default y
> diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
> index 8acef8576ce9..7bd207571f87 100644
> --- a/kernel/sys_ni.c
> +++ b/kernel/sys_ni.c
> @@ -178,6 +178,7 @@ cond_syscall(sys_setfsgid);
> cond_syscall(sys_capget);
> cond_syscall(sys_capset);
> cond_syscall(sys_copy_file_range);
> +cond_syscall(sys_pivot_root);
>
> /* arch-specific weak syscall entries */
> cond_syscall(sys_pciconfig_read);
> --
> 2.11.1
>
>
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 2/3] fs: Extracts pivot_root so it can be made optional bosrsf04@gmail.com - 2017-02-25 01:30 +0100
Re: [PATCH 2/3] fs: Extracts pivot_root so it can be made optional Theodore Ts'o <tytso@mit.edu> - 2017-02-25 17:10 +0100
Re: [PATCH 2/3] fs: Extracts pivot_root so it can be made optional Al Viro <viro@ZenIV.linux.org.uk> - 2017-02-25 17:10 +0100
[PATCH 0/1] fs: Support compiling out the pivot_root syscall Brian Ashworth <bosrsf04@gmail.com> - 2017-02-26 02:10 +0100
[PATCH 1/1] fs: Allows for the pivot_root syscall to be optional Brian Ashworth <bosrsf04@gmail.com> - 2017-02-26 02:10 +0100
Re: [PATCH 1/1] fs: Allows for the pivot_root syscall to be optional Nicolas Pitre <nicolas.pitre@linaro.org> - 2017-02-26 02:50 +0100
csiph-web