vfio-pci/zdev: fix possible segmentation fault issue
In case allocation fails, we must behave correctly and exit with error.
Fixes: e6b817d4b8
("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>
This commit is contained in:
parent
46c4746660
commit
7e31d6dc2c
|
@ -71,6 +71,8 @@ static int zpci_util_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
cap = kmalloc(cap_size, GFP_KERNEL);
|
cap = kmalloc(cap_size, GFP_KERNEL);
|
||||||
|
if (!cap)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_UTIL;
|
cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_UTIL;
|
||||||
cap->header.version = 1;
|
cap->header.version = 1;
|
||||||
|
@ -94,6 +96,8 @@ static int zpci_pfip_cap(struct zpci_dev *zdev, struct vfio_info_cap *caps)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
cap = kmalloc(cap_size, GFP_KERNEL);
|
cap = kmalloc(cap_size, GFP_KERNEL);
|
||||||
|
if (!cap)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_PFIP;
|
cap->header.id = VFIO_DEVICE_INFO_CAP_ZPCI_PFIP;
|
||||||
cap->header.version = 1;
|
cap->header.version = 1;
|
||||||
|
|
Loading…
Reference in New Issue