vfio-pci/zdev: fix possible segmentation fault issue
authorMax Gurtovoy <mgurtovoy@nvidia.com>
Mon, 1 Feb 2021 16:28:25 +0000 (16:28 +0000)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 2 Feb 2021 16:06:02 +0000 (09:06 -0700)
In case allocation fails, we must behave correctly and exit with error.

Fixes: e6b817d4b821 ("vfio-pci/zdev: Add zPCI capabilities to VFIO_DEVICE_GET_INFO")
Signed-off-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/pci/vfio_pci_zdev.c

index 5308452..7b011b6 100644 (file)
@@ -71,6 +71,8 @@ static int zpci_util_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps)
        int ret;
 
        cap = kmalloc(cap_size, GFP_KERNEL);
+       if (!cap)
+               return -ENOMEM;
 
        cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_UTIL;
        cap->header.version = 1;
@@ -94,6 +96,8 @@ static int zpci_pfip_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps)
        int ret;
 
        cap = kmalloc(cap_size, GFP_KERNEL);
+       if (!cap)
+               return -ENOMEM;
 
        cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_PFIP;
        cap->header.version = 1;