diff mbox series

flow_offload: action should not be NULL when it is referenced

Message ID 20210626115606.1243151-1-13145886936@163.com (mailing list archive)
State Accepted
Commit 9ea3e52c5bc8bb4a084938dc1e3160643438927a
Delegated to: Netdev Maintainers
Headers show
Series flow_offload: action should not be NULL when it is referenced | expand

Checks

Context Check Description
netdev/cover_letter success Link
netdev/fixes_present success Link
netdev/patch_count success Link
netdev/tree_selection success Guessed tree name to be net-next
netdev/subject_prefix warning Target tree name not specified in the subject
netdev/cc_maintainers success CCed 3 of 3 maintainers
netdev/source_inline success Was 0 now: 0
netdev/verify_signedoff success Link
netdev/module_param success Was 0 now: 0
netdev/build_32bit success Errors and warnings before: 3693 this patch: 3693
netdev/kdoc success Errors and warnings before: 1 this patch: 1
netdev/verify_fixes success Link
netdev/checkpatch warning WARNING: line length of 113 exceeds 80 columns
netdev/build_allmodconfig_warn success Errors and warnings before: 3858 this patch: 3858
netdev/header_inline success Link

Commit Message

gushengxian June 26, 2021, 11:56 a.m. UTC
From: gushengxian <gushengxian@yulong.com>

"action" should not be NULL when it is referenced.

Signed-off-by: gushengxian <13145886936@163.com>
Signed-off-by: gushengxian <gushengxian@yulong.com>
---
 include/net/flow_offload.h | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org June 28, 2021, 9:30 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (refs/heads/master):

On Sat, 26 Jun 2021 04:56:06 -0700 you wrote:
> From: gushengxian <gushengxian@yulong.com>
> 
> "action" should not be NULL when it is referenced.
> 
> Signed-off-by: gushengxian <13145886936@163.com>
> Signed-off-by: gushengxian <gushengxian@yulong.com>
> 
> [...]

Here is the summary with links:
  - flow_offload: action should not be NULL when it is referenced
    https://git.kernel.org/netdev/net/c/9ea3e52c5bc8

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Ido Schimmel Aug. 18, 2021, 11:58 a.m. UTC | #2
On Sat, Jun 26, 2021 at 04:56:06AM -0700, 13145886936@163.com wrote:
> From: gushengxian <gushengxian@yulong.com>
> 
> "action" should not be NULL when it is referenced.
> 
> Signed-off-by: gushengxian <13145886936@163.com>
> Signed-off-by: gushengxian <gushengxian@yulong.com>
> ---
>  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) {

This patch generates a smatch warning:

include/net/flow_offload.h:322 flow_action_mixed_hw_stats_check() warn: variable dereferenced before check 'action' (see line 319)

Why the patch is needed? 'action' is already dereferenced in
flow_offload_has_one_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;
>  }
> -- 
> 2.25.1
> 
>
Jamal Hadi Salim Aug. 18, 2021, 12:36 p.m. UTC | #3
On 2021-08-18 7:58 a.m., Ido Schimmel wrote:
> On Sat, Jun 26, 2021 at 04:56:06AM -0700, 13145886936@163.com wrote:
>> From: gushengxian <gushengxian@yulong.com>
>>
>> "action" should not be NULL when it is referenced.
>>
>> Signed-off-by: gushengxian <13145886936@163.com>
>> Signed-off-by: gushengxian <gushengxian@yulong.com>
>> ---
>>   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) {
> 
> This patch generates a smatch warning:
> 
> include/net/flow_offload.h:322 flow_action_mixed_hw_stats_check() warn: variable dereferenced before check 'action' (see line 319)
> 
> Why the patch is needed? 'action' is already dereferenced in
> flow_offload_has_one_action()
> 

Yep, doesnt make sense at all.

cheers,
jamal
Ido Schimmel Aug. 18, 2021, 1:39 p.m. UTC | #4
On Wed, Aug 18, 2021 at 08:36:55AM -0400, Jamal Hadi Salim wrote:
> On 2021-08-18 7:58 a.m., Ido Schimmel wrote:
> > On Sat, Jun 26, 2021 at 04:56:06AM -0700, 13145886936@163.com wrote:
> > > From: gushengxian <gushengxian@yulong.com>
> > > 
> > > "action" should not be NULL when it is referenced.
> > > 
> > > Signed-off-by: gushengxian <13145886936@163.com>
> > > Signed-off-by: gushengxian <gushengxian@yulong.com>
> > > ---
> > >   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) {
> > 
> > This patch generates a smatch warning:
> > 
> > include/net/flow_offload.h:322 flow_action_mixed_hw_stats_check() warn: variable dereferenced before check 'action' (see line 319)
> > 
> > Why the patch is needed? 'action' is already dereferenced in
> > flow_offload_has_one_action()
> > 
> 
> Yep, doesnt make sense at all.

Will send a revert
diff mbox series

Patch

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;
 }