linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [mcgrof:20210816-add-disk-error-handling 64/64] drivers/nvdimm/pmem.c:495:2: warning: ignoring return value of 'device_add_disk', declared with attribute warn_unused_result
@ 2021-08-17  9:44 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-17  9:44 UTC (permalink / raw)
  To: Luis Chamberlain; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 15785 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20210816-add-disk-error-handling
head:   e1e79332ea1bba0e751529b114ef9d301bf962a5
commit: e1e79332ea1bba0e751529b114ef9d301bf962a5 [64/64] block: add __must_check for *add_disk*() callers
config: x86_64-randconfig-a003-20210816 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?id=e1e79332ea1bba0e751529b114ef9d301bf962a5
        git remote add mcgrof https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
        git fetch --no-tags mcgrof 20210816-add-disk-error-handling
        git checkout e1e79332ea1bba0e751529b114ef9d301bf962a5
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/nvdimm/pmem.c: In function 'pmem_attach_disk':
>> drivers/nvdimm/pmem.c:495:2: warning: ignoring return value of 'device_add_disk', declared with attribute warn_unused_result [-Wunused-result]
     495 |  device_add_disk(dev, disk, NULL);
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/device_add_disk +495 drivers/nvdimm/pmem.c

1e240e8d4a7d92 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  369  
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  370  static int pmem_attach_disk(struct device *dev,
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  371  		struct nd_namespace_common *ndns)
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  372  {
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  373  	struct nd_namespace_io *nsio = to_nd_namespace_io(&ndns->dev);
f284a4f23752d0 drivers/nvdimm/pmem.c Dan Williams      2016-07-07  374  	struct nd_region *nd_region = to_nd_region(dev->parent);
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler      2018-06-06  375  	int nid = dev_to_node(dev), fua;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  376  	struct resource *res = &nsio->res;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  377  	struct range bb_range;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  378  	struct nd_pfn *nd_pfn = NULL;
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams      2017-01-24  379  	struct dax_device *dax_dev;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  380  	struct nd_pfn_sb *pfn_sb;
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  381  	struct pmem_device *pmem;
468ded03c07e0f drivers/nvdimm/pmem.c Dan Williams      2016-01-15  382  	struct request_queue *q;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams      2017-06-26  383  	struct device *gendev;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  384  	struct gendisk *disk;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  385  	void *addr;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  386  	int rc;
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta      2019-07-05  387  	unsigned long flags = 0UL;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  388  
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  389  	pmem = devm_kzalloc(dev, sizeof(*pmem), GFP_KERNEL);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  390  	if (!pmem)
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  391  		return -ENOMEM;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  392  
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V  2019-10-31  393  	rc = devm_namespace_enable(dev, ndns, nd_info_block_reserve());
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V  2019-10-31  394  	if (rc)
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V  2019-10-31  395  		return rc;
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V  2019-10-31  396  
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  397  	/* while nsio_rw_bytes is active, parse a pfn info block if present */
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  398  	if (is_nd_pfn(dev)) {
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  399  		nd_pfn = to_nd_pfn(dev);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  400  		rc = nvdimm_setup_pfn(nd_pfn, &pmem->pgmap);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  401  		if (rc)
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  402  			return rc;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  403  	}
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  404  
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  405  	/* we're attaching a block device, disable raw namespace access */
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V  2019-10-31  406  	devm_namespace_disable(dev, ndns);
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  407  
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  408  	dev_set_drvdata(dev, pmem);
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  409  	pmem->phys_addr = res->start;
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  410  	pmem->size = resource_size(res);
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams      2017-06-09  411  	fua = nvdimm_has_flush(nd_region);
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams      2017-06-09  412  	if (!IS_ENABLED(CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE) || fua < 0) {
61031952f4c89d drivers/nvdimm/pmem.c Ross Zwisler      2015-06-25  413  		dev_warn(dev, "unable to guarantee persistence of writes\n");
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams      2017-06-09  414  		fua = 0;
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams      2017-06-09  415  	}
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  416  
947df02d255a6a drivers/nvdimm/pmem.c Dan Williams      2016-03-21  417  	if (!devm_request_mem_region(dev, res->start, resource_size(res),
450c6633e874c4 drivers/nvdimm/pmem.c Dan Williams      2016-11-28  418  				dev_name(&ndns->dev))) {
947df02d255a6a drivers/nvdimm/pmem.c Dan Williams      2016-03-21  419  		dev_warn(dev, "could not reserve region %pR\n", res);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  420  		return -EBUSY;
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  421  	}
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  422  
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21  423  	disk = blk_alloc_disk(nid);
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21  424  	if (!disk)
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  425  		return -ENOMEM;
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21  426  	q = disk->queue;
468ded03c07e0f drivers/nvdimm/pmem.c Dan Williams      2016-01-15  427  
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21  428  	pmem->disk = disk;
a624eb520390ce drivers/nvdimm/pmem.c Dan Williams      2021-06-07  429  	pmem->pgmap.owner = pmem;
34c0fd540e79fb drivers/nvdimm/pmem.c Dan Williams      2016-01-15  430  	pmem->pfn_flags = PFN_DEV;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  431  	pmem->pgmap.ref = &q->q_usage_counter;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  432  	if (is_nd_pfn(dev)) {
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  433  		pmem->pgmap.type = MEMORY_DEVICE_FS_DAX;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  434  		pmem->pgmap.ops = &fsdax_pagemap_ops;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  435  		addr = devm_memremap_pages(dev, &pmem->pgmap);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  436  		pfn_sb = nd_pfn->pfn_sb;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  437  		pmem->data_offset = le64_to_cpu(pfn_sb->dataoff);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  438  		pmem->pfn_pad = resource_size(res) -
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  439  			range_len(&pmem->pgmap.range);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  440  		pmem->pfn_flags |= PFN_MAP;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  441  		bb_range = pmem->pgmap.range;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  442  		bb_range.start += pmem->data_offset;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  443  	} else if (pmem_should_map_pages(dev)) {
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  444  		pmem->pgmap.range.start = res->start;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  445  		pmem->pgmap.range.end = res->end;
b7b3c01b191596 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  446  		pmem->pgmap.nr_range = 1;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  447  		pmem->pgmap.type = MEMORY_DEVICE_FS_DAX;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  448  		pmem->pgmap.ops = &fsdax_pagemap_ops;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29  449  		addr = devm_memremap_pages(dev, &pmem->pgmap);
34c0fd540e79fb drivers/nvdimm/pmem.c Dan Williams      2016-01-15  450  		pmem->pfn_flags |= PFN_MAP;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  451  		bb_range = pmem->pgmap.range;
91ed7ac444ef74 drivers/nvdimm/pmem.c Dan Williams      2018-10-04  452  	} else {
50f44ee7248ad2 drivers/nvdimm/pmem.c Dan Williams      2019-06-13  453  		if (devm_add_action_or_reset(dev, pmem_release_queue,
d8668bb0451c3c drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26  454  					&pmem->pgmap))
50f44ee7248ad2 drivers/nvdimm/pmem.c Dan Williams      2019-06-13  455  			return -ENOMEM;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  456  		addr = devm_memremap(dev, pmem->phys_addr,
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  457  				pmem->size, ARCH_MEMREMAP_PMEM);
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  458  		bb_range.start =  res->start;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  459  		bb_range.end = res->end;
91ed7ac444ef74 drivers/nvdimm/pmem.c Dan Williams      2018-10-04  460  	}
b36f47617f6ce7 drivers/nvdimm/pmem.c Dan Williams      2015-09-15  461  
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  462  	if (IS_ERR(addr))
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams      2016-03-22  463  		return PTR_ERR(addr);
7a9eb206663177 drivers/nvdimm/pmem.c Dan Williams      2016-06-03  464  	pmem->virt_addr = addr;
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  465  
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler      2018-06-06  466  	blk_queue_write_cache(q, true, fua);
5a92289f41311a drivers/nvdimm/pmem.c Dan Williams      2016-03-21  467  	blk_queue_physical_block_size(q, PAGE_SIZE);
f979b13c3cc515 drivers/nvdimm/pmem.c Dan Williams      2017-06-04  468  	blk_queue_logical_block_size(q, pmem_sector_size(ndns));
5a92289f41311a drivers/nvdimm/pmem.c Dan Williams      2016-03-21  469  	blk_queue_max_hw_sectors(q, UINT_MAX);
8b904b5b6b58b9 drivers/nvdimm/pmem.c Bart Van Assche   2018-03-07  470  	blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
4557641b4c7046 drivers/nvdimm/pmem.c Ross Zwisler      2018-06-26  471  	if (pmem->pfn_flags & PFN_MAP)
8b904b5b6b58b9 drivers/nvdimm/pmem.c Bart Van Assche   2018-03-07  472  		blk_queue_flag_set(QUEUE_FLAG_DAX, q);
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  473  
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  474  	disk->fops		= &pmem_fops;
6ec26b8b2d70b4 drivers/nvdimm/pmem.c Christoph Hellwig 2020-05-08  475  	disk->private_data	= pmem;
5212e11fde4d40 drivers/nvdimm/pmem.c Vishal Verma      2015-06-25  476  	nvdimm_namespace_disk_name(ndns, disk->disk_name);
cfe30b872058f2 drivers/nvdimm/pmem.c Dan Williams      2016-03-03  477  	set_capacity(disk, (pmem->size - pmem->pfn_pad - pmem->data_offset)
cfe30b872058f2 drivers/nvdimm/pmem.c Dan Williams      2016-03-03  478  			/ 512);
b95f5f4391fad6 drivers/nvdimm/pmem.c Dan Williams      2016-01-04  479  	if (devm_init_badblocks(dev, &pmem->bb))
b95f5f4391fad6 drivers/nvdimm/pmem.c Dan Williams      2016-01-04  480  		return -ENOMEM;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams      2020-10-13  481  	nvdimm_badblocks_populate(nd_region, &pmem->bb, &bb_range);
57f7f317abdd07 drivers/nvdimm/pmem.c Dan Williams      2016-01-06  482  	disk->bb = &pmem->bb;
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams      2016-06-15  483  
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta      2019-07-05  484  	if (is_nvdimm_sync(nd_region))
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta      2019-07-05  485  		flags = DAXDEV_F_SYNC;
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta      2019-07-05  486  	dax_dev = alloc_dax(pmem, disk->disk_name, &pmem_dax_ops, flags);
4e4ced93794acb drivers/nvdimm/pmem.c Vivek Goyal       2020-04-01  487  	if (IS_ERR(dax_dev)) {
4e4ced93794acb drivers/nvdimm/pmem.c Vivek Goyal       2020-04-01  488  		return PTR_ERR(dax_dev);
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams      2017-01-24  489  	}
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler      2018-06-06  490  	dax_write_cache(dax_dev, nvdimm_has_cache(nd_region));
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams      2017-01-24  491  	pmem->dax_dev = dax_dev;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams      2017-06-26  492  	gendev = disk_to_dev(disk);
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams      2017-06-26  493  	gendev->groups = pmem_attribute_groups;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams      2017-06-26  494  
fef912bf860e8e drivers/nvdimm/pmem.c Hannes Reinecke   2018-09-28 @495  	device_add_disk(dev, disk, NULL);
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams      2017-01-24  496  	if (devm_add_action_or_reset(dev, pmem_release_disk, pmem))
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams      2016-06-15  497  		return -ENOMEM;
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams      2016-06-15  498  
32f61d67570db0 drivers/nvdimm/pmem.c Christoph Hellwig 2020-09-01  499  	nvdimm_check_and_set_ro(disk);
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  500  
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani        2017-06-12  501  	pmem->bb_state = sysfs_get_dirent(disk_to_dev(disk)->kobj.sd,
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani        2017-06-12  502  					  "badblocks");
6aa734a2f38e2e drivers/nvdimm/pmem.c Dan Williams      2017-06-30  503  	if (!pmem->bb_state)
6aa734a2f38e2e drivers/nvdimm/pmem.c Dan Williams      2017-06-30  504  		dev_warn(dev, "'badblocks' notification disabled\n");
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani        2017-06-12  505  
8c2f7e8658df1d drivers/nvdimm/pmem.c Dan Williams      2015-06-25  506  	return 0;
8c2f7e8658df1d drivers/nvdimm/pmem.c Dan Williams      2015-06-25  507  }
9e853f2313e5eb drivers/block/pmem.c  Ross Zwisler      2015-04-01  508  

:::::: The code at line 495 was first introduced by commit
:::::: fef912bf860e8e7e48a2bfb978a356bba743a8b7 block: genhd: add 'groups' argument to device_add_disk

:::::: TO: Hannes Reinecke <hare@suse.de>
:::::: CC: Jens Axboe <axboe@kernel.dk>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 41010 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-17  9:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-17  9:44 [mcgrof:20210816-add-disk-error-handling 64/64] drivers/nvdimm/pmem.c:495:2: warning: ignoring return value of 'device_add_disk', declared with attribute warn_unused_result kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).