[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250407161815.GR395307@horms.kernel.org>
Date: Mon, 7 Apr 2025 17:18:15 +0100
From: Simon Horman <horms@...nel.org>
To: Charles Han <hanchunchao@...pur.com>
Cc: saeedm@...dia.com, tariqt@...dia.com, leon@...nel.org,
andrew+netdev@...n.ch, davem@...emloft.net, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, lariel@...dia.com,
paulb@...dia.com, maord@...dia.com, netdev@...r.kernel.org,
linux-rdma@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH V2] net/mlx5e: fix potential null dereference in
mlx5e_tc_nic_create_miss_table
On Mon, Apr 07, 2025 at 03:20:31PM +0800, Charles Han wrote:
> mlx5_get_flow_namespace() may return a NULL pointer, dereferencing it
> without NULL check may lead to NULL dereference.
> Add a NULL check for ns.
>
> Fixes: 66cb64e292d2 ("net/mlx5e: TC NIC mode, fix tc chains miss table")
> Signed-off-by: Charles Han <hanchunchao@...pur.com>
> ---
> drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> index 9ba99609999f..c2f23ac95c3d 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
> @@ -5216,6 +5216,10 @@ static int mlx5e_tc_nic_create_miss_table(struct mlx5e_priv *priv)
> ft_attr.level = MLX5E_TC_MISS_LEVEL;
> ft_attr.prio = 0;
> ns = mlx5_get_flow_namespace(priv->mdev, MLX5_FLOW_NAMESPACE_KERNEL);
> + if (!ns) {
> + netdev_err(priv->mdev, "Failed to get flow namespace\n");
Hi Charles,
This does not seem to be correct. gcc-14.2.0 says:
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c: In function 'mlx5e_tc_nic_create_miss_table':
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:5220:32: error: passing argument 1 of 'netdev_err' from incompatible pointer type [-Wincompatible-pointer-types]
5220 | netdev_err(priv->mdev, "Failed to get flow namespace\n");
| ~~~~^~~~~~
| |
| struct mlx5_core_dev *
In file included from ./include/linux/skbuff.h:39,
from ./include/linux/netlink.h:7,
from ./include/net/flow_offload.h:6,
from drivers/net/ethernet/mellanox/mlx5/core/en_tc.c:34:
./include/net/net_debug.h:20:42: note: expected 'const struct net_device *' but argument is of type 'struct mlx5_core_dev *'
20 | void netdev_err(const struct net_device *dev, const char *format, ...);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
...
--
pw-bot: changes-requested
Powered by blists - more mailing lists