[Bug 292282] NFS Shows Empty Filenames Under Linux Emulation
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 07 Feb 2026 22:15:28 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292282
--- Comment #13 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:
URL:
https://cgit.FreeBSD.org/src/commit/?id=110f2567cb51f1eeddbd5d9937000ad64f6dc746
commit 110f2567cb51f1eeddbd5d9937000ad64f6dc746
Author: Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2026-02-07 22:12:55 +0000
Commit: Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2026-02-07 22:12:55 +0000
linux_file.c: Fix handling of NFS getdents() emulation
Bugzilla PR#292282 reports a problem, where a Linux
binary running in the Linuxulator gets bogus entries
in a readdir()/getdents() reply when the directory is
an NFS mount.
This appears to be caused by the NFS client including
entries with d_fileno == 0, which are always ignored by
BSD, but are not ignored by Linux.
This patch filters out the "d_fileno == 0" entries and
the reporter of the bugzilla PR notes that it fixes the
problem for him.
It could be argued that the NFS client should filter out
the "d_fileno == 0" entries, but the NFS client readdir
code is "fragile" and any change to it runs a significant
risk of causing regression type problems.
As such, since the LInuxulator is already broken for this
case, it seems safer to filter them out there.
PR: 292282
Tested by: Jerry Williams <jwillia3@proton.me>
Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D54679
sys/compat/linux/linux_file.c | 178 ++++++++++++++++++++++++++----------------
1 file changed, 110 insertions(+), 68 deletions(-)
--
You are receiving this mail because:
You are the assignee for the bug.