From ca9833a78cddc27fef46f684e06df0e6a2ec49fa Mon Sep 17 00:00:00 2001 From: Miaohe Lin Date: Mon, 22 Feb 2021 11:00:22 +0800 Subject: [PATCH] mm/hugetlb: fix potential missing huge page size info stable inclusion from linux-4.19.169 commit bba1a0da5bbdd938907cf7f5c3573b3d8e199074 -------------------------------- commit 0eb98f1588c2cc7a79816d84ab18a55d254f481c upstream. The huge page size is encoded for VM_FAULT_HWPOISON errors only. So if we return VM_FAULT_HWPOISON, huge page size would just be ignored. Link: https://lkml.kernel.org/r/20210107123449.38481-1-linmiaohe@huawei.com Fixes: aa50d3a7aa81 ("Encode huge page size for VM_FAULT_HWPOISON errors") Signed-off-by: Miaohe Lin Reviewed-by: Mike Kravetz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman Signed-off-by: Yang Yingliang Signed-off-by: Cheng Jian --- mm/hugetlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 7c2f51528c1c..ea0902276cb5 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -4012,7 +4012,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm, * So we need to block hugepage fault by PG_hwpoison bit check. */ if (unlikely(PageHWPoison(page))) { - ret = VM_FAULT_HWPOISON | + ret = VM_FAULT_HWPOISON_LARGE | VM_FAULT_SET_HINDEX(hstate_index(h)); goto backout_unlocked; } -- GitLab