Message ID | 20250307021820.2646-1-vulab@iscas.ac.cn (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [net,v3] net/mlx5: handle errors in mlx5_chains_create_table() | expand |
I suggest to reconsider the patch version number selection once more. > In mlx5_chains_create_table(), the return value of mlx5_get_fdb_sub_ns() > and mlx5_get_flow_namespace() must be checked to prevent NULL pointer > dereferences. If either function fails, the function should log error > message with mlx5_core_warn() and return error pointer. Please improve such a change description another bit. See also: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.14-rc5#n94 Regards, Markus
On 07/03/2025 4:18, Wentao Liang wrote: > In mlx5_chains_create_table(), the return value of mlx5_get_fdb_sub_ns() > and mlx5_get_flow_namespace() must be checked to prevent NULL pointer > dereferences. If either function fails, the function should log error > message with mlx5_core_warn() and return error pointer. > > Fixes: 39ac237ce009 ("net/mlx5: E-Switch, Refactor chains and priorities") > Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> > --- > [v1]->[v2]: Add Fixes tag and branch target. Change return value. > [v2]->[v3]: Change Fixes tag. Move change history. > --- > drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c > index a80ecb672f33..711d14dea248 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c > @@ -196,6 +196,11 @@ mlx5_chains_create_table(struct mlx5_fs_chains *chains, > ns = mlx5_get_flow_namespace(chains->dev, chains->ns); > } > > + if (!ns) { > + mlx5_core_warn(chains->dev, "Failed to get flow namespace\n"); > + return ERR_PTR(-EOPNOTSUPP); > + } > + > ft_attr.autogroup.num_reserved_entries = 2; > ft_attr.autogroup.max_num_groups = chains->group_num; > ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr); Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Thanks.
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Fri, 7 Mar 2025 10:18:20 +0800 you wrote: > In mlx5_chains_create_table(), the return value of mlx5_get_fdb_sub_ns() > and mlx5_get_flow_namespace() must be checked to prevent NULL pointer > dereferences. If either function fails, the function should log error > message with mlx5_core_warn() and return error pointer. > > Fixes: 39ac237ce009 ("net/mlx5: E-Switch, Refactor chains and priorities") > Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> > > [...] Here is the summary with links: - [net,v3] net/mlx5: handle errors in mlx5_chains_create_table() https://git.kernel.org/netdev/net/c/eab0396353be You are awesome, thank you!
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c index a80ecb672f33..711d14dea248 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c @@ -196,6 +196,11 @@ mlx5_chains_create_table(struct mlx5_fs_chains *chains, ns = mlx5_get_flow_namespace(chains->dev, chains->ns); } + if (!ns) { + mlx5_core_warn(chains->dev, "Failed to get flow namespace\n"); + return ERR_PTR(-EOPNOTSUPP); + } + ft_attr.autogroup.num_reserved_entries = 2; ft_attr.autogroup.max_num_groups = chains->group_num; ft = mlx5_create_auto_grouped_flow_table(ns, &ft_attr);
In mlx5_chains_create_table(), the return value of mlx5_get_fdb_sub_ns() and mlx5_get_flow_namespace() must be checked to prevent NULL pointer dereferences. If either function fails, the function should log error message with mlx5_core_warn() and return error pointer. Fixes: 39ac237ce009 ("net/mlx5: E-Switch, Refactor chains and priorities") Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> --- [v1]->[v2]: Add Fixes tag and branch target. Change return value. [v2]->[v3]: Change Fixes tag. Move change history. --- drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c | 5 +++++ 1 file changed, 5 insertions(+)