[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b5c45594261252a486b891090eba8f10aa7ed329.1478650356.git-series.josh@joshtriplett.org>
Date: Tue, 8 Nov 2016 16:18:21 -0800
From: Josh Triplett <josh@...htriplett.org>
To: Andrew Morton <akpm@...ux-foundation.org>,
Kees Cook <keescook@...omium.org>,
Johannes Weiner <hannes@...xchg.org>,
Arnd Bergmann <arnd@...db.de>, Ingo Molnar <mingo@...nel.org>,
Andy Lutomirski <luto@...nel.org>,
Petr Mladek <pmladek@...e.com>,
Thomas Garnier <thgarnie@...gle.com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Nicolas Pitre <nicolas.pitre@...aro.org>,
Zefan Li <lizefan@...wei.com>,
Li Bin <huawei.libin@...wei.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Ralf Baechle <ralf@...ux-mips.org>,
Alex Thorlton <athorlton@....com>,
Michal Hocko <mhocko@...e.com>,
Mateusz Guzik <mguzik@...hat.com>,
Cyrill Gorcunov <gorcunov@...nvz.org>,
John Stultz <john.stultz@...aro.org>,
Al Viro <viro@...iv.linux.org.uk>, Zach Brown <zab@...hat.com>,
Anna Schumaker <Anna.Schumaker@...app.com>,
Dave Hansen <dave.hansen@...el.com>,
linux-kernel@...r.kernel.org, linux-api@...r.kernel.org
Subject: [PATCH 2/2] kernel: Support compiling out the prctl syscall
Some embedded systems can do without the prctl syscall, saving some
space.
This also avoids regular increases in tinyconfig size as people add more
non-optional functionality to prctl (observed via the 0-day kernel
infrastructure).
bloat-o-meter results:
add/remove: 0/3 grow/shrink: 0/1 up/down: 0/-2143 (-2143)
function old new delta
offsets 23 12 -11
prctl_set_auxv 97 - -97
sys_prctl 794 - -794
prctl_set_mm 1241 - -1241
Total: Before=1902583, After=1900440, chg -0.11%
Signed-off-by: Josh Triplett <josh@...htriplett.org>
---
init/Kconfig | 12 ++++++++++++
kernel/Makefile | 3 ++-
kernel/sys_ni.c | 1 +
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/init/Kconfig b/init/Kconfig
index 34407f1..1dd671c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1408,6 +1408,18 @@ config MULTIUSER
If unsure, say Y here.
+config PRCTL
+ bool "prctl syscall" if EXPERT
+ default y
+ help
+ This option enables the prctl syscall, used for a variety of
+ operations on the current process.
+
+ If building an embedded system where no applications or libraries use
+ prctl, you can disable this option to save space.
+
+ If unsure, say Y here.
+
config SGETMASK_SYSCALL
bool "sgetmask/ssetmask syscalls support" if EXPERT
def_bool PARISC || MN10300 || BLACKFIN || M68K || PPC || MIPS || X86 || SPARC || CRIS || MICROBLAZE || SUPERH
diff --git a/kernel/Makefile b/kernel/Makefile
index 37c6d4c..43fb4ca 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -9,9 +9,10 @@ obj-y = fork.o exec_domain.o panic.o \
extable.o params.o \
kthread.o sys_ni.o nsproxy.o \
notifier.o ksysfs.o cred.o reboot.o \
- async.o range.o smpboot.o ucount.o prctl.o
+ async.o range.o smpboot.o ucount.o
obj-$(CONFIG_MULTIUSER) += groups.o
+obj-$(CONFIG_PRCTL) += prctl.o
ifdef CONFIG_FUNCTION_TRACER
# Do not trace internal ftrace files
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c
index 635482e..84fd646 100644
--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -175,6 +175,7 @@ cond_syscall(sys_setfsgid);
cond_syscall(sys_capget);
cond_syscall(sys_capset);
cond_syscall(sys_copy_file_range);
+cond_syscall(sys_prctl);
/* arch-specific weak syscall entries */
cond_syscall(sys_pciconfig_read);
--
git-series 0.8.11
Powered by blists - more mailing lists