mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* fs/ocfs2/xattr.c:643:5-8: Unneeded variable: "ret". Return "0" on line 665
@ 2026-09-03 18:10 kernel test robot
  2026-09-07 13:22 ` [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init() Krystian Kaniewski
  0 siblings, 1 reply; 4+ messages in thread
From: kernel test robot @ 2026-09-03 18:10 UTC (permalink / raw)
  To: Krystian Kaniewski
  Cc: oe-kbuild-all, linux-kernel, Andrew Morton,
	Linux Memory Management List, Joseph Qi

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   8ab1afb2eb246ab15b301cd255b5943d208a93c1
commit: bd7c05fb4a4776dff5a87b19008d28458647d15d ocfs2: fix circular locking dependency in ocfs2_init_acl()
date:   3 weeks ago
config: riscv-randconfig-r052-20260903 (https://download.01.org/0day-ci/archive/20260904/202609040247.8B3lmoqX-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 8.5.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
| Fixes: bd7c05fb4a47 ("ocfs2: fix circular locking dependency in ocfs2_init_acl()")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609040247.8B3lmoqX-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> fs/ocfs2/xattr.c:643:5-8: Unneeded variable: "ret". Return "0" on line 665

vim +643 fs/ocfs2/xattr.c

534eadddc1de87 Tiger Yang         2008-11-14  637  
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  638  int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
89c38bd0ade3c5 Tiger Yang         2008-11-14  639  			  struct ocfs2_security_xattr_info *si,
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  640  			  int *want_clusters, int *xattr_credits,
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  641  			  int *want_meta, struct ocfs2_acl_state *acl_state)
89c38bd0ade3c5 Tiger Yang         2008-11-14  642  {
89c38bd0ade3c5 Tiger Yang         2008-11-14 @643  	int ret = 0;
89c38bd0ade3c5 Tiger Yang         2008-11-14  644  	struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
0e445b6fe93c72 Tiger Yang         2008-12-09  645  	int s_size = 0, a_size = 0, acl_len = 0, new_clusters;
89c38bd0ade3c5 Tiger Yang         2008-11-14  646  
89c38bd0ade3c5 Tiger Yang         2008-11-14  647  	if (si->enable)
89c38bd0ade3c5 Tiger Yang         2008-11-14  648  		s_size = ocfs2_xattr_entry_real_size(strlen(si->name),
89c38bd0ade3c5 Tiger Yang         2008-11-14  649  						     si->value_len);
89c38bd0ade3c5 Tiger Yang         2008-11-14  650  
89c38bd0ade3c5 Tiger Yang         2008-11-14  651  	if (osb->s_mount_opt & OCFS2_MOUNT_POSIX_ACL) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  652  		if (acl_state->default_acl && S_ISDIR(mode)) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  653  			acl_len = acl_state->default_acl->a_count *
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  654  				  sizeof(struct ocfs2_acl_entry);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  655  			a_size += ocfs2_xattr_entry_real_size(0, acl_len);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  656  		}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  657  		if (acl_state->acl) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  658  			acl_len = acl_state->acl->a_count *
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  659  				  sizeof(struct ocfs2_acl_entry);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  660  			a_size += ocfs2_xattr_entry_real_size(0, acl_len);
89c38bd0ade3c5 Tiger Yang         2008-11-14  661  		}
89c38bd0ade3c5 Tiger Yang         2008-11-14  662  	}
89c38bd0ade3c5 Tiger Yang         2008-11-14  663  
89c38bd0ade3c5 Tiger Yang         2008-11-14  664  	if (!(s_size + a_size))
89c38bd0ade3c5 Tiger Yang         2008-11-14 @665  		return ret;
89c38bd0ade3c5 Tiger Yang         2008-11-14  666  
89c38bd0ade3c5 Tiger Yang         2008-11-14  667  	/*
89c38bd0ade3c5 Tiger Yang         2008-11-14  668  	 * The max space of security xattr taken inline is
89c38bd0ade3c5 Tiger Yang         2008-11-14  669  	 * 256(name) + 80(value) + 16(entry) = 352 bytes,
89c38bd0ade3c5 Tiger Yang         2008-11-14  670  	 * The max space of acl xattr taken inline is
89c38bd0ade3c5 Tiger Yang         2008-11-14  671  	 * 80(value) + 16(entry) * 2(if directory) = 192 bytes,
a0f8a9a9636e19 Dmitry Antipov     2024-11-15  672  	 * when blocksize = 512, may reserve one more cluster for
89c38bd0ade3c5 Tiger Yang         2008-11-14  673  	 * xattr bucket, otherwise reserve one metadata block
89c38bd0ade3c5 Tiger Yang         2008-11-14  674  	 * for them is ok.
6c9fd1dc0a597e Tiger Yang         2009-03-06  675  	 * If this is a new directory with inline data,
6c9fd1dc0a597e Tiger Yang         2009-03-06  676  	 * we choose to reserve the entire inline area for
6c9fd1dc0a597e Tiger Yang         2009-03-06  677  	 * directory contents and force an external xattr block.
89c38bd0ade3c5 Tiger Yang         2008-11-14  678  	 */
89c38bd0ade3c5 Tiger Yang         2008-11-14  679  	if (dir->i_sb->s_blocksize == OCFS2_MIN_BLOCKSIZE ||
6c9fd1dc0a597e Tiger Yang         2009-03-06  680  	    (S_ISDIR(mode) && ocfs2_supports_inline_data(osb)) ||
89c38bd0ade3c5 Tiger Yang         2008-11-14  681  	    (s_size + a_size) > OCFS2_XATTR_FREE_IN_IBODY) {
9b7895efac906d Mark Fasheh        2008-11-12  682  		*want_meta = *want_meta + 1;
89c38bd0ade3c5 Tiger Yang         2008-11-14  683  		*xattr_credits += OCFS2_XATTR_BLOCK_CREATE_CREDITS;
89c38bd0ade3c5 Tiger Yang         2008-11-14  684  	}
89c38bd0ade3c5 Tiger Yang         2008-11-14  685  
89c38bd0ade3c5 Tiger Yang         2008-11-14  686  	if (dir->i_sb->s_blocksize == OCFS2_MIN_BLOCKSIZE &&
89c38bd0ade3c5 Tiger Yang         2008-11-14  687  	    (s_size + a_size) > OCFS2_XATTR_FREE_IN_BLOCK(dir)) {
89c38bd0ade3c5 Tiger Yang         2008-11-14  688  		*want_clusters += 1;
89c38bd0ade3c5 Tiger Yang         2008-11-14  689  		*xattr_credits += ocfs2_blocks_per_xattr_bucket(dir->i_sb);
89c38bd0ade3c5 Tiger Yang         2008-11-14  690  	}
89c38bd0ade3c5 Tiger Yang         2008-11-14  691  
0e445b6fe93c72 Tiger Yang         2008-12-09  692  	/*
0e445b6fe93c72 Tiger Yang         2008-12-09  693  	 * reserve credits and clusters for xattrs which has large value
0e445b6fe93c72 Tiger Yang         2008-12-09  694  	 * and have to be set outside
0e445b6fe93c72 Tiger Yang         2008-12-09  695  	 */
0e445b6fe93c72 Tiger Yang         2008-12-09  696  	if (si->enable && si->value_len > OCFS2_XATTR_INLINE_SIZE) {
0e445b6fe93c72 Tiger Yang         2008-12-09  697  		new_clusters = ocfs2_clusters_for_bytes(dir->i_sb,
89c38bd0ade3c5 Tiger Yang         2008-11-14  698  							si->value_len);
0e445b6fe93c72 Tiger Yang         2008-12-09  699  		*xattr_credits += ocfs2_clusters_to_blocks(dir->i_sb,
0e445b6fe93c72 Tiger Yang         2008-12-09  700  							   new_clusters);
0e445b6fe93c72 Tiger Yang         2008-12-09  701  		*want_clusters += new_clusters;
0e445b6fe93c72 Tiger Yang         2008-12-09  702  	}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  703  	if (osb->s_mount_opt & OCFS2_MOUNT_POSIX_ACL) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  704  		if (acl_state->default_acl && S_ISDIR(mode)) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  705  			acl_len = acl_state->default_acl->a_count *
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  706  				  sizeof(struct ocfs2_acl_entry);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  707  			if (acl_len > OCFS2_XATTR_INLINE_SIZE) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  708  				new_clusters =
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  709  					ocfs2_clusters_for_bytes(dir->i_sb,
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  710  								 acl_len);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  711  				*xattr_credits +=
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  712  					ocfs2_clusters_to_blocks(dir->i_sb,
0e445b6fe93c72 Tiger Yang         2008-12-09  713  								 new_clusters);
0e445b6fe93c72 Tiger Yang         2008-12-09  714  				*want_clusters += new_clusters;
89c38bd0ade3c5 Tiger Yang         2008-11-14  715  			}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  716  		}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  717  		if (acl_state->acl) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  718  			acl_len = acl_state->acl->a_count *
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  719  				  sizeof(struct ocfs2_acl_entry);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  720  			if (acl_len > OCFS2_XATTR_INLINE_SIZE) {
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  721  				new_clusters =
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  722  					ocfs2_clusters_for_bytes(dir->i_sb,
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  723  								 acl_len);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  724  				*xattr_credits +=
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  725  					ocfs2_clusters_to_blocks(dir->i_sb,
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  726  								 new_clusters);
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  727  				*want_clusters += new_clusters;
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  728  			}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  729  		}
bd7c05fb4a4776 Krystian Kaniewski 2026-07-30  730  	}
89c38bd0ade3c5 Tiger Yang         2008-11-14  731  
89c38bd0ade3c5 Tiger Yang         2008-11-14  732  	return ret;
89c38bd0ade3c5 Tiger Yang         2008-11-14  733  }
89c38bd0ade3c5 Tiger Yang         2008-11-14  734  

:::::: The code at line 643 was first introduced by commit
:::::: 89c38bd0ade3c567707ed8fce088b253b0369c50 ocfs2: add ocfs2_init_acl in mknod

:::::: TO: Tiger Yang <tiger.yang@oracle.com>
:::::: CC: Mark Fasheh <mfasheh@suse.com>

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init()
  2026-09-03 18:10 fs/ocfs2/xattr.c:643:5-8: Unneeded variable: "ret". Return "0" on line 665 kernel test robot
@ 2026-09-07 13:22 ` Krystian Kaniewski
  2026-09-08  1:23   ` Joseph Qi
  0 siblings, 1 reply; 4+ messages in thread
From: Krystian Kaniewski @ 2026-09-07 13:22 UTC (permalink / raw)
  To: Mark Fasheh, Joel Becker, Joseph Qi, Andrew Morton
  Cc: kernel test robot, oe-kbuild-all, ocfs2-devel, linux-kernel,
	Linux Memory Management List

Commit bd7c05fb4a47 ("ocfs2: fix circular locking dependency in
ocfs2_init_acl()") removed the only code that could change ret in
ocfs2_calc_xattr_init(). The variable is now always zero, so remove it
and return zero directly.

This fixes the reported Coccinelle warning without changing behavior.

Fixes: bd7c05fb4a47 ("ocfs2: fix circular locking dependency in ocfs2_init_acl()")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202609040247.8B3lmoqX-lkp@intel.com/
Signed-off-by: Krystian Kaniewski <krystianmkaniewski@gmail.com>
---
 fs/ocfs2/xattr.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
index 35bcbb0ff607..ab3b645983c9 100644
--- a/fs/ocfs2/xattr.c
+++ b/fs/ocfs2/xattr.c
@@ -640,7 +640,6 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
 			  int *want_clusters, int *xattr_credits,
 			  int *want_meta, struct ocfs2_acl_state *acl_state)
 {
-	int ret = 0;
 	struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
 	int s_size = 0, a_size = 0, acl_len = 0, new_clusters;
 
@@ -662,7 +661,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
 	}
 
 	if (!(s_size + a_size))
-		return ret;
+		return 0;
 
 	/*
 	 * The max space of security xattr taken inline is
@@ -729,7 +728,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
 		}
 	}
 
-	return ret;
+	return 0;
 }
 
 static int ocfs2_xattr_extend_allocation(struct inode *inode,

base-commit: bc35965f6940a9bf834d54187b6088b8eb09206d
-- 
2.53.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init()
  2026-09-07 13:22 ` [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init() Krystian Kaniewski
@ 2026-09-08  1:23   ` Joseph Qi
  2026-09-08  8:32     ` Krystian Kaniewski
  0 siblings, 1 reply; 4+ messages in thread
From: Joseph Qi @ 2026-09-08  1:23 UTC (permalink / raw)
  To: Krystian Kaniewski
  Cc: Mark Fasheh, Joel Becker, Andrew Morton, kernel test robot,
	oe-kbuild-all, ocfs2-devel, linux-kernel,
	Linux Memory Management List

Hi,
This has already been addressed by:
ed57836ff300 ocfs2: make ocfs2_calc_xattr_init() return void

Thanks,
Joseph

On 9/7/26 9:22 PM, Krystian Kaniewski wrote:
> Commit bd7c05fb4a47 ("ocfs2: fix circular locking dependency in
> ocfs2_init_acl()") removed the only code that could change ret in
> ocfs2_calc_xattr_init(). The variable is now always zero, so remove it
> and return zero directly.
> 
> This fixes the reported Coccinelle warning without changing behavior.
> 
> Fixes: bd7c05fb4a47 ("ocfs2: fix circular locking dependency in ocfs2_init_acl()")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202609040247.8B3lmoqX-lkp@intel.com/
> Signed-off-by: Krystian Kaniewski <krystianmkaniewski@gmail.com>
> ---
>  fs/ocfs2/xattr.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
> index 35bcbb0ff607..ab3b645983c9 100644
> --- a/fs/ocfs2/xattr.c
> +++ b/fs/ocfs2/xattr.c
> @@ -640,7 +640,6 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>  			  int *want_clusters, int *xattr_credits,
>  			  int *want_meta, struct ocfs2_acl_state *acl_state)
>  {
> -	int ret = 0;
>  	struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
>  	int s_size = 0, a_size = 0, acl_len = 0, new_clusters;
>  
> @@ -662,7 +661,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>  	}
>  
>  	if (!(s_size + a_size))
> -		return ret;
> +		return 0;
>  
>  	/*
>  	 * The max space of security xattr taken inline is
> @@ -729,7 +728,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>  		}
>  	}
>  
> -	return ret;
> +	return 0;
>  }
>  
>  static int ocfs2_xattr_extend_allocation(struct inode *inode,
> 
> base-commit: bc35965f6940a9bf834d54187b6088b8eb09206d


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init()
  2026-09-08  1:23   ` Joseph Qi
@ 2026-09-08  8:32     ` Krystian Kaniewski
  0 siblings, 0 replies; 4+ messages in thread
From: Krystian Kaniewski @ 2026-09-08  8:32 UTC (permalink / raw)
  To: Joseph Qi
  Cc: Mark Fasheh, Joel Becker, Andrew Morton, kernel test robot,
	oe-kbuild-all, ocfs2-devel, linux-kernel,
	Linux Memory Management List

Hey Joseph,

Thanks for letting me know and let's drop this patch then. I've just 
received an email a few days ago after my patch was applied to upstream 
Linux and there was this finding, however I didn't expect it's already 
addressed.

On 9/8/2026 3:23 AM, Joseph Qi wrote:
> Hi,
> This has already been addressed by:
> ed57836ff300 ocfs2: make ocfs2_calc_xattr_init() return void
>
> Thanks,
> Joseph
>
> On 9/7/26 9:22 PM, Krystian Kaniewski wrote:
>> Commit bd7c05fb4a47 ("ocfs2: fix circular locking dependency in
>> ocfs2_init_acl()") removed the only code that could change ret in
>> ocfs2_calc_xattr_init(). The variable is now always zero, so remove it
>> and return zero directly.
>>
>> This fixes the reported Coccinelle warning without changing behavior.
>>
>> Fixes: bd7c05fb4a47 ("ocfs2: fix circular locking dependency in ocfs2_init_acl()")
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202609040247.8B3lmoqX-lkp@intel.com/
>> Signed-off-by: Krystian Kaniewski <krystianmkaniewski@gmail.com>
>> ---
>>   fs/ocfs2/xattr.c | 5 ++---
>>   1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
>> index 35bcbb0ff607..ab3b645983c9 100644
>> --- a/fs/ocfs2/xattr.c
>> +++ b/fs/ocfs2/xattr.c
>> @@ -640,7 +640,6 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>>   			  int *want_clusters, int *xattr_credits,
>>   			  int *want_meta, struct ocfs2_acl_state *acl_state)
>>   {
>> -	int ret = 0;
>>   	struct ocfs2_super *osb = OCFS2_SB(dir->i_sb);
>>   	int s_size = 0, a_size = 0, acl_len = 0, new_clusters;
>>   
>> @@ -662,7 +661,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>>   	}
>>   
>>   	if (!(s_size + a_size))
>> -		return ret;
>> +		return 0;
>>   
>>   	/*
>>   	 * The max space of security xattr taken inline is
>> @@ -729,7 +728,7 @@ int ocfs2_calc_xattr_init(struct inode *dir, umode_t mode,
>>   		}
>>   	}
>>   
>> -	return ret;
>> +	return 0;
>>   }
>>   
>>   static int ocfs2_xattr_extend_allocation(struct inode *inode,
>>
>> base-commit: bc35965f6940a9bf834d54187b6088b8eb09206d

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-08  8:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-03 18:10 fs/ocfs2/xattr.c:643:5-8: Unneeded variable: "ret". Return "0" on line 665 kernel test robot
2026-09-07 13:22 ` [PATCH] ocfs2: remove unnecessary ret variable in ocfs2_calc_xattr_init() Krystian Kaniewski
2026-09-08  1:23   ` Joseph Qi
2026-09-08  8:32     ` Krystian Kaniewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®