All of lore.kernel.org
 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-crypt 61/68] fs/netfs/direct_read.c:86:20: warning: variable 'len' is uninitialized when used here
Date: Sun, 03 May 2026 23:55:58 +0800	[thread overview]
Message-ID: <202605032336.npxYVN3G-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-crypt
head:   390dd59a3747b71c4dcff11b2cc5240385cbfedf
commit: f4bb7e2028c1ca4880ac08cbba94ccac225eb695 [61/68] netfs: Implement bounce-buffering for unbuffered/DIO read
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260503/202605032336.npxYVN3G-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/202605032336.npxYVN3G-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/202605032336.npxYVN3G-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> fs/netfs/direct_read.c:86:20: warning: variable 'len' is uninitialized when used here [-Wuninitialized]
      86 |                 len = round_down(len, rreq->crypto_bsize);
         |                                  ^~~
   include/linux/math.h:35:28: note: expanded from macro 'round_down'
      35 | #define round_down(x, y) ((x) & ~__round_mask(x, y))
         |                            ^
   fs/netfs/direct_read.c:74:12: note: initialize the variable 'len' to silence this warning
      74 |         size_t len;
         |                   ^
         |                    = 0
   1 warning generated.


vim +/len +86 fs/netfs/direct_read.c

    64	
    65	/*
    66	 * Prepare the buffer for the read RPC.  Limits are applied and the buffer may
    67	 * be rounded down.  Bounce bufferage will be added if necessary.
    68	 */
    69	int netfs_prepare_unbuffered_read_buffer(struct netfs_io_subrequest *subreq,
    70						 unsigned int max_segs)
    71	{
    72		struct netfs_io_request *rreq = subreq->rreq;
    73		struct netfs_io_stream *stream = &rreq->io_streams[0];
    74		size_t len;
    75		int ret;
    76	
    77		bvecq_pos_set(&subreq->dispatch_pos, &stream->dispatch_cursor);
    78		bvecq_pos_set(&subreq->content, &stream->dispatch_cursor);
    79	
    80		/* Limit encrypted reads so that we don't split an encryption block
    81		 * across two subrequests unless the filesystem doesn't support blocks
    82		 * that big.
    83		 */
    84		if (subreq->len > rreq->crypto_bsize &&
    85		    test_bit(NETFS_RREQ_CONTENT_ENCRYPTION, &rreq->flags)) {
  > 86			len = round_down(len, rreq->crypto_bsize);
    87			if (WARN_ON_ONCE(len == 0))
    88				return -EIO;
    89		}
    90	
    91		/* Expand the bounce buffer so that we've got something to read into. */
    92		if (test_bit(NETFS_RREQ_USE_BOUNCE_BUFFER, &rreq->flags)) {
    93			ret = bvecq_buffer_add_space(&rreq->bounce_cursor,
    94						     &rreq->bounce_alloc_to,
    95						     subreq->start + subreq->len,
    96						     round_up(rreq->start + rreq->len,
    97							      rreq->crypto_bsize),
    98						     false, GFP_KERNEL);
    99			if (ret < 0)
   100				return ret;
   101		}
   102	
   103		len = bvecq_slice(&stream->dispatch_cursor, subreq->len, max_segs,
   104				  &subreq->nr_segs);
   105	
   106		if (len < subreq->len) {
   107			subreq->len = len;
   108			trace_netfs_sreq(subreq, netfs_sreq_trace_limited);
   109		}
   110	
   111		stream->buffered   -= subreq->len;
   112		stream->issue_from += subreq->len;
   113		rreq->submitted = stream->issue_from;
   114	
   115		if (stream->buffered == 0)
   116			netfs_all_subreqs_queued(rreq);
   117		return 0;
   118	}
   119	

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

             reply	other threads:[~2026-05-03 15:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-03 15:55 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-05-02 19:56 [dhowells-fs:netfs-crypt 61/68] fs/netfs/direct_read.c:86:20: warning: variable 'len' is uninitialized when used here kernel test robot

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=202605032336.npxYVN3G-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.