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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/