chvt, deallocvt, dumpkmap, fgconsole, loadkmap: make them NOEXEC
authorDenys Vlasenko <vda.linux@googlemail.com>
Sat, 5 Aug 2017 00:02:31 +0000 (02:02 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sat, 5 Aug 2017 00:02:31 +0000 (02:02 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
NOFORK_NOEXEC.lst
console-tools/chvt.c
console-tools/deallocvt.c
console-tools/dumpkmap.c
console-tools/fgconsole.c
console-tools/loadkmap.c

index 2fc2805969b3920e2719e2fd65104810e3939cf1..1d23ad962f7a154f89b4815d484f3ff3e6d677a0 100644 (file)
@@ -69,7 +69,7 @@ chpasswd - runner (list of "user:password"s from stdin)
 chpst - noexec. spawner
 chroot - noexec. spawner
 chrt - noexec. spawner
-chvt - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate.
+chvt - noexec. leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds
 cksum - noexec. runner
 clear - NOFORK
 cmp - runner
@@ -85,7 +85,7 @@ cut - noexec. runner
 date - noexec. nofork candidate(needs to stop messing up env, free xasprintf result, not use xfuncs after xasprintf)
 dc - runner (eats stdin if no params)
 dd - noexec. runner
-deallocvt - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate.
+deallocvt - noexec. leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds
 delgroup
 deluser
 depmod - complex, rare
@@ -100,7 +100,7 @@ dnsdomainname - needs ^C (may talk to DNS servers, which may be down)
 dos2unix - noexec. runner
 dpkg - runner
 du - runner
-dumpkmap - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate.
+dumpkmap - noexec. leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds
 dumpleases - leaks: open+xread
 echo - NOFORK
 ed - interactive, longterm
@@ -120,7 +120,7 @@ fbsplash - runner, longterm
 fdflush - leaks: open+ioctl_or_perror_and_die, needs ^C (floppy may be unresponsive), rare
 fdformat - needs ^C (floppy may be unresponsive), longterm, rare
 fdisk - interactive, longterm
-fgconsole - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate.
+fgconsole - noexec. leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds
 fgrep - longterm runner ("CMD | fgrep ..."  may run indefinitely, better to exec to conserve memory)
 find - noexec. runner
 findfs - suid
@@ -195,7 +195,7 @@ linux64 - noexec. spawner
 linuxrc - daemon
 ln - noexec
 loadfont - leaks: config_open+bb_error_msg_and_die("map format")
-loadkmap - leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds. Also, "rare" category. noexec candidate.
+loadkmap - noexec. leaks: get_console_fd_or_die() may open a new fd, or return one of stdio fds
 logger - runner
 login - suid, interactive, longterm
 logname - NOFORK
index d8152de6b06451cc575e91feb416b7078669d2b0..75380a90b95b4db2750e02dcc3a80baf5df5f314 100644 (file)
@@ -14,7 +14,7 @@
 //config:      This program is used to change to another terminal.
 //config:      Example: chvt 4 (change to terminal /dev/tty4)
 
-//applet:IF_CHVT(APPLET(chvt, BB_DIR_USR_BIN, BB_SUID_DROP))
+//applet:IF_CHVT(APPLET_NOEXEC(chvt, chvt, BB_DIR_USR_BIN, BB_SUID_DROP, chvt))
 
 //kbuild:lib-$(CONFIG_CHVT) += chvt.o
 
index 6ffb1471e68d28cf59ef5f68221dde24d99a4f82..05731fb787de2fabf092bfd27005dcb66e6f1959 100644 (file)
@@ -14,7 +14,7 @@
 //config:      help
 //config:      This program deallocates unused virtual consoles.
 
-//applet:IF_DEALLOCVT(APPLET(deallocvt, BB_DIR_USR_BIN, BB_SUID_DROP))
+//applet:IF_DEALLOCVT(APPLET_NOEXEC(deallocvt, deallocvt, BB_DIR_USR_BIN, BB_SUID_DROP, deallocvt))
 
 //kbuild:lib-$(CONFIG_DEALLOCVT) += deallocvt.o
 
index d4e2cf2817c9a2985e9f176b29fb99e020de915c..5ffb0cddbd6c253bf606a6d49b8878958e5240ec 100644 (file)
@@ -15,7 +15,7 @@
 //config:      This program dumps the kernel's keyboard translation table to
 //config:      stdout, in binary format. You can then use loadkmap to load it.
 
-//applet:IF_DUMPKMAP(APPLET(dumpkmap, BB_DIR_BIN, BB_SUID_DROP))
+//applet:IF_DUMPKMAP(APPLET_NOEXEC(dumpkmap, dumpkmap, BB_DIR_BIN, BB_SUID_DROP, dumpkmap))
 
 //kbuild:lib-$(CONFIG_DUMPKMAP) += dumpkmap.o
 
index 64311f6ea5a66f7e29b2593289a24f7d9d98b645..a353becd5fb4b76cf4c8293118ad3d8b14f3023d 100644 (file)
@@ -13,7 +13,7 @@
 //config:      help
 //config:      This program prints active (foreground) console number.
 
-//applet:IF_FGCONSOLE(APPLET(fgconsole, BB_DIR_USR_BIN, BB_SUID_DROP))
+//applet:IF_FGCONSOLE(APPLET_NOEXEC(fgconsole, fgconsole, BB_DIR_USR_BIN, BB_SUID_DROP, fgconsole))
 
 //kbuild:lib-$(CONFIG_FGCONSOLE) += fgconsole.o
 
index 839dc20833417c91c36c3b634bf348e3caf33363..404aba1fb1bd4ccc398d010eef0965c7ad13592f 100644 (file)
@@ -14,7 +14,7 @@
 //config:      This program loads a keyboard translation table from
 //config:      standard input.
 
-//applet:IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
+//applet:IF_LOADKMAP(APPLET_NOEXEC(loadkmap, loadkmap, BB_DIR_SBIN, BB_SUID_DROP, loadkmap))
 
 //kbuild:lib-$(CONFIG_LOADKMAP) += loadkmap.o