[HEADSUP] Disallowing read() of a directory fd

Steffen Nurpmeso steffen at sdaoden.eu
Fri May 15 22:47:32 UTC 2020


Joerg Sonnenberger wrote in
<20200515220923.GA36597 at bec.de>:
 |On Fri, May 15, 2020 at 10:25:26PM +0200, Arne Steinkamm wrote:
 |> On Fri, May 15, 2020 at 01:00:55PM -0700, Cy Schubert wrote:
 |>> It's been 42 or more years since this bug was introduced. Let's \
 |>> just fix it 
 |>> now instead of agonizing over it.
 |> 
 |> I didn't want to add something as everything is said,
 |> but this sentence is a little bit to provocative.
 |> 
 |> Everything is a file describes one of the defining features of Unix.
 |> 
 |> Calling this defining feature of Unix a bug shows to me that the ideas
 |> behind Unix got lost in the FreeBSD universe too...
 |
 |Using linear storage for a directory is an implementation detail of the
 |implementation. It's not a defining feature. "Reading" from a directory
 |doesn't make sense for many other organisational forms. So, are you now
 |arguing that leaky abstractions are a defining feature of Unix?

In an ideal Unix world read(2)ing from a directory fd would do the
job that getdents(2) / getdirentries(2) never moved to a standard,
leaving us with that terrible readdir(3) stuff.  imho.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)


More information about the freebsd-hackers mailing list