Jeremy Fitzhardinge wrote:
Along the lines of:
--- a/include/asm-x86/pgtable.h Wed Jun 18 13:54:49 2008 -0700
+++ b/include/asm-x86/pgtable.h Wed Jun 18 17:03:39 2008 -0700
@@ -491,7 +491,11 @@
static inline void ptep_set_wrprotect(struct mm_struct *mm,
unsigned long addr, pte_t *ptep)
{
- clear_bit(_PAGE_BIT_RW, (unsigned long *)&ptep->pte);
+ pte_t pte = ptep_modify_prot_start(mm, addr, ptep);
+
+ pte = pte_wrprotect(pte);
+
+ ptep_modify_prot_commit(mm, addr, ptep, pte);
pte_update(mm, addr, ptep);
}
J
--