2023-07-15 10:41:18

by Zhang Shurong

[permalink] [raw]
Subject: [PATCH] spi: tegra20-sflash: Fix signedness bug in tegra_sflash_probe

The "tsd->irq" variable is unsigned so this error handling
code will not work.

Fix this by adding error handling statement

Fixes: 8528547bcc33 ("spi: tegra: add spi driver for sflash controller")
Signed-off-by: Zhang Shurong <[email protected]>
---
drivers/spi/spi-tegra20-sflash.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
index 4286310628a2..4c18337de813 100644
--- a/drivers/spi/spi-tegra20-sflash.c
+++ b/drivers/spi/spi-tegra20-sflash.c
@@ -455,7 +455,11 @@ static int tegra_sflash_probe(struct platform_device *pdev)
goto exit_free_master;
}

- tsd->irq = platform_get_irq(pdev, 0);
+ ret = platform_get_irq(pdev, 0);
+ if (ret < 0)
+ goto exit_free_master;
+
+ tsd->irq = ret;
ret = request_irq(tsd->irq, tegra_sflash_isr, 0,
dev_name(&pdev->dev), tsd);
if (ret < 0) {
--
2.30.2



2023-07-17 07:44:08

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH] spi: tegra20-sflash: Fix signedness bug in tegra_sflash_probe

On Sat, Jul 15, 2023 at 05:53:56PM +0800, Zhang Shurong wrote:
> The "tsd->irq" variable is unsigned so this error handling
> code will not work.
>
> Fix this by adding error handling statement

This doesn't really make sense. First you say that the error handling
will not work and then you say you fix that by adding error handling.

So the bug here is that there is no error checking in the first place,
so you should probably reword that commit message.

Thierry

>
> Fixes: 8528547bcc33 ("spi: tegra: add spi driver for sflash controller")
> Signed-off-by: Zhang Shurong <[email protected]>
> ---
> drivers/spi/spi-tegra20-sflash.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
> index 4286310628a2..4c18337de813 100644
> --- a/drivers/spi/spi-tegra20-sflash.c
> +++ b/drivers/spi/spi-tegra20-sflash.c
> @@ -455,7 +455,11 @@ static int tegra_sflash_probe(struct platform_device *pdev)
> goto exit_free_master;
> }
>
> - tsd->irq = platform_get_irq(pdev, 0);
> + ret = platform_get_irq(pdev, 0);
> + if (ret < 0)
> + goto exit_free_master;
> +
> + tsd->irq = ret;
> ret = request_irq(tsd->irq, tegra_sflash_isr, 0,
> dev_name(&pdev->dev), tsd);
> if (ret < 0) {
> --
> 2.30.2
>


Attachments:
(No filename) (1.32 kB)
signature.asc (849.00 B)
Download all attachments