Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp3866711pxb; Tue, 17 Nov 2020 05:45:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4DOkAyb0ohDPbRPhxVnFdYpMucrKTYq6H0Fs8LTvDMujcS8IHOiZIjcBzWdtFnOKx48mC X-Received: by 2002:aa7:d2d9:: with SMTP id k25mr20133578edr.310.1605620747705; Tue, 17 Nov 2020 05:45:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605620747; cv=none; d=google.com; s=arc-20160816; b=pw37JCD9aDdaPTyrPL9LESdgP45heGQIKssx86rGq9KRFretOOwRZ5L6ZWiAudIdxf CuaVTokOhbT43uezg+Xspxs/yx+64e3YY0nzzGKw3hi0wlepolxnC7VIiOB0Nwx5R7p8 VPAgfUQ0pG6od/p1bSmLQyqHc8yL1l7deMtsOSsMcACO+bwbQZczAp248HNe9QcWqZZS 9zi7bp2bFXgt/5mDVj8LD+13Tmf0hml8nTUJ1HxPtC64/fmQtHQ/hiW7j24im56MLXDE FgFDVhdQX8foa3TzGFHOYiE6c201Xb9KAxU4uNAnJRiTdGAa3QabHbKGSBU8L4P48//B KG3w== 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=4zK93B6xmFVLBB5B0xtPws64zve+Mcal7lvCqOYSudE=; b=mOedqvMlfdGEEJ1tqOLBMNIr0F3R+M1w1bnCmLSa9kWz1yDlOcsQrfm+3AHIT4ebxX RHcGcvub5bm2RwOBDCWMpRr+rHENDvylzLE+q9I41D4XFWsmjFqcByRsFLCmt0yNCTRA EN8EaIkyrNtL6+Fxj+hE8Qz91rMw0lsAxDlvX4FVO9UKJX13wz8Cnh97gbMKb0ycT/CO TAr/fizltcWxS+NAVXfy7t2Wl5GAvVxdeZsUXKxMZL//wtEm2X9yAASIe1UWrjmZl2ba jPEzMtLmwSGRMku32401vDndJPolog1UQsFRh/b9T0pOfY/6shiBf8aaxuQrt5Cgt1IF eXSg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Y86gabKo; 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=fail (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 r19si13776748ejr.323.2020.11.17.05.45.25; Tue, 17 Nov 2020 05:45:47 -0800 (PST) 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=@kernel.org header.s=default header.b=Y86gabKo; 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=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732570AbgKQNoE (ORCPT + 99 others); Tue, 17 Nov 2020 08:44:04 -0500 Received: from mail.kernel.org ([198.145.29.99]:54526 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732699AbgKQNmC (ORCPT ); Tue, 17 Nov 2020 08:42:02 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 495A120729; Tue, 17 Nov 2020 13:42:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1605620521; bh=s0ADoaIuaqKSPMdXHLHeSk4jxNwWX+RpaAvPejzXCTE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y86gabKoCrmsMxBqDtJcrZ6DyOjQYHVhycrcSfeK89s7S+8DEY6W7YdYNXbSI4wn1 5xM3QelZ+MbOvcJkuPaofO4AH4TjqXhEk5sqel2FNQoIAZGsSSNfhm5iKuPWEecK/w ARcwQTuewSEJIUIZhOEs8a1DWkhIFmMoqD/QMb0k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Parav Pandit , Jiri Pirko , Jakub Kicinski Subject: [PATCH 5.9 247/255] devlink: Avoid overwriting port attributes of registered port Date: Tue, 17 Nov 2020 14:06:27 +0100 Message-Id: <20201117122150.953448390@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201117122138.925150709@linuxfoundation.org> References: <20201117122138.925150709@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: Parav Pandit [ Upstream commit 9f73bd1c2c4c304b238051fc92b3f807326f0a89 ] Cited commit in fixes tag overwrites the port attributes for the registered port. Avoid such error by checking registered flag before setting attributes. Fixes: 71ad8d55f8e5 ("devlink: Replace devlink_port_attrs_set parameters with a struct") Signed-off-by: Parav Pandit Reviewed-by: Jiri Pirko Link: https://lore.kernel.org/r/20201111034744.35554-1-parav@nvidia.com Signed-off-by: Jakub Kicinski Signed-off-by: Greg Kroah-Hartman --- net/core/devlink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -7675,8 +7675,6 @@ static int __devlink_port_attrs_set(stru { struct devlink_port_attrs *attrs = &devlink_port->attrs; - if (WARN_ON(devlink_port->registered)) - return -EEXIST; devlink_port->attrs_set = true; attrs->flavour = flavour; if (attrs->switch_id.id_len) { @@ -7700,6 +7698,8 @@ void devlink_port_attrs_set(struct devli { int ret; + if (WARN_ON(devlink_port->registered)) + return; devlink_port->attrs = *attrs; ret = __devlink_port_attrs_set(devlink_port, attrs->flavour); if (ret) @@ -7719,6 +7719,8 @@ void devlink_port_attrs_pci_pf_set(struc struct devlink_port_attrs *attrs = &devlink_port->attrs; int ret; + if (WARN_ON(devlink_port->registered)) + return; ret = __devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PCI_PF); if (ret) @@ -7741,6 +7743,8 @@ void devlink_port_attrs_pci_vf_set(struc struct devlink_port_attrs *attrs = &devlink_port->attrs; int ret; + if (WARN_ON(devlink_port->registered)) + return; ret = __devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PCI_VF); if (ret)