diff options
author | Denys Vlasenko | 2017-08-09 19:51:17 +0200 |
---|---|---|
committer | Denys Vlasenko | 2017-08-09 19:51:17 +0200 |
commit | 3bc2317c610af0a34c665e0e84169caa2653ff41 (patch) | |
tree | f4f0a348d9c568e0abf3aec887dab1d789c4f56e | |
parent | 890bd5de5114cff73928f9bd405ed7fb6e579015 (diff) | |
download | busybox-3bc2317c610af0a34c665e0e84169caa2653ff41.zip busybox-3bc2317c610af0a34c665e0e84169caa2653ff41.tar.gz |
Update NOFORK_NOEXEC.lst
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | NOFORK_NOEXEC.lst | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/NOFORK_NOEXEC.lst b/NOFORK_NOEXEC.lst index 063d7cd..fd5b358 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 is very typical, and speeding up this common use via NOEXEC is useful. IOW: rm is "interactive", but not "longterm". +Interesting example of an applet which can be NOFORK but if not, +then should not be NOEXEC, is "usleep". As NOFORK, it amount to simply +nanosleep()ing in the calling program (usually shell). No memory wasted. +But if ran as NOEXEC, it would create a potentially long-term process, +which would be taking more memory because it did not exec +and did not free much of the copied memory of the parent +(COW helps with this only as long as parent doesn't modify its memory). + [ - NOFORK [[ - NOFORK @@ -181,8 +189,8 @@ iostat - longterm: "iostat 1" runs indefinitely ip - noexec candidate ipaddr - noexec candidate ipcalc - noexec. ipcalc -h talks to network -ipcrm - noexec candidate -ipcs - noexec candidate +ipcrm - noexec +ipcs - noexec iplink - noexec candidate ipneigh - noexec candidate iproute - noexec candidate @@ -327,7 +335,7 @@ showkey - interactive, longterm shred - runner shuf - noexec. runner slattach - longterm (may sleep forever), uses bb_common_bufsiz1 -sleep - runner, longterm +sleep - longterm. Could be nofork, if not the problem of "killall sleep" not killing it. smemcap - runner softlimit - noexec. spawner sort - noexec. runner @@ -397,7 +405,7 @@ unxz - runner unzip - runner uptime - noexec. nofork candidate(is getutxent ok?) users - noexec. nofork candidate(is getutxent ok?) -usleep - NOFORK +usleep - NOFORK. But what about "killall usleep"? uudecode - runner uuencode - runner vconfig - noexec. leaks: xsocket+ioctl_or_perror_and_die |