Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 2020 16:53:16 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        Cy Schubert <Cy.Schubert@cschubert.com>
Cc:        Kyle Evans <kevans@freebsd.org>,  "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org>
Subject:   Re: [HEADSUP] Disallowing read() of a directory fd
Message-ID:  <tkrat.8dea3141f8f7e5bd@FreeBSD.org>
In-Reply-To: <202005141954.04EJsCtH036247@slippy.cwsent.com>
References:  <CACNAnaFszg%2BQWPRS0kghsnQMxXc%2B5niPTTNiUPSmK60YyBGCzA@mail.gmail.com> <202005141954.04EJsCtH036247@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 14 May, Cy Schubert wrote:
> In message <CACNAnaFszg+QWPRS0kghsnQMxXc+5niPTTNiUPSmK60YyBGCzA@mail.gmail.c
> om>
> , Kyle Evans writes:
>> 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.
> 
> OpenBSD has done this for a while and more importantly Linux.

Which causes annoying noise to stderr if you 'grep something *' if there
are directories in the working directory.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?tkrat.8dea3141f8f7e5bd>