2021-08-18 14:27:14

by Colin King

[permalink] [raw]
Subject: [PATCH][next] net/mlx5: Bridge: Fix uninitialized variable err

From: Colin Ian King <[email protected]>

A recent change removed the assignment of err to the return from
the call mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get, so now
err is uninitialized. This is problematic in the switch statement
where attr-id is SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS, there
is now a possibility of err not being assigned and the function
returning a garbage value in err. Fix this by initializing err
to zero.

Addresses-Coverity; ("Uninitialized scalar variable")
Fixes: ff9b7521468b ("net/mlx5: Bridge, support LAG")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c
index 0c38c2e319be..4bf860f621f7 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c
@@ -244,7 +244,7 @@ mlx5_esw_bridge_port_obj_attr_set(struct net_device *dev,
struct netlink_ext_ack *extack = switchdev_notifier_info_to_extack(&port_attr_info->info);
const struct switchdev_attr *attr = port_attr_info->attr;
u16 vport_num, esw_owner_vhca_id;
- int err;
+ int err = 0;

if (!mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get(dev, br_offloads->esw, &vport_num,
&esw_owner_vhca_id))
--
2.32.0


2021-08-18 15:17:52

by Vlad Buslov

[permalink] [raw]
Subject: Re: [PATCH][next] net/mlx5: Bridge: Fix uninitialized variable err

On Wed 18 Aug 2021 at 17:25, Colin King <[email protected]> wrote:
> From: Colin Ian King <[email protected]>
>
> A recent change removed the assignment of err to the return from
> the call mlx5_esw_bridge_lower_rep_vport_num_vhca_id_get, so now
> err is uninitialized. This is problematic in the switch statement
> where attr-id is SWITCHDEV_ATTR_ID_PORT_PRE_BRIDGE_FLAGS, there
> is now a possibility of err not being assigned and the function
> returning a garbage value in err. Fix this by initializing err
> to zero.
>
> Addresses-Coverity; ("Uninitialized scalar variable")
> Fixes: ff9b7521468b ("net/mlx5: Bridge, support LAG")
> Signed-off-by: Colin Ian King <[email protected]>
> ---

Colin, thanks for fixing this!

Saeed, I've already submitted fix for this and another similar Coverity
issue (in mlx5_esw_bridge_port_changeupper()) internally. This patch is
exactly the same one line fix as mine, so you can take whichever you
prefer.

Reviewed-by: Vlad Buslov <[email protected]>

[...]