Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: David Howells <dhowells@redhat.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [dhowells-fs:netfs-next 35/50] fs/afs/symlink.c:97:7: warning: variable 'ret' is uninitialized when used here
Date: Sun, 03 May 2026 19:49:14 +0800	[thread overview]
Message-ID: <202605031901.PLq38ZSR-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-next
head:   2c55c7cf98847d593219ef29d3fedfd551d6f55f
commit: 25e721fd0e1f943f6dedd9c4d664bbeee8e1d21e [35/50] afs: Use a bvecq to hold dir content rather than folioq
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260503/202605031901.PLq38ZSR-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260503/202605031901.PLq38ZSR-lkp@intel.com/reproduce)

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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605031901.PLq38ZSR-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> fs/afs/symlink.c:97:7: warning: variable 'ret' is uninitialized when used here [-Wuninitialized]
      97 |                 if (ret < 0)
         |                     ^~~
   fs/afs/symlink.c:86:13: note: initialize the variable 'ret' to silence this warning
      86 |         ssize_t ret;
         |                    ^
         |                     = 0
   1 warning generated.


vim +/ret +97 fs/afs/symlink.c

ec065c80239311 David Howells 2026-04-27   78  
ec065c80239311 David Howells 2026-04-27   79  /*
ec065c80239311 David Howells 2026-04-27   80   * Read a symlink in a single download.
ec065c80239311 David Howells 2026-04-27   81   */
ec065c80239311 David Howells 2026-04-27   82  static ssize_t afs_do_read_symlink(struct afs_vnode *vnode)
ec065c80239311 David Howells 2026-04-27   83  {
ec065c80239311 David Howells 2026-04-27   84  	struct afs_symlink *symlink;
ec065c80239311 David Howells 2026-04-27   85  	struct iov_iter iter;
ec065c80239311 David Howells 2026-04-27   86  	ssize_t ret;
ec065c80239311 David Howells 2026-04-27   87  	loff_t i_size;
ec065c80239311 David Howells 2026-04-27   88  
ec065c80239311 David Howells 2026-04-27   89  	i_size = i_size_read(&vnode->netfs.inode);
ec065c80239311 David Howells 2026-04-27   90  	if (i_size > PAGE_SIZE - 1) {
ec065c80239311 David Howells 2026-04-27   91  		trace_afs_file_error(vnode, -EFBIG, afs_file_error_dir_big);
ec065c80239311 David Howells 2026-04-27   92  		return -EFBIG;
ec065c80239311 David Howells 2026-04-27   93  	}
ec065c80239311 David Howells 2026-04-27   94  
ec065c80239311 David Howells 2026-04-27   95  	if (!vnode->directory) {
25e721fd0e1f94 David Howells 2026-01-07   96  		vnode->directory = bvecq_alloc_buffer(PAGE_SIZE, 0, GFP_KERNEL);
ec065c80239311 David Howells 2026-04-27  @97  		if (ret < 0)
ec065c80239311 David Howells 2026-04-27   98  			return ret;
ec065c80239311 David Howells 2026-04-27   99  	}
ec065c80239311 David Howells 2026-04-27  100  
25e721fd0e1f94 David Howells 2026-01-07  101  	iov_iter_bvec_queue(&iter, ITER_DEST, vnode->directory, 0, 0, PAGE_SIZE);
ec065c80239311 David Howells 2026-04-27  102  
ec065c80239311 David Howells 2026-04-27  103  	/* AFS requires us to perform the read of a symlink as a single unit to
ec065c80239311 David Howells 2026-04-27  104  	 * avoid issues with the content being changed between reads.
ec065c80239311 David Howells 2026-04-27  105  	 */
ec065c80239311 David Howells 2026-04-27  106  	ret = netfs_read_single(&vnode->netfs.inode, NULL, &iter);
ec065c80239311 David Howells 2026-04-27  107  	if (ret >= 0) {
ec065c80239311 David Howells 2026-04-27  108  		i_size = ret;
ec065c80239311 David Howells 2026-04-27  109  		if (i_size > PAGE_SIZE - 1) {
ec065c80239311 David Howells 2026-04-27  110  			trace_afs_file_error(vnode, -EFBIG, afs_file_error_dir_big);
ec065c80239311 David Howells 2026-04-27  111  			return -EFBIG;
ec065c80239311 David Howells 2026-04-27  112  		}
ec065c80239311 David Howells 2026-04-27  113  		vnode->directory_size = i_size;
ec065c80239311 David Howells 2026-04-27  114  
ec065c80239311 David Howells 2026-04-27  115  		/* Copy the symlink. */
ec065c80239311 David Howells 2026-04-27  116  		symlink = kmalloc_flex(struct afs_symlink, content, i_size + 1,
ec065c80239311 David Howells 2026-04-27  117  				       GFP_KERNEL);
ec065c80239311 David Howells 2026-04-27  118  		if (!symlink)
ec065c80239311 David Howells 2026-04-27  119  			return -ENOMEM;
ec065c80239311 David Howells 2026-04-27  120  
ec065c80239311 David Howells 2026-04-27  121  		refcount_set(&symlink->ref, 1);
ec065c80239311 David Howells 2026-04-27  122  		symlink->content[i_size] = 0;
ec065c80239311 David Howells 2026-04-27  123  
25e721fd0e1f94 David Howells 2026-01-07  124  		const char *s = kmap_local_bvec(&vnode->directory->bv[0], 0);
ec065c80239311 David Howells 2026-04-27  125  
ec065c80239311 David Howells 2026-04-27  126  		memcpy(symlink->content, s, i_size);
ec065c80239311 David Howells 2026-04-27  127  		kunmap_local(s);
ec065c80239311 David Howells 2026-04-27  128  
ec065c80239311 David Howells 2026-04-27  129  		afs_replace_symlink(vnode, symlink);
ec065c80239311 David Howells 2026-04-27  130  	}
ec065c80239311 David Howells 2026-04-27  131  
ec065c80239311 David Howells 2026-04-27  132  	if (!fscache_cookie_enabled(netfs_i_cookie(&vnode->netfs))) {
25e721fd0e1f94 David Howells 2026-01-07  133  		bvecq_put(vnode->directory);
ec065c80239311 David Howells 2026-04-27  134  		vnode->directory = NULL;
ec065c80239311 David Howells 2026-04-27  135  		vnode->directory_size = 0;
ec065c80239311 David Howells 2026-04-27  136  	}
ec065c80239311 David Howells 2026-04-27  137  
ec065c80239311 David Howells 2026-04-27  138  	return ret;
ec065c80239311 David Howells 2026-04-27  139  }
ec065c80239311 David Howells 2026-04-27  140  

:::::: The code at line 97 was first introduced by commit
:::::: ec065c8023931168a4e590fda4b900860b2cdcb1 afs: Fix the locking used by afs_get_link()

:::::: TO: David Howells <dhowells@redhat.com>
:::::: CC: David Howells <dhowells@redhat.com>

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

                 reply	other threads:[~2026-05-03 11:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605031901.PLq38ZSR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dhowells@redhat.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox