Re: [PATCH net-next v3 06/14] sfc: implement vDPA management device operations

From: kernel test robot
Date: Thu Apr 06 2023 - 10:29:36 EST


Hi Gautam,

kernel test robot noticed the following build warnings:

[auto build test WARNING on net-next/main]

url: https://github.com/intel-lab-lkp/linux/commits/Gautam-Dawar/sfc-add-function-personality-support-for-EF100-devices/20230406-151436
patch link: https://lore.kernel.org/r/20230406065706.59664-7-gautam.dawar%40amd.com
patch subject: [PATCH net-next v3 06/14] sfc: implement vDPA management device operations
config: x86_64-randconfig-a002-20230403 (https://download.01.org/0day-ci/archive/20230406/202304062258.oIHz9siw-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/0887a40c60d1983214d417491dc9ef46191ab1ac
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Gautam-Dawar/sfc-add-function-personality-support-for-EF100-devices/20230406-151436
git checkout 0887a40c60d1983214d417491dc9ef46191ab1ac
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/ethernet/sfc/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202304062258.oIHz9siw-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/sfc/ef100_vdpa.c:184:12: warning: variable 'efx' is uninitialized when used here [-Wuninitialized]
pci_err(efx->pci_dev, "Invalid MAC address %pM\n",
^~~
include/linux/pci.h:2548:46: note: expanded from macro 'pci_err'
#define pci_err(pdev, fmt, arg...) dev_err(&(pdev)->dev, fmt, ##arg)
^~~~
include/linux/dev_printk.h:144:44: note: expanded from macro 'dev_err'
dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
^~~
include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
_p_func(dev, fmt, ##__VA_ARGS__); \
^~~
drivers/net/ethernet/sfc/ef100_vdpa.c:179:21: note: initialize the variable 'efx' to silence this warning
struct efx_nic *efx;
^
= NULL
1 warning generated.


vim +/efx +184 drivers/net/ethernet/sfc/ef100_vdpa.c

171
172 static int ef100_vdpa_net_dev_add(struct vdpa_mgmt_dev *mgmt_dev,
173 const char *name,
174 const struct vdpa_dev_set_config *config)
175 {
176 struct ef100_vdpa_nic *vdpa_nic;
177 struct ef100_nic_data *nic_data;
178 const u8 *mac = NULL;
179 struct efx_nic *efx;
180 int rc, err;
181
182 if (config->mask & BIT_ULL(VDPA_ATTR_DEV_NET_CFG_MACADDR)) {
183 if (!is_valid_ether_addr(config->net.mac)) {
> 184 pci_err(efx->pci_dev, "Invalid MAC address %pM\n",
185 config->net.mac);
186 return -EINVAL;
187 }
188 mac = (const u8 *)config->net.mac;
189 }
190
191 efx = pci_get_drvdata(to_pci_dev(mgmt_dev->device));
192 if (efx->vdpa_nic) {
193 pci_warn(efx->pci_dev,
194 "vDPA device already exists on this VF\n");
195 return -EEXIST;
196 }
197
198 nic_data = efx->nic_data;
199
200 rc = efx_ef100_set_bar_config(efx, EF100_BAR_CONFIG_VDPA);
201 if (rc) {
202 pci_err(efx->pci_dev,
203 "set_bar_config vDPA failed, err: %d\n", rc);
204 goto err_set_bar_config;
205 }
206
207 vdpa_nic = ef100_vdpa_create(efx, name, EF100_VDPA_CLASS_NET, mac);
208 if (IS_ERR(vdpa_nic)) {
209 pci_err(efx->pci_dev,
210 "vDPA device creation failed, vf: %u, err: %ld\n",
211 nic_data->vf_index, PTR_ERR(vdpa_nic));
212 rc = PTR_ERR(vdpa_nic);
213 goto err_set_bar_config;
214 } else {
215 pci_dbg(efx->pci_dev,
216 "vdpa net device created, vf: %u\n",
217 nic_data->vf_index);
218 }
219
220 return 0;
221
222 err_set_bar_config:
223 err = efx_ef100_set_bar_config(efx, EF100_BAR_CONFIG_EF100);
224 if (err)
225 pci_err(efx->pci_dev,
226 "set_bar_config EF100 failed, err: %d\n", err);
227
228 return rc;
229 }
230

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests