Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jul 2025 13:47:44 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Shawn Webb <shawn.webb@hardenedbsd.org>
Cc:        =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= <des@freebsd.org>,  src-committers@freebsd.org, dev-commits-src-all@freebsd.org,  dev-commits-src-main@freebsd.org
Subject:   Re: git: d63ffdd1ef63 - main - tzcode: Fix time zone change detection.
Message-ID:  <CANCZdfpTQfDv2WdAA7qks8W09MVxkGuBXDQd99fAdq2TRjm=pw@mail.gmail.com>
In-Reply-To: <35gxd7qvcs7nzwh3zdoh6hnb3htjnzowwitbgi6i647qtj4evj@gpwzez6ggzbd>
References:  <202507181750.56IHoLIw040938@gitrepo.freebsd.org> <35gxd7qvcs7nzwh3zdoh6hnb3htjnzowwitbgi6i647qtj4evj@gpwzez6ggzbd>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 18, 2025 at 1:43=E2=80=AFPM Shawn Webb <shawn.webb@hardenedbsd.=
org> wrote:
>
> On Fri, Jul 18, 2025 at 05:50:21PM +0000, Dag-Erling Sm=C3=B8rgrav wrote:
> > The branch main has been updated by des:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dd63ffdd1ef6368407b35d415=
237b95cc739d8073
> >
> > commit d63ffdd1ef6368407b35d415237b95cc739d8073
> > Author:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
> > AuthorDate: 2025-07-18 17:48:59 +0000
> > Commit:     Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>
> > CommitDate: 2025-07-18 17:49:34 +0000
> >
> >     tzcode: Fix time zone change detection.
> >
> >     Prior to the 2022g import, tzloadbody() returned -1 on error.  Now =
it
> >     returns an errno code.  When I updated the time zone change detecti=
on
> >     logic to match, I improperly returned errno in all cases, which mea=
ns
> >     that if the time zone file has not changed since we last loaded it,
> >     tzloadbody() returns a random errno value instead of 0.
> >
> >     Fixes:          bc42155199b5
> >     MFC after:      1 week
> >     Sponsored by:   Klara, Inc.
> >     Sponsored by:   NetApp, Inc.
> >     Reviewed by:    markj
> >     Differential Revision:  https://reviews.freebsd.org/D51405
> > ---
> >  contrib/tzcode/localtime.c | 14 +++++---------
> >  1 file changed, 5 insertions(+), 9 deletions(-)
> >
> > diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c
> > index f5814a43da54..69b5f0183e2c 100644
> > --- a/contrib/tzcode/localtime.c
> > +++ b/contrib/tzcode/localtime.c
> > @@ -408,10 +408,8 @@ change_in_tz(const char *name)
> >       static char old_name[PATH_MAX];
> >       static struct stat old_sb;
> >       struct stat sb;
> > -     int error;
> >
> > -     error =3D stat(name, &sb);
> > -     if (error !=3D 0)
> > +     if (stat(name, &sb) !=3D 0)
> >               return -1;
> >
> >       if (strcmp(name, old_name) !=3D 0) {
> > @@ -510,13 +508,11 @@ tzloadbody(char const *name, struct state *sp, bo=
ol doextend,
> >                * 'doextend' to ignore TZDEFRULES; the change_in_tz()
> >                * function can only keep state for a single file.
> >                */
> > -             int ret =3D change_in_tz(name);
> > -             if (ret <=3D 0) {
> > -                     /*
> > -                      * Returns an errno value if there was an error,
> > -                      * and 0 if the timezone had not changed.
> > -                      */
> > +             switch (change_in_tz(name)) {
> > +             case -1:
> >                       return errno;
> > +             case 0:
> > +                     return 0;
> >               }
> >       }
> >       fid =3D _open(name, O_RDONLY | O_BINARY);
> >
>
> Hey DES,
>
> This commit broke buildworld:
>
> =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D
> /usr/src/contrib/tzcode/localtime.c:512:11: error: no case matching const=
ant switch condition '1' [-Werror]
>   512 |                 switch (change_in_tz(name)) {
>       |                         ^~~~~~~~~~~~~~~~~~
> /usr/src/contrib/tzcode/localtime.c:433:25: note: expanded from macro 'ch=
ange_in_tz'
>   433 | #define change_in_tz(X) 1
> =3D=3D=3D=3D END LOG =3D=3D=3D=3D

Jenkins is also super cranky.

Warner

P.S. I'd just sent a private email with this when this one arrived.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpTQfDv2WdAA7qks8W09MVxkGuBXDQd99fAdq2TRjm=pw>