umount: make it NOEXEC

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2017-08-05 23:21:02 +02:00
parent 00c1811d87
commit 83a6c8d58b
2 changed files with 13 additions and 2 deletions

View File

@ -378,7 +378,7 @@ udhcpc - daemon
udhcpd - daemon
udpsvd - daemon
uevent - daemon
umount - noexec candidate, leaks: nested xmalloc
umount - noexec. leaks: nested xmalloc
uname - NOFORK
uncompress - runner
unexpand - runner

View File

@ -24,7 +24,18 @@
//config: help
//config: Support -a option to unmount all currently mounted filesystems.
//applet:IF_UMOUNT(APPLET(umount, BB_DIR_BIN, BB_SUID_DROP))
//applet:IF_UMOUNT(APPLET_NOEXEC(umount, umount, BB_DIR_BIN, BB_SUID_DROP, umount))
/*
* On one hand, in some weird situations you'd want umount
* to not do anything surprising, to behave as a usual fork+execed executable.
*
* OTOH, there can be situations where execing would not succeed, or even hang
* (say, if executable is on a filesystem which is in trouble and accesses to it
* block in kernel).
* In this case, you might be actually happy if your standalone bbox shell
* does not fork+exec, but only forks and calls umount_main() which it already has!
* Let's go with NOEXEC.
*/
//kbuild:lib-$(CONFIG_UMOUNT) += umount.o