Messages in this thread | | | Date | Tue, 31 Jul 2007 03:48:13 +0530 (IST) | From | Satyam Sharma <> | Subject | Re: 2.6.23-rc1-mm1 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |