RE: [PATCH] OneNAND: Fix test of unsigned in onenand_otp_walk()

From: Kyungmin Park
Date: Tue Dec 15 2009 - 20:20:40 EST


Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>

> -----Original Message-----
> From: Roel Kluin [mailto:roel.kluin@xxxxxxxxx]
> Sent: Wednesday, December 16, 2009 9:37 AM
> To: Kyungmin Park; linux-mtd@xxxxxxxxxxxxxxxxxxx; Andrew Morton; LKML
> Subject: [PATCH] OneNAND: Fix test of unsigned in onenand_otp_walk()
>
> mtd->writesize and len are unsigned so the test does not work.
>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> ---
> you can test this with:
>
> #include <stdio.h>
>
> int main()
> {
> int c = 1, d = 1;
> unsigned a = 30;
> unsigned b = 10;
>
> if ((b * c) - (d + a) < 0)
> printf("good\n");
> else
> printf("bad\n");
> return 0;
> }
>
>
> diff --git a/drivers/mtd/onenand/onenand_base.c
> b/drivers/mtd/onenand/onenand_base.c
> index ff66e43..cbe2711 100644
> --- a/drivers/mtd/onenand/onenand_base.c
> +++ b/drivers/mtd/onenand/onenand_base.c
> @@ -2725,7 +2725,7 @@ static int onenand_otp_walk(struct mtd_info *mtd,
> loff_t from, size_t len,
> }
>
> /* Check User/Factory boundary */
> - if (((mtd->writesize * otp_pages) - (from + len)) < 0)
> + if (mtd->writesize * otp_pages < from + len)
> return 0;
>
> onenand_get_device(mtd, FL_OTPING);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/