setkeycodes: make it NOEXEC, better --help text
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 6 Aug 2017 16:29:25 +0000 (18:29 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 6 Aug 2017 16:29:25 +0000 (18:29 +0200)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
NOFORK_NOEXEC.lst
console-tools/setkeycodes.c

index 8145e259710ee13b9820150d36fe3bc18b48e21a..58b3e9c54c59cbee2c63864b18e46caf3be67f67 100644 (file)
@@ -307,7 +307,7 @@ seq - noexec. runner
 setarch - noexec. spawner
 setconsole
 setfont
-setkeycodes
+setkeycodes - noexec
 setlogcons - noexec
 setpriv - spawner, changes state, let's play safe and not be noexec
 setserial - noexec
index 543fbe3e082b0568c204f611983daae895baf6c9..1363ac9d16ff399d50e75df1fdea64b05de564f4 100644 (file)
 //config:      This program loads entries into the kernel's scancode-to-keycode
 //config:      map, allowing unusual keyboards to generate usable keycodes.
 
-//applet:IF_SETKEYCODES(APPLET(setkeycodes, BB_DIR_USR_BIN, BB_SUID_DROP))
+//applet:IF_SETKEYCODES(APPLET_NOEXEC(setkeycodes, setkeycodes, BB_DIR_USR_BIN, BB_SUID_DROP, setkeycodes))
 
 //kbuild:lib-$(CONFIG_SETKEYCODES) += setkeycodes.o
 
 //usage:#define setkeycodes_trivial_usage
-//usage:       "SCANCODE KEYCODE..."
+//usage:       "{ SCANCODE KEYCODE }..."
 //usage:#define setkeycodes_full_usage "\n\n"
-//usage:       "Set entries into the kernel's scancode-to-keycode map,\n"
+//usage:       "Modify kernel's scancode-to-keycode map,\n"
 //usage:       "allowing unusual keyboards to generate usable keycodes.\n\n"
-//usage:       "SCANCODE may be either xx or e0xx (hexadecimal),\n"
-//usage:       "and KEYCODE is given in decimal."
+//usage:       "SCANCODE is either xx or e0xx (hexadecimal), KEYCODE is decimal."
 //usage:
 //usage:#define setkeycodes_example_usage
 //usage:       "$ setkeycodes e030 127\n"
@@ -45,7 +44,6 @@ int setkeycodes_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int setkeycodes_main(int argc, char **argv)
 {
        int fd;
-       struct kbkeycode a;
 
        if (!(argc & 1) /* if even */ || argc < 2) {
                bb_show_usage();
@@ -54,7 +52,10 @@ int setkeycodes_main(int argc, char **argv)
        fd = get_console_fd_or_die();
 
        while (argv[1]) {
-               int sc = xstrtoul_range(argv[1], 16, 0, 0xe07f);
+               struct kbkeycode a;
+               int sc;
+
+               sc = xstrtoul_range(argv[1], 16, 0, 0xe07f);
                if (sc >= 0xe000) {
                        sc -= 0xe000;
                        sc += 0x0080;