Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 2020 13:26:46 -0500
From:      Kyle Evans <kevans@freebsd.org>
To:        "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   [HEADSUP] Disallowing read() of a directory fd
Message-ID:  <CACNAnaFszg%2BQWPRS0kghsnQMxXc%2B5niPTTNiUPSmK60YyBGCzA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

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
Linux.

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.

Thanks,

Kyle Evans



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaFszg%2BQWPRS0kghsnQMxXc%2B5niPTTNiUPSmK60YyBGCzA>