[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7ae9f8f7-c6df-13be-f240-81d5bd4af57c@nvidia.com>
Date: Wed, 29 Sep 2021 14:00:58 +0300
From: Roi Dayan <roid@...dia.com>
To: MichelleJin <shjy180909@...il.com>, <davem@...emloft.net>,
<kuba@...nel.org>, <yoshfuji@...ux-ipv6.org>, <dsahern@...nel.org>,
<johannes@...solutions.net>
CC: <saeedm@...dia.com>, <leon@...nel.org>, <paulb@...dia.com>,
<ozsh@...dia.com>, <lariel@...dia.com>, <cmi@...dia.com>,
<netdev@...r.kernel.org>, <linux-rdma@...r.kernel.org>,
<linux-wireless@...r.kernel.org>
Subject: Re: [PATCH net-next v4 1/3] net/mlx5e: check return value of
rhashtable_init
On 2021-09-27 6:34 AM, MichelleJin wrote:
> When rhashtable_init() fails, it returns -EINVAL.
> However, since error return value of rhashtable_init is not checked,
> it can cause use of uninitialized pointers.
> So, fix unhandled errors of rhashtable_init.
>
> Signed-off-by: MichelleJin <shjy180909@...il.com>
> ---
>
> v1->v2:
> - change commit message
> - fix unneeded destroying of ht
> v2->v3:
> - nothing changed
> v3->v4:
> - nothing changed
>
> drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> index 6c949abcd2e1..225748a9e52a 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
> @@ -2127,12 +2127,20 @@ mlx5_tc_ct_init(struct mlx5e_priv *priv, struct mlx5_fs_chains *chains,
>
> ct_priv->post_act = post_act;
> mutex_init(&ct_priv->control_lock);
> - rhashtable_init(&ct_priv->zone_ht, &zone_params);
> - rhashtable_init(&ct_priv->ct_tuples_ht, &tuples_ht_params);
> - rhashtable_init(&ct_priv->ct_tuples_nat_ht, &tuples_nat_ht_params);
> + if (rhashtable_init(&ct_priv->zone_ht, &zone_params))
> + goto err_ct_zone_ht;
> + if (rhashtable_init(&ct_priv->ct_tuples_ht, &tuples_ht_params))
> + goto err_ct_tuples_ht;
> + if (rhashtable_init(&ct_priv->ct_tuples_nat_ht, &tuples_nat_ht_params))
> + goto err_ct_tuples_nat_ht;
>
> return ct_priv;
>
> +err_ct_tuples_nat_ht:
> + rhashtable_destroy(&ct_priv->ct_tuples_ht);
> +err_ct_tuples_ht:
> + rhashtable_destroy(&ct_priv->zone_ht);
> +err_ct_zone_ht:
> err_ct_nat_tbl:
> mlx5_chains_destroy_global_table(chains, ct_priv->ct);
> err_ct_tbl:
>
Reviewed-by: Roi Dayan <roid@...dia.com>
Powered by blists - more mailing lists