Dan Carpenter
2020-Nov-03 10:04 UTC
[PATCH 04/17] vhost: prep vhost_dev_init users to handle failures
Hi Mike,
url:
https://github.com/0day-ci/linux/commits/Mike-Christie/vhost-fix-scsi-cmd-handling-and-cgroup-support/20201022-083844
base: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
config: i386-randconfig-m021-20201101 (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 at intel.com>
Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
smatch warnings:
drivers/vhost/vsock.c:648 vhost_vsock_dev_open() error: uninitialized symbol
'ret'.
vim +/ret +648 drivers/vhost/vsock.c
433fc58e6bf2c8b Asias He 2016-07-28 605 static int
vhost_vsock_dev_open(struct inode *inode, struct file *file)
433fc58e6bf2c8b Asias He 2016-07-28 606 {
433fc58e6bf2c8b Asias He 2016-07-28 607 struct vhost_virtqueue **vqs;
433fc58e6bf2c8b Asias He 2016-07-28 608 struct vhost_vsock *vsock;
433fc58e6bf2c8b Asias He 2016-07-28 609 int ret;
433fc58e6bf2c8b Asias He 2016-07-28 610
433fc58e6bf2c8b Asias He 2016-07-28 611 /* This struct is large and
allocation could fail, fall back to vmalloc
433fc58e6bf2c8b Asias He 2016-07-28 612 * if there is no other way.
433fc58e6bf2c8b Asias He 2016-07-28 613 */
dcda9b04713c3f6 Michal Hocko 2017-07-12 614 vsock =
kvmalloc(sizeof(*vsock), GFP_KERNEL | __GFP_RETRY_MAYFAIL);
433fc58e6bf2c8b Asias He 2016-07-28 615 if (!vsock)
433fc58e6bf2c8b Asias He 2016-07-28 616 return -ENOMEM;
433fc58e6bf2c8b Asias He 2016-07-28 617
433fc58e6bf2c8b Asias He 2016-07-28 618 vqs =
kmalloc_array(ARRAY_SIZE(vsock->vqs), sizeof(*vqs), GFP_KERNEL);
433fc58e6bf2c8b Asias He 2016-07-28 619 if (!vqs) {
433fc58e6bf2c8b Asias He 2016-07-28 620 ret = -ENOMEM;
433fc58e6bf2c8b Asias He 2016-07-28 621 goto out;
433fc58e6bf2c8b Asias He 2016-07-28 622 }
433fc58e6bf2c8b Asias He 2016-07-28 623
a72b69dc083a931 Stefan Hajnoczi 2017-11-09 624 vsock->guest_cid = 0; /* no
CID assigned yet */
a72b69dc083a931 Stefan Hajnoczi 2017-11-09 625
433fc58e6bf2c8b Asias He 2016-07-28 626
atomic_set(&vsock->queued_replies, 0);
433fc58e6bf2c8b Asias He 2016-07-28 627
433fc58e6bf2c8b Asias He 2016-07-28 628 vqs[VSOCK_VQ_TX] =
&vsock->vqs[VSOCK_VQ_TX];
433fc58e6bf2c8b Asias He 2016-07-28 629 vqs[VSOCK_VQ_RX] =
&vsock->vqs[VSOCK_VQ_RX];
433fc58e6bf2c8b Asias He 2016-07-28 630
vsock->vqs[VSOCK_VQ_TX].handle_kick = vhost_vsock_handle_tx_kick;
433fc58e6bf2c8b Asias He 2016-07-28 631
vsock->vqs[VSOCK_VQ_RX].handle_kick = vhost_vsock_handle_rx_kick;
433fc58e6bf2c8b Asias He 2016-07-28 632
6e1629548d318c2 Mike Christie 2020-10-21 633 if
(vhost_dev_init(&vsock->dev, vqs, ARRAY_SIZE(vsock->vqs),
e82b9b0727ff6d6 Jason Wang 2019-05-17 634 UIO_MAXIOV,
VHOST_VSOCK_PKT_WEIGHT,
6e1629548d318c2 Mike Christie 2020-10-21 635 VHOST_VSOCK_WEIGHT, true,
NULL))
6e1629548d318c2 Mike Christie 2020-10-21 636 goto err_dev_init;
^^^^^^^^^^^^^^^^^
"ret" needs to be set here.
433fc58e6bf2c8b Asias He 2016-07-28 637
433fc58e6bf2c8b Asias He 2016-07-28 638 file->private_data = vsock;
433fc58e6bf2c8b Asias He 2016-07-28 639
spin_lock_init(&vsock->send_pkt_list_lock);
433fc58e6bf2c8b Asias He 2016-07-28 640
INIT_LIST_HEAD(&vsock->send_pkt_list);
433fc58e6bf2c8b Asias He 2016-07-28 641
vhost_work_init(&vsock->send_pkt_work, vhost_transport_send_pkt_work);
433fc58e6bf2c8b Asias He 2016-07-28 642 return 0;
433fc58e6bf2c8b Asias He 2016-07-28 643
6e1629548d318c2 Mike Christie 2020-10-21 644 err_dev_init:
6e1629548d318c2 Mike Christie 2020-10-21 645 kfree(vqs);
433fc58e6bf2c8b Asias He 2016-07-28 646 out:
433fc58e6bf2c8b Asias He 2016-07-28 647 vhost_vsock_free(vsock);
433fc58e6bf2c8b Asias He 2016-07-28 @648 return ret;
433fc58e6bf2c8b Asias He 2016-07-28 649 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 32485 bytes
Desc: not available
URL:
<http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20201103/477fca88/attachment-0001.gz>
