All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [android-common:android12-5.4 1/1] block/blk-core.c:1664 blk_rq_prep_clone() error: uninitialized symbol 'bio'.
Date: Tue, 29 Apr 2025 11:07:38 +0800	[thread overview]
Message-ID: <202504291009.fidDXFaU-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: cros-kernel-buildreports@googlegroups.com

tree:   https://android.googlesource.com/kernel/common android12-5.4
head:   cd8e74fa0fa3de9f66c12c5c2c2868442d2f6728
commit: e08dcf9e2d01fdb05d812f6795c436dfe65fc788 [1/1] UPSTREAM: block: make blk_crypto_rq_bio_prep() able to fail
:::::: branch date: 3 days ago
:::::: commit date: 4 years, 6 months ago
config: x86_64-randconfig-161-20250429 (https://download.01.org/0day-ci/archive/20250429/202504291009.fidDXFaU-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202504291009.fidDXFaU-lkp@intel.com/

New smatch warnings:
block/blk-core.c:1664 blk_rq_prep_clone() error: uninitialized symbol 'bio'.

Old smatch warnings:
block/blk-core.c:540 blk_alloc_queue_node() warn: use 'gfp_mask' here instead of GFP_KERNEL?

vim +/bio +1664 block/blk-core.c

78d8e58a086b214 Mike Snitzer    2015-06-26  1609  
78d8e58a086b214 Mike Snitzer    2015-06-26  1610  /**
78d8e58a086b214 Mike Snitzer    2015-06-26  1611   * blk_rq_prep_clone - Helper function to setup clone request
78d8e58a086b214 Mike Snitzer    2015-06-26  1612   * @rq: the request to be setup
78d8e58a086b214 Mike Snitzer    2015-06-26  1613   * @rq_src: original request to be cloned
78d8e58a086b214 Mike Snitzer    2015-06-26  1614   * @bs: bio_set that bios for clone are allocated from
78d8e58a086b214 Mike Snitzer    2015-06-26  1615   * @gfp_mask: memory allocation mask for bio
78d8e58a086b214 Mike Snitzer    2015-06-26  1616   * @bio_ctr: setup function to be called for each clone bio.
78d8e58a086b214 Mike Snitzer    2015-06-26  1617   *           Returns %0 for success, non %0 for failure.
78d8e58a086b214 Mike Snitzer    2015-06-26  1618   * @data: private data to be passed to @bio_ctr
78d8e58a086b214 Mike Snitzer    2015-06-26  1619   *
78d8e58a086b214 Mike Snitzer    2015-06-26  1620   * Description:
78d8e58a086b214 Mike Snitzer    2015-06-26  1621   *     Clones bios in @rq_src to @rq, and copies attributes of @rq_src to @rq.
78d8e58a086b214 Mike Snitzer    2015-06-26  1622   *     The actual data parts of @rq_src (e.g. ->cmd, ->sense)
78d8e58a086b214 Mike Snitzer    2015-06-26  1623   *     are not copied, and copying such parts is the caller's responsibility.
78d8e58a086b214 Mike Snitzer    2015-06-26  1624   *     Also, pages which the original bios are pointing to are not copied
78d8e58a086b214 Mike Snitzer    2015-06-26  1625   *     and the cloned bios just point same pages.
78d8e58a086b214 Mike Snitzer    2015-06-26  1626   *     So cloned bios must be completed before original bios, which means
78d8e58a086b214 Mike Snitzer    2015-06-26  1627   *     the caller must complete @rq before @rq_src.
78d8e58a086b214 Mike Snitzer    2015-06-26  1628   */
78d8e58a086b214 Mike Snitzer    2015-06-26  1629  int blk_rq_prep_clone(struct request *rq, struct request *rq_src,
78d8e58a086b214 Mike Snitzer    2015-06-26  1630  		      struct bio_set *bs, gfp_t gfp_mask,
78d8e58a086b214 Mike Snitzer    2015-06-26  1631  		      int (*bio_ctr)(struct bio *, struct bio *, void *),
78d8e58a086b214 Mike Snitzer    2015-06-26  1632  		      void *data)
78d8e58a086b214 Mike Snitzer    2015-06-26  1633  {
78d8e58a086b214 Mike Snitzer    2015-06-26  1634  	struct bio *bio, *bio_src;
78d8e58a086b214 Mike Snitzer    2015-06-26  1635  
78d8e58a086b214 Mike Snitzer    2015-06-26  1636  	if (!bs)
f4f8154a08bc580 Kent Overstreet 2018-05-08  1637  		bs = &fs_bio_set;
78d8e58a086b214 Mike Snitzer    2015-06-26  1638  
78d8e58a086b214 Mike Snitzer    2015-06-26  1639  	__rq_for_each_bio(bio_src, rq_src) {
78d8e58a086b214 Mike Snitzer    2015-06-26  1640  		bio = bio_clone_fast(bio_src, gfp_mask, bs);
78d8e58a086b214 Mike Snitzer    2015-06-26  1641  		if (!bio)
78d8e58a086b214 Mike Snitzer    2015-06-26  1642  			goto free_and_out;
78d8e58a086b214 Mike Snitzer    2015-06-26  1643  
78d8e58a086b214 Mike Snitzer    2015-06-26  1644  		if (bio_ctr && bio_ctr(bio, bio_src, data))
78d8e58a086b214 Mike Snitzer    2015-06-26  1645  			goto free_and_out;
78d8e58a086b214 Mike Snitzer    2015-06-26  1646  
78d8e58a086b214 Mike Snitzer    2015-06-26  1647  		if (rq->bio) {
78d8e58a086b214 Mike Snitzer    2015-06-26  1648  			rq->biotail->bi_next = bio;
78d8e58a086b214 Mike Snitzer    2015-06-26  1649  			rq->biotail = bio;
e08dcf9e2d01fdb Eric Biggers    2020-09-15  1650  		} else {
78d8e58a086b214 Mike Snitzer    2015-06-26  1651  			rq->bio = rq->biotail = bio;
78d8e58a086b214 Mike Snitzer    2015-06-26  1652  		}
e08dcf9e2d01fdb Eric Biggers    2020-09-15  1653  		bio = NULL;
e08dcf9e2d01fdb Eric Biggers    2020-09-15  1654  	}
78d8e58a086b214 Mike Snitzer    2015-06-26  1655  
78d8e58a086b214 Mike Snitzer    2015-06-26  1656  	__blk_rq_prep_clone(rq, rq_src);
78d8e58a086b214 Mike Snitzer    2015-06-26  1657  
e08dcf9e2d01fdb Eric Biggers    2020-09-15  1658  	if (rq->bio && blk_crypto_rq_bio_prep(rq, rq->bio, gfp_mask) < 0)
e08dcf9e2d01fdb Eric Biggers    2020-09-15  1659  		goto free_and_out;
02fea3fe34f4be5 Satya Tangirala 2020-05-14  1660  
78d8e58a086b214 Mike Snitzer    2015-06-26  1661  	return 0;
78d8e58a086b214 Mike Snitzer    2015-06-26  1662  
78d8e58a086b214 Mike Snitzer    2015-06-26  1663  free_and_out:
78d8e58a086b214 Mike Snitzer    2015-06-26 @1664  	if (bio)
78d8e58a086b214 Mike Snitzer    2015-06-26  1665  		bio_put(bio);
78d8e58a086b214 Mike Snitzer    2015-06-26  1666  	blk_rq_unprep_clone(rq);
78d8e58a086b214 Mike Snitzer    2015-06-26  1667  
78d8e58a086b214 Mike Snitzer    2015-06-26  1668  	return -ENOMEM;
b0fd271d5fba0b2 Kiyoshi Ueda    2009-06-11  1669  }
b0fd271d5fba0b2 Kiyoshi Ueda    2009-06-11  1670  EXPORT_SYMBOL_GPL(blk_rq_prep_clone);
b0fd271d5fba0b2 Kiyoshi Ueda    2009-06-11  1671  

:::::: The code at line 1664 was first introduced by commit
:::::: 78d8e58a086b214dddf1fd463e20a7e1d82d7866 Revert "block, dm: don't copy bios for request clones"

:::::: TO: Mike Snitzer <snitzer@redhat.com>
:::::: CC: Mike Snitzer <snitzer@redhat.com>

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

                 reply	other threads:[~2025-04-29  3:07 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=202504291009.fidDXFaU-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@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.