Message ID | 20210626115606.1243151-1-13145886936@163.com |
---|---|
State | New |
Headers | show |
Series | flow_offload: action should not be NULL when it is referenced | expand |
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
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 > >
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
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 --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; }