From patchwork Sun Mar 10 07:57:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kangjie Lu X-Patchwork-Id: 1053919 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=umn.edu Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=umn.edu header.i=@umn.edu header.b="fEPJm+X4"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44HD9r67lHz9sBp for ; Sun, 10 Mar 2019 18:57:52 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726329AbfCJH5o (ORCPT ); Sun, 10 Mar 2019 03:57:44 -0400 Received: from mta-p5.oit.umn.edu ([134.84.196.205]:60548 "EHLO mta-p5.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725816AbfCJH5n (ORCPT ); Sun, 10 Mar 2019 03:57:43 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p5.oit.umn.edu (Postfix) with ESMTP id 18807B3A for ; Sun, 10 Mar 2019 07:57:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p5.oit.umn.edu ([127.0.0.1]) by localhost (mta-p5.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 45L1gOSpJTip for ; Sun, 10 Mar 2019 01:57:41 -0600 (CST) Received: from mail-it1-f198.google.com (mail-it1-f198.google.com [209.85.166.198]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p5.oit.umn.edu (Postfix) with ESMTPS id D9B92A11 for ; Sun, 10 Mar 2019 01:57:41 -0600 (CST) Received: by mail-it1-f198.google.com with SMTP id q141so2145212itc.2 for ; Sat, 09 Mar 2019 23:57:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=MzOTGNaM6xKyCz979o1NCUtyTJWBfNLq000kVLZMQPI=; b=fEPJm+X4LANPfNMBb7r4sXN14RyQnFbjVDgwIUXMudFiqPioevD4vvfLvsjAWfWIe7 H8di3L/mFU2gt18AFKpTOi69CkLn4P6gfwloJo1w3fCHa7H0mckgvpFcH7X0HxCCeEJJ GL0Aje+cXbCZxDasYEGhWKumzTt0XtF8cG6Y+gUYAEGoJPtwBPUaAHlg3bKgCsXor4ru UIOmVqbhbxROzg9tH0vdQ8B1MFHgMbQGSDOCHHhI6IV97yAXlPpq8hf5gsgnJbPU3qVs xBxyB7aRQu0z2ZCLNh5fpucyWaOLJRZc7Qe4dC/JaWnWRqXcfid1xjbR9nceBf7Nl7V4 a9Yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=MzOTGNaM6xKyCz979o1NCUtyTJWBfNLq000kVLZMQPI=; b=UYI4ov7qjOwkGPCuC8+/Xcz+0u8n20a8Ug1jitPzmr9zQHNCsYByk9b/H6jc/+xkCT mgCNo0dsWrotFb7f/PzRl9TPskhNzB8sb/9W/Uc3k1Mv27rv8GW08R5VCFrVg87DXad3 RiUqptx/rpT+LV3nLP7QyprmoEqWwW2XVJvlcm32o1SFiXEYR+LxzX+iKlpL/FyKqS5a //Sed0QFoFnHwC+t/9YYHZc+CMEZKSJCQVYSgqJOSKpp+KadRFtBoVruTZcP6rZJ/T6N 2qelOTZHXDjmaDuRNZu2sTjG4SqKl+NMSmSS8Y0z1/4upIdErHoGR3ppnsmomzAonljC aiqg== X-Gm-Message-State: APjAAAWVs8NGId7u3Ii80kDuQmkLIRNcu6krEgBaOWSggY8naQsvVipB WA/X3C08WGDKDI5DI6yyJPaIlf4CmkED6ub7YOTS1GmxPnLZthVMmAQ5qBJ9hMbJGP/UljVZSHx e+RaX07QYeGevowW7jjbJ X-Received: by 2002:a02:1e13:: with SMTP id m19mr14061647jad.94.1552204661452; Sat, 09 Mar 2019 23:57:41 -0800 (PST) X-Google-Smtp-Source: APXvYqzz7ERUcOzQ/s5R4J83FTgwYZ9sFaGRad8qxA/ZC/7L2dl/Z23Tk4ypi7KswRJjpEqjqiWnIA== X-Received: by 2002:a02:1e13:: with SMTP id m19mr14061633jad.94.1552204661064; Sat, 09 Mar 2019 23:57:41 -0800 (PST) Received: from bee.dtc.umn.edu (cs-bee-u.cs.umn.edu. [128.101.106.63]) by smtp.gmail.com with ESMTPSA id v14sm959667iol.61.2019.03.09.23.57.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 09 Mar 2019 23:57:40 -0800 (PST) From: Kangjie Lu To: kjlu@umn.edu Cc: pakki001@umn.edu, Wolfgang Grandegger , Marc Kleine-Budde , "David S. Miller" , Wei Liu , Joe Perches , linux-can@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] net: spi: fix a potential NULL pointer dereference Date: Sun, 10 Mar 2019 01:57:33 -0600 Message-Id: <20190310075735.3392-1-kjlu@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In case alloc_workqueue fails to allocate the work queue and returns NULL, the fix releases the resources and returns -ENOMEM. Signed-off-by: Kangjie Lu --- drivers/net/can/spi/mcp251x.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index e90817608645..2737b9a20dfe 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c @@ -962,6 +962,14 @@ static int mcp251x_open(struct net_device *net) priv->wq = alloc_workqueue("mcp251x_wq", WQ_FREEZABLE | WQ_MEM_RECLAIM, 0); + if (unlikely(!priv->wq)) { + dev_err(&spi->dev, "failed to allocate work queue\n"); + mcp251x_power_enable(priv->transceiver, 0); + close_candev(net); + ret = -ENOMEM; + goto open_unlock; + } + INIT_WORK(&priv->tx_work, mcp251x_tx_work_handler); INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler);