patch-2.4.0-test6 linux/kernel/ptrace.c

Next file: linux/kernel/sched.c
Previous file: linux/kernel/ksyms.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/kernel/ptrace.c linux/kernel/ptrace.c
@@ -24,7 +24,6 @@
 	pgd_t * pgdir;
 	pmd_t * pgmiddle;
 	pte_t * pgtable;
-	unsigned long mapnr;
 	unsigned long maddr; 
 	struct page *page;
 
@@ -42,11 +41,10 @@
 	pgtable = pte_offset(pgmiddle, addr);
 	if (!pte_present(*pgtable))
 		goto fault_in_page;
-	mapnr = pte_pagenr(*pgtable);
 	if (write && (!pte_write(*pgtable) || !pte_dirty(*pgtable)))
 		goto fault_in_page;
-	page = mem_map + mapnr;
-	if ((mapnr >= max_mapnr) || PageReserved(page))
+	page = pte_page(*pgtable);
+	if ((!VALID_PAGE(page)) || PageReserved(page))
 		return 0;
 	flush_cache_page(vma, addr);
 

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