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

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Wed, 24 Jun 2026 16:04:44 UTC
On 6/23/26 7:54 AM, Alan Somers wrote:
> The branch main has been updated by asomers:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=e03ed9daeb49fffa1d16b8d00240c65e92650d01
>
> commit e03ed9daeb49fffa1d16b8d00240c65e92650d01
> Author:     Jitendra Bhati <bhatijitendra2022@gmail.com>
> AuthorDate: 2026-06-12 17:07:55 +0000
> Commit:     Alan Somers <asomers@FreeBSD.org>
> CommitDate: 2026-06-23 14:53:56 +0000
>
>      fts: refactor to use fd-relative operations internally
>      
>      Replace all _open() calls with _openat() in __fts_open(), fts_read(),
>      and fts_children().
>      
>      Add fts_dirfd to FTSENT. Callers can use
>      openat(ent->fts_dirfd, ent->fts_name, ...) to access files
>      safely without relying on fts_accpath, which enables:
>      
>      1. Capsicum capability mode where path-based operations fail
>      2. Security-sensitive programs that avoid TOCTOU races
>      
>      Replace statfs(ent->fts_path) with _fstatfs(ent->fts_dirfd) in
>      fts_ufslinks() when fts_dirfd is valid, falling back to statfs() for
>      root-level entries where fts_dirfd is -1
>      
>      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.
>      
>      Sponsored by:   Google LLC (GSoC 2026)
>      Reviewed by:    asomers, jillest
>      MFC after:      2 weeks
>      Pull Request:   https://github.com/freebsd/freebsd-src/pull/2278
Someone on IRC reported they bisected a Poudriere breakage to this commit.