diff options
| author | Rick Macklem <rmacklem@FreeBSD.org> | 2026-02-07 22:12:55 +0000 |
|---|---|---|
| committer | Rick Macklem <rmacklem@FreeBSD.org> | 2026-02-07 22:12:55 +0000 |
| commit | 110f2567cb51f1eeddbd5d9937000ad64f6dc746 (patch) | |
| tree | 315b0932e27206aa5c7bc6fd8433faba68a8a39f /atf-c++ | |
| parent | c59f12da11d75502b16f9163edc76514007462db (diff) | |
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
Diffstat (limited to 'atf-c++')
0 files changed, 0 insertions, 0 deletions
