free,stat: make NOEXEC
pkill/pgrep/pidof uncovered another quirk: what about noexec's _process names_? Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
//config: memory in the system, as well as the buffers used by the kernel.
|
||||
//config: The shared memory column should be ignored; it is obsolete.
|
||||
|
||||
//applet:IF_FREE(APPLET(free, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
//applet:IF_FREE(APPLET_NOEXEC(free, free, BB_DIR_USR_BIN, BB_SUID_DROP, free))
|
||||
|
||||
//kbuild:lib-$(CONFIG_FREE) += free.o
|
||||
|
||||
@@ -47,7 +47,10 @@ struct globals {
|
||||
#endif
|
||||
} FIX_ALIASING;
|
||||
#define G (*(struct globals*)bb_common_bufsiz1)
|
||||
#define INIT_G() do { setup_common_bufsiz(); } while (0)
|
||||
#define INIT_G() do { \
|
||||
setup_common_bufsiz(); \
|
||||
/* NB: noexec applet - globals not zeroed */ \
|
||||
} while (0)
|
||||
|
||||
|
||||
static unsigned long long scale(unsigned long d)
|
||||
|
||||
@@ -18,9 +18,13 @@
|
||||
//config: help
|
||||
//config: Send signals to processes by name.
|
||||
|
||||
//applet:IF_PGREP(APPLET(pgrep, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
//applet:IF_PGREP(APPLET_ODDNAME(pgrep, pgrep, BB_DIR_USR_BIN, BB_SUID_DROP, pgrep))
|
||||
// APPLET_ODDNAME:name main location suid_type help
|
||||
//applet:IF_PKILL(APPLET_ODDNAME(pkill, pgrep, BB_DIR_USR_BIN, BB_SUID_DROP, pkill))
|
||||
/* can't be noexec: can find _itself_ under wrong name, since after fork only,
|
||||
* /proc/PID/cmdline and comm are wrong! Can fix comm (prctl(PR_SET_NAME)),
|
||||
* but cmdline?
|
||||
*/
|
||||
|
||||
//kbuild:lib-$(CONFIG_PGREP) += pgrep.o
|
||||
//kbuild:lib-$(CONFIG_PKILL) += pgrep.o
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
//config: of the pidof, in other words the calling shell or shell script.
|
||||
|
||||
//applet:IF_PIDOF(APPLET(pidof, BB_DIR_BIN, BB_SUID_DROP))
|
||||
/* can't be noexec: can find _itself_ under wrong name, since after fork only,
|
||||
* /proc/PID/cmdline and comm are wrong! Can fix comm (prctl(PR_SET_NAME)),
|
||||
* but cmdline?
|
||||
*/
|
||||
|
||||
//kbuild:lib-$(CONFIG_PIDOF) += pidof.o
|
||||
|
||||
|
||||
Reference in New Issue
Block a user