block/rnbd-clt: Get rid of warning regarding size argument in strlcpy
authorMd Haris Iqbal <haris.iqbal@cloud.ionos.com>
Thu, 10 Dec 2020 10:18:20 +0000 (11:18 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 16 Dec 2020 21:55:39 +0000 (14:55 -0700)
The kernel test robot triggerred the following warning,

>> drivers/block/rnbd/rnbd-clt.c:1397:42: warning: size argument in
'strlcpy' call appears to be size of the source; expected the size of the
destination [-Wstrlcpy-strlcat-size]
strlcpy(dev->pathname, pathname, strlen(pathname) + 1);
      ~~~~~~~^~~~~~~~~~~~~

To get rid of the above warning, use a kstrdup as Bart suggested.

Fixes: 64e8a6ece1a5 ("block/rnbd-clt: Dynamically alloc buffer for pathname & blk_symlink_name")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Md Haris Iqbal <haris.iqbal@cloud.ionos.com>
Signed-off-by: Jack Wang <jinpu.wang@cloud.ionos.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/rnbd/rnbd-clt.c

index a199b19..d63f097 100644 (file)
@@ -1388,12 +1388,11 @@ static struct rnbd_clt_dev *init_dev(struct rnbd_clt_session *sess,
                goto out_queues;
        }
 
-       dev->pathname = kzalloc(strlen(pathname) + 1, GFP_KERNEL);
+       dev->pathname = kstrdup(pathname, GFP_KERNEL);
        if (!dev->pathname) {
                ret = -ENOMEM;
                goto out_queues;
        }
-       strlcpy(dev->pathname, pathname, strlen(pathname) + 1);
 
        dev->clt_device_id      = ret;
        dev->sess               = sess;