Re: 2.6.23-rc1-mm1

Christoph Hellwig
2007-07-30T18:42:22Z

On Mon, Jul 30, 2007 at 11:27:20AM -0700, Andrew Morton wrote:
> ho hum, crap. Yes, ioctl_by_bdev() doesn't have a file* and so it makes
> unlocked_ioctl() rather tricky. We could cook up a `struct file' on the
> stack (we do that in various places), but that sucks.
>
> Christoph, have you any clever suggestions?

There's two ways to deal with it, one ugly and quick and one to do it
right.

The quick hack is to fake up a file struct similar to blkdev_get().

The proper solutions is to get rid of the file (and inode) in the
blockdev ->ioctl prototype. Only thing keeping is from that is
floppy.c (and some cut & paste variants for m68k) due to their awkard
permission checking hacks.