Re: Why side-effects on open(2) are evil. (was Re: [RFD w/info-PATCH]device arguments from lookup)

Daniel Phillips (phillips@bonn-fries.net)
Sun, 27 May 2001 00:36:05 +0200


On Saturday 26 May 2001 05:07, Edgar Toernig wrote:
> Daniel Phillips wrote:
> > Oops, oh wait, there's already another open point: your breakage
> > examples both rely on opening ".". You're right, "." should always
> > be a directory and I believe that's enforced by the VFS. So we
> > don't have an example of breakage yet.
>
> That's just because I did a simple "ls". But it doesn't make a
> difference. The magicdevs _are_ directories and
>
> chdir("magicdev");
> open(".", O_RDONLY);
>
> shouldn't open the device.

It won't, the open for "." is handled in the VFS, not the filesystem -
it will open the directory. (Without needing to be told it's a
directory via O_DIRECTORY.) If you do open("magicdev") you'll get the
device, because that's handled by magicdevfs.

I'm not claiming there isn't breakage somewhere, just that we didn't
find it on this attempt.

--
Daniel

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/