aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-08-09 19:51:17 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-08-09 19:51:17 +0200
commit3bc2317c610af0a34c665e0e84169caa2653ff41 (patch)
treef4f0a348d9c568e0abf3aec887dab1d789c4f56e
parent890bd5de5114cff73928f9bd405ed7fb6e579015 (diff)
downloadbusybox-w32-3bc2317c610af0a34c665e0e84169caa2653ff41.tar.gz
busybox-w32-3bc2317c610af0a34c665e0e84169caa2653ff41.tar.bz2
busybox-w32-3bc2317c610af0a34c665e0e84169caa2653ff41.zip
Update NOFORK_NOEXEC.lst
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--NOFORK_NOEXEC.lst16
1 files changed, 12 insertions, 4 deletions
diff --git a/NOFORK_NOEXEC.lst b/NOFORK_NOEXEC.lst
index 063d7cd48..fd5b35838 100644
--- a/NOFORK_NOEXEC.lst
+++ b/NOFORK_NOEXEC.lst
@@ -39,6 +39,14 @@ for users to keep it waiting for many minutes, whereas running "rm" in shell
39is very typical, and speeding up this common use via NOEXEC is useful. 39is very typical, and speeding up this common use via NOEXEC is useful.
40IOW: rm is "interactive", but not "longterm". 40IOW: rm is "interactive", but not "longterm".
41 41
42Interesting example of an applet which can be NOFORK but if not,
43then should not be NOEXEC, is "usleep". As NOFORK, it amount to simply
44nanosleep()ing in the calling program (usually shell). No memory wasted.
45But if ran as NOEXEC, it would create a potentially long-term process,
46which would be taking more memory because it did not exec
47and did not free much of the copied memory of the parent
48(COW helps with this only as long as parent doesn't modify its memory).
49
42 50
43[ - NOFORK 51[ - NOFORK
44[[ - NOFORK 52[[ - NOFORK
@@ -181,8 +189,8 @@ iostat - longterm: "iostat 1" runs indefinitely
181ip - noexec candidate 189ip - noexec candidate
182ipaddr - noexec candidate 190ipaddr - noexec candidate
183ipcalc - noexec. ipcalc -h talks to network 191ipcalc - noexec. ipcalc -h talks to network
184ipcrm - noexec candidate 192ipcrm - noexec
185ipcs - noexec candidate 193ipcs - noexec
186iplink - noexec candidate 194iplink - noexec candidate
187ipneigh - noexec candidate 195ipneigh - noexec candidate
188iproute - noexec candidate 196iproute - noexec candidate
@@ -327,7 +335,7 @@ showkey - interactive, longterm
327shred - runner 335shred - runner
328shuf - noexec. runner 336shuf - noexec. runner
329slattach - longterm (may sleep forever), uses bb_common_bufsiz1 337slattach - longterm (may sleep forever), uses bb_common_bufsiz1
330sleep - runner, longterm 338sleep - longterm. Could be nofork, if not the problem of "killall sleep" not killing it.
331smemcap - runner 339smemcap - runner
332softlimit - noexec. spawner 340softlimit - noexec. spawner
333sort - noexec. runner 341sort - noexec. runner
@@ -397,7 +405,7 @@ unxz - runner
397unzip - runner 405unzip - runner
398uptime - noexec. nofork candidate(is getutxent ok?) 406uptime - noexec. nofork candidate(is getutxent ok?)
399users - noexec. nofork candidate(is getutxent ok?) 407users - noexec. nofork candidate(is getutxent ok?)
400usleep - NOFORK 408usleep - NOFORK. But what about "killall usleep"?
401uudecode - runner 409uudecode - runner
402uuencode - runner 410uuencode - runner
403vconfig - noexec. leaks: xsocket+ioctl_or_perror_and_die 411vconfig - noexec. leaks: xsocket+ioctl_or_perror_and_die