From 691733e72bda85117adf0beb99e12794914fbb84 Mon Sep 17 00:00:00 2001 From: Chenbo Xia Date: Fri, 19 Apr 2019 00:58:34 +0000 Subject: [PATCH] crypto/virtio: check PCI config read Fix unchecked return value issue for rte_pci_read_config. Coverity issue: 302861 Fixes: 25500d4b8076 ("crypto/virtio: support device init") Cc: stable@dpdk.org Signed-off-by: Chenbo Xia Acked-by: Akhil Goyal --- drivers/crypto/virtio/virtio_pci.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/virtio/virtio_pci.c b/drivers/crypto/virtio/virtio_pci.c index 0c0c644714..8137b3c5ac 100644 --- a/drivers/crypto/virtio/virtio_pci.c +++ b/drivers/crypto/virtio/virtio_pci.c @@ -397,9 +397,13 @@ virtio_read_caps(struct rte_pci_device *dev, struct virtio_crypto_hw *hw) hw->common_cfg = get_cfg_addr(dev, &cap); break; case VIRTIO_PCI_CAP_NOTIFY_CFG: - rte_pci_read_config(dev, &hw->notify_off_multiplier, + ret = rte_pci_read_config(dev, &hw->notify_off_multiplier, 4, pos + sizeof(cap)); - hw->notify_base = get_cfg_addr(dev, &cap); + if (ret != 4) + VIRTIO_CRYPTO_INIT_LOG_ERR( + "failed to read notify_off_multiplier: ret %d", ret); + else + hw->notify_base = get_cfg_addr(dev, &cap); break; case VIRTIO_PCI_CAP_DEVICE_CFG: hw->dev_cfg = get_cfg_addr(dev, &cap); -- 2.20.1