lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 6 Jun 2022 16:56:13 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     kbuild@...ts.01.org, Gao Xiang <hsiangkao@...ux.alibaba.com>
Cc:     lkp@...el.com, kbuild-all@...ts.01.org,
        Xiang Gao <xiang@...nel.org>, linux-kernel@...r.kernel.org
Subject: [xiang:erofs/initrd-fsdax 2/3] drivers/block/brd.c:466 brd_alloc()
 warn: missing error code 'err'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/xiang/linux.git erofs/initrd-fsdax
head:   e04a723ce39c31ea57edfbfd70c867a2025910e3
commit: a610c807a6b52cbce515911dba9b9cc316a6c117 [2/3] brd: support FSDAX
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220606/202206062100.MJhGyCcE-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>

smatch warnings:
drivers/block/brd.c:466 brd_alloc() warn: missing error code 'err'

vim +/err +466 drivers/block/brd.c

7f9b348cb5e942 Christoph Hellwig 2021-05-21  407  static int brd_alloc(int i)
9db5579be4bb53 Nicholas Piggin   2008-02-08  408  {
9db5579be4bb53 Nicholas Piggin   2008-02-08  409  	struct brd_device *brd;
9db5579be4bb53 Nicholas Piggin   2008-02-08  410  	struct gendisk *disk;
f4be591f1436af Calvin Owens      2021-04-16  411  	char buf[DISK_NAME_LEN];
e1528830bd4ebf Luis Chamberlain  2021-10-15  412  	int err = -ENOMEM;
9db5579be4bb53 Nicholas Piggin   2008-02-08  413  
00358933f66c44 Tetsuo Handa      2022-01-06  414  	list_for_each_entry(brd, &brd_devices, brd_list)
00358933f66c44 Tetsuo Handa      2022-01-06  415  		if (brd->brd_number == i)
f7bf35862477d6 Tetsuo Handa      2021-09-07  416  			return -EEXIST;
9db5579be4bb53 Nicholas Piggin   2008-02-08  417  	brd = kzalloc(sizeof(*brd), GFP_KERNEL);
00358933f66c44 Tetsuo Handa      2022-01-06  418  	if (!brd)
7f9b348cb5e942 Christoph Hellwig 2021-05-21  419  		return -ENOMEM;
9db5579be4bb53 Nicholas Piggin   2008-02-08  420  	brd->brd_number		= i;
f7bf35862477d6 Tetsuo Handa      2021-09-07  421  	list_add_tail(&brd->brd_list, &brd_devices);
f7bf35862477d6 Tetsuo Handa      2021-09-07  422  
9db5579be4bb53 Nicholas Piggin   2008-02-08  423  	spin_lock_init(&brd->brd_lock);
9db5579be4bb53 Nicholas Piggin   2008-02-08  424  	INIT_RADIX_TREE(&brd->brd_pages, GFP_ATOMIC);
9db5579be4bb53 Nicholas Piggin   2008-02-08  425  
f4be591f1436af Calvin Owens      2021-04-16  426  	snprintf(buf, DISK_NAME_LEN, "ram%d", i);
f4be591f1436af Calvin Owens      2021-04-16  427  	if (!IS_ERR_OR_NULL(brd_debugfs_dir))
f4be591f1436af Calvin Owens      2021-04-16  428  		debugfs_create_u64(buf, 0444, brd_debugfs_dir,
f4be591f1436af Calvin Owens      2021-04-16  429  				&brd->brd_nr_pages);
f4be591f1436af Calvin Owens      2021-04-16  430  
7f9b348cb5e942 Christoph Hellwig 2021-05-21  431  	disk = brd->brd_disk = blk_alloc_disk(NUMA_NO_NODE);
9db5579be4bb53 Nicholas Piggin   2008-02-08  432  	if (!disk)
7f9b348cb5e942 Christoph Hellwig 2021-05-21  433  		goto out_free_dev;
7f9b348cb5e942 Christoph Hellwig 2021-05-21  434  
9db5579be4bb53 Nicholas Piggin   2008-02-08  435  	disk->major		= RAMDISK_MAJOR;
937af5ecd0591e Boaz Harrosh      2015-01-07  436  	disk->first_minor	= i * max_part;
7f9b348cb5e942 Christoph Hellwig 2021-05-21  437  	disk->minors		= max_part;
9db5579be4bb53 Nicholas Piggin   2008-02-08  438  	disk->fops		= &brd_fops;
9db5579be4bb53 Nicholas Piggin   2008-02-08  439  	disk->private_data	= brd;
f4be591f1436af Calvin Owens      2021-04-16  440  	strlcpy(disk->disk_name, buf, DISK_NAME_LEN);
9db5579be4bb53 Nicholas Piggin   2008-02-08  441  	set_capacity(disk, rd_size * 2);
9db5579be4bb53 Nicholas Piggin   2008-02-08  442  	
7f9b348cb5e942 Christoph Hellwig 2021-05-21  443  	/*
7f9b348cb5e942 Christoph Hellwig 2021-05-21  444  	 * This is so fdisk will align partitions on 4k, because of
7f9b348cb5e942 Christoph Hellwig 2021-05-21  445  	 * direct_access API needing 4k alignment, returning a PFN
7f9b348cb5e942 Christoph Hellwig 2021-05-21  446  	 * (This is only a problem on very small devices <= 4M,
7f9b348cb5e942 Christoph Hellwig 2021-05-21  447  	 *  otherwise fdisk will align on 1M. Regardless this call
7f9b348cb5e942 Christoph Hellwig 2021-05-21  448  	 *  is harmless)
7f9b348cb5e942 Christoph Hellwig 2021-05-21  449  	 */
7f9b348cb5e942 Christoph Hellwig 2021-05-21  450  	blk_queue_physical_block_size(disk->queue, PAGE_SIZE);
7f9b348cb5e942 Christoph Hellwig 2021-05-21  451  
316ba5736c9caa SeongJae Park     2018-05-03  452  	/* Tell the block layer that this is not a rotational device */
7f9b348cb5e942 Christoph Hellwig 2021-05-21  453  	blk_queue_flag_set(QUEUE_FLAG_NONROT, disk->queue);
7f9b348cb5e942 Christoph Hellwig 2021-05-21  454  	blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, disk->queue);
a610c807a6b52c Gao Xiang         2022-06-05  455  
a610c807a6b52c Gao Xiang         2022-06-05  456  	if (enable_fsdax)
a610c807a6b52c Gao Xiang         2022-06-05  457  		blk_queue_flag_set(QUEUE_FLAG_DAX, disk->queue);
e1528830bd4ebf Luis Chamberlain  2021-10-15  458  	err = add_disk(disk);
e1528830bd4ebf Luis Chamberlain  2021-10-15  459  	if (err)
e1528830bd4ebf Luis Chamberlain  2021-10-15  460  		goto out_cleanup_disk;
316ba5736c9caa SeongJae Park     2018-05-03  461  
a610c807a6b52c Gao Xiang         2022-06-05  462  	if (enable_fsdax) {
a610c807a6b52c Gao Xiang         2022-06-05  463  		brd->dax_dev = alloc_dax(brd, &brd_dax_ops);
a610c807a6b52c Gao Xiang         2022-06-05  464  		if (IS_ERR(brd->dax_dev)) {

err = PTR_ERR(brd->dax_dev)

a610c807a6b52c Gao Xiang         2022-06-05  465  			brd->dax_dev = NULL;
a610c807a6b52c Gao Xiang         2022-06-05 @466  			goto out_del_gendisk;
a610c807a6b52c Gao Xiang         2022-06-05  467  		}
a610c807a6b52c Gao Xiang         2022-06-05  468  		set_dax_nocache(brd->dax_dev);
a610c807a6b52c Gao Xiang         2022-06-05  469  		set_dax_nomc(brd->dax_dev);
a610c807a6b52c Gao Xiang         2022-06-05  470  		run_dax(brd->dax_dev);
a610c807a6b52c Gao Xiang         2022-06-05  471  		if (dax_add_host(brd->dax_dev, disk))
a610c807a6b52c Gao Xiang         2022-06-05  472  			goto out_del_gendisk;


err = dax_add_host(brd->dax_dev, disk);
if (err)
	goto out_del_gendisk;

a610c807a6b52c Gao Xiang         2022-06-05  473  	}
7f9b348cb5e942 Christoph Hellwig 2021-05-21  474  	return 0;
9db5579be4bb53 Nicholas Piggin   2008-02-08  475  
a610c807a6b52c Gao Xiang         2022-06-05  476  out_del_gendisk:
a610c807a6b52c Gao Xiang         2022-06-05  477  	del_gendisk(disk);
e1528830bd4ebf Luis Chamberlain  2021-10-15  478  out_cleanup_disk:
e1528830bd4ebf Luis Chamberlain  2021-10-15  479  	blk_cleanup_disk(disk);
9db5579be4bb53 Nicholas Piggin   2008-02-08  480  out_free_dev:
f7bf35862477d6 Tetsuo Handa      2021-09-07  481  	list_del(&brd->brd_list);
9db5579be4bb53 Nicholas Piggin   2008-02-08  482  	kfree(brd);
e1528830bd4ebf Luis Chamberlain  2021-10-15  483  	return err;
9db5579be4bb53 Nicholas Piggin   2008-02-08  484  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ