Re: 2.6.23-rc1-mm1

From: Satyam Sharma
Date: Mon Jul 30 2007 - 18:06:15 EST




On Mon, 30 Jul 2007, Christoph Hellwig wrote:

> 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().

Gargh, please no. I've been thinking of how to get rid of that fake
on-stack file and dentry stuff from blkdev_get() myself -- it makes
pktcdvd incompatible with 4k kernel stacks ... btw any reason why we
can't just kmalloc() the fake file and dentry there?


> 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.

Hmm, care to explain this in more detail?


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