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: