[HEADSUP] Disallowing read() of a directory fd

Kyle Evans kevans at freebsd.org
Thu May 14 18:27:00 UTC 2020


This is a heads up, given that I'm completely flipping our historical
behavior- I intend to commit this review in a couple days' time
without substantial objection: https://reviews.freebsd.org/D24596

With this, FreeBSD 13 will not allow read() of a directory fd, which
could have previously returned some data from the underlying
filesystem in no particular standardized format.

This is a still-standards-compliant switch from one
implementation-defined behavior to another that's already been adopted
in various other popular kernels, to include OpenBSD, MacOS, and

Worth noting is that there's not really one largely-compelling reasons
to switch this after so many years (unless you find yourself that
irate when you accidentally `cat` a directory), but there are some
benefits which are briefly discussed in the commentary around the
review along with the history of the current behavior.

This change also simplifies filesystem implementations to some extent.


Kyle Evans

More information about the freebsd-arch mailing list