[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b6857098-63c8-f1ca-9907-04ef1cad3f23@gmail.com>
Date: Thu, 4 Aug 2022 17:59:28 +0300
From: Tariq Toukan <ttoukan.linux@...il.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: Saeed Mahameed <saeedm@...dia.com>,
Leon Romanovsky <leon@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Gal Pressman <gal@...dia.com>,
Aya Levin <ayal@...dia.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"kernel-janitors@...r.kernel.org" <kernel-janitors@...r.kernel.org>,
Tariq Toukan <tariqt@...dia.com>,
Boris Pismenny <borisp@...dia.com>
Subject: Re: [PATCH net] net/mlx5e: kTLS, Use _safe() iterator in
mlx5e_tls_priv_tx_list_cleanup()
On 8/4/2022 5:44 PM, Dan Carpenter wrote:
> Use the list_for_each_entry_safe() macro to prevent dereferencing "obj"
> after it has been freed.
>
> Fixes: c4dfe704f53f ("net/mlx5e: kTLS, Recycle objects of device-offloaded TLS TX connections")
> Signed-off-by: Dan Carpenter <dan.carpenter@...cle.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
> index 6b6c7044b64a..e6f604f9561d 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
> @@ -246,7 +246,7 @@ static void mlx5e_tls_priv_tx_cleanup(struct mlx5e_ktls_offload_context_tx *priv
> static void mlx5e_tls_priv_tx_list_cleanup(struct mlx5_core_dev *mdev,
> struct list_head *list, int size)
> {
> - struct mlx5e_ktls_offload_context_tx *obj;
> + struct mlx5e_ktls_offload_context_tx *obj, *n;
> struct mlx5e_async_ctx *bulk_async;
> int i;
>
> @@ -255,7 +255,7 @@ static void mlx5e_tls_priv_tx_list_cleanup(struct mlx5_core_dev *mdev,
> return;
>
> i = 0;
> - list_for_each_entry(obj, list, list_node) {
> + list_for_each_entry_safe(obj, n, list, list_node) {
> mlx5e_tls_priv_tx_cleanup(obj, &bulk_async[i]);
> i++;
> }
Reviewed-by: Tariq Toukan <tariqt@...dia.com>
Thanks for your patch!
Powered by blists - more mailing lists