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]

Reply via email to