2022-02-14 19:20:57

by Tom Rix

[permalink] [raw]
Subject: [PATCH] dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key

From: Tom Rix <[email protected]>

Clang static analysis reports this representative problem
dpaa2-switch-flower.c:616:24: warning: The right operand of '=='
is a garbage value
tmp->cfg.vlan_id == vlan) {
^ ~~~~
vlan is set in dpaa2_switch_flower_parse_mirror_key(). However
this function can return success without setting vlan. So
change the default return to -EOPNOTSUPP.

Fixes: 0f3faece5808 ("dpaa2-switch: add VLAN based mirroring")
Signed-off-by: Tom Rix <[email protected]>
---
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
index d6eefbbf163f..cacd454ac696 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c
@@ -532,6 +532,7 @@ static int dpaa2_switch_flower_parse_mirror_key(struct flow_cls_offload *cls,
struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
struct flow_dissector *dissector = rule->match.dissector;
struct netlink_ext_ack *extack = cls->common.extack;
+ int ret = -EOPNOTSUPP;

if (dissector->used_keys &
~(BIT(FLOW_DISSECTOR_KEY_BASIC) |
@@ -561,9 +562,10 @@ static int dpaa2_switch_flower_parse_mirror_key(struct flow_cls_offload *cls,
}

*vlan = (u16)match.key->vlan_id;
+ ret = 0;
}

- return 0;
+ return ret;
}

static int
--
2.26.3


2022-02-15 21:15:54

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key

Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller <[email protected]>:

On Mon, 14 Feb 2022 07:41:39 -0800 you wrote:
> From: Tom Rix <[email protected]>
>
> Clang static analysis reports this representative problem
> dpaa2-switch-flower.c:616:24: warning: The right operand of '=='
> is a garbage value
> tmp->cfg.vlan_id == vlan) {
> ^ ~~~~
> vlan is set in dpaa2_switch_flower_parse_mirror_key(). However
> this function can return success without setting vlan. So
> change the default return to -EOPNOTSUPP.
>
> [...]

Here is the summary with links:
- dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key
https://git.kernel.org/netdev/net/c/2a36ed7c1cd5

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html


2022-02-16 06:34:51

by Ioana Ciornei

[permalink] [raw]
Subject: Re: [PATCH] dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key

On Mon, Feb 14, 2022 at 07:41:39AM -0800, [email protected] wrote:
> From: Tom Rix <[email protected]>
>
> Clang static analysis reports this representative problem
> dpaa2-switch-flower.c:616:24: warning: The right operand of '=='
> is a garbage value
> tmp->cfg.vlan_id == vlan) {
> ^ ~~~~
> vlan is set in dpaa2_switch_flower_parse_mirror_key(). However
> this function can return success without setting vlan. So
> change the default return to -EOPNOTSUPP.
>
> Fixes: 0f3faece5808 ("dpaa2-switch: add VLAN based mirroring")
> Signed-off-by: Tom Rix <[email protected]>


Reviewed-by: Ioana Ciornei <[email protected]>

Thanks!