From patchwork Thu Mar 5 12:11:26 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: maps: test before subtraction on unsigned long intel1size Date: Thu, 05 Mar 2009 02:11:26 -0000 From: roel kluin X-Patchwork-Id: 24097 Message-Id: <49AFC16E.5090904@gmail.com> To: dwmw2@infradead.org Cc: Andrew Morton , "linux-mtd@lists.infradead.org" I found this by code inspection, I could be wrong, but isn't a test required before this subtraction? note that intel1size is unsigned long. Also I noted that the file makes extensive use of volatile. is that necessary? ------------------------------>8-------------8<--------------------------------- Test before subtraction on unsigned long intel1size. Signed-off-by: Roel Kluin --- diff --git a/drivers/mtd/maps/nettel.c b/drivers/mtd/maps/nettel.c index a97133e..ed2fc83 100644 --- a/drivers/mtd/maps/nettel.c +++ b/drivers/mtd/maps/nettel.c @@ -349,11 +349,12 @@ static int __init nettel_init(void) goto out_unmap1; } - intel1size = intel_mtd->size - intel0size; - if (intel1size > 0) { + if (intel_mtd->size > intel0size) { + intel1size = intel_mtd->size - intel0size; *intel1par = SC520_PAR(intel1cs, intel1addr, intel1size); __asm__ ("wbinvd"); } else { + intel1size = 0; *intel1par = 0; }