mm-huge_memory-move-softleaf_to_folio-inside-migration-branch.patch removed from -mm tree
The quilt patch titled
Subject: mm/huge_memory: move softleaf_to_folio() inside migration branch
has been removed from the -mm tree. Its filename was
mm-huge_memory-move-softleaf_to_folio-inside-migration-branch.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: Usama Arif <[email protected]>
Subject: mm/huge_memory: move softleaf_to_folio() inside migration branch
Date: Mon, 6 Jul 2026 04:42:06 -0700
change_non_present_huge_pmd() calls softleaf_to_folio() unconditionally at the top of the function. softleaf_to_folio() extracts a PFN from the entry and converts it to a folio pointer, which is only meaningful for migration and device_private entries that encode a real PFN.
A swap entry encodes a swap offset instead, so softleaf_to_folio() would produce a bogus pointer and crash on mprotect() when a PMD swap entry is present.
Move the call into the migration_write branch where the folio is actually used, so the function is safe for any non-present PMD type.
---
mm/huge_memory.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
mm/huge_memory.c renamed from mm/huge_memory.c~mm-huge_memory-move-softleaf_to_folio-inside-migration-branch +2 -1
@@ -2557,11 +2557,12 @@ static void change_non_present_huge_pmd( bool uffd_wp_resolve) {softleaf_t entry =softleaf_from_pmd (*pmd); -const struct folio *folio =softleaf_to_folio (entry);pmd_t newpmd;VM_WARN_ON (!pmd_is_valid_softleaf (*pmd));if (softleaf_is_migration_write (entry)) { +const struct folio *folio =softleaf_to_folio (entry); +/* * A protection check is difficult so * just be safe and disable write
_
Patches currently in -mm which might be from [email protected] are
mm-mempolicy-skip-non-present-pmds-when-queueing-folios.patch mm-madvise-skip-device-private-pmds-in-cold-and-pageout-walks.patch mm-huge_memory-skip-device-private-pmds-in-madvise_free_huge_pmd.patch mm-vmstat-mm-memcontrol-add-_monotonic-vmstat-readers.patch mm-vmscan-reduce-lru_lock-contention-via-vmstat-derived-scan-balance-cost.patch