On Mon, 8 Aug 2005, Richard Purdie wrote: > The following patch (against -mm) cleared the problem up but I'm not > sure how correct it is:
Almost. The new entry needs to be made dirty. new_entry is already made young. entry is not. --- Set dirty bit correctly in handle_pte_fault new_entry is used for the new pte entry. handle_mm_fault must dirty new_entry and not "entry". entry is only used for comparison. The current version does not set the dirty bit. Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]> Index: linux-2.6.13-rc4/mm/memory.c =================================================================== --- linux-2.6.13-rc4.orig/mm/memory.c 2005-08-03 17:15:22.000000000 -0700 +++ linux-2.6.13-rc4/mm/memory.c 2005-08-08 17:54:53.000000000 -0700 @@ -2091,7 +2091,7 @@ return do_wp_page(mm, vma, address, pte, pmd, entry); #endif } - entry = pte_mkdirty(entry); + new_entry = pte_mkdirty(new_entry); } /* - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/