[PATCH] repair bootmem memory leak

From: William Lee Irwin III (wli@holomorphy.com)
Date: Mon Nov 05 2001 - 08:00:21 EST


While developing my fresh bootmem, the testing I did to ensure there
were no memory leaks discovered a caller leaking memory:

diff -urN linux-virgin/arch/i386/kernel/setup.c linux/arch/i386/kernel/setup.c
--- linux-virgin/arch/i386/kernel/setup.c Fri Oct 5 14:45:00 2001
+++ linux/arch/i386/kernel/setup.c Sat Oct 27 12:57:39 2001
@@ -926,7 +926,7 @@
          * bootmem allocator with an invalid RAM area.
          */
         reserve_bootmem(HIGH_MEMORY, (PFN_PHYS(start_pfn) +
- bootmap_size + PAGE_SIZE-1) - (HIGH_MEMORY));
+ bootmap_size) - (HIGH_MEMORY));
 
         /*
          * reserve physical page 0 - it's a special BIOS page on many boxes,

reserve_boootmem_core() already ensures that the endpoint of the
interval to reserve is rounded up to a page boundary, and so this
(demonstrably) leaks a page whenever
        PFN_PHYS(start_pfn) + bootmap_size + PAGE_SIZE -1
is not page-aligned.

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



This archive was generated by hypermail 2b29 : Wed Nov 07 2001 - 21:00:26 EST