[PATCH] sys/dev/qlnxr_os: fix a missing check bug in qlnxr_add()

Gen Zhang blackgod016574 at gmail.com
Wed Jul 31 06:49:27 UTC 2019


In qlnxr_add(), dev->pdev is allocated by kzalloc(), where a check
should be enforced.

Signed-off-by: Gen Zhang <blackgod016574 at gmail.com>
---
diff --git a/sys/dev/qlnx/qlnxr/qlnxr_os.c b/sys/dev/qlnx/qlnxr/qlnxr_os.c
index a9e426e..6f9abf1 100644
--- a/sys/dev/qlnx/qlnxr/qlnxr_os.c
+++ b/sys/dev/qlnx/qlnxr/qlnxr_os.c
@@ -1115,6 +1115,8 @@ qlnxr_add(void *eth_dev)
 	dev->cdev = &ha->cdev;
 	/* Added to extend Application support */
 	dev->pdev = kzalloc(sizeof(struct pci_dev), GFP_KERNEL);
+	if (!dev->pdev)
+		goto qlnxr_add_err;
 
         dev->pdev->dev = *(dev->ha->pci_dev);
         dev->pdev->device = pci_get_device(dev->ha->pci_dev);


More information about the freebsd-bugs mailing list