patch-2.4.0-test6 linux/mm/vmalloc.c

Next file: linux/mm/vmscan.c
Previous file: linux/mm/swapfile.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/mm/vmalloc.c linux/mm/vmalloc.c
@@ -41,10 +41,9 @@
 		if (pte_none(page))
 			continue;
 		if (pte_present(page)) {
-			unsigned long map_nr = pte_pagenr(page);
-			if ((map_nr < max_mapnr) && 
-						(!PageReserved(mem_map + map_nr)))
-				__free_page(mem_map + map_nr);
+			struct page *ptpage = pte_page(page);
+			if (VALID_PAGE(ptpage) && (!PageReserved(ptpage)))
+				__free_page(ptpage);
 			continue;
 		}
 		printk(KERN_CRIT "Whee.. Swapped out page in kernel page table\n");

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)