Re: [PATCH] flow_offload: action should not be NULL when it is referenced

From: Jamal Hadi Salim
Date: Wed Aug 18 2021 - 08:37:02 EST


On 2021-08-18 7:58 a.m., Ido Schimmel wrote:
On Sat, Jun 26, 2021 at 04:56:06AM -0700, 13145886936@xxxxxxx wrote:
From: gushengxian <gushengxian@xxxxxxxxxx>

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

Signed-off-by: gushengxian <13145886936@xxxxxxx>
Signed-off-by: gushengxian <gushengxian@xxxxxxxxxx>
---
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