diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-04 19:55:01 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-04 19:55:01 +0200 |
commit | 5c527dc57e74c1b60c910dc1a3f3ec9683fca43d (patch) | |
tree | 03bbbda1f4869c079f381bea45c1cdbf6fcd35a7 /coreutils/chroot.c | |
parent | 6514785f95878911b3ec88e2367234df74c14cd4 (diff) | |
download | busybox-w32-5c527dc57e74c1b60c910dc1a3f3ec9683fca43d.tar.gz busybox-w32-5c527dc57e74c1b60c910dc1a3f3ec9683fca43d.tar.bz2 busybox-w32-5c527dc57e74c1b60c910dc1a3f3ec9683fca43d.zip |
make 17 state-changing execing applets (ex: "nice PROG ARGS") noexec
The applets with "<applet> [opts] PROG ARGS" API very quickly exec
another program, noexec is okay for them:
chpst/envdir/envuidgid/softlimit/setuidgid
chroot
chrt
ionice
nice
nohup
setarch/linux32/linux64
taskset
cttyhack
"reset" and "sulogin" applets don't have this form, but also exec
another program at once, thus made noexec too.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'coreutils/chroot.c')
-rw-r--r-- | coreutils/chroot.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/coreutils/chroot.c b/coreutils/chroot.c index 5645d72df..78751df84 100644 --- a/coreutils/chroot.c +++ b/coreutils/chroot.c | |||
@@ -13,7 +13,7 @@ | |||
13 | //config: chroot is used to change the root directory and run a command. | 13 | //config: chroot is used to change the root directory and run a command. |
14 | //config: The default command is '/bin/sh'. | 14 | //config: The default command is '/bin/sh'. |
15 | 15 | ||
16 | //applet:IF_CHROOT(APPLET(chroot, BB_DIR_USR_SBIN, BB_SUID_DROP)) | 16 | //applet:IF_CHROOT(APPLET_NOEXEC(chroot, chroot, BB_DIR_USR_SBIN, BB_SUID_DROP, chroot)) |
17 | 17 | ||
18 | //kbuild:lib-$(CONFIG_CHROOT) += chroot.o | 18 | //kbuild:lib-$(CONFIG_CHROOT) += chroot.o |
19 | 19 | ||
@@ -40,6 +40,7 @@ int chroot_main(int argc UNUSED_PARAM, char **argv) | |||
40 | ++argv; | 40 | ++argv; |
41 | if (!*argv) | 41 | if (!*argv) |
42 | bb_show_usage(); | 42 | bb_show_usage(); |
43 | |||
43 | xchroot(*argv); | 44 | xchroot(*argv); |
44 | 45 | ||
45 | ++argv; | 46 | ++argv; |