Subject: Re: [PATCH AUTOSEL 5.13 184/189] flow_offload: action should not be NULL when it is referenced

From: Eric Dumazet <[email-masked]>
Date: Fri, 6 Aug 2021 11:30:04 +0200

On 7/6/21 1:14 PM, Sasha Levin wrote:
> From: gushengxian <[email-masked]>
> 
> [ Upstream commit 9ea3e52c5bc8bb4a084938dc1e3160643438927a ]
> 
> "action" should not be NULL when it is referenced.
> 
> Signed-off-by: gushengxian <[email-masked]>
> Signed-off-by: gushengxian <[email-masked]>
> Signed-off-by: David S. Miller <[email-masked]>
> Signed-off-by: Sasha Levin <[email-masked]>
> ---
>  include/net/flow_offload.h | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/include/net/flow_offload.h b/include/net/flow_offload.h
> index dc5c1e69cd9f..69c9eabf8325 100644
> --- a/include/net/flow_offload.h
> +++ b/include/net/flow_offload.h
> @@ -319,12 +319,14 @@ flow_action_mixed_hw_stats_check(const struct flow_action *action,
>  	if (flow_offload_has_one_action(action))
>  		return true;
>  
> -	flow_action_for_each(i, action_entry, action) {
> -		if (i && action_entry->hw_stats != last_hw_stats) {
> -			NL_SET_ERR_MSG_MOD(extack, "Mixing HW stats types for actions is not supported");
> -			return false;
> +	if (action) {
> +		flow_action_for_each(i, action_entry, action) {
> +			if (i && action_entry->hw_stats != last_hw_stats) {
> +				NL_SET_ERR_MSG_MOD(extack, "Mixing HW stats types for actions is not supported");
> +				return false;
> +			}
> +			last_hw_stats = action_entry->hw_stats;
>  		}
> -		last_hw_stats = action_entry->hw_stats;
>  	}
>  	return true;
>  }
> 

This patch makes no sense really.

If action is NULL, a crash would happen earlier anyway in

if (flow_offload_has_one_action(action))
    return true;

Also, I wonder why it has been backported to stable version,
there was no Fixes: tag in the submission.