From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751618AbdBYAWv (ORCPT ); Fri, 24 Feb 2017 19:22:51 -0500 Received: from mail-qt0-f194.google.com ([209.85.216.194]:34048 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751578AbdBYAWs (ORCPT ); Fri, 24 Feb 2017 19:22:48 -0500 From: bosrsf04@gmail.com To: Alexander Viro , Andrew Morton , Kees Cook , Arnd Bergmann , Ingo Molnar , Ard Biesheuvel , Andy Lutomirski , Nicolas Pitre , Petr Mladek , Helge Deller , Rik van Riel , Thomas Garnier , Parav Pandit , "seokhoon . yoon" , Thomas Gleixner , Dave Hansen , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Cc: josh@joshtriplett.org, brkkurek192@gmail.com, conorcurry@gmail.com, fanofbond138@gmail.com, Brian Ashworth Subject: [PATCH 3/3] fs: Allows for the pivot_root syscall to be omitted Date: Fri, 24 Feb 2017 19:21:51 -0500 Message-Id: <2ddce6bacb60e38b0c384fa4e0b82e6ea2ef88af.1487974517.git.bosrsf04@gmail.com> X-Mailer: git-send-email 2.11.1 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Brian Ashworth 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/1 grow/shrink: 0/0 up/down: 0/-614 (-614) function old new delta sys_pivot_root 614 - -614 Total: Before=1899577, After=1898963, chg -0.03% Signed-off-by: Brian Ashworth --- fs/Makefile | 4 +++- init/Kconfig | 10 ++++++++++ kernel/sys_ni.c | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/fs/Makefile b/fs/Makefile index 34cb58c4127d..1a35bc90b0d5 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -11,7 +11,7 @@ obj-y := open.o read_write.o file_table.o super.o \ attr.o bad_inode.o file.o filesystems.o namespace.o \ seq_file.o xattr.o libfs.o fs-writeback.o \ pnode.o splice.o sync.o utimes.o \ - stack.o fs_struct.o statfs.o fs_pin.o nsfs.o pivot_root.o + stack.o fs_struct.o statfs.o fs_pin.o nsfs.o ifeq ($(CONFIG_BLOCK),y) obj-y += buffer.o block_dev.o direct-io.o mpage.o @@ -19,6 +19,8 @@ else obj-y += no-block.o endif +obj-$(CONFIG_PIVOT_ROOT_SYSCALL) += pivot_root.o + obj-$(CONFIG_PROC_FS) += proc_namespace.o obj-y += notify/ diff --git a/init/Kconfig b/init/Kconfig index 4dd8bd232a1d..33ed0282765f 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1462,6 +1462,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