diff --git a/[refs] b/[refs] index 0eec231cbf8e..5dccfaf0d0dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 45531757b45cae0ce64c5aff08c2534d5a0fa3e7 +refs/heads/master: 0c270f8f9988fb0d93ea214fdcff7ab90eb3d894 diff --git a/trunk/mm/memcontrol.c b/trunk/mm/memcontrol.c index 9be3cf8a5da4..0e3fdbd809c7 100644 --- a/trunk/mm/memcontrol.c +++ b/trunk/mm/memcontrol.c @@ -1485,7 +1485,8 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) SetPageCgroupFileMapped(pc); } else { __this_cpu_dec(mem->stat->count[MEM_CGROUP_STAT_FILE_MAPPED]); - ClearPageCgroupFileMapped(pc); + if (!page_mapped(page)) /* for race between dec->inc counter */ + ClearPageCgroupFileMapped(pc); } done: