Hi Nitesh,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on next-20220208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Nitesh-Shetty/block-make-bio_map_kern-non-static/20220207-231407
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git 
for-next
config: i386-randconfig-c001 
(https://download.01.org/0day-ci/archive/20220209/202202091048.qdqvi6ab-...@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


cocci warnings: (new ones prefixed by >>)
>> block/ioctl.c:145:10-17: WARNING opportunity for memdup_user

vim +145 block/ioctl.c

   126  
   127  static int blk_ioctl_copy(struct block_device *bdev, fmode_t mode,
   128                  unsigned long arg)
   129  {
   130          struct copy_range crange, *ranges;
   131          size_t payload_size = 0;
   132          int ret;
   133  
   134          if (!(mode & FMODE_WRITE))
   135                  return -EBADF;
   136  
   137          if (copy_from_user(&crange, (void __user *)arg, sizeof(crange)))
   138                  return -EFAULT;
   139  
   140          if (unlikely(!crange.nr_range || crange.reserved || 
crange.nr_range >= MAX_COPY_NR_RANGE))
   141                  return -EINVAL;
   142  
   143          payload_size = (crange.nr_range * sizeof(struct range_entry)) + 
sizeof(crange);
   144  
 > 145          ranges = kmalloc(payload_size, GFP_KERNEL);
   146          if (!ranges)
   147                  return -ENOMEM;
   148  
   149          if (copy_from_user(ranges, (void __user *)arg, payload_size)) {
   150                  ret = -EFAULT;
   151                  goto out;
   152          }
   153  
   154          ret = blkdev_issue_copy(bdev, ranges->nr_range, 
ranges->range_list, bdev, GFP_KERNEL, 0);
   155          if (copy_to_user((void __user *)arg, ranges, payload_size))
   156                  ret = -EFAULT;
   157  out:
   158          kfree(ranges);
   159          return ret;
   160  }
   161  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to