On 08/11/2022 3:53, 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'. > > Fix this by initializing ret with zero. > > Fixes: 7838e1725394 ("net/mlx5: DR, Expose steering table functionality") > Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx> > --- > drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c | 2 +- > 1 file changed, 1 insertion(+), 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 31d443dd8386..44dea75dabde 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 = 0; > > if (action && action->action_type != DR_ACTION_TYP_FT) > return -EOPNOTSUPP; In this case the default should be an error It will be better if ret init to -EOPNOTSUPP and if a miss action was not set and replaces ret then goto out. 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; +