summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorKangjie Lu <kjlu@umn.edu>2019-03-11 02:25:17 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-04 09:21:12 +0200
commit645dc42f97d85f3940275f13831c14c4f93da299 (patch)
treedcece0f66ef668b3d3541824dfe3d856fecbafa0 /drivers/net
parentedb6168384083131af64ba77813c3d56cd83c082 (diff)
net: ieee802154: fix a potential NULL pointer dereference
[ Upstream commit 2795e8c251614ac0784c9d41008551109f665716 ] In case alloc_ordered_workqueue fails, the fix releases sources and returns -ENOMEM to avoid NULL pointer dereference. Signed-off-by: Kangjie Lu <kjlu@umn.edu> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org> Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ieee802154/adf7242.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ieee802154/adf7242.c b/drivers/net/ieee802154/adf7242.c
index cd1d8faccca5..cd6b95e673a5 100644
--- a/drivers/net/ieee802154/adf7242.c
+++ b/drivers/net/ieee802154/adf7242.c
@@ -1268,6 +1268,10 @@ static int adf7242_probe(struct spi_device *spi)
INIT_DELAYED_WORK(&lp->work, adf7242_rx_cal_work);
lp->wqueue = alloc_ordered_workqueue(dev_name(&spi->dev),
WQ_MEM_RECLAIM);
+ if (unlikely(!lp->wqueue)) {
+ ret = -ENOMEM;
+ goto err_hw_init;
+ }
ret = adf7242_hw_init(lp);
if (ret)