[patch] bootmem bitmap always considered dma memory

Andrea Arcangeli (andrea@suse.de)
Thu, 9 Dec 1999 02:58:10 +0100 (CET)


Currently when we go to free the bootmem bitmap we don't check if it's
really allocated in dma memory. This bug will almost sure trigger on NUMA
architectures where the bitmaps of secondary nodes will be allocated at
offsets probably over 16g.

Patch against 2.3.31:

--- 2.3.31-NUMA/mm/bootmem.c.~1~ Wed Dec 8 00:05:28 1999
+++ 2.3.31-NUMA/mm/bootmem.c Thu Dec 9 02:50:22 1999
@@ -252,6 +252,9 @@
count++;
ClearPageReserved(page);
set_page_count(page, 1);
+ if (((unsigned long) bdata->node_bootmem_map >> PAGE_SHIFT)
+ + i >= MAX_DMA_ADDRESS >> PAGE_SHIFT)
+ clear_bit(PG_DMA, &page->flags);
__free_page(page);
}
total += count;

Andrea

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