diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 2ae315e4d9f6df4028173b16afce8b668263a2a7..e7f47a38fe4fa104379b4a44cae036f377eacd77 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) {