public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mtd: spi-nor: core: correct type of i to be signed
@ 2024-03-01 14:45 Muhammad Usama Anjum
  2024-03-01 15:04 ` Michael Walle
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Muhammad Usama Anjum @ 2024-03-01 14:45 UTC (permalink / raw)
  To: Tudor Ambarus, Pratyush Yadav, Michael Walle, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Takahiro Kuwano
  Cc: Muhammad Usama Anjum, kernel, kernel-janitors, linux-mtd,
	linux-kernel

The i should be signed to find out the end of the loop. Otherwise,
i >= 0 is always true and loop becomes infinite.

Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
---
 drivers/mtd/spi-nor/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 65b32ea59afc6..46bc45b80883f 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3373,7 +3373,7 @@ static u32
 spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
 			     const struct spi_nor_erase_type *erase_type)
 {
-	u8 i;
+	s8 i;
 
 	if (region->overlaid)
 		return region->size;
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-01 14:45 [PATCH] mtd: spi-nor: core: correct type of i to be signed Muhammad Usama Anjum
@ 2024-03-01 15:04 ` Michael Walle
  2024-03-04  7:51   ` Tudor Ambarus
  2024-03-01 17:01 ` Dan Carpenter
  2024-03-04 10:21 ` AngeloGioacchino Del Regno
  2 siblings, 1 reply; 7+ messages in thread
From: Michael Walle @ 2024-03-01 15:04 UTC (permalink / raw)
  To: Muhammad Usama Anjum, Tudor Ambarus, Pratyush Yadav,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Takahiro Kuwano
  Cc: kernel, kernel-janitors, linux-mtd, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

Hi,

On Fri Mar 1, 2024 at 3:45 PM CET, Muhammad Usama Anjum wrote:
> The i should be signed to find out the end of the loop. Otherwise,
> i >= 0 is always true and loop becomes infinite.
>
> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
> ---
>  drivers/mtd/spi-nor/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index 65b32ea59afc6..46bc45b80883f 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -3373,7 +3373,7 @@ static u32
>  spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
>  			     const struct spi_nor_erase_type *erase_type)
>  {
> -	u8 i;
> +	s8 i;

Can we just have an "int" here. So we don't shoot ourselves in the
foot again. I'm really no friend of these kind of micro
optimizations, it should have been int in the first place IMHO.

-michael

>  
>  	if (region->overlaid)
>  		return region->size;


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 252 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-01 14:45 [PATCH] mtd: spi-nor: core: correct type of i to be signed Muhammad Usama Anjum
  2024-03-01 15:04 ` Michael Walle
@ 2024-03-01 17:01 ` Dan Carpenter
  2024-03-04 10:21 ` AngeloGioacchino Del Regno
  2 siblings, 0 replies; 7+ messages in thread
From: Dan Carpenter @ 2024-03-01 17:01 UTC (permalink / raw)
  To: Muhammad Usama Anjum
  Cc: Tudor Ambarus, Pratyush Yadav, Michael Walle, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Takahiro Kuwano, kernel,
	kernel-janitors, linux-mtd, linux-kernel

On Fri, Mar 01, 2024 at 07:45:16PM +0500, Muhammad Usama Anjum wrote:
> The i should be signed to find out the end of the loop. Otherwise,
> i >= 0 is always true and loop becomes infinite.
> 
> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
> ---
>  drivers/mtd/spi-nor/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
> index 65b32ea59afc6..46bc45b80883f 100644
> --- a/drivers/mtd/spi-nor/core.c
> +++ b/drivers/mtd/spi-nor/core.c
> @@ -3373,7 +3373,7 @@ static u32
>  spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
>  			     const struct spi_nor_erase_type *erase_type)
>  {
> -	u8 i;
> +	s8 i;

I have a patch in my output which also addresses this bug but you beat
me to the punch.  Declaring iterators as "u8 i;" is a canonical bug.

https://staticthinking.wordpress.com/2022/06/01/unsigned-int-i-is-stupid/

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-01 15:04 ` Michael Walle
@ 2024-03-04  7:51   ` Tudor Ambarus
  2024-03-04  8:46     ` Muhammad Usama Anjum
  0 siblings, 1 reply; 7+ messages in thread
From: Tudor Ambarus @ 2024-03-04  7:51 UTC (permalink / raw)
  To: Michael Walle, Muhammad Usama Anjum, Pratyush Yadav,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Takahiro Kuwano
  Cc: kernel, kernel-janitors, linux-mtd, linux-kernel



On 3/1/24 15:04, Michael Walle wrote:
> Hi,
> 
> On Fri Mar 1, 2024 at 3:45 PM CET, Muhammad Usama Anjum wrote:
>> The i should be signed to find out the end of the loop. Otherwise,
>> i >= 0 is always true and loop becomes infinite.
>>
>> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
>> ---
>>  drivers/mtd/spi-nor/core.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>> index 65b32ea59afc6..46bc45b80883f 100644
>> --- a/drivers/mtd/spi-nor/core.c
>> +++ b/drivers/mtd/spi-nor/core.c
>> @@ -3373,7 +3373,7 @@ static u32
>>  spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
>>  			     const struct spi_nor_erase_type *erase_type)
>>  {
>> -	u8 i;
>> +	s8 i;
> 
> Can we just have an "int" here. So we don't shoot ourselves in the

Muhammad, do you care to resubmit using int? Would be better indeed.

> foot again. I'm really no friend of these kind of micro
> optimizations, it should have been int in the first place IMHO.
> 
> -michael
> 
>>  
>>  	if (region->overlaid)
>>  		return region->size;
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-04  7:51   ` Tudor Ambarus
@ 2024-03-04  8:46     ` Muhammad Usama Anjum
  2024-03-04  8:47       ` Tudor Ambarus
  0 siblings, 1 reply; 7+ messages in thread
From: Muhammad Usama Anjum @ 2024-03-04  8:46 UTC (permalink / raw)
  To: Tudor Ambarus, Michael Walle, Pratyush Yadav, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Takahiro Kuwano
  Cc: Muhammad Usama Anjum, kernel, kernel-janitors, linux-mtd,
	linux-kernel

On 3/4/24 12:51 PM, Tudor Ambarus wrote:
> 
> 
> On 3/1/24 15:04, Michael Walle wrote:
>> Hi,
>>
>> On Fri Mar 1, 2024 at 3:45 PM CET, Muhammad Usama Anjum wrote:
>>> The i should be signed to find out the end of the loop. Otherwise,
>>> i >= 0 is always true and loop becomes infinite.
>>>
>>> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
>>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
>>> ---
>>>  drivers/mtd/spi-nor/core.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>>> index 65b32ea59afc6..46bc45b80883f 100644
>>> --- a/drivers/mtd/spi-nor/core.c
>>> +++ b/drivers/mtd/spi-nor/core.c
>>> @@ -3373,7 +3373,7 @@ static u32
>>>  spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
>>>  			     const struct spi_nor_erase_type *erase_type)
>>>  {
>>> -	u8 i;
>>> +	s8 i;
>>
>> Can we just have an "int" here. So we don't shoot ourselves in the
> 
> Muhammad, do you care to resubmit using int? Would be better indeed.
I'm sending a v2 with int.

> 
>> foot again. I'm really no friend of these kind of micro
>> optimizations, it should have been int in the first place IMHO.
>>
>> -michael
>>
>>>  
>>>  	if (region->overlaid)
>>>  		return region->size;
>>
> 

-- 
BR,
Muhammad Usama Anjum

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-04  8:46     ` Muhammad Usama Anjum
@ 2024-03-04  8:47       ` Tudor Ambarus
  0 siblings, 0 replies; 7+ messages in thread
From: Tudor Ambarus @ 2024-03-04  8:47 UTC (permalink / raw)
  To: Muhammad Usama Anjum, Michael Walle, Pratyush Yadav,
	Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
	Takahiro Kuwano
  Cc: kernel, kernel-janitors, linux-mtd, linux-kernel



On 3/4/24 08:46, Muhammad Usama Anjum wrote:
> On 3/4/24 12:51 PM, Tudor Ambarus wrote:
>>
>>
>> On 3/1/24 15:04, Michael Walle wrote:
>>> Hi,
>>>
>>> On Fri Mar 1, 2024 at 3:45 PM CET, Muhammad Usama Anjum wrote:
>>>> The i should be signed to find out the end of the loop. Otherwise,
>>>> i >= 0 is always true and loop becomes infinite.
>>>>
>>>> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
>>>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
>>>> ---
>>>>  drivers/mtd/spi-nor/core.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>>>> index 65b32ea59afc6..46bc45b80883f 100644
>>>> --- a/drivers/mtd/spi-nor/core.c
>>>> +++ b/drivers/mtd/spi-nor/core.c
>>>> @@ -3373,7 +3373,7 @@ static u32
>>>>  spi_nor_get_region_erasesize(const struct spi_nor_erase_region *region,
>>>>  			     const struct spi_nor_erase_type *erase_type)
>>>>  {
>>>> -	u8 i;
>>>> +	s8 i;
>>>
>>> Can we just have an "int" here. So we don't shoot ourselves in the
>>
>> Muhammad, do you care to resubmit using int? Would be better indeed.
> I'm sending a v2 with int.

thanks!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] mtd: spi-nor: core: correct type of i to be signed
  2024-03-01 14:45 [PATCH] mtd: spi-nor: core: correct type of i to be signed Muhammad Usama Anjum
  2024-03-01 15:04 ` Michael Walle
  2024-03-01 17:01 ` Dan Carpenter
@ 2024-03-04 10:21 ` AngeloGioacchino Del Regno
  2 siblings, 0 replies; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-03-04 10:21 UTC (permalink / raw)
  To: Muhammad Usama Anjum, Tudor Ambarus, Pratyush Yadav,
	Michael Walle, Miquel Raynal, Richard Weinberger,
	Vignesh Raghavendra, Takahiro Kuwano
  Cc: kernel, kernel-janitors, linux-mtd, linux-kernel

Il 01/03/24 15:45, Muhammad Usama Anjum ha scritto:
> The i should be signed to find out the end of the loop. Otherwise,
> i >= 0 is always true and loop becomes infinite.
> 
> Fixes: 6a9eda34418f ("mtd: spi-nor: core: set mtd->eraseregions for non-uniform erase map")
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-03-04 10:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-01 14:45 [PATCH] mtd: spi-nor: core: correct type of i to be signed Muhammad Usama Anjum
2024-03-01 15:04 ` Michael Walle
2024-03-04  7:51   ` Tudor Ambarus
2024-03-04  8:46     ` Muhammad Usama Anjum
2024-03-04  8:47       ` Tudor Ambarus
2024-03-01 17:01 ` Dan Carpenter
2024-03-04 10:21 ` AngeloGioacchino Del Regno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox