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/

Reply via email to