git: 70174ef7d2c8 - main - proccontrol: make -s require a target
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 23 Aug 2024 17:58:42 UTC
The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=70174ef7d2c80abdfca0e3ad9d0bb1af61318542 commit 70174ef7d2c80abdfca0e3ad9d0bb1af61318542 Author: Brooks Davis <brooks@FreeBSD.org> AuthorDate: 2024-08-23 17:57:59 +0000 Commit: Brooks Davis <brooks@FreeBSD.org> CommitDate: 2024-08-23 17:57:59 +0000 proccontrol: make -s require a target Require a command to exec or a pid to target and update usage and the manpage to make this more clear. It makes no sense to invoke a procctl(2) command on the current process only to exit. Users are sometimes confused about how proccontrol works and think it effects their shell environment when invoked without a target. Disallowing this nonsensical behavior and clarifiying usage will hopefully reduce confusion. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D46422 --- usr.bin/proccontrol/proccontrol.1 | 7 +++++-- usr.bin/proccontrol/proccontrol.c | 14 ++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/usr.bin/proccontrol/proccontrol.1 b/usr.bin/proccontrol/proccontrol.1 index 7ab917e4a61f..ee71c3200b1a 100644 --- a/usr.bin/proccontrol/proccontrol.1 +++ b/usr.bin/proccontrol/proccontrol.1 @@ -34,9 +34,12 @@ .Sh SYNOPSIS .Nm .Fl m Ar mode -.Op Fl s Ar control -.Op Fl q +.Fl s Ar control .Fl p Ar pid | command +.Nm +.Fl m Ar mode +.Fl q +.Op Fl p Ar pid | command .Sh DESCRIPTION The .Nm diff --git a/usr.bin/proccontrol/proccontrol.c b/usr.bin/proccontrol/proccontrol.c index 4b7543d63793..be78e14fd75e 100644 --- a/usr.bin/proccontrol/proccontrol.c +++ b/usr.bin/proccontrol/proccontrol.c @@ -81,10 +81,14 @@ str2pid(const char *str) static void __dead2 usage(void) { - - fprintf(stderr, "Usage: proccontrol -m (aslr|protmax|trace|trapcap|" - "stackgap|nonewprivs|wxmap"KPTI_USAGE LA_USAGE") [-q] " - "[-s (enable|disable)] [-p pid | command]\n"); + fprintf(stderr, "Usage:\n"); + fprintf(stderr, " proccontrol -m mode -s (enable|disable) " + "(-p pid | command)\n"); + fprintf(stderr, " proccontrol -m mode -q [-p pid]\n"); + fprintf(stderr, "Modes: " + "aslr|protmax|trace|trapcap|stackgap|nonewprivs|wxmap" + KPTI_USAGE LA_USAGE + "\n"); exit(1); } @@ -157,6 +161,8 @@ main(int argc, char *argv[]) usage(); pid = getpid(); } else if (pid == -1) { + if (!query) + usage(); pid = getpid(); }