Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp4477783pxb; Sat, 6 Nov 2021 14:58:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzUZ/3tKHkA39A/xt48dGqIZ94AtXekGR6KBY4UThSksOToChmdPiBw7FlCTXwFCQxc+noK X-Received: by 2002:a17:906:d9c8:: with SMTP id qk8mr27718723ejb.306.1636235907795; Sat, 06 Nov 2021 14:58:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1636235907; cv=none; d=google.com; s=arc-20160816; b=on8ItyybfQ49InP0m73wERTqNVaq5odrTB34mfexrelp4hLtf3ODTlfI3GgFW/eLDN ig6aOm/AHKfUMuBh+/2FYMZTAyZo51L+KbOT+kOwanMuJcEk4VJvZew0cT4CPObrCrv4 YL8hQxtZYq0QagN699Ot2NsIqkecRKmLPyLJlsrajLGOFQ5/JUxT5M3vUXEaYoUwTeJt Uqg1Z6VIwk5ieqrOIIKVWMGXnOJRaAx7P8VE0WYp3lkUa6ihePCBJSwXuo9Sk0mWVA2Z W9P2qIsGALrXNBbiY54lVZvf70JC48z1slBV/qLvdwOiMDMp1gGtXKvSEf5tjX9VMqo2 UO/g== 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 :message-id:date:subject:cc:to:from; bh=yskJF5bILaEbuHJHc49qoLH4SZ6+E5rxWMQ45HJLqKg=; b=goFru5vzfd+ESMdpI6cFUDJsZ+fKk+nSl6f4Gv6eVgL04pgwlBYg7mFhmzJA5fFTp6 k+psEYMmw0AdZoU/iRrb7OwEHtdD6K825K+wpraiADLdBbaaLVTUHqSkt7mQ+86bdjWq IYJP3It7f7ByKyyEIQx3rAAhiJKqORjE2ierPZBbsbR0hcHA5p78HA+2DILPQ7g6xDOW 93hRLPvDl+x7hV9owF5aOHCKiyN+N5JhckRT0d9Q8uhPh3/0Z2ii7iUI9fVyViAsEMd8 LgJ41l01BflJwAMirLIgideR9DL1N34h4LL639GICqnhYc1U90J+FddoQqPVjWrphLQf htxQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c11si24570273edx.502.2021.11.06.14.58.04; Sat, 06 Nov 2021 14:58:27 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233799AbhKFRK5 (ORCPT + 99 others); Sat, 6 Nov 2021 13:10:57 -0400 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:62024 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232631AbhKFRK4 (ORCPT ); Sat, 6 Nov 2021 13:10:56 -0400 Received: from pop-os.home ([86.243.171.122]) by smtp.orange.fr with ESMTPA id jPAqmPRE42lVYjPArmWDoG; Sat, 06 Nov 2021 18:08:14 +0100 X-ME-Helo: pop-os.home X-ME-Auth: YWZlNiIxYWMyZDliZWIzOTcwYTEyYzlhMmU3ZiQ1M2U2MzfzZDfyZTMxZTBkMTYyNDBjNDJlZmQ3ZQ== X-ME-Date: Sat, 06 Nov 2021 18:08:14 +0100 X-ME-IP: 86.243.171.122 From: Christophe JAILLET To: saeedm@nvidia.com, leon@kernel.org, davem@davemloft.net, kuba@kernel.org, roid@nvidia.com, vladbu@nvidia.com, paulb@nvidia.com, lariel@nvidia.com Cc: netdev@vger.kernel.org, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] net/mlx5: Fix some error handling paths in 'mlx5e_tc_add_fdb_flow()' Date: Sat, 6 Nov 2021 18:08:11 +0100 Message-Id: <3055988affc39dff4d2a5c00a8d18474b0d63e26.1636218396.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org All the error handling paths of 'mlx5e_tc_add_fdb_flow()' end to 'err_out' where 'flow_flag_set(flow, FAILED);' is called. All but the new error handling paths added by the commits given in the Fixes tag below. Fix these error handling paths and branch to 'err_out'. Fixes: 166f431ec6be ("net/mlx5e: Add indirect tc offload of ovs internal port") Fixes: b16eb3c81fe2 ("net/mlx5: Support internal port as decap route device") Signed-off-by: Christophe JAILLET --- This patch is speculative, review with care. --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 835caa1c7b74..ff881307c744 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -1445,7 +1445,7 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, MLX5_FLOW_NAMESPACE_FDB, VPORT_TO_REG, metadata); if (err) - return err; + goto err_out; } } @@ -1461,13 +1461,15 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, if (attr->chain) { NL_SET_ERR_MSG_MOD(extack, "Internal port rule is only supported on chain 0"); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto err_out; } if (attr->dest_chain) { NL_SET_ERR_MSG_MOD(extack, "Internal port rule offload doesn't support goto action"); - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + goto err_out; } int_port = mlx5e_tc_int_port_get(mlx5e_get_int_port_priv(priv), @@ -1475,8 +1477,10 @@ mlx5e_tc_add_fdb_flow(struct mlx5e_priv *priv, flow_flag_test(flow, EGRESS) ? MLX5E_TC_INT_PORT_EGRESS : MLX5E_TC_INT_PORT_INGRESS); - if (IS_ERR(int_port)) - return PTR_ERR(int_port); + if (IS_ERR(int_port)) { + err = PTR_ERR(int_port); + goto err_out; + } esw_attr->int_port = int_port; } -- 2.30.2