Hi Ming, kernel test robot noticed the following build warnings: [auto build test WARNING on axboe-block/for-next] [also build test WARNING on linus/master v6.14-rc5 next-20250307] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ming-Lei/loop-remove-rw-parameter-from-lo_rw_aio/20250309-002548 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20250308162312.1640828-2-ming.lei%40redhat.com patch subject: [RESEND PATCH 1/5] loop: remove 'rw' parameter from lo_rw_aio() config: arm-randconfig-001-20250309 (https://download.01.org/0day-ci/archive/20250309/202503091516.7U64QwvF-lkp@xxxxxxxxx/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project e15545cad8297ec7555f26e5ae74a9f0511203e7) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250309/202503091516.7U64QwvF-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202503091516.7U64QwvF-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/block/loop.c:250:3: warning: variable 'ret' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] 250 | rq_for_each_segment(bvec, rq, iter) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/blk-mq.h:1043:2: note: expanded from macro 'rq_for_each_segment' 1043 | __rq_for_each_bio(_iter.bio, _rq) \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/blk-mq.h:1039:6: note: expanded from macro '__rq_for_each_bio' 1039 | if ((rq->bio)) \ | ^~~~~~~~~ drivers/block/loop.c:256:10: note: uninitialized use occurs here 256 | return ret; | ^~~ drivers/block/loop.c:250:3: note: remove the 'if' if its condition is always true 250 | rq_for_each_segment(bvec, rq, iter) { | ^ include/linux/blk-mq.h:1043:2: note: expanded from macro 'rq_for_each_segment' 1043 | __rq_for_each_bio(_iter.bio, _rq) \ | ^ include/linux/blk-mq.h:1039:2: note: expanded from macro '__rq_for_each_bio' 1039 | if ((rq->bio)) \ | ^ drivers/block/loop.c:248:10: note: initialize the variable 'ret' to silence this warning 248 | int ret; | ^ | = 0 1 warning generated. vim +250 drivers/block/loop.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 239 e1d39dbf4716cd Ming Lei 2025-03-09 240 static int lo_rw_simple(struct loop_device *lo, struct request *rq, loff_t pos) ^1da177e4c3f41 Linus Torvalds 2005-04-16 241 { aa4d86163e4e91 Christoph Hellwig 2015-04-07 242 struct bio_vec bvec; aa4d86163e4e91 Christoph Hellwig 2015-04-07 243 struct req_iterator iter; e1d39dbf4716cd Ming Lei 2025-03-09 244 struct iov_iter i; e1d39dbf4716cd Ming Lei 2025-03-09 245 ssize_t len; e1d39dbf4716cd Ming Lei 2025-03-09 246 e1d39dbf4716cd Ming Lei 2025-03-09 247 if (req_op(rq) == REQ_OP_WRITE) { e1d39dbf4716cd Ming Lei 2025-03-09 248 int ret; aa4d86163e4e91 Christoph Hellwig 2015-04-07 249 aa4d86163e4e91 Christoph Hellwig 2015-04-07 @250 rq_for_each_segment(bvec, rq, iter) { aa4d86163e4e91 Christoph Hellwig 2015-04-07 251 ret = lo_write_bvec(lo->lo_backing_file, &bvec, &pos); aa4d86163e4e91 Christoph Hellwig 2015-04-07 252 if (ret < 0) aa4d86163e4e91 Christoph Hellwig 2015-04-07 253 break; ^1da177e4c3f41 Linus Torvalds 2005-04-16 254 cond_resched(); ^1da177e4c3f41 Linus Torvalds 2005-04-16 255 } aa4d86163e4e91 Christoph Hellwig 2015-04-07 256 return ret; aa4d86163e4e91 Christoph Hellwig 2015-04-07 257 } aa4d86163e4e91 Christoph Hellwig 2015-04-07 258 aa4d86163e4e91 Christoph Hellwig 2015-04-07 259 rq_for_each_segment(bvec, rq, iter) { de4eda9de2d957 Al Viro 2022-09-15 260 iov_iter_bvec(&i, ITER_DEST, &bvec, 1, bvec.bv_len); 18e9710ee59ce3 Christoph Hellwig 2017-05-27 261 len = vfs_iter_read(lo->lo_backing_file, &i, &pos, 0); aa4d86163e4e91 Christoph Hellwig 2015-04-07 262 if (len < 0) aa4d86163e4e91 Christoph Hellwig 2015-04-07 263 return len; aa4d86163e4e91 Christoph Hellwig 2015-04-07 264 aa4d86163e4e91 Christoph Hellwig 2015-04-07 265 flush_dcache_page(bvec.bv_page); ^1da177e4c3f41 Linus Torvalds 2005-04-16 266 aa4d86163e4e91 Christoph Hellwig 2015-04-07 267 if (len != bvec.bv_len) { aa4d86163e4e91 Christoph Hellwig 2015-04-07 268 struct bio *bio; fd5821404e6823 Jens Axboe 2007-06-12 269 aa4d86163e4e91 Christoph Hellwig 2015-04-07 270 __rq_for_each_bio(bio, rq) aa4d86163e4e91 Christoph Hellwig 2015-04-07 271 zero_fill_bio(bio); aa4d86163e4e91 Christoph Hellwig 2015-04-07 272 break; aa4d86163e4e91 Christoph Hellwig 2015-04-07 273 } aa4d86163e4e91 Christoph Hellwig 2015-04-07 274 cond_resched(); ^1da177e4c3f41 Linus Torvalds 2005-04-16 275 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 276 aa4d86163e4e91 Christoph Hellwig 2015-04-07 277 return 0; fd5821404e6823 Jens Axboe 2007-06-12 278 } fd5821404e6823 Jens Axboe 2007-06-12 279 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki