提交 7c2ff6af 编写于 作者: O Oscar Salvador 提交者: Yang Yingliang

mm,hwpoison: drop unneeded pcplist draining

mainline inclusion
from linux-v5.11-rc1
commit 32409cba
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4LE22
CVE: NA

--------------------------------

memory_failure and soft_offline_path paths now drain pcplists by calling
get_hwpoison_page.

memory_failure flags the page as HWPoison before, so that page cannot
longer go into a pcplist, and soft_offline_page only flags a page as
HWPoison if 1) we took the page off a buddy freelist 2) the page was
in-use and we migrated it 3) was a clean pagecache.

Because of that, a page cannot longer be poisoned and be in a pcplist.
Signed-off-by: NOscar Salvador <osalvador@suse.de>
Acked-by: NNaoya Horiguchi <naoya.horiguchi@nec.com>
Acked-by: NVlastimil Babka <vbabka@suse.cz>
Signed-off-by: NMa Wupeng <mawupeng1@huawei.com>
Reviewed-by: NKefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 c9e98690
...@@ -638,7 +638,6 @@ static long madvise_remove(struct vm_area_struct *vma, ...@@ -638,7 +638,6 @@ static long madvise_remove(struct vm_area_struct *vma,
static int madvise_inject_error(int behavior, static int madvise_inject_error(int behavior,
unsigned long start, unsigned long end) unsigned long start, unsigned long end)
{ {
struct zone *zone;
unsigned int order; unsigned int order;
if (!capable(CAP_SYS_ADMIN)) if (!capable(CAP_SYS_ADMIN))
...@@ -685,10 +684,6 @@ static int madvise_inject_error(int behavior, ...@@ -685,10 +684,6 @@ static int madvise_inject_error(int behavior,
return ret; return ret;
} }
/* Ensure that all poisoned pages are removed from per-cpu lists */
for_each_populated_zone(zone)
drain_all_pages(zone);
return 0; return 0;
} }
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册