Re: [patch 2/7] BSD Secure Levels: move bd claim from inode to filp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux