Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp3775488pxt; Tue, 10 Aug 2021 11:03:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmKmFPACMCkvmMeS2JDiGQz4zZu785ArXm38080vctteQVNmcmmOYyu/NtQlnkV2nu9QVc X-Received: by 2002:a02:5bc5:: with SMTP id g188mr29054698jab.136.1628618596604; Tue, 10 Aug 2021 11:03:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628618596; cv=none; d=google.com; s=arc-20160816; b=YkpDVxt1Xbd4i4i9p/IpsQTbxBj+GzlRsG23NHH6JRslQNVhDI+SXieb4SqiMgurj2 ioC8Ee8xzwxFfMoLyIAxga9SSHAXs8oJGl9+AaCmPK4ZW7C7YK3LOVlS++5eIhfIf28O oPcbcWB9t3mnSDKm+jQsQINyF78uU/SCKruHExJpGKq2wVuCGiIPKCOzvzSuv/4UDhBl 2NPjWV1bjFv7cH5f3BvVAq1y2c9IyKnLB38mKHM6C7ET6lI94qch+IoY3Ee8KIiEylxm wYTqgqVWfmg1HpietMIQ5v1ysOspwVDbrfw+3NpcW29Kt8XVLjhjkOCFJp491/Lte+Q7 QQcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yHnMSqsi4ba8uik+DADPiBX1yuxPP3X3X2CIa57QCQ8=; b=wEUUteK6hvtN8kS+txRUHqGIU7Kjm1kuUo3x3beZinq6BXurAUQL37t6X1up6JXA4L tq29bWND/zN81qnrgyl/YPPw0kpLmlmd9U/N6gbsfsXkXTmxXVTjHzZDV82OzPPy/pWq GbgIDqyTHsBBif5b/7pkVF8pa/TLgUsy6zp2v1nIeiNpDXYP1IuPBmK1I1FHi57wThMW 3YxQc92Aax1OA1/YVmk9wxB/aSgM1O0chmCFr+IbdsItASCuogn0qDSn6IzCs6xSyNJG b+mpY9D9R03M/cmos9rtCqdWwgHQhWYcJbaKNOYZtxzzLDBR8n7yQK0mZ3DDI2oOU9Es YvnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=uVrwRtPf; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b14si24595799ilv.52.2021.08.10.11.03.01; Tue, 10 Aug 2021 11:03:16 -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=@linuxfoundation.org header.s=korg header.b=uVrwRtPf; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236078AbhHJSAy (ORCPT + 99 others); Tue, 10 Aug 2021 14:00:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:53654 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236726AbhHJR5W (ORCPT ); Tue, 10 Aug 2021 13:57:22 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0E4A06139D; Tue, 10 Aug 2021 17:45:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1628617528; bh=W9XTF6OkJnuGwFbAjAdi2UgWQggT2Vvl8WCSX8YxYWY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uVrwRtPfBCbVq/Nr/uSu1xfVEQDSJds/iwM53Lu4LyfjTS1ob6NpHi85P5zwwq7mb ljD34ENR7E9fpCibYPbKWkG4QmVaCe+k7iI8S0076u3bgAshR5VeyQmqEqUWCYGJhC pzOJS5SSdoS99wParRl4GfEPsjUUAqx2wUwE50fg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Grygorii Strashko , "David S. Miller" , Sasha Levin Subject: [PATCH 5.13 065/175] net: ethernet: ti: am65-cpsw: fix crash in am65_cpsw_port_offload_fwd_mark_update() Date: Tue, 10 Aug 2021 19:29:33 +0200 Message-Id: <20210810173003.081740849@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210810173000.928681411@linuxfoundation.org> References: <20210810173000.928681411@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Grygorii Strashko [ Upstream commit ae03d189bae306e1e00aa631feee090ebda6cf63 ] The am65_cpsw_port_offload_fwd_mark_update() causes NULL exception crash when there is at least one disabled port and any other port added to the bridge first time. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000858 pc : am65_cpsw_port_offload_fwd_mark_update+0x54/0x68 lr : am65_cpsw_netdevice_event+0x8c/0xf0 Call trace: am65_cpsw_port_offload_fwd_mark_update+0x54/0x68 notifier_call_chain+0x54/0x98 raw_notifier_call_chain+0x14/0x20 call_netdevice_notifiers_info+0x34/0x78 __netdev_upper_dev_link+0x1c8/0x290 netdev_master_upper_dev_link+0x1c/0x28 br_add_if+0x3f0/0x6d0 [bridge] Fix it by adding proper check for port->ndev != NULL. Fixes: 2934db9bcb30 ("net: ti: am65-cpsw-nuss: Add netdevice notifiers") Signed-off-by: Grygorii Strashko Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c index 718539cdd2f2..67a08cbba859 100644 --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c @@ -2060,8 +2060,12 @@ static void am65_cpsw_port_offload_fwd_mark_update(struct am65_cpsw_common *comm for (i = 1; i <= common->port_num; i++) { struct am65_cpsw_port *port = am65_common_get_port(common, i); - struct am65_cpsw_ndev_priv *priv = am65_ndev_to_priv(port->ndev); + struct am65_cpsw_ndev_priv *priv; + if (!port->ndev) + continue; + + priv = am65_ndev_to_priv(port->ndev); priv->offload_fwd_mark = set_val; } } -- 2.30.2