Message ID | 1622628553-89257-1-git-send-email-yang.lee@linux.alibaba.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | net/mlx5e: Fix an error code in mlx5e_arfs_create_tables() | expand |
On 6/2/2021 6:09 PM, Yang Li wrote: > When the code execute 'if (!priv->fs.arfs->wq)', the value of err is 0. > So, we use -ENOMEM to indicate that the function > create_singlethread_workqueue() return NULL. > > Clean up smatch warning: > drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c:373 > mlx5e_arfs_create_tables() warn: missing error code 'err'. > > Reported-by: Abaci Robot <abaci@linux.alibaba.com> > Fixes: 'commit f6755b80d693 ("net/mlx5e: Dynamic alloc arfs table for netdev when needed")' > Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> > --- > drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > index 5cd466e..2949437 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > @@ -369,8 +369,10 @@ int mlx5e_arfs_create_tables(struct mlx5e_priv *priv) > spin_lock_init(&priv->fs.arfs->arfs_lock); > INIT_LIST_HEAD(&priv->fs.arfs->rules); > priv->fs.arfs->wq = create_singlethread_workqueue("mlx5e_arfs"); > - if (!priv->fs.arfs->wq) > + if (!priv->fs.arfs->wq) { > + err = -ENOMEM; > goto err; > + } > > for (i = 0; i < ARFS_NUM_TYPES; i++) { > err = arfs_create_table(priv, i); Maybe also need to "destroy_workqueue(priv->fs.arfs->wq);" in err_des.
On Wed, 2021-06-02 at 19:49 +0800, Mark Zhang wrote: > On 6/2/2021 6:09 PM, Yang Li wrote: > > When the code execute 'if (!priv->fs.arfs->wq)', the value of err > > is 0. > > So, we use -ENOMEM to indicate that the function > > create_singlethread_workqueue() return NULL. > > > > Clean up smatch warning: > > drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c:373 > > mlx5e_arfs_create_tables() warn: missing error code 'err'. > > > > Reported-by: Abaci Robot <abaci@linux.alibaba.com> > > Fixes: 'commit f6755b80d693 ("net/mlx5e: Dynamic alloc arfs table > > for netdev when needed")' This is not the right format. Please use the following command to generate the fixes tag: git log -1 --abbrev=12 --format='Fixes: %h ("%s")' f6755b80d693 > > Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> > > --- > > drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > > b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > > index 5cd466e..2949437 100644 > > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c > > @@ -369,8 +369,10 @@ int mlx5e_arfs_create_tables(struct mlx5e_priv > > *priv) > > spin_lock_init(&priv->fs.arfs->arfs_lock); > > INIT_LIST_HEAD(&priv->fs.arfs->rules); > > priv->fs.arfs->wq = > > create_singlethread_workqueue("mlx5e_arfs"); > > - if (!priv->fs.arfs->wq) > > + if (!priv->fs.arfs->wq) { > > + err = -ENOMEM; > > goto err; > > + } > > you can just initialize err to -ENOMEM; on declaration. > > for (i = 0; i < ARFS_NUM_TYPES; i++) { > > err = arfs_create_table(priv, i); > > Maybe also need to "destroy_workqueue(priv->fs.arfs->wq);" in > err_des. yes, it can be in the same patch. Thanks a lot.
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c index 5cd466e..2949437 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c @@ -369,8 +369,10 @@ int mlx5e_arfs_create_tables(struct mlx5e_priv *priv) spin_lock_init(&priv->fs.arfs->arfs_lock); INIT_LIST_HEAD(&priv->fs.arfs->rules); priv->fs.arfs->wq = create_singlethread_workqueue("mlx5e_arfs"); - if (!priv->fs.arfs->wq) + if (!priv->fs.arfs->wq) { + err = -ENOMEM; goto err; + } for (i = 0; i < ARFS_NUM_TYPES; i++) { err = arfs_create_table(priv, i);
When the code execute 'if (!priv->fs.arfs->wq)', the value of err is 0. So, we use -ENOMEM to indicate that the function create_singlethread_workqueue() return NULL. Clean up smatch warning: drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c:373 mlx5e_arfs_create_tables() warn: missing error code 'err'. Reported-by: Abaci Robot <abaci@linux.alibaba.com> Fixes: 'commit f6755b80d693 ("net/mlx5e: Dynamic alloc arfs table for netdev when needed")' Signed-off-by: Yang Li <yang.lee@linux.alibaba.com> --- drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)