From fde93933ea8c6e79b097446c553a2070b4763caf Mon Sep 17 00:00:00 2001 From: Ning Zhang Date: Tue, 11 May 2021 16:52:44 +0800 Subject: [PATCH 2755/2944] mm, thp: skip kmemcg and slab page for zero subpages reclaim fix #34670772 When delete page from the huge page reclaim queue, if the page is kmemcg page or slab page, it may lead to kernel panic. Signed-off-by: Ning Zhang Reviewed-by: Gang Deng Reviewed-by: Xu Yu --- include/linux/memcontrol.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 7420e7f..09ef8b2 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -976,7 +976,8 @@ static inline bool del_hugepage_from_queue(struct page *page) unsigned long flags; bool ret = false; - if (!memcg || !(PageTransHuge(head) && !PageHuge(head))) + if (!memcg || !(PageTransHuge(head) && !PageHuge(head)) || + PageKmemcg(page) || PageSlab(page)) return ret; hr_queue = &memcg->nodeinfo[nid]->hugepage_reclaim_queue; -- 1.8.3.1