[PATCH net-next v3 1/5] net: altera-tse: Initialize the regmap_config struct before using it

Maxime Chevallier posted 5 patches 2 years, 8 months ago
There is a newer version of this series
[PATCH net-next v3 1/5] net: altera-tse: Initialize the regmap_config struct before using it
Posted by Maxime Chevallier 2 years, 8 months ago
The regmap_config needs to be zeroed before using it. This will cause
spurious errors at probe time as config->pad_bits is containing random
uninitialized data.

Fixes: db48abbaa18e ("net: ethernet: altera-tse: Convert to mdio-regmap and use PCS Lynx")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
V2->V3 : No changes
V1->V2 : No changes

 drivers/net/ethernet/altera/altera_tse_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
index d866c0f1b503..df509abcd378 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1255,6 +1255,7 @@ static int altera_tse_probe(struct platform_device *pdev)
 	if (ret)
 		goto err_free_netdev;
 
+	memset(&pcs_regmap_cfg, 0, sizeof(pcs_regmap_cfg));
 	/* SGMII PCS address space. The location can vary depending on how the
 	 * IP is integrated. We can have a resource dedicated to it at a specific
 	 * address space, but if it's not the case, we fallback to the mdiophy0
-- 
2.40.1
Re: [PATCH net-next v3 1/5] net: altera-tse: Initialize the regmap_config struct before using it
Posted by Maciej Fijalkowski 2 years, 8 months ago
On Tue, Jun 06, 2023 at 05:24:57PM +0200, Maxime Chevallier wrote:
> The regmap_config needs to be zeroed before using it. This will cause
> spurious errors at probe time as config->pad_bits is containing random
> uninitialized data.
> 
> Fixes: db48abbaa18e ("net: ethernet: altera-tse: Convert to mdio-regmap and use PCS Lynx")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
> ---
> V2->V3 : No changes
> V1->V2 : No changes
> 
>  drivers/net/ethernet/altera/altera_tse_main.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
> index d866c0f1b503..df509abcd378 100644
> --- a/drivers/net/ethernet/altera/altera_tse_main.c
> +++ b/drivers/net/ethernet/altera/altera_tse_main.c
> @@ -1255,6 +1255,7 @@ static int altera_tse_probe(struct platform_device *pdev)
>  	if (ret)
>  		goto err_free_netdev;
>  
> +	memset(&pcs_regmap_cfg, 0, sizeof(pcs_regmap_cfg));

i think it would be good to zero out mrc as well - in future someone might
expand this struct and you will have the same bug as you're fixing here.

>  	/* SGMII PCS address space. The location can vary depending on how the
>  	 * IP is integrated. We can have a resource dedicated to it at a specific
>  	 * address space, but if it's not the case, we fallback to the mdiophy0
> -- 
> 2.40.1
> 
>