Messages in this thread Patch in this message | | | From | luofei <> | Subject | [PATCH v5 2/2] mm/hwpoison: Add in-use hugepage hwpoison filter judgement | Date | Wed, 23 Feb 2022 03:22:54 -0500 |
| |
After successfully obtaining the reference count of the huge page, it is still necessary to call hwpoison_filter() to make a filter judgement, otherwise the filter hugepage will be unmaped and the related process may be killed.
Signed-off-by: luofei <luofei@unicloud.com> --- mm/memory-failure.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 7e16d31df0f3..bad659092176 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c @@ -1547,6 +1547,14 @@ static int memory_failure_hugetlb(unsigned long pfn, int flags) lock_page(head); page_flags = head->flags; + if (hwpoison_filter(p)) { + if (TestClearPageHWPoison(head)) + num_poisoned_pages_dec(); + put_page(p); + res = -EOPNOTSUPP; + goto out; + } + /* * TODO: hwpoison for pud-sized hugetlb doesn't work right now, so * simply disable it. In order to make it work properly, we need -- 2.27.0
| |