From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiecheng Wu Subject: [PATCH] fm10k_main.c: fix missing return value check of alloc_skb() Date: Sat, 18 Aug 2018 10:27:17 +0800 Message-ID: <20180818022717.13368-1-jasonwood2031@gmail.com> To: netdev@vger.kernel.org Return-path: Received: from mail-pf1-f193.google.com ([209.85.210.193]:42300 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725862AbeHRFdW (ORCPT ); Sat, 18 Aug 2018 01:33:22 -0400 Received: by mail-pf1-f193.google.com with SMTP id l9-v6so4229964pff.9 for ; Fri, 17 Aug 2018 19:27:27 -0700 (PDT) Received: from localhost.localdomain ([2402:f000:1:1501:200:5efe:a66f:53fa]) by smtp.gmail.com with ESMTPSA id h132-v6sm5273410pfc.100.2018.08.17.19.27.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 17 Aug 2018 19:27:26 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Function fm10k_init_module() defined in drivers/net/ethernet/intel/fm10k/fm10k_main.c calls alloc_workqueue() to allocate memory for struct workqueue_struct which is dereferenced immediately. As alloc_workqueue() may return NULL on failure, this code piece may cause NULL pointer dereference bug. --- drivers/net/ethernet/intel/fm10k/fm10k_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c index 3f53654..78a43d6 100644 --- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c +++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c @@ -41,6 +41,8 @@ static int __init fm10k_init_module(void) /* create driver workqueue */ fm10k_workqueue = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, fm10k_driver_name); + if (!fm10k_workqueue) + return -ENOMEM; fm10k_dbg_init(); -- 2.6.4