Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1733464 > unrolled thread

[PATCH] mtd: spi-nor: Kill check with no effect

Started byRichard Weinberger <richard@nod.at>
First post2017-09-17 16:20 +0200
Last post2017-09-19 19:20 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mtd: spi-nor: Kill check with no effect Richard Weinberger <richard@nod.at> - 2017-09-17 16:20 +0200
    Re: [PATCH] mtd: spi-nor: Kill check with no effect Boris Brezillon <boris.brezillon@free-electrons.com> - 2017-09-18 11:50 +0200
      Re: [PATCH] mtd: spi-nor: Kill check with no effect Richard Weinberger <richard@nod.at> - 2017-09-18 15:40 +0200
      Re: [PATCH] mtd: spi-nor: Kill check with no effect Cyrille Pitchen <cyrille.pitchen@wedev4u.fr> - 2017-09-19 19:20 +0200

#1733464 — [PATCH] mtd: spi-nor: Kill check with no effect

FromRichard Weinberger <richard@nod.at>
Date2017-09-17 16:20 +0200
Subject[PATCH] mtd: spi-nor: Kill check with no effect
Message-ID<uqIAp-AU-3@gated-at.bofh.it>
header.major is of type u8 and cannot be negative.

Detected by CoverityScan CID#1417858 ("Integer handling issues")

Fixes: f384b352cbf0 ("mtd: spi-nor: parse Serial Flash Discoverable
Parameters (SFDP) tables")
Signed-off-by: Richard Weinberger <richard@nod.at>
---
Cyrille,

I'm not sure what exactly you wanted to test.
Maybe it makes sense casting header.major to s8 before checking against < 0?

Thanks,
//richard
---
 drivers/mtd/spi-nor/spi-nor.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index d71765739a93..4b86decdf13e 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -2252,8 +2252,7 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor,
 
 	/* Check the SFDP header version. */
 	if (le32_to_cpu(header.signature) != SFDP_SIGNATURE ||
-	    header.major != SFDP_JESD216_MAJOR ||
-	    header.minor < SFDP_JESD216_MINOR)
+	    header.major != SFDP_JESD216_MAJOR)
 		return -EINVAL;
 
 	/*
-- 
2.13.5

[toc] | [next] | [standalone]


#1733958

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2017-09-18 11:50 +0200
Message-ID<ur0QI-4nB-65@gated-at.bofh.it>
In reply to#1733464
On Sun, 17 Sep 2017 16:13:52 +0200
Richard Weinberger <richard@nod.at> wrote:

> header.major is of type u8 and cannot be negative.

I guess you meant header.minor here.

> 
> Detected by CoverityScan CID#1417858 ("Integer handling issues")
> 
> Fixes: f384b352cbf0 ("mtd: spi-nor: parse Serial Flash Discoverable
> Parameters (SFDP) tables")
> Signed-off-by: Richard Weinberger <richard@nod.at>
> ---
> Cyrille,
> 
> I'm not sure what exactly you wanted to test.
> Maybe it makes sense casting header.major to s8 before checking against < 0?
> 
> Thanks,
> //richard
> ---
>  drivers/mtd/spi-nor/spi-nor.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index d71765739a93..4b86decdf13e 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -2252,8 +2252,7 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor,
>  
>  	/* Check the SFDP header version. */
>  	if (le32_to_cpu(header.signature) != SFDP_SIGNATURE ||
> -	    header.major != SFDP_JESD216_MAJOR ||
> -	    header.minor < SFDP_JESD216_MINOR)
> +	    header.major != SFDP_JESD216_MAJOR)
>  		return -EINVAL;
>  
>  	/*

[toc] | [prev] | [next] | [standalone]


#1734123

FromRichard Weinberger <richard@nod.at>
Date2017-09-18 15:40 +0200
Message-ID<ur4rj-6TZ-45@gated-at.bofh.it>
In reply to#1733958
Am Montag, 18. September 2017, 11:44:51 CEST schrieb Boris Brezillon:
> On Sun, 17 Sep 2017 16:13:52 +0200
> 
> Richard Weinberger <richard@nod.at> wrote:
> > header.major is of type u8 and cannot be negative.
> 
> I guess you meant header.minor here.

Correct. :)

Thanks,
//richard

[toc] | [prev] | [next] | [standalone]


#1735111

FromCyrille Pitchen <cyrille.pitchen@wedev4u.fr>
Date2017-09-19 19:20 +0200
Message-ID<urulI-8fP-5@gated-at.bofh.it>
In reply to#1733958
Hi Richard,

Le 18/09/2017 à 11:44, Boris Brezillon a écrit :
> On Sun, 17 Sep 2017 16:13:52 +0200
> Richard Weinberger <richard@nod.at> wrote:
> 
>> header.major is of type u8 and cannot be negative.
> 
> I guess you meant header.minor here.
> 
>>
>> Detected by CoverityScan CID#1417858 ("Integer handling issues")
>>
>> Fixes: f384b352cbf0 ("mtd: spi-nor: parse Serial Flash Discoverable
>> Parameters (SFDP) tables")
>> Signed-off-by: Richard Weinberger <richard@nod.at>
>> ---
>> Cyrille,
>>
>> I'm not sure what exactly you wanted to test.
>> Maybe it makes sense casting header.major to s8 before checking against < 0?
>>

Actually I hesitated between checking the exact match with one of the 3
major.minor pairs defined for each version of the JESD216 specification:

JESD216: 1.0
JESD216 rev A: 1.5
JESD216 rev B (the latest one): 1.6

I was wondering whether I should accept 1.1, 1.2, 1.3 and 1.4
(unofficial) pairs too and also later versions, which should be backward
compatible with JESD216 rev B, like rev B is backward compatible with
rev A and so on...

Finally I've chosen to accept everything after 1.0 to give a chance to
next revisions to be supported as much as possible by the current code.
The major number should not change but actually the test upon the minor
value is useless as every unsigned number is greater than or equal to 0 ;)

So once Boris comment taken into account:

Acked-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>

Best regards,

Cyrille

>> Thanks,
>> //richard
>> ---
>>  drivers/mtd/spi-nor/spi-nor.c | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
>> index d71765739a93..4b86decdf13e 100644
>> --- a/drivers/mtd/spi-nor/spi-nor.c
>> +++ b/drivers/mtd/spi-nor/spi-nor.c
>> @@ -2252,8 +2252,7 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor,
>>  
>>  	/* Check the SFDP header version. */
>>  	if (le32_to_cpu(header.signature) != SFDP_SIGNATURE ||
>> -	    header.major != SFDP_JESD216_MAJOR ||
>> -	    header.minor < SFDP_JESD216_MINOR)
>> +	    header.major != SFDP_JESD216_MAJOR)
>>  		return -EINVAL;
>>  
>>  	/*
> 
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web