linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ti:ti-rt-linux-5.10.y 4405/10206] drivers/pci/endpoint/pci-epf-core.c:169 pci_epf_add_vepf() warn: inconsistent returns '&epf_pf->lock'.
@ 2021-11-22 11:17 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2021-11-22 11:17 UTC (permalink / raw)
  To: kbuild, Kishon Vijay Abraham I
  Cc: lkp, kbuild-all, linux-kernel, Vignesh Raghavendra

tree:   git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head:   0c67d996db8f3c9149598bc98657ae28fee22208
commit: 0cf43e35b1743dc43574089fcf3ff71d8cd2ae39 [4405/10206] PCI: endpoint: Add support to add virtual function in endpoint core
config: x86_64-randconfig-m001-20211116 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

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

smatch warnings:
drivers/pci/endpoint/pci-epf-core.c:169 pci_epf_add_vepf() warn: inconsistent returns '&epf_pf->lock'.

vim +169 drivers/pci/endpoint/pci-epf-core.c

0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  141  int pci_epf_add_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf)
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  142  {
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  143  	u32 vfunc_no;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  144  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  145  	if (IS_ERR_OR_NULL(epf_pf) || IS_ERR_OR_NULL(epf_vf))
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  146  		return -EINVAL;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  147  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  148  	if (epf_pf->epc || epf_vf->epc || epf_vf->epf_pf)
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  149  		return -EBUSY;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  150  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  151  	if (epf_pf->sec_epc || epf_vf->sec_epc)
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  152  		return -EBUSY;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  153  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  154  	mutex_lock(&epf_pf->lock);
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^

0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  155  	vfunc_no = find_first_zero_bit(&epf_pf->vfunction_num_map,
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  156  				       BITS_PER_LONG);
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  157  	if (vfunc_no >= BITS_PER_LONG)
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  158  		return -EINVAL;

Missing unlock on error path.

0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  159  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  160  	set_bit(vfunc_no, &epf_pf->vfunction_num_map);
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  161  	epf_vf->vfunc_no = vfunc_no;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  162  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  163  	epf_vf->epf_pf = epf_pf;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  164  	epf_vf->is_vf = true;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  165  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  166  	list_add_tail(&epf_vf->list, &epf_pf->pci_vepf);
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  167  	mutex_unlock(&epf_pf->lock);
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  168  
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30 @169  	return 0;
0cf43e35b1743d Kishon Vijay Abraham I 2021-03-30  170  }

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


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

only message in thread, other threads:[~2021-11-22 11:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-22 11:17 [ti:ti-rt-linux-5.10.y 4405/10206] drivers/pci/endpoint/pci-epf-core.c:169 pci_epf_add_vepf() warn: inconsistent returns '&epf_pf->lock' Dan Carpenter

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).