[linux-nvme:nvme-6.17 8/8] fs/verity/verify.c:328:8: error: too few arguments to function 'verify_data_blocks'
kernel test robot
lkp at intel.com
Thu Jul 17 09:40:12 PDT 2025
tree: git://git.infradead.org/nvme.git nvme-6.17
head: fecb0b44b60e029d24b5a2c51ba27e325feb1c55
commit: fecb0b44b60e029d24b5a2c51ba27e325feb1c55 [8/8] nvme-pci: try function level reset on init failure
config: arc-randconfig-001-20250717 (https://download.01.org/0day-ci/archive/20250718/202507180038.RGK5VSsm-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250718/202507180038.RGK5VSsm-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507180038.RGK5VSsm-lkp@intel.com/
All errors (new ones prefixed by >>):
fs/verity/verify.c: In function 'fsverity_verify_bio':
>> fs/verity/verify.c:328:8: error: too few arguments to function 'verify_data_blocks'
if (!verify_data_blocks(fi.folio, fi.length, fi.offset,
^~~~~~~~~~~~~~~~~~
fs/verity/verify.c:246:1: note: declared here
verify_data_blocks(struct folio *data_folio, size_t len, size_t offset,
^~~~~~~~~~~~~~~~~~
vim +/verify_data_blocks +328 fs/verity/verify.c
8a1d0f9cacc997 Eric Biggers 2019-07-22 293
8a1d0f9cacc997 Eric Biggers 2019-07-22 294 #ifdef CONFIG_BLOCK
8a1d0f9cacc997 Eric Biggers 2019-07-22 295 /**
8a1d0f9cacc997 Eric Biggers 2019-07-22 296 * fsverity_verify_bio() - verify a 'read' bio that has just completed
6377a38bd345b7 Eric Biggers 2020-05-11 297 * @bio: the bio to verify
8a1d0f9cacc997 Eric Biggers 2019-07-22 298 *
5306892a50bf4c Eric Biggers 2022-12-23 299 * Verify the bio's data against the file's Merkle tree. All bio data segments
5306892a50bf4c Eric Biggers 2022-12-23 300 * must be aligned to the file's Merkle tree block size. If any data fails
5306892a50bf4c Eric Biggers 2022-12-23 301 * verification, then bio->bi_status is set to an error status.
8a1d0f9cacc997 Eric Biggers 2019-07-22 302 *
704528d895dd3e Matthew Wilcox (Oracle 2022-03-23 303) * This is a helper function for use by the ->readahead() method of filesystems
8a1d0f9cacc997 Eric Biggers 2019-07-22 304 * that issue bios to read data directly into the page cache. Filesystems that
8a1d0f9cacc997 Eric Biggers 2019-07-22 305 * populate the page cache without issuing bios (e.g. non block-based
8a1d0f9cacc997 Eric Biggers 2019-07-22 306 * filesystems) must instead call fsverity_verify_page() directly on each page.
8a1d0f9cacc997 Eric Biggers 2019-07-22 307 * All filesystems must also call fsverity_verify_page() on holes.
8a1d0f9cacc997 Eric Biggers 2019-07-22 308 */
8a1d0f9cacc997 Eric Biggers 2019-07-22 309 void fsverity_verify_bio(struct bio *bio)
8a1d0f9cacc997 Eric Biggers 2019-07-22 310 {
5d0f0e57ed9009 Eric Biggers 2023-01-27 311 struct folio_iter fi;
fd39073dba8632 Eric Biggers 2020-01-06 312 unsigned long max_ra_pages = 0;
8a1d0f9cacc997 Eric Biggers 2019-07-22 313
fd39073dba8632 Eric Biggers 2020-01-06 314 if (bio->bi_opf & REQ_RAHEAD) {
fd39073dba8632 Eric Biggers 2020-01-06 315 /*
fd39073dba8632 Eric Biggers 2020-01-06 316 * If this bio is for data readahead, then we also do readahead
fd39073dba8632 Eric Biggers 2020-01-06 317 * of the first (largest) level of the Merkle tree. Namely,
fd39073dba8632 Eric Biggers 2020-01-06 318 * when a Merkle tree page is read, we also try to piggy-back on
fd39073dba8632 Eric Biggers 2020-01-06 319 * some additional pages -- up to 1/4 the number of data pages.
fd39073dba8632 Eric Biggers 2020-01-06 320 *
fd39073dba8632 Eric Biggers 2020-01-06 321 * This improves sequential read performance, as it greatly
fd39073dba8632 Eric Biggers 2020-01-06 322 * reduces the number of I/O requests made to the Merkle tree.
fd39073dba8632 Eric Biggers 2020-01-06 323 */
9098f36b739db9 Eric Biggers 2022-12-23 324 max_ra_pages = bio->bi_iter.bi_size >> (PAGE_SHIFT + 2);
fd39073dba8632 Eric Biggers 2020-01-06 325 }
fd39073dba8632 Eric Biggers 2020-01-06 326
5d0f0e57ed9009 Eric Biggers 2023-01-27 327 bio_for_each_folio_all(fi, bio) {
d1f0c5ea04cd0a Eric Biggers 2023-06-03 @328 if (!verify_data_blocks(fi.folio, fi.length, fi.offset,
8fcd94add6c5c9 Eric Biggers 2023-05-15 329 max_ra_pages)) {
98dc08bae6780b Eric Biggers 2022-11-28 330 bio->bi_status = BLK_STS_IOERR;
98dc08bae6780b Eric Biggers 2022-11-28 331 break;
98dc08bae6780b Eric Biggers 2022-11-28 332 }
8a1d0f9cacc997 Eric Biggers 2019-07-22 333 }
8a1d0f9cacc997 Eric Biggers 2019-07-22 334 }
8a1d0f9cacc997 Eric Biggers 2019-07-22 335 EXPORT_SYMBOL_GPL(fsverity_verify_bio);
8a1d0f9cacc997 Eric Biggers 2019-07-22 336 #endif /* CONFIG_BLOCK */
8a1d0f9cacc997 Eric Biggers 2019-07-22 337
:::::: The code at line 328 was first introduced by commit
:::::: d1f0c5ea04cd0a93309de0246278f0b22394692d fsverity: don't use bio_first_page_all() in fsverity_verify_bio()
:::::: TO: Eric Biggers <ebiggers at google.com>
:::::: CC: Eric Biggers <ebiggers at google.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Linux-nvme
mailing list