All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
	Stav Aviram <saviram@nvidia.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	linux-rdma@vger.kernel.org, Mark Bloch <markb@mellanox.com>,
	netdev@vger.kernel.org, Paolo Abeni <pabeni@redhat.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Tariq Toukan <tariqt@nvidia.com>
Subject: Re: [PATCH mlx5-next] net/mlx5: Check device memory pointer before usage
Date: Mon, 30 Jun 2025 12:56:46 +0200	[thread overview]
Message-ID: <aGJtbp/nXrCqbvbO@mev-dev.igk.intel.com> (raw)
In-Reply-To: <e389fa6ef075af1049cd7026b912d736ebe3ad23.1751279408.git.leonro@nvidia.com>

On Mon, Jun 30, 2025 at 01:35:53PM +0300, Leon Romanovsky wrote:
> From: Stav Aviram <saviram@nvidia.com>
> 
> Add a NULL check before accessing device memory to prevent a crash if
> dev->dm allocation in mlx5_init_once() fails.
> 
> Fixes: c9b9dcb430b3 ("net/mlx5: Move device memory management to mlx5_core")
> Signed-off-by: Stav Aviram <saviram@nvidia.com>
> Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> ---
>  drivers/infiniband/hw/mlx5/dm.c                  | 2 +-
>  drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c | 4 ++--
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/infiniband/hw/mlx5/dm.c b/drivers/infiniband/hw/mlx5/dm.c
> index b4c97fb62abf..9ded2b7c1e31 100644
> --- a/drivers/infiniband/hw/mlx5/dm.c
> +++ b/drivers/infiniband/hw/mlx5/dm.c
> @@ -282,7 +282,7 @@ static struct ib_dm *handle_alloc_dm_memic(struct ib_ucontext *ctx,
>  	int err;
>  	u64 address;
>  
> -	if (!MLX5_CAP_DEV_MEM(dm_db->dev, memic))
> +	if (!dm_db || !MLX5_CAP_DEV_MEM(dm_db->dev, memic))
>  		return ERR_PTR(-EOPNOTSUPP);
>  
>  	dm = kzalloc(sizeof(*dm), GFP_KERNEL);
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c
> index 7c5516b0a844..8115071c34a4 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c
> @@ -30,7 +30,7 @@ struct mlx5_dm *mlx5_dm_create(struct mlx5_core_dev *dev)
>  
>  	dm = kzalloc(sizeof(*dm), GFP_KERNEL);
>  	if (!dm)
> -		return ERR_PTR(-ENOMEM);
> +		return NULL;
>  
>  	spin_lock_init(&dm->lock);
>  
> @@ -96,7 +96,7 @@ struct mlx5_dm *mlx5_dm_create(struct mlx5_core_dev *dev)
>  err_steering:
>  	kfree(dm);
>  
> -	return ERR_PTR(-ENOMEM);
> +	return NULL;

In mlx5_init_once() IS_ERR is used (still). It should be consistent.
Looks like you can use IS_ERR() instead of checking just dm_db, however,
mlx5_dm_create() returns also NULL. I am not sure if it is fine (will
not cause an error in mlx5_init_once()).

Maybe the best is to change a check in mlx5_init_once() from IS_ERROR()
to just !dm.

Thanks

>  }
>  
>  void mlx5_dm_cleanup(struct mlx5_core_dev *dev)
> -- 
> 2.50.0

  reply	other threads:[~2025-06-30 10:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-30 10:35 [PATCH mlx5-next] net/mlx5: Check device memory pointer before usage Leon Romanovsky
2025-06-30 10:56 ` Michal Swiatkowski [this message]
2025-07-01 11:33   ` Leon Romanovsky
2025-06-30 11:18 ` Dawid Osuchowski
2025-07-01 11:30   ` Leon Romanovsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aGJtbp/nXrCqbvbO@mev-dev.igk.intel.com \
    --to=michal.swiatkowski@linux.intel.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=edumazet@google.com \
    --cc=jgg@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=markb@mellanox.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=saeedm@nvidia.com \
    --cc=saviram@nvidia.com \
    --cc=tariqt@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.