Commit "mm: memcontrol: fix missed end-writeback page accounting" has changed the behaviour of mem_cgroup_begin_page_stat() to not always set the "locked" parameter. We should initialize it at the callers to prevent garbage being used in a later call to mem_cgroup_end_page_stat(). Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> --- mm/page-writeback.c | 4 ++-- mm/rmap.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 19ceae8..7a02c97 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -2329,7 +2329,7 @@ int test_clear_page_writeback(struct page *page) struct address_space *mapping = page_mapping(page); unsigned long memcg_flags; struct mem_cgroup *memcg; - bool locked; + bool locked = false; int ret; memcg = mem_cgroup_begin_page_stat(page, &locked, &memcg_flags); @@ -2366,7 +2366,7 @@ int __test_set_page_writeback(struct page *page, bool keep_write) struct address_space *mapping = page_mapping(page); unsigned long memcg_flags; struct mem_cgroup *memcg; - bool locked; + bool locked = false; int ret; memcg = mem_cgroup_begin_page_stat(page, &locked, &memcg_flags); diff --git a/mm/rmap.c b/mm/rmap.c index 19886fb..4a4dc84 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1044,7 +1044,7 @@ void page_add_file_rmap(struct page *page) { struct mem_cgroup *memcg; unsigned long flags; - bool locked; + bool locked = false; memcg = mem_cgroup_begin_page_stat(page, &locked, &flags); if (atomic_inc_and_test(&page->_mapcount)) { @@ -1058,7 +1058,7 @@ static void page_remove_file_rmap(struct page *page) { struct mem_cgroup *memcg; unsigned long flags; - bool locked; + bool locked = false; memcg = mem_cgroup_begin_page_stat(page, &locked, &flags); -- 1.7.10.4 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>