Skip to contentSkip to conversation

cleanup: don't corrupt pgt_buf_end when we don't allocated from it

PATCH New Lai Jiangshan 1 participant 1 message Mar 29, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 cleanup: don't corrupt pgt_buf_end when we don't allocated from it

when after_bootmem, alloc_low_page() allow page from get_zeroed_page(), so we should not corrupt pgt_buf_end.

---

arch/x86/mm/init_64.c +2 -1
index 436a030..cba66c6 100644
@@ -317,7 +317,7 @@ void __init cleanup_highmap(void)
 
 static __ref void *alloc_low_page(unsigned long *phys)
 {
-	unsigned long pfn = pgt_buf_end++;
+	unsigned long pfn;
 	void *adr;
 
 	if (after_bootmem) {
@@ -327,6 +327,7 @@ static __ref void *alloc_low_page(unsigned long *phys)
 		return adr;
 	}
 
+	pfn = pgt_buf_end++;
 	if (pfn >= pgt_buf_top)
 		panic("alloc_low_page: ran out of memory");