Use the new extensible_ioctl_valid() helper which is equivalent to what
is done here.

Reviewed-by: Jens Axboe <[email protected]>
Reviewed-by: Jan Kara <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>
---
 block/blk-integrity.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/block/blk-integrity.c b/block/blk-integrity.c
index 056b8948369d..609d75d6a39b 100644
--- a/block/blk-integrity.c
+++ b/block/blk-integrity.c
@@ -58,16 +58,14 @@ int blk_rq_count_integrity_sg(struct request_queue *q, 
struct bio *bio)
 int blk_get_meta_cap(struct block_device *bdev, unsigned int cmd,
                     struct logical_block_metadata_cap __user *argp)
 {
-       struct blk_integrity *bi = blk_get_integrity(bdev->bd_disk);
+       struct blk_integrity *bi;
        struct logical_block_metadata_cap meta_cap = {};
        size_t usize = _IOC_SIZE(cmd);
 
-       if (_IOC_DIR(cmd)  != _IOC_DIR(FS_IOC_GETLBMD_CAP) ||
-           _IOC_TYPE(cmd) != _IOC_TYPE(FS_IOC_GETLBMD_CAP) ||
-           _IOC_NR(cmd)   != _IOC_NR(FS_IOC_GETLBMD_CAP) ||
-           _IOC_SIZE(cmd) < LBMD_SIZE_VER0)
+       if (extensible_ioctl_valid(cmd, FS_IOC_GETLBMD_CAP, LBMD_SIZE_VER0))
                return -ENOIOCTLCMD;
 
+       bi = blk_get_integrity(bdev->bd_disk);
        if (!bi)
                goto out;
 

-- 
2.47.3


Reply via email to