Skip to content

Commit 7918f0f

Browse files
Christoph Hellwigaxboe
authored andcommitted
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: Christoph Hellwig <[email protected]> Acked-by: Tejun Heo <[email protected]> Reviewed-by: Jan Kara <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent 63d9932 commit 7918f0f

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

fs/block_dev.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,15 +1520,13 @@ static int blkdev_get(struct block_device *bdev, fmode_t mode, void *holder)
15201520
struct block_device *claiming;
15211521
bool unblock_events = true;
15221522
struct gendisk *disk;
1523-
int perm = 0;
15241523
int partno;
15251524
int ret;
15261525

1527-
if (mode & FMODE_READ)
1528-
perm |= MAY_READ;
1529-
if (mode & FMODE_WRITE)
1530-
perm |= MAY_WRITE;
1531-
ret = devcgroup_inode_permission(bdev->bd_inode, perm);
1526+
ret = devcgroup_check_permission(DEVCG_DEV_BLOCK,
1527+
imajor(bdev->bd_inode), iminor(bdev->bd_inode),
1528+
((mode & FMODE_READ) ? DEVCG_ACC_READ : 0) |
1529+
((mode & FMODE_WRITE) ? DEVCG_ACC_WRITE : 0));
15321530
if (ret)
15331531
goto bdput;
15341532

0 commit comments

Comments
 (0)