---

 mm/rmap.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletion(-)

diff -puN mm/rmap.c~page_add_rmap-warning mm/rmap.c
--- 25/mm/rmap.c~page_add_rmap-warning	2004-02-04 23:26:25.000000000 -0800
+++ 25-akpm/mm/rmap.c	2004-02-04 23:27:26.000000000 -0800
@@ -171,7 +171,17 @@ page_add_rmap(struct page *page, pte_t *
 	pte_addr_t pte_paddr = ptep_to_paddr(ptep);
 	struct pte_chain *cur_pte_chain;
 
-	if (!pfn_valid(page_to_pfn(page)) || PageReserved(page))
+	if (!pfn_valid(page_to_pfn(page))) {
+		static int count;
+
+		if (count < 5) {
+			printk("%s: invalid pfn\n", __FUNCTION__);
+			count++;
+		}
+		return pte_chain;
+	}
+
+	if (PageReserved(page))
 		return pte_chain;
 
 	pte_chain_lock(page);

_