Hi Stefano,
url:
https://github.com/0day-ci/linux/commits/Stefano-Garzarella/vdpa-generali...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
585e5b17b92dead8a3aca4e3c9876fbca5f7e0ba
config: x86_64-randconfig-m001-20201114 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/vdpa/vdpa_sim/vdpa_sim.c:242 vdpasim_create() error: uninitialized symbol
'dev'.
vim +/dev +242 drivers/vdpa/vdpa_sim/vdpa_sim.c
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 184
struct vdpasim *vdpasim_create(struct vdpasim_init_attr *attr)
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 185
{
de91a4d0e725db3 drivers/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-08-04 186
const struct vdpa_config_ops *ops;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 187
struct vdpasim *vdpasim;
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 188
u32 device_id;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 189
struct device *dev;
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 190
int i, size, ret = -ENOMEM;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 191
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 192
device_id = attr->device_id;
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 193
/* Currently, we only accept the network and block devices. */
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 194
if (device_id != VIRTIO_ID_NET && device_id != VIRTIO_ID_BLOCK)
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 195
return ERR_PTR(-EOPNOTSUPP);
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 196
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 197
if (attr->batch_mapping)
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 198
ops = &vdpasim_batch_config_ops;
de91a4d0e725db3 drivers/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-08-04 199
else
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 200
ops = &vdpasim_config_ops;
de91a4d0e725db3 drivers/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-08-04 201
a9974489b61c09c drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-08-04 202
vdpasim = vdpa_alloc_device(struct vdpasim, vdpa, NULL, ops, VDPASIM_VQ_NUM);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 203
if (!vdpasim)
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 204
goto err_alloc;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 205
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 206
if (device_id == VIRTIO_ID_NET)
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 207
size = sizeof(struct virtio_net_config);
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 208
else
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 209
size = sizeof(struct virtio_blk_config);
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 210
vdpasim->config = kzalloc(size, GFP_KERNEL);
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 211
if (!vdpasim->config)
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 212
goto err_iommu;
^^^^^^^^^^^^^^
"dev" not initialized on this path.
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 213
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 214
vdpasim->device_id = device_id;
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 215
vdpasim->supported_features = attr->features;
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 216
INIT_WORK(&vdpasim->work, attr->work_fn);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 217
spin_lock_init(&vdpasim->lock);
1e3e792650d2c0d drivers/vdpa/vdpa_sim/vdpa_sim.c Michael S. Tsirkin 2020-08-10 218
spin_lock_init(&vdpasim->iommu_lock);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 219
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 220
dev = &vdpasim->vdpa.dev;
1eca16b231570c8 drivers/vdpa/vdpa_sim/vdpa_sim.c Laurent Vivier 2020-10-27 221
dev->dma_mask = &dev->coherent_dma_mask;
1eca16b231570c8 drivers/vdpa/vdpa_sim/vdpa_sim.c Laurent Vivier 2020-10-27 222
if (dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64)))
1eca16b231570c8 drivers/vdpa/vdpa_sim/vdpa_sim.c Laurent Vivier 2020-10-27 223
goto err_iommu;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 224
set_dma_ops(dev, &vdpasim_dma_ops);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 225
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 226
vdpasim->iommu = vhost_iotlb_alloc(2048, 0);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 227
if (!vdpasim->iommu)
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 228
goto err_iommu;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 229
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 230
vdpasim->buffer = kmalloc(PAGE_SIZE, GFP_KERNEL);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 231
if (!vdpasim->buffer)
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 232
goto err_iommu;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 233
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 234
for (i = 0; i < VDPASIM_VQ_NUM; i++)
12adecc2babdd7b drivers/vdpa/vdpa_sim/vdpa_sim.c Max Gurtovoy 2020-11-13 235
vringh_set_iotlb(&vdpasim->vqs[i].vring, vdpasim->iommu);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 236
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 237
vdpasim->vdpa.dma_dev = dev;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 238
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 239
return vdpasim;
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 240
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 241
err_iommu:
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 @242
put_device(dev);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 243
err_alloc:
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 244
return ERR_PTR(ret);
2c53d0f64c06f45 drivers/virtio/vdpa/vdpa_sim/vdpa_sim.c Jason Wang 2020-03-26 245
}
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org