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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]