diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c index 8e7577cdf5e4d6b5f48db6cbcd826fc38d3e8db1..a12cc3fa98594b931c16012dd53a52dbd49fdb6f 100644 --- a/mm/page_cgroup.c +++ b/mm/page_cgroup.c @@ -153,11 +153,11 @@ static void free_page_cgroup(void *addr) vfree(addr); } else { struct page *page = virt_to_page(addr); - if (!PageReserved(page)) { /* Is bootmem ? */ - size_t table_size = - sizeof(struct page_cgroup) * PAGES_PER_SECTION; - free_pages_exact(addr, table_size); - } + size_t table_size = + sizeof(struct page_cgroup) * PAGES_PER_SECTION; + + BUG_ON(PageReserved(page)); + free_pages_exact(addr, table_size); } } #endif