lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c76779a3-aa4a-98af-f04d-3a8b41a58cb6@nvidia.com>
Date:   Sun, 7 Nov 2021 09:49:47 +0200
From:   Roi Dayan <roid@...dia.com>
To:     Christophe JAILLET <christophe.jaillet@...adoo.fr>,
        <saeedm@...dia.com>, <leon@...nel.org>, <davem@...emloft.net>,
        <kuba@...nel.org>, <vladbu@...dia.com>, <paulb@...dia.com>,
        <lariel@...dia.com>
CC:     <netdev@...r.kernel.org>, <linux-rdma@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <kernel-janitors@...r.kernel.org>
Subject: Re: [PATCH] net/mlx5: Fix some error handling paths in
 'mlx5e_tc_add_fdb_flow()'



On 2021-11-06 7:08 PM, Christophe JAILLET wrote:
> 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 <christophe.jaillet@...adoo.fr>
> ---
> 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;
>   	}
> 


thanks for catching this.

Reviewed-by: Roi Dayan <roid@...dia.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ