fs/xfs/libxfs/xfs_dir2.c:336:15-22: WARNING opportunity for kmemdup

From: kernel test robot
Date: Wed Dec 25 2024 - 15:22:10 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9b2ffa6148b1e4468d08f7e0e7e371c43cac9ffe
commit: f078d4ea827607867d42fb3b2ef907caf86ce49d xfs: convert kmem_alloc() to kmalloc()
date: 11 months ago
config: hexagon-randconfig-r064-20241225 (https://download.01.org/0day-ci/archive/20241226/202412260425.O3CDUhIi-lkp@xxxxxxxxx/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 9daf10ff8f29ba3a88a105aaa9d2379c21b77d35)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412260425.O3CDUhIi-lkp@xxxxxxxxx/

cocci warnings: (new ones prefixed by >>)
>> fs/xfs/libxfs/xfs_dir2.c:336:15-22: WARNING opportunity for kmemdup

vim +336 fs/xfs/libxfs/xfs_dir2.c

319
320 /*
321 * If doing a CI lookup and case-insensitive match, dup actual name into
322 * args.value. Return EEXIST for success (ie. name found) or an error.
323 */
324 int
325 xfs_dir_cilookup_result(
326 struct xfs_da_args *args,
327 const unsigned char *name,
328 int len)
329 {
330 if (args->cmpresult == XFS_CMP_DIFFERENT)
331 return -ENOENT;
332 if (args->cmpresult != XFS_CMP_CASE ||
333 !(args->op_flags & XFS_DA_OP_CILOOKUP))
334 return -EEXIST;
335
> 336 args->value = kmalloc(len, GFP_NOFS | __GFP_RETRY_MAYFAIL);
337 if (!args->value)
338 return -ENOMEM;
339
340 memcpy(args->value, name, len);
341 args->valuelen = len;
342 return -EEXIST;
343 }
344

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki