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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 23, 2024 at 11:08:59PM +0800, kernel test robot wrote:
> 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

It occurred to me that this message isn't about a stray kmemdup that
could cause a WARN() message to get logged or anything like that; it's a
notice that we could collapse lines 336 and 340 into:

	args->value = kmemdup(name, len, GFP_NOFS | __GFP_RETRY_MAYFAIL);

Anyone want to tackle that?

There's a second one you could tackle too:
https://lore.kernel.org/oe-kbuild-all/202403210204.LPPBJMhf-lkp@xxxxxxxxx/T/#u

--D

> 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




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux