diff mbox series

next: qlogic: fix a potential NULL pointer dereference

Message ID 20190311065100.22203-1-kjlu@umn.edu
State Changes Requested
Delegated to: David Miller
Headers show
Series next: qlogic: fix a potential NULL pointer dereference | expand

Commit Message

Kangjie Lu March 11, 2019, 6:51 a.m. UTC
In case create_singlethread_workqueue fails, the fix returns
-ENOMEM to avoid NULL pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@umn.edu>
---
 drivers/net/ethernet/qlogic/qla3xxx.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

David Miller March 11, 2019, 11:15 p.m. UTC | #1
From: Kangjie Lu <kjlu@umn.edu>
Date: Mon, 11 Mar 2019 01:51:00 -0500

> In case create_singlethread_workqueue fails, the fix returns
> -ENOMEM to avoid NULL pointer dereference.
> 
> Signed-off-by: Kangjie Lu <kjlu@umn.edu>

Why "next"?  Please clean up your Subject line and resubmit.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c
index 10b075bc5959..b61b88cbc0c7 100644
--- a/drivers/net/ethernet/qlogic/qla3xxx.c
+++ b/drivers/net/ethernet/qlogic/qla3xxx.c
@@ -3886,6 +3886,12 @@  static int ql3xxx_probe(struct pci_dev *pdev,
 	netif_stop_queue(ndev);
 
 	qdev->workqueue = create_singlethread_workqueue(ndev->name);
+	if (!qdev->workqueue) {
+		unregister_netdev(ndev);
+		err = -ENOMEM;
+		goto err_out_iounmap;
+	}
+
 	INIT_DELAYED_WORK(&qdev->reset_work, ql_reset_work);
 	INIT_DELAYED_WORK(&qdev->tx_timeout_work, ql_tx_timeout_work);
 	INIT_DELAYED_WORK(&qdev->link_state_work, ql_link_state_machine_work);