diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 2ae315e4d9f6..e7f47a38fe4f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -5430,7 +5430,7 @@ int mem_cgroup_try_charge(struct page *page, struct mm_struct *mm, * in turn serializes uncharging. */ VM_BUG_ON_PAGE(!PageLocked(page), page); - if (page->mem_cgroup) + if (compound_head(page)->mem_cgroup) goto out; if (do_swap_account) {