]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm: softdirty: don't forget to save file map softdiry bit on unmap
authorCyrill Gorcunov <gorcunov@openvz.org>
Thu, 22 May 2014 00:42:44 +0000 (10:42 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 22 May 2014 00:42:44 +0000 (10:42 +1000)
pte_file_mksoft_dirty operates with argument passed by a value and returns
modified result thus we need to assign @ptfile here, otherwise itis a no-op
which may lead to loss of the softdirty bit.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/rmap.c

index 79f21809a9ecf8b7fd0855fe60ddcb6508479aed..1c08cbdf40de4cabb9b3f59ad9147189e1235f9d 100644 (file)
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1355,7 +1355,7 @@ static int try_to_unmap_cluster(unsigned long cursor, unsigned int *mapcount,
                if (page->index != linear_page_index(vma, address)) {
                        pte_t ptfile = pgoff_to_pte(page->index);
                        if (pte_soft_dirty(pteval))
-                               pte_file_mksoft_dirty(ptfile);
+                               ptfile = pte_file_mksoft_dirty(ptfile);
                        set_pte_at(mm, address, pte, ptfile);
                }