Re: [PATCH net-next] net: microchip: sparx5: prevent uninitialized variable

Daniel.Machon
2022-11-16T07:09:35Z

> Smatch complains that:
>
> drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c:112
> sparx5_dcb_apptrust_validate() error: uninitialized symbol 'match'.
>
> This would only happen if the:
>
> if (sparx5_dcb_apptrust_policies[i].nselectors != nselectors)
>
> condition is always true (they are not equal). The "nselectors"
> variable comes from dcbnl_ieee_set() and it is a number between 0-256.
> This seems like a probably a real bug.

That is indeed a bug.

Thank you, much appreciated.

>
> Fixes: 23f8382cd95d ("net: microchip: sparx5: add support for apptrust")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c b/drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c
> index 8108f3767767..74abb946b2a3 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_dcb.c
> @@ -90,7 +90,7 @@ static int sparx5_dcb_app_validate(struct net_device *dev,
> static int sparx5_dcb_apptrust_validate(struct net_device *dev, u8 *selectors,
> int nselectors, int *err)
> {
> - bool match;
> + bool match = false;
> int i, ii;
>
> for (i = 0; i < ARRAY_SIZE(sparx5_dcb_apptrust_policies); i++) {
> --
> 2.35.1
>

Reviewed-by: Daniel Machon <daniel.machon@microchip.com>