patch-2.4.0-test6 linux/arch/mips64/mm/umap.c

Next file: linux/arch/mips64/sgi-ip22/ip22-int.c
Previous file: linux/arch/mips64/mm/r4xx0.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/arch/mips64/mm/umap.c linux/arch/mips64/mm/umap.c
@@ -109,10 +109,10 @@
 static inline void free_pte(pte_t page)
 {
 	if (pte_present(page)) {
-		unsigned long nr = pte_pagenr(page);
-		if (nr >= max_mapnr || PageReserved(mem_map+nr))
+		struct page *ptpage = pte_page(page);
+		if ((!VALID_PAGE(ptpage)) || PageReserved(ptpage))
 			return;
-		__free_page(pte_page(page));
+		__free_page(ptpage);
 		if (current->mm->rss <= 0)
 			return;
 		current->mm->rss--;

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