diff mbox series

net: cw1200: fix a NULL pointer dereference

Message ID 20190312080502.2953-1-kjlu@umn.edu (mailing list archive)
State Accepted
Commit 0ed2a005347400500a39ea7c7318f1fea57fb3ca
Delegated to: Kalle Valo
Headers show
Series net: cw1200: fix a NULL pointer dereference | expand

Commit Message

Kangjie Lu March 12, 2019, 8:05 a.m. UTC
In case create_singlethread_workqueue fails, the fix free the
hardware and returns NULL to avoid NULL pointer dereference.

Signed-off-by: Kangjie Lu <kjlu@umn.edu>
---
 drivers/net/wireless/st/cw1200/main.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Kalle Valo April 25, 2019, 4:40 p.m. UTC | #1
Kangjie Lu <kjlu@umn.edu> wrote:

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

Patch applied to wireless-drivers-next.git, thanks.

0ed2a0053474 net: cw1200: fix a NULL pointer dereference
diff mbox series

Patch

diff --git a/drivers/net/wireless/st/cw1200/main.c b/drivers/net/wireless/st/cw1200/main.c
index 90dc979f260b..c1608f0bf6d0 100644
--- a/drivers/net/wireless/st/cw1200/main.c
+++ b/drivers/net/wireless/st/cw1200/main.c
@@ -345,6 +345,11 @@  static struct ieee80211_hw *cw1200_init_common(const u8 *macaddr,
 	mutex_init(&priv->wsm_cmd_mux);
 	mutex_init(&priv->conf_mutex);
 	priv->workqueue = create_singlethread_workqueue("cw1200_wq");
+	if (!priv->workqueue) {
+		ieee80211_free_hw(hw);
+		return NULL;
+	}
+
 	sema_init(&priv->scan.lock, 1);
 	INIT_WORK(&priv->scan.work, cw1200_scan_work);
 	INIT_DELAYED_WORK(&priv->scan.probe_work, cw1200_probe_work);