]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
mm/hugetlb: fix potential missing huge page size info
authorMiaohe Lin <linmiaohe@huawei.com>
Tue, 12 Jan 2021 23:49:24 +0000 (15:49 -0800)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 19 Feb 2021 15:44:39 +0000 (16:44 +0100)
BugLink: https://bugs.launchpad.net/bugs/1914654
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 <linmiaohe@huawei.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: William Breathitt Gray <william.gray@canonical.com>
mm/hugetlb.c

index 734c2ad0395e50ad447d1f9f3829c68f11c83d61..68438fab802ab6f2ab899627a569de26e0d81bff 100644 (file)
@@ -4036,7 +4036,7 @@ retry:
                 * 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;
                }