On 5/8/2020 12:58, Jason Gunthorpe wrote:
> On Mon, May 04, 2020 at 08:30:09AM +0300, Leon Romanovsky wrote:
>> +    flow_act->action &=
>> +            ~MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_PRIO;
>> +    flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
>> +    handle = _mlx5_add_flow_rules(ft, spec, flow_act, dest, num_dest);
>> +    if (IS_ERR_OR_NULL(handle))
>> +            goto unlock;
> 
> I never like seeing IS_ERR_OR_NULL()..
> 
> In this case I see callers of mlx5_add_flow_rules() that crash if it
> returns NULL, so this can't be right.
> 
> Also, I don't see an obvious place where _mlx5_add_flow_rules()
> returns NULL, does it?

It seems you are right. b3638e1a76648 ("net/mlx5_core: Introduce forward to 
next priority action")
added that code and it seems from the start it was wrong.

Looking at the code it looks like we always use IS_ERR() to check the result
of mlx5_add_flow_rules() except in: mlx5e_tc_add_nic_flow() which should also
be fixed.

Thanks Jason.

> 
> Jason
> 

Mark

Reply via email to