lkml.org 
[lkml]   [2005]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Fix root hole in raw device
    On Tue, May 17, 2005 at 09:03:05AM +0200, Willy Tarreau wrote:
    > On Tue, May 17, 2005 at 05:57:48AM +0100, Al Viro wrote:
    > > On Mon, May 16, 2005 at 09:37:48PM -0700, Greg KH wrote:
    > > > @@ -122,7 +122,7 @@
    > > > {
    > > > struct block_device *bdev = filp->private_data;
    > > >
    > > > - return ioctl_by_bdev(bdev, command, arg);
    > > > + return blkdev_ioctl(bdev->bd_inode, filp, command, arg);
    > > > }
    > >
    > > That is not quite correct. You are passing very odd filp to ->ioctl()...
    > > Old variant gave NULL, which is also not too nice, though.
    >
    > 2.4 already does it in a cleaner manner :
    >
    > err = -EINVAL;
    > if (b && b->bd_inode && b->bd_op && b->bd_op->ioctl) {
    > err = b->bd_op->ioctl(b->bd_inode, NULL, command, arg);
    > }
    > return err;
    >
    > So may be something like this would be better (hand-written) :

    > + if (bdev && bdev->bd_inode)
    > + err = blkdev_ioctl(bdev->bd_inode, filp, command, arg);
    > + return err;

    Huh? These checks are useless and you are still passing a struct file *
    that has nothing to do with what ->ioctl() expects.
    -
    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/

    \
     
     \ /
      Last update: 2005-05-17 09:36    [W:5.540 / U:0.500 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site