|
@@ -640,8 +640,10 @@ static inline int free_pages_check(struct page *page)
|
|
|
bad_reason = "PAGE_FLAGS_CHECK_AT_FREE flag(s) set";
|
|
|
bad_flags = PAGE_FLAGS_CHECK_AT_FREE;
|
|
|
}
|
|
|
- if (unlikely(mem_cgroup_bad_page_check(page)))
|
|
|
- bad_reason = "cgroup check failed";
|
|
|
+#ifdef CONFIG_MEMCG
|
|
|
+ if (unlikely(page->mem_cgroup))
|
|
|
+ bad_reason = "page still charged to cgroup";
|
|
|
+#endif
|
|
|
if (unlikely(bad_reason)) {
|
|
|
bad_page(page, bad_reason, bad_flags);
|
|
|
return 1;
|
|
@@ -900,8 +902,10 @@ static inline int check_new_page(struct page *page)
|
|
|
bad_reason = "PAGE_FLAGS_CHECK_AT_PREP flag set";
|
|
|
bad_flags = PAGE_FLAGS_CHECK_AT_PREP;
|
|
|
}
|
|
|
- if (unlikely(mem_cgroup_bad_page_check(page)))
|
|
|
- bad_reason = "cgroup check failed";
|
|
|
+#ifdef CONFIG_MEMCG
|
|
|
+ if (unlikely(page->mem_cgroup))
|
|
|
+ bad_reason = "page still charged to cgroup";
|
|
|
+#endif
|
|
|
if (unlikely(bad_reason)) {
|
|
|
bad_page(page, bad_reason, bad_flags);
|
|
|
return 1;
|