CC: [email protected] TO: Christoph Hellwig <[email protected]> tree: git://git.infradead.org/users/hch/block.git bio_alloc-cleanup head: 152c964c974a6e3bf0dd15a8d100c075087d5186 commit: a2021f00ad0fa0638974d4302683c84dd05d25e2 [12/13] block: pass a block_device and opf to bio_alloc :::::: branch date: 8 hours ago :::::: commit date: 8 hours ago config: ia64-randconfig-m031-20220112 (https://download.01.org/0day-ci/archive/20220113/[email protected]/config) compiler: ia64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: fs/ntfs3/fsntfs.c:1606 ntfs_bio_fill_1() warn: variable dereferenced before check 'bio' (see line 1591) Old smatch warnings: fs/ntfs3/fsntfs.c:771 ntfs_clear_mft_tail() error: uninitialized symbol 'err'. fs/ntfs3/fsntfs.c:1227 ntfs_read_run_nb() error: uninitialized symbol 'clen'. fs/ntfs3/fsntfs.c:1228 ntfs_read_run_nb() error: uninitialized symbol 'idx'. vim +/bio +1606 fs/ntfs3/fsntfs.c 82cae269cfa953 Konstantin Komarov 2021-08-13 1541 82cae269cfa953 Konstantin Komarov 2021-08-13 1542 /* e8b8e97f91b80f Kari Argillander 2021-08-03 1543 * ntfs_bio_fill_1 - Helper for ntfs_loadlog_and_replay(). e8b8e97f91b80f Kari Argillander 2021-08-03 1544 * e8b8e97f91b80f Kari Argillander 2021-08-03 1545 * Fill on-disk logfile range by (-1) e8b8e97f91b80f Kari Argillander 2021-08-03 1546 * this means empty logfile. 82cae269cfa953 Konstantin Komarov 2021-08-13 1547 */ 82cae269cfa953 Konstantin Komarov 2021-08-13 1548 int ntfs_bio_fill_1(struct ntfs_sb_info *sbi, const struct runs_tree *run) 82cae269cfa953 Konstantin Komarov 2021-08-13 1549 { 82cae269cfa953 Konstantin Komarov 2021-08-13 1550 int err = 0; 82cae269cfa953 Konstantin Komarov 2021-08-13 1551 struct super_block *sb = sbi->sb; 82cae269cfa953 Konstantin Komarov 2021-08-13 1552 struct block_device *bdev = sb->s_bdev; 82cae269cfa953 Konstantin Komarov 2021-08-13 1553 u8 cluster_bits = sbi->cluster_bits; 82cae269cfa953 Konstantin Komarov 2021-08-13 1554 struct bio *new, *bio = NULL; 82cae269cfa953 Konstantin Komarov 2021-08-13 1555 CLST lcn, clen; 82cae269cfa953 Konstantin Komarov 2021-08-13 1556 u64 lbo, len; 82cae269cfa953 Konstantin Komarov 2021-08-13 1557 size_t run_idx; 82cae269cfa953 Konstantin Komarov 2021-08-13 1558 struct page *fill; 82cae269cfa953 Konstantin Komarov 2021-08-13 1559 void *kaddr; 82cae269cfa953 Konstantin Komarov 2021-08-13 1560 struct blk_plug plug; 82cae269cfa953 Konstantin Komarov 2021-08-13 1561 82cae269cfa953 Konstantin Komarov 2021-08-13 1562 fill = alloc_page(GFP_KERNEL); 82cae269cfa953 Konstantin Komarov 2021-08-13 1563 if (!fill) 82cae269cfa953 Konstantin Komarov 2021-08-13 1564 return -ENOMEM; 82cae269cfa953 Konstantin Komarov 2021-08-13 1565 82cae269cfa953 Konstantin Komarov 2021-08-13 1566 kaddr = kmap_atomic(fill); 82cae269cfa953 Konstantin Komarov 2021-08-13 1567 memset(kaddr, -1, PAGE_SIZE); 82cae269cfa953 Konstantin Komarov 2021-08-13 1568 kunmap_atomic(kaddr); 82cae269cfa953 Konstantin Komarov 2021-08-13 1569 flush_dcache_page(fill); 82cae269cfa953 Konstantin Komarov 2021-08-13 1570 lock_page(fill); 82cae269cfa953 Konstantin Komarov 2021-08-13 1571 82cae269cfa953 Konstantin Komarov 2021-08-13 1572 if (!run_lookup_entry(run, 0, &lcn, &clen, &run_idx)) { 82cae269cfa953 Konstantin Komarov 2021-08-13 1573 err = -ENOENT; 82cae269cfa953 Konstantin Komarov 2021-08-13 1574 goto out; 82cae269cfa953 Konstantin Komarov 2021-08-13 1575 } 82cae269cfa953 Konstantin Komarov 2021-08-13 1576 82cae269cfa953 Konstantin Komarov 2021-08-13 1577 /* e8b8e97f91b80f Kari Argillander 2021-08-03 1578 * TODO: Try blkdev_issue_write_same. 82cae269cfa953 Konstantin Komarov 2021-08-13 1579 */ 82cae269cfa953 Konstantin Komarov 2021-08-13 1580 blk_start_plug(&plug); 82cae269cfa953 Konstantin Komarov 2021-08-13 1581 do { 82cae269cfa953 Konstantin Komarov 2021-08-13 1582 lbo = (u64)lcn << cluster_bits; 82cae269cfa953 Konstantin Komarov 2021-08-13 1583 len = (u64)clen << cluster_bits; 82cae269cfa953 Konstantin Komarov 2021-08-13 1584 new_bio: a2021f00ad0fa0 Christoph Hellwig 2022-01-12 1585 new = bio_alloc(bdev, BIO_MAX_VECS, REQ_OP_WRITE, GFP_NOFS); 82cae269cfa953 Konstantin Komarov 2021-08-13 1586 if (bio) { 82cae269cfa953 Konstantin Komarov 2021-08-13 1587 bio_chain(bio, new); 82cae269cfa953 Konstantin Komarov 2021-08-13 1588 submit_bio(bio); 82cae269cfa953 Konstantin Komarov 2021-08-13 1589 } 82cae269cfa953 Konstantin Komarov 2021-08-13 1590 bio = new; 82cae269cfa953 Konstantin Komarov 2021-08-13 @1591 bio->bi_iter.bi_sector = lbo >> 9; 82cae269cfa953 Konstantin Komarov 2021-08-13 1592 82cae269cfa953 Konstantin Komarov 2021-08-13 1593 for (;;) { 82cae269cfa953 Konstantin Komarov 2021-08-13 1594 u32 add = len > PAGE_SIZE ? PAGE_SIZE : len; 82cae269cfa953 Konstantin Komarov 2021-08-13 1595 82cae269cfa953 Konstantin Komarov 2021-08-13 1596 if (bio_add_page(bio, fill, add, 0) < add) 82cae269cfa953 Konstantin Komarov 2021-08-13 1597 goto new_bio; 82cae269cfa953 Konstantin Komarov 2021-08-13 1598 82cae269cfa953 Konstantin Komarov 2021-08-13 1599 lbo += add; 82cae269cfa953 Konstantin Komarov 2021-08-13 1600 if (len <= add) 82cae269cfa953 Konstantin Komarov 2021-08-13 1601 break; 82cae269cfa953 Konstantin Komarov 2021-08-13 1602 len -= add; 82cae269cfa953 Konstantin Komarov 2021-08-13 1603 } 82cae269cfa953 Konstantin Komarov 2021-08-13 1604 } while (run_get_entry(run, ++run_idx, NULL, &lcn, &clen)); 82cae269cfa953 Konstantin Komarov 2021-08-13 1605 82cae269cfa953 Konstantin Komarov 2021-08-13 @1606 if (bio) { 82cae269cfa953 Konstantin Komarov 2021-08-13 1607 if (!err) 82cae269cfa953 Konstantin Komarov 2021-08-13 1608 err = submit_bio_wait(bio); 82cae269cfa953 Konstantin Komarov 2021-08-13 1609 bio_put(bio); 82cae269cfa953 Konstantin Komarov 2021-08-13 1610 } 82cae269cfa953 Konstantin Komarov 2021-08-13 1611 blk_finish_plug(&plug); 82cae269cfa953 Konstantin Komarov 2021-08-13 1612 out: 82cae269cfa953 Konstantin Komarov 2021-08-13 1613 unlock_page(fill); 82cae269cfa953 Konstantin Komarov 2021-08-13 1614 put_page(fill); 82cae269cfa953 Konstantin Komarov 2021-08-13 1615 82cae269cfa953 Konstantin Komarov 2021-08-13 1616 return err; 82cae269cfa953 Konstantin Komarov 2021-08-13 1617 } 82cae269cfa953 Konstantin Komarov 2021-08-13 1618 :::::: The code at line 1606 was first introduced by commit :::::: 82cae269cfa953032fbb8980a7d554d60fb00b17 fs/ntfs3: Add initialization of super block :::::: TO: Konstantin Komarov <[email protected]> :::::: CC: Konstantin Komarov <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
