Re: disfunctional floppy driver in kernels 4.5, 4.6 and 4.7

From: Al Viro
Date: Wed Jun 15 2016 - 09:20:46 EST


On Wed, Jun 15, 2016 at 09:09:13AM +0200, Jiri Kosina wrote:
> On Tue, 14 Jun 2016, Wim Osterholt wrote:
>
> > Surprising or not, the thusly compiled kernel ran fine and I could
> > handle floppies like before! (open(/dev/fd0,O_ACCMODE) succeeds.)
>
> Thanks for testing.
>
> Now next question -- what do you actually want to achieve with passing
> O_ACCMODE to open()?
>
> O_ACCMODE should primarily be used as a mask to use when extracting access
> mode bits from fcntl(F_GETFL) call.

ioctl-only open. It's an old weird part of /dev/fd0 ABI and if you are
playing with that driver, you'd better bother to check the actual userland
talking to it.

Rationale, IIRC, is that unlike the normal open() this one does *not* depend
on formatted disk being there. Regularizing it ot of existence is not
a good idea.