diff options
author | Ruan Jinjie <ruanjinjie@huawei.com> | 2023-08-15 14:48:14 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-08-15 19:06:54 +0300 |
commit | 66a6a5d0ec852eaced589da066376e69397cd71e (patch) | |
tree | 250e4720df61365612d4364e99962238864e9b92 /drivers/block/ublk_drv.c | |
parent | c7b4b23b36edf32239e7fc3b922797ff1d32b072 (diff) | |
download | linux-66a6a5d0ec852eaced589da066376e69397cd71e.tar.xz |
ublk: Switch to memdup_user_nul() helper
Use memdup_user_nul() helper instead of open-coding
to simplify the code.
Signed-off-by: Ruan Jinjie <ruanjinjie@huawei.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20230815114815.1551171-1-ruanjinjie@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/ublk_drv.c')
-rw-r--r-- | drivers/block/ublk_drv.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c index e85e075b5bce..6ecd728ee5ce 100644 --- a/drivers/block/ublk_drv.c +++ b/drivers/block/ublk_drv.c @@ -2742,14 +2742,9 @@ static int ublk_ctrl_uring_cmd_permission(struct ublk_device *ub, if (header->len < header->dev_path_len) return -EINVAL; - dev_path = kmalloc(header->dev_path_len + 1, GFP_KERNEL); - if (!dev_path) - return -ENOMEM; - - ret = -EFAULT; - if (copy_from_user(dev_path, argp, header->dev_path_len)) - goto exit; - dev_path[header->dev_path_len] = 0; + dev_path = memdup_user_nul(argp, header->dev_path_len); + if (IS_ERR(dev_path)) + return PTR_ERR(dev_path); ret = -EINVAL; switch (_IOC_NR(cmd->cmd_op)) { |