Re: git: 4bd01d6ae016 - main - fts: refactor to use fd-relative operations internally

Alan Somers <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <CAOtMX2i9NxYuu=LZwLLP7NErLf4i5A7K=wLC+-GywchbwUZacw__7399.91502357356$1785872076$gmane$org@mail.gmail.com>
Try this patch.  It works for me.  I don't have an ATF regression test
to go with it, though:

diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c
index 204340e4b87f..3dd9b6432a2c 100644
--- a/lib/libc/gen/fts.c
+++ b/lib/libc/gen/fts.c
@@ -489,8 +489,7 @@ fts_read(FTS *sp)
                 * FTS_STOP or the fts_info field of the node.
                 */
                if (sp->fts_child != NULL) {
-                       if (fts_safe_changedir(sp, p,
-                           p->fts_dirfd, p->fts_name)) {
+                       if (fts_safe_changedir(sp, p, -1, p->fts_name)) {
                                p->fts_errno = errno;
                                p->fts_flags |= FTS_DONTCHDIR;
                                for (p = sp->fts_child; p != NULL;


On Tue, Aug 4, 2026 at 1:00 PM Alan Somers <[email protected]> wrote:
>
> On Tue, Aug 4, 2026 at 12:58 PM Mark Johnston <[email protected]> wrote:
> >
> > On Mon, Aug 03, 2026 at 07:13:08PM +0000, Alan Somers wrote:
> > > The branch main has been updated by asomers:
> > >
> > > URL: https://cgit.FreeBSD.org/src/commit/?id=4bd01d6ae01632501b63438b8d9a401db9744a78
> > >
> > > commit 4bd01d6ae01632501b63438b8d9a401db9744a78
> > > Author:     Jitendra Bhati <[email protected]>
> > > AuthorDate: 2026-06-12 17:07:55 +0000
> > > Commit:     Alan Somers <[email protected]>
> > > CommitDate: 2026-08-03 19:12:28 +0000
> > >
> > >     fts: refactor to use fd-relative operations internally
> > >
> > >     Replace all _open() calls with _openat() in __fts_open(), fts_read(),
> > >     and fts_children().  Replace statfs() with _fstatfs().
> > >
> > >     Add fts_dirfd to struct _ftsent, set to the file descriptor of the
> > >     parent directory. Callers can use openat(ent->fts_dirfd, ent->fts_name,
> > >     ...) to access files safely without relying on fts_accpath, which
> > >     enables programs in capability mode to open the files described by
> > >     _ftsent.
> > >
> > >     This is a preparatory change for fts_openat() which will allow callers
> > >     to provide a pre-opened directory fd, enabling fts(3) traversal inside
> > >     Capsicum capability mode.
> > >
> > >     Mirror all fts_open() changes to fts_open_b().
> > >
> > >     As a result of expanding _ftsend, publish new ELF symbol versions for
> > >     fts_openat and related functions.
> > >
> > >     Sponsored by:   Google LLC (GSoC 2026)
> > >     Reviewed by:    asomers
> > >     Pull Request:   https://github.com/freebsd/freebsd-src/pull/2303
> >
> > Quite a few regression tests seem to be failing after this commit, e.g.,
> > some of the makefs tests: https://ci.freebsd.org/job/FreeBSD-main-amd64-test/29201/
>
> I'm testing a fix now.  I should have something ready for you soon.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.