2022-12-01 18:04:19

by Valentina Goncharenko

[permalink] [raw]
Subject: [PATCH 1/2] net: encx24j600: Add parentheses to fix precedence

In functions regmap_encx24j600_phy_reg_read() and
regmap_encx24j600_phy_reg_write() in the conditions of the waiting
cycles for filling the variable 'ret' it is necessary to add parentheses
to prevent wrong assignment due to logical operations precedence.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: d70e53262f5c ("net: Microchip encx24j600 driver")
Signed-off-by: Valentina Goncharenko <[email protected]>
---
drivers/net/ethernet/microchip/encx24j600-regmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/microchip/encx24j600-regmap.c b/drivers/net/ethernet/microchip/encx24j600-regmap.c
index 81a8ccca7e5e..2e337c7a5773 100644
--- a/drivers/net/ethernet/microchip/encx24j600-regmap.c
+++ b/drivers/net/ethernet/microchip/encx24j600-regmap.c
@@ -359,7 +359,7 @@ static int regmap_encx24j600_phy_reg_read(void *context, unsigned int reg,
goto err_out;

usleep_range(26, 100);
- while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
+ while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
(mistat & BUSY))
cpu_relax();

@@ -397,7 +397,7 @@ static int regmap_encx24j600_phy_reg_write(void *context, unsigned int reg,
goto err_out;

usleep_range(26, 100);
- while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
+ while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
(mistat & BUSY))
cpu_relax();

--
2.25.1


2022-12-02 08:54:37

by Pavan Chebbi

[permalink] [raw]
Subject: Re: [PATCH 1/2] net: encx24j600: Add parentheses to fix precedence

On Thu, Dec 1, 2022 at 11:04 PM Valentina Goncharenko
<[email protected]> wrote:
>
> In functions regmap_encx24j600_phy_reg_read() and
> regmap_encx24j600_phy_reg_write() in the conditions of the waiting
> cycles for filling the variable 'ret' it is necessary to add parentheses
> to prevent wrong assignment due to logical operations precedence.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> Fixes: d70e53262f5c ("net: Microchip encx24j600 driver")
> Signed-off-by: Valentina Goncharenko <[email protected]>
> ---
> drivers/net/ethernet/microchip/encx24j600-regmap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/microchip/encx24j600-regmap.c b/drivers/net/ethernet/microchip/encx24j600-regmap.c
> index 81a8ccca7e5e..2e337c7a5773 100644
> --- a/drivers/net/ethernet/microchip/encx24j600-regmap.c
> +++ b/drivers/net/ethernet/microchip/encx24j600-regmap.c
> @@ -359,7 +359,7 @@ static int regmap_encx24j600_phy_reg_read(void *context, unsigned int reg,
> goto err_out;
>
> usleep_range(26, 100);
> - while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
> + while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
> (mistat & BUSY))
> cpu_relax();
>
> @@ -397,7 +397,7 @@ static int regmap_encx24j600_phy_reg_write(void *context, unsigned int reg,
> goto err_out;
>
> usleep_range(26, 100);
> - while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) &&
> + while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) != 0) &&
> (mistat & BUSY))
> cpu_relax();
>
> --
> 2.25.1
>
Makes sense to me.
Reviewed-by: Pavan Chebbi <[email protected]>


Attachments:
smime.p7s (4.11 kB)
S/MIME Cryptographic Signature

2022-12-05 10:39:02

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH 1/2] net: encx24j600: Add parentheses to fix precedence

Hello:

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

On Thu, 1 Dec 2022 20:34:07 +0300 you wrote:
> In functions regmap_encx24j600_phy_reg_read() and
> regmap_encx24j600_phy_reg_write() in the conditions of the waiting
> cycles for filling the variable 'ret' it is necessary to add parentheses
> to prevent wrong assignment due to logical operations precedence.
>
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
>
> [...]

Here is the summary with links:
- [1/2] net: encx24j600: Add parentheses to fix precedence
https://git.kernel.org/netdev/net/c/167b3f2dcc62
- [2/2] net: encx24j600: Fix invalid logic in reading of MISTAT register
https://git.kernel.org/netdev/net/c/25f427ac7b8d

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