Commit 7918f0f6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

block: opencode devcgroup_inode_permission



Just call devcgroup_check_permission to avoid various superflous checks
and a double conversion of the access flags.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarTejun Heo <tj@kernel.org>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 63d9932c
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -1520,15 +1520,13 @@ static int blkdev_get(struct block_device *bdev, fmode_t mode, void *holder)
	struct block_device *claiming;
	bool unblock_events = true;
	struct gendisk *disk;
	int perm = 0;
	int partno;
	int ret;

	if (mode & FMODE_READ)
		perm |= MAY_READ;
	if (mode & FMODE_WRITE)
		perm |= MAY_WRITE;
	ret = devcgroup_inode_permission(bdev->bd_inode, perm);
	ret = devcgroup_check_permission(DEVCG_DEV_BLOCK,
			imajor(bdev->bd_inode), iminor(bdev->bd_inode),
			((mode & FMODE_READ) ? DEVCG_ACC_READ : 0) |
			((mode & FMODE_WRITE) ? DEVCG_ACC_WRITE : 0));
	if (ret)
		goto bdput;