Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3296260ybz; Sun, 3 May 2020 23:29:47 -0700 (PDT) X-Google-Smtp-Source: APiQypI+MrOsNWuyqBoV+hSnmXdzcWmL5vge8bpGMRg7YYzOT42CFh2GhTQqkGBuRAmw7yqDOecp X-Received: by 2002:a17:906:359b:: with SMTP id o27mr13963419ejb.282.1588573787692; Sun, 03 May 2020 23:29:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588573787; cv=none; d=google.com; s=arc-20160816; b=lSZm8y4FDs6I2268x2qcom2boIuX2F8VcBnhuaBmnEg9rW1zLbER9McmnV+8tVpTHH +WJyMU9VYC06YgItlZmfQK+PrAPN3jWoy4Ntzq+KfCzzPaBVs6qu5fO8dSZLJh34UN32 iW0pePbLrZWnDl9yhUAKs8OpjPr7wef3UftZ1K5P1dXhNnKdc39/AV5HvQAQ3Uotduvy EphSW9xn2aVCl5JwVfbAuzSX+1fg5qUrP7VLMl4Np2wiDBNSWZE/BwLY9tasFvTu2W4Y jMiqQfLbLg+K+sPmv1bKALwl6vx069iQg8ToemfjalAqehGKpkSrt1TNQ4utEKzsfQng j03w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:content-disposition :mime-version:message-id:subject:cc:to:from:date:dkim-signature; bh=lqVG7t82i77h5kEn5TCPzHYtd4/tKpgSC9SyCQ77F9Y=; b=SpwGlIhT2jmrB2igxspAWwf3seMFgFgtj7xRcqrwaysC/GTevEkiOEIcJqxF4iWCkH 6FMAwL0ducAgTcmOnqsWLcKL6oQhpq/c8qebFumpkS4qJK0GfUcjRDO4reax95KwFYvw aym4dgbxpZz2XncAHxJCbd47542KTveufXhAuNCr2qrmuWUh0bJsE/f/NffJLOszt6zY nXYEOqffXjb3R7a5NLULE0CdzR7bJTyobjwJUm70+ExAUBluvOndbfzSvi4dws9tDou2 fEbDhhVz1BizjuKXaDFFrqV9mem4PnE0zbyIBUAKSQt5OrA9dQBfWoG4xCtozuB3mvrn 5UcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="nPlgEx/b"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id da12si5779296edb.439.2020.05.03.23.29.25; Sun, 03 May 2020 23:29:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="nPlgEx/b"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728081AbgEDG0t (ORCPT + 99 others); Mon, 4 May 2020 02:26:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728058AbgEDG0t (ORCPT ); Mon, 4 May 2020 02:26:49 -0400 Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBFBEC061A0E; Sun, 3 May 2020 23:26:48 -0700 (PDT) Received: by mail-lj1-x242.google.com with SMTP id b2so8497536ljp.4; Sun, 03 May 2020 23:26:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=lqVG7t82i77h5kEn5TCPzHYtd4/tKpgSC9SyCQ77F9Y=; b=nPlgEx/belfPjcRR4Bghp8yryWgoPyQ7o8FjnzRfJlCdIuJ+LlTkIGo2GbbtV20w57 NLmsDyBuIE/c62iqddO/XCNr/M/y5DE3aOODgBKotlZwVoguEEB7/W7o/tZhKY7gTF8B U2YJ/i88yEjYjUFkmtMIadnkoqcFWB00J38pH6E785DACMr/nVX1auX0WbeGVrswSg7f 6LcUhN74dY4+dymVIyYpNegqiZ0BdeW09ltenIHU/M+CNhzgAcw5lwdwuuv5bqDRywn6 +Fd4eqPKZmaKo2zx6FaPcoZTdkg/sTglYkcfRM8RTBmk2LGd5RfQPhctWlWB2PMlA1Ly lAhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=lqVG7t82i77h5kEn5TCPzHYtd4/tKpgSC9SyCQ77F9Y=; b=buvuVJQXNinZnaXD6h/nvEQxb2lYPJ9eTvqIXnvErSZrsP2OsbwXTjSC8k6WTnktrH 3lX2ITtP+ipbxyaTaiHdckdW+Vsv+kyXGfhl26EMro67x5IaY1HMGz/hBiTuxJk+vTGk GvLpU/5LxxO23p3kbLcdi2Gy8Xw0zHOK9Jz302NQsGuXCxY0hPy2Npq+rBMSWhMctr62 MzC6YdhERZfj7hGQQRyK3FMFXu9ASXUvSkwA6VPB9ZCSdECPKV7YfNo549uJqPx1qkLa me198TZ8G3qeB4wC7oyHYXKc9EuxyD/jga4UVErGLpvq0dKVmWIA9SgeU4hSBLu7Zyl7 Ri9Q== X-Gm-Message-State: AGi0PuZ589FQYPjMocRy9FiJI+eBJcP6P3JdyyO8jVFV9mcX+4X4y8oj O5iN0ca1IbL8GVG+qW1oU6j6eqtVwwBQcA== X-Received: by 2002:a2e:9691:: with SMTP id q17mr8437589lji.116.1588573607244; Sun, 03 May 2020 23:26:47 -0700 (PDT) Received: from maxim-hplinux ([89.179.187.12]) by smtp.gmail.com with ESMTPSA id g20sm8628735lfj.1.2020.05.03.23.26.46 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 03 May 2020 23:26:46 -0700 (PDT) Date: Mon, 4 May 2020 09:26:43 +0300 From: Maxim Petrov To: Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , "David S. Miller" , Maxime Coquelin Cc: mmrmaximuzz@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] stmmac: fix pointer check after utilization in stmmac_interrupt Message-ID: <20200504062639.GA11585@maxim-hplinux> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The paranoidal pointer check in IRQ handler looks very strange - it really protects us only against bogus drivers which request IRQ line with null pointer dev_id. However, the code fragment is incorrect because the dev pointer is used before the actual check which leads to undefined behavior. Remove the check to avoid confusing people with incorrect code. Signed-off-by: Maxim Petrov --- Changes in V2: * Remove the incorrect check instead of fixing it (suggested by David Miller) * Add clarification to the function description drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 565da6498c84..e2b095d936cf 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4060,7 +4060,7 @@ static int stmmac_set_features(struct net_device *netdev, /** * stmmac_interrupt - main ISR * @irq: interrupt number. - * @dev_id: to pass the net device pointer. + * @dev_id: to pass the net device pointer (must be valid). * Description: this is the main driver interrupt service routine. * It can call: * o DMA service routine (to manage incoming frame reception and transmission @@ -4084,11 +4084,6 @@ static irqreturn_t stmmac_interrupt(int irq, void *dev_id) if (priv->irq_wake) pm_wakeup_event(priv->device, 0); - if (unlikely(!dev)) { - netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__); - return IRQ_NONE; - } - /* Check if adapter is up */ if (test_bit(STMMAC_DOWN, &priv->state)) return IRQ_HANDLED; base-commit: 6a8b55ed4056ea5559ebe4f6a4b247f627870d4c -- 2.17.1