diff --git a/mm/huge_memory.c b/mm/huge_memory.c index b6c1ce3c53b548e5a6ffab498889a5c79d1eae69..e62ddb8f24b6ef9287956bbebb4a2d0d12afddce 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -1852,7 +1852,6 @@ static void collapse_huge_page(struct mm_struct *mm, set_pmd_at(mm, address, pmd, _pmd); spin_unlock(&mm->page_table_lock); anon_vma_unlock(vma->anon_vma); - mem_cgroup_uncharge_page(new_page); goto out; } @@ -1898,6 +1897,7 @@ static void collapse_huge_page(struct mm_struct *mm, return; out: + mem_cgroup_uncharge_page(new_page); #ifdef CONFIG_NUMA put_page(new_page); #endif