提交 ca9833a7 编写于 作者: M Miaohe Lin 提交者: Yang Yingliang

mm/hugetlb: fix potential missing huge page size info

stable inclusion
from linux-4.19.169
commit bba1a0da5bbdd938907cf7f5c3573b3d8e199074

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

commit 0eb98f15 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: aa50d3a7 ("Encode huge page size for VM_FAULT_HWPOISON errors")
Signed-off-by: NMiaohe Lin <linmiaohe@huawei.com>
Reviewed-by: NMike Kravetz <mike.kravetz@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: NCheng Jian <cj.chengjian@huawei.com>
上级 6cd14b71
...@@ -4012,7 +4012,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm, ...@@ -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. * So we need to block hugepage fault by PG_hwpoison bit check.
*/ */
if (unlikely(PageHWPoison(page))) { if (unlikely(PageHWPoison(page))) {
ret = VM_FAULT_HWPOISON | ret = VM_FAULT_HWPOISON_LARGE |
VM_FAULT_SET_HINDEX(hstate_index(h)); VM_FAULT_SET_HINDEX(hstate_index(h));
goto backout_unlocked; goto backout_unlocked;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册