Re: git: e03ed9daeb49 - main - fts: refactor to use fd-relative operations internally
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.