x86-64: fix initrd freeing
authorLinus Torvalds <torvalds@g5.osdl.org>
Mon, 16 Jan 2006 19:33:09 +0000 (11:33 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 16 Jan 2006 19:33:09 +0000 (11:33 -0800)
The comparison of the initrd start address against "&_end" is
unnecessary and incorrect.  Make it match the x86 code that just
compares the passed-in arguments.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/mm/init.c

index ef84106c1509b5d0b74b6f35d053ae0a95ee7c67..307d1ac0ef33e184fe9102119bcdfbe3cbdb9f0e 100644 (file)
@@ -531,7 +531,7 @@ void mark_rodata_ro(void)
 #ifdef CONFIG_BLK_DEV_INITRD
 void free_initrd_mem(unsigned long start, unsigned long end)
 {
-       if (start < (unsigned long)&_end)
+       if (start >= end)
                return;
        printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
        for (; start < end; start += PAGE_SIZE) {