Page MenuHomeFreeBSD

ufs: Update *eofflag upon a read of an unlinked directory
ClosedPublic

Authored by markj on Dec 18 2023, 9:15 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Jan 31, 3:23 PM
Unknown Object (File)
Tue, Jan 27, 10:52 AM
Unknown Object (File)
Dec 28 2025, 12:56 PM
Unknown Object (File)
Dec 14 2025, 12:41 PM
Unknown Object (File)
Dec 12 2025, 4:55 PM
Unknown Object (File)
Dec 11 2025, 12:16 PM
Unknown Object (File)
Dec 7 2025, 5:38 AM
Unknown Object (File)
Dec 6 2025, 9:50 PM
Subscribers

Details

Summary

If the directory is unlinked, no further entries will be returned, but
we return no error. At least one caller (vn_dir_next_dirent()) asserts
that a VOP_READDIR call which returns no error and no entries will set
*eofflag != 0, so the current behaviour of UFS can trigger an assertion
failure.

Simply set *eofflag in this scenario.

Reported by: syzkaller

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable