Message ID | 20250402093221.3253-1-hanchunchao@inspur.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | net/mlx5e: fix potential null dereference in mlx5e_tc_nic_create_miss_table | expand |
On 02/04/2025 12:32, 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@inspur.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..9c524d8c0e5a 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) { > + mlx5_core_warn(priv->mdev, "Failed to get flow namespace\n"); In this function netdev_err API is being used for error prints. > + return -EOPNOTSUPP; > + } > > *ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); > if (IS_ERR(*ft)) {
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 9ba99609999f..9c524d8c0e5a 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) { + mlx5_core_warn(priv->mdev, "Failed to get flow namespace\n"); + return -EOPNOTSUPP; + } *ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); if (IS_ERR(*ft)) {
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@inspur.com> --- drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 4 ++++ 1 file changed, 4 insertions(+)