From: Lorenzo Stoakes Date: Thu, 27 Nov 2025 17:45:17 +0000 (+0000) Subject: fs/proc/task_mmu.c: fix make_uffd_wp_huge_pte() huge pte handling X-Git-Tag: v6.19-rc1~112^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12f0cd393369d700c16b47bc33e4120dc8b2c608;p=thirdparty%2Flinux.git fs/proc/task_mmu.c: fix make_uffd_wp_huge_pte() huge pte handling make_uffd_wp_huge_pte() should return after handling a huge_pte_none() pte. Link: https://lkml.kernel.org/r/66178124-ebdf-4e23-b8ca-ed3eb8030c81@lucifer.local Fixes: 03bfbc3ad6e4 ("mm: remove is_hugetlb_entry_[migration, hwpoisoned]()") Signed-off-by: Lorenzo Stoakes Reported-by: Vlastimil Babka Closes: https://lkml.kernel.org/r/dc483db3-be4d-45f7-8b40-a28f5d8f5738@suse.cz Signed-off-by: Andrew Morton --- diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index d00ac179d9730..81dfc26bfae8a 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -2500,9 +2500,11 @@ static void make_uffd_wp_huge_pte(struct vm_area_struct *vma, const unsigned long psize = huge_page_size(hstate_vma(vma)); softleaf_t entry; - if (huge_pte_none(ptent)) + if (huge_pte_none(ptent)) { set_huge_pte_at(vma->vm_mm, addr, ptep, make_pte_marker(PTE_MARKER_UFFD_WP), psize); + return; + } entry = softleaf_from_pte(ptent); if (softleaf_is_hwpoison(entry) || softleaf_is_marker(entry))