noexec: set comm field for noexecs

function                                             old     new   delta
set_task_comm                                          -      18     +18
tryexec                                              152     159      +7
pseudo_exec_argv                                     321     328      +7
main                                                 106      97      -9
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/2 up/down: 34/-13)             Total: 23 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2017-08-07 18:45:33 +02:00
parent 248a67fb75
commit f2cf1cc716
5 changed files with 28 additions and 7 deletions

View File

@@ -175,8 +175,6 @@ int FAST_FUNC spawn_and_wait(char **argv)
return wait4pid(rc);
/* child */
//TODO: prctl(PR_SET_NAME, (long)argv[0], 0, 0, 0);? [think pidof, pgrep, pkill]
//Rewrite /proc/PID/cmdline? (need to save argv0 and length at init for this to work!)
/* reset some state and run without execing */
/* msg_eol = "\n"; - no caller needs this reinited yet */
@@ -185,6 +183,11 @@ int FAST_FUNC spawn_and_wait(char **argv)
* init, or a NOFORK applet. But none of those call us
* as of yet (and that should probably always stay true).
*/
//TODO: think pidof, pgrep, pkill!
//set_task_comm() makes our pidof find NOEXECs (e.g. "yes >/dev/null"),
//but one from procps-ng-3.3.10 needs more!
//Rewrite /proc/PID/cmdline? (need to save argv0 and length at init for this to work!)
set_task_comm(argv[0]);
/* xfunc_error_retval and applet_name are init by: */
run_applet_no_and_exit(a, argv[0], argv);
}