[v2] net/mlx5: DR, Fix uninitialized var warning

Message ID 20221110134707.43740-1-yuehaibing@huawei.com
State New
Headers
Series [v2] net/mlx5: DR, Fix uninitialized var warning |

Commit Message

Yue Haibing Nov. 10, 2022, 1:47 p.m. UTC
  Smatch warns this:

drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c:81
 mlx5dr_table_set_miss_action() error: uninitialized symbol 'ret'.

Initializing ret with -EOPNOTSUPP and fix missing action case.

Fixes: 7838e1725394 ("net/mlx5: DR, Expose steering table functionality")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
v2: init ret to -EOPNOTSUPP
---
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Roi Dayan Nov. 10, 2022, 2:43 p.m. UTC | #1
On 10/11/2022 15:47, YueHaibing wrote:
> Smatch warns this:
> 
> drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c:81
>  mlx5dr_table_set_miss_action() error: uninitialized symbol 'ret'.
> 
> Initializing ret with -EOPNOTSUPP and fix missing action case.
> 
> Fixes: 7838e1725394 ("net/mlx5: DR, Expose steering table functionality")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
> v2: init ret to -EOPNOTSUPP
> ---
>  drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
> index eb81759244d5..7cc4cb7fa392 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
> @@ -46,7 +46,7 @@ static int dr_table_set_miss_action_nic(struct mlx5dr_domain *dmn,
>  int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl,
>  				 struct mlx5dr_action *action)
>  {
> -	int ret;
> +	int ret = -EOPNOTSUPP;
>  
>  	if (action && action->action_type != DR_ACTION_TYP_FT)
>  		return -EOPNOTSUPP;
> @@ -67,6 +67,9 @@ int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl,
>  			goto out;
>  	}
>  
> +	if (ret)
> +		goto out;
> +
>  	/* Release old action */
>  	if (tbl->miss_action)
>  		refcount_dec(&tbl->miss_action->refcount);

thanks

Reviewed-by: Roi Dayan <roid@nvidia.com>
  
Saeed Mahameed Nov. 11, 2022, 10:19 p.m. UTC | #2
On 10 Nov 21:47, YueHaibing wrote:
>Smatch warns this:
>
>drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c:81
> mlx5dr_table_set_miss_action() error: uninitialized symbol 'ret'.
>
>Initializing ret with -EOPNOTSUPP and fix missing action case.
>
>Fixes: 7838e1725394 ("net/mlx5: DR, Expose steering table functionality")

applied to net-mlx5, 
Thanks!
  

Patch

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
index eb81759244d5..7cc4cb7fa392 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c
@@ -46,7 +46,7 @@  static int dr_table_set_miss_action_nic(struct mlx5dr_domain *dmn,
 int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl,
 				 struct mlx5dr_action *action)
 {
-	int ret;
+	int ret = -EOPNOTSUPP;
 
 	if (action && action->action_type != DR_ACTION_TYP_FT)
 		return -EOPNOTSUPP;
@@ -67,6 +67,9 @@  int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl,
 			goto out;
 	}
 
+	if (ret)
+		goto out;
+
 	/* Release old action */
 	if (tbl->miss_action)
 		refcount_dec(&tbl->miss_action->refcount);