CC: [email protected] BCC: [email protected] CC: [email protected] TO: Yu Kuai <[email protected]> CC: Jens Axboe <[email protected]> CC: Hou Tao <[email protected]> CC: Josef Bacik <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.19/drivers head: a1a2d8f0162b27e85e7ce0ae6a35c96a490e0559 commit: c55b2b983b0fa012942c3eb16384b2b722caa810 [102/107] nbd: fix race between nbd_alloc_config() and module removal :::::: branch date: 3 hours ago :::::: commit date: 13 hours ago config: arm-randconfig-m031-20220526 (https://download.01.org/0day-ci/archive/20220528/[email protected]/config) compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/block/nbd.c:1563 nbd_open() warn: passing a valid pointer to 'PTR_ERR' drivers/block/nbd.c:1978 nbd_genl_connect() warn: passing a valid pointer to 'PTR_ERR' vim +/PTR_ERR +1563 drivers/block/nbd.c 5ea8d10802ec4c Josef Bacik 2017-04-06 1537 5ea8d10802ec4c Josef Bacik 2017-04-06 1538 static int nbd_open(struct block_device *bdev, fmode_t mode) 5ea8d10802ec4c Josef Bacik 2017-04-06 1539 { 5ea8d10802ec4c Josef Bacik 2017-04-06 1540 struct nbd_device *nbd; 5ea8d10802ec4c Josef Bacik 2017-04-06 1541 int ret = 0; 5ea8d10802ec4c Josef Bacik 2017-04-06 1542 5ea8d10802ec4c Josef Bacik 2017-04-06 1543 mutex_lock(&nbd_index_mutex); 5ea8d10802ec4c Josef Bacik 2017-04-06 1544 nbd = bdev->bd_disk->private_data; 5ea8d10802ec4c Josef Bacik 2017-04-06 1545 if (!nbd) { 5ea8d10802ec4c Josef Bacik 2017-04-06 1546 ret = -ENXIO; 5ea8d10802ec4c Josef Bacik 2017-04-06 1547 goto out; 5ea8d10802ec4c Josef Bacik 2017-04-06 1548 } c6a4759ea0c9a7 Josef Bacik 2017-04-06 1549 if (!refcount_inc_not_zero(&nbd->refs)) { c6a4759ea0c9a7 Josef Bacik 2017-04-06 1550 ret = -ENXIO; c6a4759ea0c9a7 Josef Bacik 2017-04-06 1551 goto out; c6a4759ea0c9a7 Josef Bacik 2017-04-06 1552 } 5ea8d10802ec4c Josef Bacik 2017-04-06 1553 if (!refcount_inc_not_zero(&nbd->config_refs)) { 5ea8d10802ec4c Josef Bacik 2017-04-06 1554 struct nbd_config *config; 5ea8d10802ec4c Josef Bacik 2017-04-06 1555 5ea8d10802ec4c Josef Bacik 2017-04-06 1556 mutex_lock(&nbd->config_lock); 5ea8d10802ec4c Josef Bacik 2017-04-06 1557 if (refcount_inc_not_zero(&nbd->config_refs)) { 5ea8d10802ec4c Josef Bacik 2017-04-06 1558 mutex_unlock(&nbd->config_lock); 5ea8d10802ec4c Josef Bacik 2017-04-06 1559 goto out; 5ea8d10802ec4c Josef Bacik 2017-04-06 1560 } c55b2b983b0fa0 Yu Kuai 2022-05-21 1561 config = nbd_alloc_config(); c55b2b983b0fa0 Yu Kuai 2022-05-21 1562 if (IS_ERR(config)) { c55b2b983b0fa0 Yu Kuai 2022-05-21 @1563 ret = PTR_ERR(config); 5ea8d10802ec4c Josef Bacik 2017-04-06 1564 mutex_unlock(&nbd->config_lock); 5ea8d10802ec4c Josef Bacik 2017-04-06 1565 goto out; 5ea8d10802ec4c Josef Bacik 2017-04-06 1566 } c55b2b983b0fa0 Yu Kuai 2022-05-21 1567 nbd->config = config; 5ea8d10802ec4c Josef Bacik 2017-04-06 1568 refcount_set(&nbd->config_refs, 1); c6a4759ea0c9a7 Josef Bacik 2017-04-06 1569 refcount_inc(&nbd->refs); 5ea8d10802ec4c Josef Bacik 2017-04-06 1570 mutex_unlock(&nbd->config_lock); 1aba169e770911 Josh Triplett 2020-12-17 1571 if (max_part) 38430f0876fa8b Christoph Hellwig 2020-09-21 1572 set_bit(GD_NEED_PART_SCAN, &bdev->bd_disk->state); fe1f9e6659ca61 Josef Bacik 2018-05-16 1573 } else if (nbd_disconnected(nbd->config)) { 1aba169e770911 Josh Triplett 2020-12-17 1574 if (max_part) 38430f0876fa8b Christoph Hellwig 2020-09-21 1575 set_bit(GD_NEED_PART_SCAN, &bdev->bd_disk->state); 5ea8d10802ec4c Josef Bacik 2017-04-06 1576 } 5ea8d10802ec4c Josef Bacik 2017-04-06 1577 out: 5ea8d10802ec4c Josef Bacik 2017-04-06 1578 mutex_unlock(&nbd_index_mutex); 5ea8d10802ec4c Josef Bacik 2017-04-06 1579 return ret; 5ea8d10802ec4c Josef Bacik 2017-04-06 1580 } 5ea8d10802ec4c Josef Bacik 2017-04-06 1581 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
