[POWERPC] Fix loop with unsigned long counter variable
authorManish Ahuja <ahuja@austin.ibm.com>
Mon, 9 Jul 2007 19:03:45 +0000 (05:03 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 26 Jul 2007 06:12:17 +0000 (16:12 +1000)
This fixes a possible infinite loop when the unsigned long counter "i"
is used in lmb_add_region() in the following for loop:

for (i = rgn->cnt-1; i >= 0; i--)

by making the loop counter "i" be signed.

Signed-off-by: Manish Ahuja <ahuja@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>

arch/powerpc/mm/lmb.c

index e3a1e8d..8f4d2dc 100644 (file)
@@ -138,8 +138,8 @@ void __init lmb_analyze(void)
 static long __init lmb_add_region(struct lmb_region *rgn, unsigned long base,
                                  unsigned long size)
 {
-       unsigned long i, coalesced = 0;
-       long adjacent;
+       unsigned long coalesced = 0;
+       long adjacent, i;
 
        /* First try and coalesce this LMB with another. */
        for (i=0; i < rgn->cnt; i++) {