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 | |
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>
-rw-r--r-- | NOFORK_NOEXEC.lst | 46 | ||||
-rw-r--r-- | console-tools/reset.c | 2 | ||||
-rw-r--r-- | coreutils/chroot.c | 3 | ||||
-rw-r--r-- | coreutils/nice.c | 2 | ||||
-rw-r--r-- | coreutils/nohup.c | 2 | ||||
-rw-r--r-- | loginutils/sulogin.c | 4 | ||||
-rw-r--r-- | runit/chpst.c | 12 | ||||
-rw-r--r-- | shell/cttyhack.c | 2 | ||||
-rw-r--r-- | util-linux/chrt.c | 2 | ||||
-rw-r--r-- | util-linux/ionice.c | 2 | ||||
-rw-r--r-- | util-linux/setarch.c | 8 | ||||
-rw-r--r-- | util-linux/taskset.c | 2 |
12 files changed, 44 insertions, 43 deletions
diff --git a/NOFORK_NOEXEC.lst b/NOFORK_NOEXEC.lst index ccd8f0c96..5ec9ae3fe 100644 --- a/NOFORK_NOEXEC.lst +++ b/NOFORK_NOEXEC.lst | |||
@@ -20,7 +20,7 @@ suid: runs under different uid - must fork+exec | |||
20 | Why shouldn't be NOFORK/NOEXEC: | 20 | Why shouldn't be NOFORK/NOEXEC: |
21 | rare: not started often enough to bother optimizing (example: poweroff) | 21 | rare: not started often enough to bother optimizing (example: poweroff) |
22 | daemon: runs indefinitely; these are also always fit "rare" category | 22 | daemon: runs indefinitely; these are also always fit "rare" category |
23 | longterm: often runs for a long time (many seconds), execing would make | 23 | longterm: often runs for a long time (many seconds), execing makes |
24 | memory footprint smaller | 24 | memory footprint smaller |
25 | complex: no immediately obvious reason why NOFORK wouldn't work, | 25 | complex: no immediately obvious reason why NOFORK wouldn't work, |
26 | but does some non-obvoius operations (example: fuser, lsof, losetup); | 26 | but does some non-obvoius operations (example: fuser, lsof, losetup); |
@@ -66,9 +66,9 @@ chgrp - noexec. runner | |||
66 | chmod - noexec. runner | 66 | chmod - noexec. runner |
67 | chown - noexec. runner | 67 | chown - noexec. runner |
68 | chpasswd - runner (list of "user:password"s from stdin) | 68 | chpasswd - runner (list of "user:password"s from stdin) |
69 | chpst - noexec candidate, spawner | 69 | chpst - noexec. spawner |
70 | chroot - noexec candidate, spawner | 70 | chroot - noexec. spawner |
71 | chrt - noexec candidate, spawner | 71 | chrt - noexec. spawner |
72 | chvt - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate. | 72 | chvt - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate. |
73 | cksum - noexec. runner | 73 | cksum - noexec. runner |
74 | clear - NOFORK | 74 | clear - NOFORK |
@@ -80,7 +80,7 @@ cpio - runner | |||
80 | crond - daemon | 80 | crond - daemon |
81 | crontab 0 leaks: open+xasprintf | 81 | crontab 0 leaks: open+xasprintf |
82 | cryptpw - changes state: with --password-fd=N, moves N to stdin. Also, "rare" category. noexec candidate. | 82 | cryptpw - changes state: with --password-fd=N, moves N to stdin. Also, "rare" category. noexec candidate. |
83 | cttyhack - noexec candidate, spawner | 83 | cttyhack - noexec. spawner |
84 | cut - noexec. runner | 84 | cut - noexec. runner |
85 | date - noexec. nofork candidate(needs to stop messing up env, free xasprintf result, not use xfuncs after xasprintf) | 85 | date - noexec. nofork candidate(needs to stop messing up env, free xasprintf result, not use xfuncs after xasprintf) |
86 | dc - runner (eats stdin if no params) | 86 | dc - runner (eats stdin if no params) |
@@ -107,8 +107,8 @@ ed - interactive, longterm | |||
107 | egrep - longterm runner ("CMD | egrep ..." may run indefinitely, better to exec to conserve memory) | 107 | egrep - longterm runner ("CMD | egrep ..." may run indefinitely, better to exec to conserve memory) |
108 | eject - leaks: open+ioctl_or_perror_and_die, changes state (moves fds) | 108 | eject - leaks: open+ioctl_or_perror_and_die, changes state (moves fds) |
109 | env - noexec. spawner, changes state (env) | 109 | env - noexec. spawner, changes state (env) |
110 | envdir - noexec candidate, spawner | 110 | envdir - noexec. spawner |
111 | envuidgid - noexec candidate, spawner | 111 | envuidgid - noexec. spawner |
112 | expand - runner | 112 | expand - runner |
113 | expr - leaks: nested allocs | 113 | expr - leaks: nested allocs |
114 | factor - runner (eats stdin if no params) | 114 | factor - runner (eats stdin if no params) |
@@ -128,7 +128,7 @@ flash_eraseall | |||
128 | flash_lock | 128 | flash_lock |
129 | flash_unlock | 129 | flash_unlock |
130 | flashcp | 130 | flashcp |
131 | flock - spawner, changes state (file locks) | 131 | flock - spawner, changes state (file locks), let's play safe and not be noexec |
132 | fold - noexec. runner | 132 | fold - noexec. runner |
133 | free - nofork candidate(struct globals, needs to close /proc/meminfo fd) | 133 | free - nofork candidate(struct globals, needs to close /proc/meminfo fd) |
134 | freeramdisk - leaks: open+ioctl_or_perror_and_die | 134 | freeramdisk - leaks: open+ioctl_or_perror_and_die |
@@ -170,7 +170,7 @@ init - daemon | |||
170 | inotifyd - daemon | 170 | inotifyd - daemon |
171 | insmod - noexec | 171 | insmod - noexec |
172 | install - runner | 172 | install - runner |
173 | ionice - spawner | 173 | ionice - noexec. spawner |
174 | iostat - runner | 174 | iostat - runner |
175 | ip - noexec candidate | 175 | ip - noexec candidate |
176 | ipaddr - noexec candidate | 176 | ipaddr - noexec candidate |
@@ -190,8 +190,8 @@ klogd - daemon | |||
190 | last - runner (I've got 1300 lines of output when tried it) | 190 | last - runner (I've got 1300 lines of output when tried it) |
191 | less - interactive, longterm | 191 | less - interactive, longterm |
192 | link - NOFORK | 192 | link - NOFORK |
193 | linux32 - spawner | 193 | linux32 - noexec. spawner |
194 | linux64 - spawner | 194 | linux64 - noexec. spawner |
195 | linuxrc - daemon | 195 | linuxrc - daemon |
196 | ln - noexec | 196 | ln - noexec |
197 | loadfont - leaks: config_open+bb_error_msg_and_die("map format") | 197 | loadfont - leaks: config_open+bb_error_msg_and_die("map format") |
@@ -247,11 +247,11 @@ netstat - runner with -c | |||
247 | nice - noexec candidate, spawner | 247 | nice - noexec candidate, spawner |
248 | nl - runner | 248 | nl - runner |
249 | nmeter - longterm | 249 | nmeter - longterm |
250 | nohup - noexec candidate (maybe free concat_path_file result?), spawner | 250 | nohup - noexec. spawner |
251 | nproc - NOFORK | 251 | nproc - NOFORK |
252 | ntpd - daemon | 252 | ntpd - daemon |
253 | od - runner | 253 | od - runner |
254 | openvt - spawner | 254 | openvt - longterm: spawns a child and waits for it |
255 | partprobe - noexec candidate (simple), leaks: open+ioctl_or_perror_and_die(BLKRRPART) | 255 | partprobe - noexec candidate (simple), leaks: open+ioctl_or_perror_and_die(BLKRRPART) |
256 | passwd - suid | 256 | passwd - suid |
257 | paste - noexec. runner | 257 | paste - noexec. runner |
@@ -304,15 +304,15 @@ scriptreplay | |||
304 | sed - runner | 304 | sed - runner |
305 | sendmail - runner | 305 | sendmail - runner |
306 | seq - noexec. runner | 306 | seq - noexec. runner |
307 | setarch - spawner | 307 | setarch - noexec. spawner |
308 | setconsole | 308 | setconsole |
309 | setfont | 309 | setfont |
310 | setkeycodes | 310 | setkeycodes |
311 | setlogcons | 311 | setlogcons |
312 | setpriv - spawner | 312 | setpriv - spawner, changes state, let's play safe and not be noexec |
313 | setserial | 313 | setserial |
314 | setsid - spawner | 314 | setsid - spawner, uses fork_or_rexec() [not audted to work in noexec], let's play safe and not be noexec |
315 | setuidgid | 315 | setuidgid - noexec. spawner |
316 | sha1sum - noexec. runner | 316 | sha1sum - noexec. runner |
317 | sha256sum - noexec. runner | 317 | sha256sum - noexec. runner |
318 | sha3sum - noexec. runner | 318 | sha3sum - noexec. runner |
@@ -323,7 +323,7 @@ shuf - noexec. runner | |||
323 | slattach | 323 | slattach |
324 | sleep - runner, longterm | 324 | sleep - runner, longterm |
325 | smemcap - runner | 325 | smemcap - runner |
326 | softlimit - noexec candidate, spawner | 326 | softlimit - noexec. spawner |
327 | sort - noexec. runner | 327 | sort - noexec. runner |
328 | split - runner | 328 | split - runner |
329 | ssl_client - longterm | 329 | ssl_client - longterm |
@@ -332,21 +332,21 @@ stat - nofork candidate(needs fewer allocs) | |||
332 | strings - runner | 332 | strings - runner |
333 | stty - noexec/nofork candidate. has no allocs or opens except xmove_fd(xopen("-F DEVICE"),STDIN). tcsetattr(STDIN) is not a problem: it would work the same across processes sharing this fd | 333 | stty - noexec/nofork candidate. has no allocs or opens except xmove_fd(xopen("-F DEVICE"),STDIN). tcsetattr(STDIN) is not a problem: it would work the same across processes sharing this fd |
334 | su - suid, spawner | 334 | su - suid, spawner |
335 | sulogin - spawner | 335 | sulogin - noexec. spawner |
336 | sum - runner | 336 | sum - runner |
337 | sv - noexec candidate, needs ^C (uses usleep(420000)) | 337 | sv - noexec candidate, needs ^C (uses usleep(420000)) |
338 | svc - noexec candidate, needs ^C (uses usleep(420000)) | 338 | svc - noexec candidate, needs ^C (uses usleep(420000)) |
339 | svlogd - daemon | 339 | svlogd - daemon |
340 | swapoff - rare | 340 | swapoff - rare |
341 | swapon - rare | 341 | swapon - rare |
342 | switch_root - spawner, rare, changes state | 342 | switch_root - spawner, rare, changes state (oh yes), execing may be important to free binary's inode |
343 | sync - NOFORK | 343 | sync - NOFORK |
344 | sysctl - noexec candidate, leaks: xstrdup+xmalloc_read | 344 | sysctl - noexec candidate, leaks: xstrdup+xmalloc_read |
345 | syslogd - daemon | 345 | syslogd - daemon |
346 | tac - noexec. runner | 346 | tac - noexec. runner |
347 | tail - runner | 347 | tail - runner |
348 | tar - runner | 348 | tar - runner |
349 | taskset - spawner | 349 | taskset - noexec. spawner |
350 | tcpsvd - daemon | 350 | tcpsvd - daemon |
351 | tee - runner | 351 | tee - runner |
352 | telnet - interactive, longterm | 352 | telnet - interactive, longterm |
@@ -354,8 +354,8 @@ telnetd - daemon | |||
354 | test - NOFORK | 354 | test - NOFORK |
355 | tftp - runner | 355 | tftp - runner |
356 | tftpd - daemon | 356 | tftpd - daemon |
357 | time - spawner, changes state (signals) | 357 | time - spawner, longterm, changes state (signals) |
358 | timeout - spawner, changes state (signals) | 358 | timeout - spawner, longterm, changes state (signals) |
359 | top - interactive, longterm | 359 | top - interactive, longterm |
360 | touch - NOFORK | 360 | touch - NOFORK |
361 | tr - runner | 361 | tr - runner |
diff --git a/console-tools/reset.c b/console-tools/reset.c index 04e5b0ca1..f2b900ddb 100644 --- a/console-tools/reset.c +++ b/console-tools/reset.c | |||
@@ -16,7 +16,7 @@ | |||
16 | //config: This program is used to reset the terminal screen, if it | 16 | //config: This program is used to reset the terminal screen, if it |
17 | //config: gets messed up. | 17 | //config: gets messed up. |
18 | 18 | ||
19 | //applet:IF_RESET(APPLET(reset, BB_DIR_USR_BIN, BB_SUID_DROP)) | 19 | //applet:IF_RESET(APPLET_NOEXEC(reset, reset, BB_DIR_USR_BIN, BB_SUID_DROP, reset)) |
20 | 20 | ||
21 | //kbuild:lib-$(CONFIG_RESET) += reset.o | 21 | //kbuild:lib-$(CONFIG_RESET) += reset.o |
22 | 22 | ||
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; |
diff --git a/coreutils/nice.c b/coreutils/nice.c index 0bf055299..d6818cf00 100644 --- a/coreutils/nice.c +++ b/coreutils/nice.c | |||
@@ -12,7 +12,7 @@ | |||
12 | //config: help | 12 | //config: help |
13 | //config: nice runs a program with modified scheduling priority. | 13 | //config: nice runs a program with modified scheduling priority. |
14 | 14 | ||
15 | //applet:IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP)) | 15 | //applet:IF_NICE(APPLET_NOEXEC(nice, nice, BB_DIR_BIN, BB_SUID_DROP, nice)) |
16 | 16 | ||
17 | //kbuild:lib-$(CONFIG_NICE) += nice.o | 17 | //kbuild:lib-$(CONFIG_NICE) += nice.o |
18 | 18 | ||
diff --git a/coreutils/nohup.c b/coreutils/nohup.c index df271c738..8a70ec4df 100644 --- a/coreutils/nohup.c +++ b/coreutils/nohup.c | |||
@@ -15,7 +15,7 @@ | |||
15 | //config: help | 15 | //config: help |
16 | //config: run a command immune to hangups, with output to a non-tty. | 16 | //config: run a command immune to hangups, with output to a non-tty. |
17 | 17 | ||
18 | //applet:IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP)) | 18 | //applet:IF_NOHUP(APPLET_NOEXEC(nohup, nohup, BB_DIR_USR_BIN, BB_SUID_DROP, nohup)) |
19 | 19 | ||
20 | //kbuild:lib-$(CONFIG_NOHUP) += nohup.o | 20 | //kbuild:lib-$(CONFIG_NOHUP) += nohup.o |
21 | 21 | ||
diff --git a/loginutils/sulogin.c b/loginutils/sulogin.c index d5a463cac..27ea5dff0 100644 --- a/loginutils/sulogin.c +++ b/loginutils/sulogin.c | |||
@@ -12,7 +12,7 @@ | |||
12 | //config: sulogin is invoked when the system goes into single user | 12 | //config: sulogin is invoked when the system goes into single user |
13 | //config: mode (this is done through an entry in inittab). | 13 | //config: mode (this is done through an entry in inittab). |
14 | 14 | ||
15 | //applet:IF_SULOGIN(APPLET(sulogin, BB_DIR_SBIN, BB_SUID_DROP)) | 15 | //applet:IF_SULOGIN(APPLET_NOEXEC(sulogin, sulogin, BB_DIR_SBIN, BB_SUID_DROP, sulogin)) |
16 | 16 | ||
17 | //kbuild:lib-$(CONFIG_SULOGIN) += sulogin.o | 17 | //kbuild:lib-$(CONFIG_SULOGIN) += sulogin.o |
18 | 18 | ||
@@ -34,7 +34,7 @@ int sulogin_main(int argc UNUSED_PARAM, char **argv) | |||
34 | 34 | ||
35 | /* Note: sulogin is not a suid app. It is meant to be run by init | 35 | /* Note: sulogin is not a suid app. It is meant to be run by init |
36 | * for single user / emergency mode. init starts it as root. | 36 | * for single user / emergency mode. init starts it as root. |
37 | * Normal users (potentially malisious ones) can only run it under | 37 | * Normal users (potentially malicious ones) can only run it under |
38 | * their UID, therefore no paranoia here is warranted: | 38 | * their UID, therefore no paranoia here is warranted: |
39 | * $LD_LIBRARY_PATH in env, TTY = /dev/sda | 39 | * $LD_LIBRARY_PATH in env, TTY = /dev/sda |
40 | * are no more dangerous here than in e.g. cp applet. | 40 | * are no more dangerous here than in e.g. cp applet. |
diff --git a/runit/chpst.c b/runit/chpst.c index ccc96539d..c061a91ea 100644 --- a/runit/chpst.c +++ b/runit/chpst.c | |||
@@ -59,12 +59,12 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||
59 | //config: help | 59 | //config: help |
60 | //config: Sets soft resource limits as specified by options | 60 | //config: Sets soft resource limits as specified by options |
61 | 61 | ||
62 | //applet:IF_CHPST(APPLET(chpst, BB_DIR_USR_BIN, BB_SUID_DROP)) | 62 | //applet:IF_CHPST( APPLET_NOEXEC(chpst, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, chpst)) |
63 | // APPLET_ODDNAME:name main location suid_type help | 63 | // APPLET_NOEXEC:name main location suid_type help |
64 | //applet:IF_ENVDIR( APPLET_ODDNAME(envdir, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envdir)) | 64 | //applet:IF_ENVDIR( APPLET_NOEXEC(envdir, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envdir)) |
65 | //applet:IF_ENVUIDGID(APPLET_ODDNAME(envuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envuidgid)) | 65 | //applet:IF_ENVUIDGID(APPLET_NOEXEC(envuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, envuidgid)) |
66 | //applet:IF_SETUIDGID(APPLET_ODDNAME(setuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, setuidgid)) | 66 | //applet:IF_SETUIDGID(APPLET_NOEXEC(setuidgid, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, setuidgid)) |
67 | //applet:IF_SOFTLIMIT(APPLET_ODDNAME(softlimit, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, softlimit)) | 67 | //applet:IF_SOFTLIMIT(APPLET_NOEXEC(softlimit, chpst, BB_DIR_USR_BIN, BB_SUID_DROP, softlimit)) |
68 | 68 | ||
69 | //kbuild:lib-$(CONFIG_CHPST) += chpst.o | 69 | //kbuild:lib-$(CONFIG_CHPST) += chpst.o |
70 | //kbuild:lib-$(CONFIG_ENVDIR) += chpst.o | 70 | //kbuild:lib-$(CONFIG_ENVDIR) += chpst.o |
diff --git a/shell/cttyhack.c b/shell/cttyhack.c index 9004b4763..849fe9e48 100644 --- a/shell/cttyhack.c +++ b/shell/cttyhack.c | |||
@@ -6,7 +6,7 @@ | |||
6 | */ | 6 | */ |
7 | #include "libbb.h" | 7 | #include "libbb.h" |
8 | 8 | ||
9 | //applet:IF_CTTYHACK(APPLET(cttyhack, BB_DIR_BIN, BB_SUID_DROP)) | 9 | //applet:IF_CTTYHACK(APPLET_NOEXEC(cttyhack, cttyhack, BB_DIR_BIN, BB_SUID_DROP, cttyhack)) |
10 | 10 | ||
11 | //kbuild:lib-$(CONFIG_CTTYHACK) += cttyhack.o | 11 | //kbuild:lib-$(CONFIG_CTTYHACK) += cttyhack.o |
12 | 12 | ||
diff --git a/util-linux/chrt.c b/util-linux/chrt.c index 4bc8b6cfa..52523df02 100644 --- a/util-linux/chrt.c +++ b/util-linux/chrt.c | |||
@@ -12,7 +12,7 @@ | |||
12 | //config: manipulate real-time attributes of a process. | 12 | //config: manipulate real-time attributes of a process. |
13 | //config: This requires sched_{g,s}etparam support in your libc. | 13 | //config: This requires sched_{g,s}etparam support in your libc. |
14 | 14 | ||
15 | //applet:IF_CHRT(APPLET(chrt, BB_DIR_USR_BIN, BB_SUID_DROP)) | 15 | //applet:IF_CHRT(APPLET_NOEXEC(chrt, chrt, BB_DIR_USR_BIN, BB_SUID_DROP, chrt)) |
16 | 16 | ||
17 | //kbuild:lib-$(CONFIG_CHRT) += chrt.o | 17 | //kbuild:lib-$(CONFIG_CHRT) += chrt.o |
18 | 18 | ||
diff --git a/util-linux/ionice.c b/util-linux/ionice.c index c7b7f0373..5b9664d25 100644 --- a/util-linux/ionice.c +++ b/util-linux/ionice.c | |||
@@ -14,7 +14,7 @@ | |||
14 | //config: Set/set program io scheduling class and priority | 14 | //config: Set/set program io scheduling class and priority |
15 | //config: Requires kernel >= 2.6.13 | 15 | //config: Requires kernel >= 2.6.13 |
16 | 16 | ||
17 | //applet:IF_IONICE(APPLET(ionice, BB_DIR_BIN, BB_SUID_DROP)) | 17 | //applet:IF_IONICE(APPLET_NOEXEC(ionice, ionice, BB_DIR_BIN, BB_SUID_DROP, ionice)) |
18 | 18 | ||
19 | //kbuild:lib-$(CONFIG_IONICE) += ionice.o | 19 | //kbuild:lib-$(CONFIG_IONICE) += ionice.o |
20 | 20 | ||
diff --git a/util-linux/setarch.c b/util-linux/setarch.c index d4b568832..520865318 100644 --- a/util-linux/setarch.c +++ b/util-linux/setarch.c | |||
@@ -30,10 +30,10 @@ | |||
30 | //config: help | 30 | //config: help |
31 | //config: Alias to "setarch linux64". | 31 | //config: Alias to "setarch linux64". |
32 | 32 | ||
33 | //applet:IF_SETARCH(APPLET(setarch, BB_DIR_BIN, BB_SUID_DROP)) | 33 | //applet:IF_SETARCH(APPLET_NOEXEC(setarch, setarch, BB_DIR_BIN, BB_SUID_DROP, setarch)) |
34 | // APPLET_ODDNAME:name main location suid_type help | 34 | // APPLET_NOEXEC:name main location suid_type help |
35 | //applet:IF_LINUX32(APPLET_ODDNAME(linux32, setarch, BB_DIR_BIN, BB_SUID_DROP, linux32)) | 35 | //applet:IF_LINUX32(APPLET_NOEXEC(linux32, setarch, BB_DIR_BIN, BB_SUID_DROP, linux32)) |
36 | //applet:IF_LINUX64(APPLET_ODDNAME(linux64, setarch, BB_DIR_BIN, BB_SUID_DROP, linux64)) | 36 | //applet:IF_LINUX64(APPLET_NOEXEC(linux64, setarch, BB_DIR_BIN, BB_SUID_DROP, linux64)) |
37 | 37 | ||
38 | //kbuild:lib-$(CONFIG_SETARCH) += setarch.o | 38 | //kbuild:lib-$(CONFIG_SETARCH) += setarch.o |
39 | //kbuild:lib-$(CONFIG_LINUX32) += setarch.o | 39 | //kbuild:lib-$(CONFIG_LINUX32) += setarch.o |
diff --git a/util-linux/taskset.c b/util-linux/taskset.c index 9957b1a71..89dea176e 100644 --- a/util-linux/taskset.c +++ b/util-linux/taskset.c | |||
@@ -22,7 +22,7 @@ | |||
22 | //config: affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long | 22 | //config: affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long |
23 | //config: in this case. Otherwise, it is limited to sizeof(long). | 23 | //config: in this case. Otherwise, it is limited to sizeof(long). |
24 | 24 | ||
25 | //applet:IF_TASKSET(APPLET(taskset, BB_DIR_USR_BIN, BB_SUID_DROP)) | 25 | //applet:IF_TASKSET(APPLET_NOEXEC(taskset, taskset, BB_DIR_USR_BIN, BB_SUID_DROP, taskset)) |
26 | //kbuild:lib-$(CONFIG_TASKSET) += taskset.o | 26 | //kbuild:lib-$(CONFIG_TASKSET) += taskset.o |
27 | 27 | ||
28 | //usage:#define taskset_trivial_usage | 28 | //usage:#define taskset_trivial_usage |