On Tue, May 17, 2005 at 10:25:46AM -0500, Michael Halcrow wrote:
> +/**
> + * Claim the blockdev to exclude mounters; release on file close.
> + */
> +static int seclvl_bd_claim(struct file *filp)
> {
> - int holder;
> struct block_device *bdev = NULL;
> - dev_t dev = inode->i_rdev;
> + dev_t dev = filp->f_dentry->d_inode->i_rdev;
> bdev = open_by_devnum(dev, FMODE_WRITE);
> if (bdev) {
> - if (bd_claim(bdev, &holder)) {
> + if (bd_claim(bdev, filp)) {
> blkdev_put(bdev);
> return -EPERM;
> }
> - /* claimed, mark it to release on close */
> - inode->i_security = current;
> + /* Claimed; mark it to release on close */
> + filp->f_security = filp;
> }
> return 0;
While we're at it this code is crap before and after your patch. There's absolutely
no point at all to use open_by_devnum if you already have an inode or file that you
can get the struct block_device from easily.
-
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]