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

From: kernel test robot
Date: Sat Mar 23 2024 - 11:09:14 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bfa8f18691ed2e978e4dd51190569c434f93e268
commit: f078d4ea827607867d42fb3b2ef907caf86ce49d xfs: convert kmem_alloc() to kmalloc()
date: 6 weeks ago
config: x86_64-randconfig-103-20240323 (https://download.01.org/0day-ci/archive/20240323/202403232305.aLpp8AlJ-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0

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/202403232305.aLpp8AlJ-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