diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-09 19:51:17 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-08-09 19:51:17 +0200 |
commit | 3bc2317c610af0a34c665e0e84169caa2653ff41 (patch) | |
tree | f4f0a348d9c568e0abf3aec887dab1d789c4f56e | |
parent | 890bd5de5114cff73928f9bd405ed7fb6e579015 (diff) | |
download | busybox-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.lst | 16 |
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 | |||
39 | is very typical, and speeding up this common use via NOEXEC is useful. | 39 | is very typical, and speeding up this common use via NOEXEC is useful. |
40 | IOW: rm is "interactive", but not "longterm". | 40 | IOW: rm is "interactive", but not "longterm". |
41 | 41 | ||
42 | Interesting example of an applet which can be NOFORK but if not, | ||
43 | then should not be NOEXEC, is "usleep". As NOFORK, it amount to simply | ||
44 | nanosleep()ing in the calling program (usually shell). No memory wasted. | ||
45 | But if ran as NOEXEC, it would create a potentially long-term process, | ||
46 | which would be taking more memory because it did not exec | ||
47 | and 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 | |||
181 | ip - noexec candidate | 189 | ip - noexec candidate |
182 | ipaddr - noexec candidate | 190 | ipaddr - noexec candidate |
183 | ipcalc - noexec. ipcalc -h talks to network | 191 | ipcalc - noexec. ipcalc -h talks to network |
184 | ipcrm - noexec candidate | 192 | ipcrm - noexec |
185 | ipcs - noexec candidate | 193 | ipcs - noexec |
186 | iplink - noexec candidate | 194 | iplink - noexec candidate |
187 | ipneigh - noexec candidate | 195 | ipneigh - noexec candidate |
188 | iproute - noexec candidate | 196 | iproute - noexec candidate |
@@ -327,7 +335,7 @@ showkey - interactive, longterm | |||
327 | shred - runner | 335 | shred - runner |
328 | shuf - noexec. runner | 336 | shuf - noexec. runner |
329 | slattach - longterm (may sleep forever), uses bb_common_bufsiz1 | 337 | slattach - longterm (may sleep forever), uses bb_common_bufsiz1 |
330 | sleep - runner, longterm | 338 | sleep - longterm. Could be nofork, if not the problem of "killall sleep" not killing it. |
331 | smemcap - runner | 339 | smemcap - runner |
332 | softlimit - noexec. spawner | 340 | softlimit - noexec. spawner |
333 | sort - noexec. runner | 341 | sort - noexec. runner |
@@ -397,7 +405,7 @@ unxz - runner | |||
397 | unzip - runner | 405 | unzip - runner |
398 | uptime - noexec. nofork candidate(is getutxent ok?) | 406 | uptime - noexec. nofork candidate(is getutxent ok?) |
399 | users - noexec. nofork candidate(is getutxent ok?) | 407 | users - noexec. nofork candidate(is getutxent ok?) |
400 | usleep - NOFORK | 408 | usleep - NOFORK. But what about "killall usleep"? |
401 | uudecode - runner | 409 | uudecode - runner |
402 | uuencode - runner | 410 | uuencode - runner |
403 | vconfig - noexec. leaks: xsocket+ioctl_or_perror_and_die | 411 | vconfig - noexec. leaks: xsocket+ioctl_or_perror_and_die |