Fine with me.
Ted Unangst <t...@tedunangst.com> wrote: > On 2020-07-09, Theo de Raadt wrote: > > > Added a -T option to ktrace for transparency. I got ambitious here and > > > made > > > it take suboptions, anticipating that other transparency modifications may > > > be desired. > > > > Please don't do that. > > Here is a simpler version. > > > Index: lib/libc/dlfcn/init.c > =================================================================== > RCS file: /home/cvs/src/lib/libc/dlfcn/init.c,v > retrieving revision 1.8 > diff -u -p -r1.8 init.c > --- lib/libc/dlfcn/init.c 6 Jul 2020 13:33:05 -0000 1.8 > +++ lib/libc/dlfcn/init.c 13 Jul 2020 17:36:04 -0000 > @@ -114,6 +114,8 @@ _libc_preinit(int argc, char **argv, cha > _timekeep->tk_version != TK_VERSION) > _timekeep = NULL; > } > + if (issetugid() == 0 && getenv("LIBC_NOUSERTC")) > + _timekeep = NULL; > break; > } > } > Index: usr.bin/ktrace/ktrace.1 > =================================================================== > RCS file: /home/cvs/src/usr.bin/ktrace/ktrace.1,v > retrieving revision 1.30 > diff -u -p -r1.30 ktrace.1 > --- usr.bin/ktrace/ktrace.1 15 May 2019 15:36:59 -0000 1.30 > +++ usr.bin/ktrace/ktrace.1 13 Jul 2020 17:38:22 -0000 > @@ -37,13 +37,13 @@ > .Nd enable kernel process tracing > .Sh SYNOPSIS > .Nm ktrace > -.Op Fl aBCcdi > +.Op Fl aCcdi > .Op Fl f Ar trfile > .Op Fl g Ar pgid > .Op Fl p Ar pid > .Op Fl t Ar trstr > .Nm ktrace > -.Op Fl adi > +.Op Fl aBdiT > .Op Fl f Ar trfile > .Op Fl t Ar trstr > .Ar command > @@ -109,6 +109,8 @@ processes. > Enable (disable) tracing on the indicated process ID (only one > .Fl p > flag is permitted). > +.It Fl T > +Disable userland timekeeping, making time related system calls more > prevalent. > .It Fl t Ar trstr > Select which information to put into the dump file. > The argument can contain one or more of the following letters. > Index: usr.bin/ktrace/ktrace.c > =================================================================== > RCS file: /home/cvs/src/usr.bin/ktrace/ktrace.c,v > retrieving revision 1.36 > diff -u -p -r1.36 ktrace.c > --- usr.bin/ktrace/ktrace.c 28 Jun 2019 13:35:01 -0000 1.36 > +++ usr.bin/ktrace/ktrace.c 13 Jul 2020 17:37:06 -0000 > @@ -100,7 +100,7 @@ main(int argc, char *argv[]) > usage(); > } > } else { > - while ((ch = getopt(argc, argv, "aBCcdf:g:ip:t:")) != -1) > + while ((ch = getopt(argc, argv, "aBCcdf:g:ip:t:T")) != -1) > switch ((char)ch) { > case 'a': > append = 1; > @@ -140,6 +140,9 @@ main(int argc, char *argv[]) > usage(); > } > break; > + case 'T': > + putenv("LIBC_NOUSERTC="); > + break; > default: > usage(); > } > @@ -240,9 +243,9 @@ usage(void) > " [-u trspec] command\n", > __progname); > else > - fprintf(stderr, "usage: %s [-aBCcdi] [-f trfile] [-g pgid]" > + fprintf(stderr, "usage: %s [-aCcdi] [-f trfile] [-g pgid]" > " [-p pid] [-t trstr]\n" > - " %s [-adi] [-f trfile] [-t trstr] command\n", > + " %s [-aBdiT] [-f trfile] [-t trstr] command\n", > __progname, __progname); > exit(1); > }