From nobody Sun May 5 13:12:17 2024 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616444886; cv=none; d=zohomail.com; s=zohoarc; b=FJCs9pPSmlAta3geoYrxSrzZePwYqDOGspg0gZFYyw3QTb8WKuOz4KJk96oYLZEIGe6mxjdzNqa2zWVX5dKBOfKGCzMPVuSjAhU2Tk+4Itk3+Qi30VFmLS/07eqDfM+hYrA4x5b7id0DG6jNYYI6sAQVkRIOVkankF3yLsS2gHk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616444886; h=Cc:Date:From:List-Id:Message-ID:Subject:To; bh=8EdwlC6mjQMaPh/szmT93V5gJUSuLrIXnwc5sVFVX2c=; b=QaI8RnLkkilND0vJstmDXoCeG/3JihZoejE1GwnaPwkrGooqtihbuardr8hcI3qsmygNBOXI2hnPEDeiydu/GY1rpoUtUxwCHh+VLwsCzuthK3cuqylgOpSz3S80ZByYF2wIat1cy5BCTVRAuRCVyhqupEBjjKFnT/0FUmsFzeI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1616444885998626.2826086542917; Mon, 22 Mar 2021 13:28:05 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232214AbhCVU1j (ORCPT ); Mon, 22 Mar 2021 16:27:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229508AbhCVU1U (ORCPT ); Mon, 22 Mar 2021 16:27:20 -0400 Received: from mail-oi1-x235.google.com (mail-oi1-x235.google.com [IPv6:2607:f8b0:4864:20::235]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9E216C061574; Mon, 22 Mar 2021 13:27:19 -0700 (PDT) Received: by mail-oi1-x235.google.com with SMTP id z15so14483821oic.8; Mon, 22 Mar 2021 13:27:19 -0700 (PDT) Received: from threadripper.novatech-llc.local ([216.21.169.52]) by smtp.gmail.com with ESMTPSA id x3sm3462766oif.22.2021.03.22.13.27.17 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Mar 2021 13:27:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=8EdwlC6mjQMaPh/szmT93V5gJUSuLrIXnwc5sVFVX2c=; b=cZn/TvmaDITh0NMd2xAfoLOOj9lF76COeqeLSVCRlOsmlijzvxwrPY6I2xUjNQRfhg jqDYt/TvG+RB77Z6YV3cj7LnCAlV8m26r69jUor/FXVvXVl+s9zHo7rNPci4wrg7bzQU 0bte99M+b+tDWfuif6181aUxZytGrEQm3rokTqSusiib8WvROJxVkU01DjPaTTilmMOQ NDXaQXo3NeDCGa4PnZ8qN3dISUPLHVrjvSF35YMES7P2M83Gx98GzLa++xmsS4ibqJ18 KHTWSV1neD6DYIU1AD0mW/NpKlrb0wGM2j1/csMPWK9NWkGX36BLsPtOG+U81wV8evvX mtJw== 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=8EdwlC6mjQMaPh/szmT93V5gJUSuLrIXnwc5sVFVX2c=; b=L6y5RiX67AyjIccrffSXHcqTeXYqtgJxIXgRs98bseiQ/DH8y3/+OPtK5ndfX5woOK q1qoinMvA9sCQx5ugclHmedXo8tQHXzC1ybstxDU3ascM3WrI9Kqlt08yURv7zw3399Z tXnTbsHbDgelQj8hvzIrbE0f8IBGyO3mo9J98ZkUCgSjHi4wM2gf/+UppnN0LGXNv71c DaIv2gX32gRTeKCsnRwH8cyuy9DlB2x2wIpOK6RyOMZyqfcLn50lkxzCHaH347T+pZoD qzTHgDwJcjsLw51ix8qyA89EKN+b5U6tN/RhtdKVY4YEVIOjC173+4jLMT8DyPOyA4N4 rv7A== X-Gm-Message-State: AOAM530NNxsersXqKWIatUdNWsXkaW2j6a1oO5+gfsr2TxAGONClOAZm YZ1giFL7brTzrcVFSLLVqNKbxLEYJH5m X-Google-Smtp-Source: ABdhPJzsMGenVsSc28CsH9Rxxaz/tDxVMOUqbp2XOQfj8nMnhZeHw6gldvTAgGU96TmI/ofhhre/MQ== X-Received: by 2002:aca:ef84:: with SMTP id n126mr612731oih.84.1616444838977; Mon, 22 Mar 2021 13:27:18 -0700 (PDT) From: George McCollister Cc: Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, George McCollister Subject: [PATCH net] net: dsa: don't assign an error value to tag_ops Date: Mon, 22 Mar 2021 15:26:50 -0500 Message-Id: <20210322202650.45776-1-george.mccollister@gmail.com> X-Mailer: git-send-email 2.11.0 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Use a temporary variable to hold the return value from dsa_tag_driver_get() instead of assigning it to dst->tag_ops. Leaving an error value in dst->tag_ops can result in deferencing an invalid pointer when a deferred switch configuration happens later. Fixes: 357f203bb3b5 ("net: dsa: keep a copy of the tagging protocol in the = DSA switch tree") Signed-off-by: George McCollister --- net/dsa/dsa2.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index eb709d988c54..8f9e35e1aa89 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -1068,6 +1068,7 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, st= ruct net_device *master) { struct dsa_switch *ds =3D dp->ds; struct dsa_switch_tree *dst =3D ds->dst; + const struct dsa_device_ops *tag_ops; enum dsa_tag_protocol tag_protocol; =20 tag_protocol =3D dsa_get_tag_protocol(dp, master); @@ -1082,14 +1083,16 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, = struct net_device *master) * nothing to do here. */ } else { - dst->tag_ops =3D dsa_tag_driver_get(tag_protocol); - if (IS_ERR(dst->tag_ops)) { - if (PTR_ERR(dst->tag_ops) =3D=3D -ENOPROTOOPT) + tag_ops =3D dsa_tag_driver_get(tag_protocol); + if (IS_ERR(tag_ops)) { + if (PTR_ERR(tag_ops) =3D=3D -ENOPROTOOPT) return -EPROBE_DEFER; dev_warn(ds->dev, "No tagger for this switch\n"); dp->master =3D NULL; - return PTR_ERR(dst->tag_ops); + return PTR_ERR(tag_ops); } + + dst->tag_ops =3D tag_ops; } =20 dp->master =3D master; --=20 2.11.0