Hi Xuan,

kernel test robot noticed the following build warnings:

url:    
https://github.com/intel-lab-lkp/linux/commits/Xuan-Zhuo/virtio_ring-introduce-vring_need_unmap_buffer/20240820-153644
base:   net-next/main
patch link:    
https://lore.kernel.org/r/20240820073330.9161-4-xuanzhuo%40linux.alibaba.com
patch subject: [PATCH net-next 03/13] virtio_ring: packed: harden dma unmap for 
indirect
config: x86_64-randconfig-161-20240820 
(https://download.01.org/0day-ci/archive/20240821/202408210655.dx8v5urw-...@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Reported-by: Dan Carpenter <dan.carpen...@linaro.org>
| Closes: https://lore.kernel.org/r/202408210655.dx8v5urw-...@intel.com/

New smatch warnings:
drivers/virtio/virtio_ring.c:1634 detach_buf_packed() error: uninitialized 
symbol 'desc'.

vim +/desc +1634 drivers/virtio/virtio_ring.c

1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1594  static void 
detach_buf_packed(struct vring_virtqueue *vq,
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1595                            unsigned 
int id, void **ctx)
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1596  {
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1597      struct vring_desc_state_packed 
*state = NULL;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1598      struct vring_packed_desc *desc;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1599      unsigned int i, curr;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1600  
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1601      state = 
&vq->packed.desc_state[id];
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1602  
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1603      /* Clear data ptr. */
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1604      state->data = NULL;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1605  
aeef9b4733c5c2 Jason Wang 2021-06-04  1606      
vq->packed.desc_extra[state->last].next = vq->free_head;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1607      vq->free_head = id;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1608      vq->vq.num_free += state->num;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1609  
d5c0ed17fea60c Xuan Zhuo  2024-02-23  1610      if (unlikely(vq->use_dma_api)) {
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1611              curr = id;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1612              for (i = 0; i < 
state->num; i++) {
d80dc15bb6e76a Xuan Zhuo  2022-02-24  1613                      
vring_unmap_extra_packed(vq,
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1614                                      
         &vq->packed.desc_extra[curr]);
aeef9b4733c5c2 Jason Wang 2021-06-04  1615                      curr = 
vq->packed.desc_extra[curr].next;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1616              }
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1617      }
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1618  
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1619      if (vq->indirect) {
dfcc54f92ab71c Xuan Zhuo  2024-08-20  1620              struct vring_desc_extra 
*extra;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1621              u32 len;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1622  
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1623              /* Free the indirect 
table, if any, now that it's unmapped. */
dfcc54f92ab71c Xuan Zhuo  2024-08-20  1624              extra = state->indir;
dfcc54f92ab71c Xuan Zhuo  2024-08-20  1625              if (!extra)
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1626                      return;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1627  
de6a29c4b4c442 Xuan Zhuo  2024-08-20  1628              if 
(vring_need_unmap_buffer(vq)) {
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1629                      len = 
vq->packed.desc_extra[id].len;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1630                      for (i = 0; i < 
len / sizeof(struct vring_packed_desc);
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1631                                      
i++)
dfcc54f92ab71c Xuan Zhuo  2024-08-20  1632                              
vring_unmap_extra_packed(vq, &extra[i]);
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1633              }
1ce9e6055fa0a9 Tiwei Bie  2018-11-21 @1634              kfree(desc);
                                                              ^^^^
desc is never initialized/used.

dfcc54f92ab71c Xuan Zhuo  2024-08-20  1635              state->indir = NULL;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1636      } else if (ctx) {
dfcc54f92ab71c Xuan Zhuo  2024-08-20  1637              *ctx = state->indir;
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1638      }
1ce9e6055fa0a9 Tiwei Bie  2018-11-21  1639  }

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


Reply via email to