Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp694699pxv; Thu, 22 Jul 2021 09:53:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyPnf3GKcHsk+nUXCiO434N0/hufHPksbpHb1uzws+LLTOxQCLJMnv+E1MAhKv9/z3hGJ4v X-Received: by 2002:a5d:93d3:: with SMTP id j19mr502589ioo.184.1626972824023; Thu, 22 Jul 2021 09:53:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626972824; cv=none; d=google.com; s=arc-20160816; b=aFnfd6DfSYRxm1HLpljOojZjG71jqa+SkE2G1H1LKKjXRR9lFV/iPQyFZdHrZ4yJ1j CuwDxWbfnqb0kdct7UKXcsjbfCD8hm6Xlgi4sEC9ic8n0KTzg/GDRARDnTeR9IATkNuh s6hZRqMpTgebKTjnsXWpn7HFTnU/nybAK1Ncq7f/oxE16L5LaWp7O+PtFaFVL6dTFyc8 3t4ntrRhJeV16NuAYNhro4wq6hu2UdK9QTlOXCL/FVkAKUld6DW5xn0DZdXfICU3z1nl ft79IZfh8hAqQvRRLzZzzac9vrxxiF3Nd+33cnfZ76CeW4IWp1NGQqnW75AmWbWZBG1O AeXw== 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=jFO15NH0zBcP0Ut7lNBChqCRn+0yYH50FkRi7N7hVMM=; b=dkNhJlb5uq+4yYjcXYZpQFwBEgTlp3QX1xnjmzvGVaGtAHSLuJJDYIspdNRgoIdtm3 fIfLMT8ZfYbAHCDRiRMX2fseAi944rGYbGeMB3qvtLVtwq2wJZkjZZY1NQpnLL4SsOdR qru63WKXKLM/4439aWgLb/KghdD7pAzn0ATKBvOtzSp1yhBcR6XiRXYGtwbDL2sQyfmp WEFjwGIF8ShLiw8+n0tlyagh5jmNWXtQaPzKq+jJo6ceiXyh9uqmFOrLfBmguwyJzeJT 6YOYfFGxr4R9Zefsb5EgFJgPBPss5y5GRX1DSOzPoNqbRPLvZH3YxozJbk7vBEmo+/Za RlrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=meR2coOG; 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 y16si31606550jat.56.2021.07.22.09.53.33; Thu, 22 Jul 2021 09:53:44 -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=meR2coOG; 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 S234213AbhGVQMU (ORCPT + 99 others); Thu, 22 Jul 2021 12:12:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:48486 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234432AbhGVQHb (ORCPT ); Thu, 22 Jul 2021 12:07:31 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5843161DC9; Thu, 22 Jul 2021 16:48:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626972486; bh=dz7n49lrC5kMGsQDt5xeNZ5QswGlpYf8AS2xbNZf7IY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=meR2coOGA0uza0oqMwM5u4xzlE/MchKODosvWNx2CZiPK3Yui56plmBfsPD0J3DdM yIJaweVo2ppWwb1srXP/RynndiSYyK8INO+zNFSf93WLPNcp4Z9K1JN5jwZJGXvQRl L6Isq+UPMvQ169u/zAA1JCzm82NDVUFMiY1aW5zw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vladimir Oltean , "David S. Miller" Subject: [PATCH 5.13 132/156] net: dsa: properly check for the bridge_leave methods in dsa_switch_bridge_leave() Date: Thu, 22 Jul 2021 18:31:47 +0200 Message-Id: <20210722155632.622802116@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210722155628.371356843@linuxfoundation.org> References: <20210722155628.371356843@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: Vladimir Oltean commit bcb9928a155444dbd212473e60241ca0a7f641e1 upstream. This was not caught because there is no switch driver which implements the .port_bridge_join but not .port_bridge_leave method, but it should nonetheless be fixed, as in certain conditions (driver development) it might lead to NULL pointer dereference. Fixes: f66a6a69f97a ("net: dsa: permit cross-chip bridging between all trees in the system") Signed-off-by: Vladimir Oltean Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/dsa/switch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/net/dsa/switch.c +++ b/net/dsa/switch.c @@ -110,11 +110,11 @@ static int dsa_switch_bridge_leave(struc int err, port; if (dst->index == info->tree_index && ds->index == info->sw_index && - ds->ops->port_bridge_join) + ds->ops->port_bridge_leave) ds->ops->port_bridge_leave(ds, info->port, info->br); if ((dst->index != info->tree_index || ds->index != info->sw_index) && - ds->ops->crosschip_bridge_join) + ds->ops->crosschip_bridge_leave) ds->ops->crosschip_bridge_leave(ds, info->tree_index, info->sw_index, info->port, info->br);