Date: Sun, 14 Sep 2025 21:14:22 -0300 From: "Danilo G. Baio" <dbaio@FreeBSD.org> To: "Kyle Evans" <kevans@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: dbaaadd4373a - main - jls: minor simplification to arg handling Message-ID: <54e7f090-c031-47f2-bc51-c020a77ab00a@app.fastmail.com> In-Reply-To: <202507260314.56Q3E5cY002869@gitrepo.freebsd.org> References: <202507260314.56Q3E5cY002869@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jul 26, 2025, at 00:14, Kyle Evans wrote: > The branch main has been updated by kevans: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=dbaaadd4373a725950ad11e578dab61537b7c4f2 > > commit dbaaadd4373a725950ad11e578dab61537b7c4f2 > Author: Kyle Evans <kevans@FreeBSD.org> > AuthorDate: 2025-07-26 03:13:41 +0000 > Commit: Kyle Evans <kevans@FreeBSD.org> > CommitDate: 2025-07-26 03:13:41 +0000 > > jls: minor simplification to arg handling > > It's easier to reason about the state of argc/argv if we just augment > them by optind after our getopt() loop. > > No functional change, but this sets the stage for another change to add > a `-c` mode to (c)heck for the existence of a jail quietly without > the caller having to worry about spurious output. > > Reviewed by: jamie > Differential Revision: https://reviews.freebsd.org/D51540 > --- > usr.sbin/jls/jls.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/usr.sbin/jls/jls.c b/usr.sbin/jls/jls.c > index bd193a69c458..a1d1716713aa 100644 > --- a/usr.sbin/jls/jls.c > +++ b/usr.sbin/jls/jls.c > @@ -140,8 +140,11 @@ main(int argc, char **argv) > ip4_ok = feature_present("inet"); > #endif > > + argc -= optind; > + argv += optind; > + > /* Add the parameters to print. */ > - if (optind == argc) { > + if (argc == 0) { > if (pflags & (PRINT_HEADER | PRINT_NAMEVAL)) > add_param("all", NULL, (size_t)0, NULL, JP_USER); > else if (pflags & PRINT_VERBOSE) { > @@ -179,9 +182,8 @@ main(int argc, char **argv) > } > } else { > pflags &= ~PRINT_VERBOSE; > - while (optind < argc) > - add_param(argv[optind++], NULL, (size_t)0, NULL, > - JP_USER); > + for (i = 0; i < argc; i++) > + add_param(argv[i], NULL, (size_t)0, NULL, JP_USER); > } > > if (pflags & PRINT_SKIP) { Hi, Just replying to one of the recent changes on `jls`. We use `jls -n` in many scripts, and recently, it stopped working. The last build that was working for us: FreeBSD 15.0-CURRENT #0 main-n278879-4be9c6f38e78: Sat Jul 19 13:19:25 UTC 2025 We are now encountering the following issue on this build: FreeBSD 16.0-CURRENT #0 main-n280141-5e82eeccd252: Sat Sep 6 05:27:34 UTC 2025 $ jls -n desc=0 devfs_ruleset=0 nodying enforce_statfs=0 env="" host=disable ip4=disable ip6=disable jid=0 meta="" name="" osreldate=0 osrelease="" parent=0 path="" nopersist securelevel=0 sysvmsg=disable sysvsem=disable sysvshm=disable vnet=disable zfs=disable allow.noadjtime allow.nochflags allow.noextattr allow.nomlock allow.nomount allow.mount.nodevfs allow.mount.nofdescfs allow.mount.nonullfs allow.mount.noprocfs allow.mount.notmpfs allow.mount.nozfs allow.nonfsd allow.noquotas allow.noraw_sockets allow.noread_msgbuf allow.noreserved_ports allow.norouting allow.noset_hostname allow.nosettime allow.nosocket_af allow.nosuser allow.nosysvipc allow.nounprivileged_parent_tampering allow.nounprivileged_proc_debug children.cur=0 children.max=0 cpuset.id=0 host.domainname="" host.hostid=0 host.hostname="" host.hostuuid="" ip4.addr=0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0 ip4.nosaddrsel ip6.addr=::,::,::,::,::,:: ip6.nosaddrsel zfs.mount_snapshot=0 desc=0 devfs_ruleset=0 nodying enforce_statfs=0 env="" host=disable ip4=disable ip6=disable jid=0 meta="" name="" osreldate=0 osrelease="" parent=0 path="" nopersist securelevel=0 sysvmsg=disable sysvsem=disable sysvshm=disable vnet=disable zfs=disable allow.noadjtime allow.nochflags allow.noextattr allow.nomlock allow.nomount allow.mount.nodevfs allow.mount.nofdescfs allow.mount.nonullfs allow.mount.noprocfs allow.mount.notmpfs allow.mount.nozfs allow.nonfsd allow.noquotas allow.noraw_sockets allow.noread_msgbuf allow.noreserved_ports allow.norouting allow.noset_hostname allow.nosettime allow.nosocket_af allow.nosuser allow.nosysvipc allow.nounprivileged_parent_tampering allow.nounprivileged_proc_debug children.cur=0 children.max=0 cpuset.id=0 host.domainname="" host.hostid=0 host.hostname="" host.hostuuid="" ip4.addr=0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0,0.0.0.0 ip4.nosaddrsel ip6.addr=::,::,::,::,::,:: ip6.nosaddrsel zfs.mount_snapshot=0 desc=0 devfs_ruleset=0 nodying enforce_statfs=0 env="" host=disable ip4=disable ip6=disable jid=0 meta="" name="" osreldate=0 osrelease="" parent=0 path="" nopersist securelevel=0 sysvmsg=disable sysvsem=disable sysvshm=disable vnet=disable zfs=disable allow.noadjtime allow.nochflags allow.noextattr allow.nomlock allow.nomount allow.mount.nodevfs allow.mount.nofdescfs allow.mount.nonullfs allow.mount.noprocfs allow.mount.notmpfs allow.mount.nozfs allow.nonfsd allow.noquotas allow.noraw_sockets allow.noread_msgbuf allow.noreserved_ports allow.norouting allow.noset_hostname allow.nosettime [...] infinite loop -- Danilo G. Baio
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54e7f090-c031-47f2-bc51-c020a77ab00a>