Skip to content

Commit 571fae6

Browse files
Martijn Coenenaxboe
authored andcommitted
loop: Rework lo_ioctl() __user argument casting
In preparation for a new ioctl that needs to copy_from_user(); makes the code easier to read as well. Signed-off-by: Martijn Coenen <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent 62ab466 commit 571fae6

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

drivers/block/loop.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1634,6 +1634,7 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode,
16341634
unsigned int cmd, unsigned long arg)
16351635
{
16361636
struct loop_device *lo = bdev->bd_disk->private_data;
1637+
void __user *argp = (void __user *) arg;
16371638
int err;
16381639

16391640
switch (cmd) {
@@ -1646,21 +1647,19 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode,
16461647
case LOOP_SET_STATUS:
16471648
err = -EPERM;
16481649
if ((mode & FMODE_WRITE) || capable(CAP_SYS_ADMIN)) {
1649-
err = loop_set_status_old(lo,
1650-
(struct loop_info __user *)arg);
1650+
err = loop_set_status_old(lo, argp);
16511651
}
16521652
break;
16531653
case LOOP_GET_STATUS:
1654-
return loop_get_status_old(lo, (struct loop_info __user *) arg);
1654+
return loop_get_status_old(lo, argp);
16551655
case LOOP_SET_STATUS64:
16561656
err = -EPERM;
16571657
if ((mode & FMODE_WRITE) || capable(CAP_SYS_ADMIN)) {
1658-
err = loop_set_status64(lo,
1659-
(struct loop_info64 __user *) arg);
1658+
err = loop_set_status64(lo, argp);
16601659
}
16611660
break;
16621661
case LOOP_GET_STATUS64:
1663-
return loop_get_status64(lo, (struct loop_info64 __user *) arg);
1662+
return loop_get_status64(lo, argp);
16641663
case LOOP_SET_CAPACITY:
16651664
case LOOP_SET_DIRECT_IO:
16661665
case LOOP_SET_BLOCK_SIZE:

0 commit comments

Comments
 (0)