From 94d5ddc6bfd800bbb22bed719dbb781f3e71fa78 Mon Sep 17 00:00:00 2001 From: KOSAKI Motohiro Date: Tue, 31 Mar 2009 15:19:37 -0700 Subject: [PATCH] --- yaml --- r: 139145 b: refs/heads/master c: bd775c42ea5f7c766d03a287083837cf05e7e738 h: refs/heads/master i: 139143: 9ec51aac10b2ab64d954ac6171d74a2ab4307c28 v: v3 --- [refs] | 2 +- trunk/mm/memory.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c566e98dfeeb..d59f2e8d556c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9786bf841da57fac3457a1dac41acb4c1f2eced6 +refs/heads/master: bd775c42ea5f7c766d03a287083837cf05e7e738 diff --git a/trunk/mm/memory.c b/trunk/mm/memory.c index 0017111214c5..5b4ad5e4f98d 100644 --- a/trunk/mm/memory.c +++ b/trunk/mm/memory.c @@ -1151,6 +1151,11 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address, if ((flags & FOLL_WRITE) && !pte_dirty(pte) && !PageDirty(page)) set_page_dirty(page); + /* + * pte_mkyoung() would be more correct here, but atomic care + * is needed to avoid losing the dirty bit: it is easier to use + * mark_page_accessed(). + */ mark_page_accessed(page); } unlock: