[PATCH 00/46] mm: various (urgent?) fixes
David Hildenbrand (Arm)
david at kernel.org
Mon Oct 26 16:17:20 PDT 2026
Another set of fixes from the current batch that focuses on all core-mm
things that won't be sent out separately by others. I decided to bundle
these together as they are all over the place.
I have some hugetlb stuff in the works which is pretty horrible
(code wise ;) ), that I will send out once ready. Plus some
low-prio migrate_device oddities + two core-mm things that need more
thought.
This is the biggest set of patches coming from me, so don't be
scared ;)
Once more, some of the stuff is more urgent than others. No fixes are
crazy big and most are easy to review.
The majority are again fixes from Anthropic that I cleaned up or reworked.
While doing that, I found a bunch of other issues and tried to fix them
somewhat cleanly.
I gave it at least some basic testing on x86-64; more testing will be
highly appreciated.
This is based on akpm/mm-stable.
As with the shmem fixes, please prioritize review of these fixes, I want
to get fixes for the issues in a timely manner upstream.
Thanks to everyone helping out with moving the flood of fixes forward :)
---
Chris Mason (11):
mm/huge_memory: fix truncate racing with PMD zapping
mm/huge_memory: fix zapping migration entries for device-private THPs
mm/khugepaged: preserve dirty bits when collapsing PTE-mapped THPs
mm/gup: fix clearing folios in memfd_pin_folios()
mm/gup: fix out-of-bounds write for nr_pages == 0 in GUP-fast
mm/mmu_notifier: set ->mm only after mmgrab()
mm/memory: reject remote COW faults on PFN mappings
mm: fix unkillable fault loop on MAP_DROPPABLE memory
mm: fix deadlock of mremap() against UFFDIO_MOVE
mm/ksm: check large swap-cache folios before mapping them
mm/vma: call ->may_split() before a partial merge
David Hildenbrand (Arm) (20):
fork: take mmap_lock before copying mm_struct
mm/memfd: check for real shmem inodes before accessing shmem state
mm/truncate: look again if a folio left the mapping
mm/filemap: finish fault cleanup before dropping the fault lock
mm/rmap: handle device-exclusive entries in folio_referenced_one()
mm/huge_memory: fix list corruption when deferred_split_scan() races with deferred_split_folio()
mm/huge_memory: properly handle refcounted PUD mappings on fork
mm/khugepaged: check if PTE table is empty in try_collapse_pte_mapped_thp()
mm/gup: recheck the PUD under PTL in follow_pud_mask()
mm/gup: check for overflow when converting nr_pages to bytes in GUP-fast
mm/userfaultfd: write-lock the VMA before waking waiters when unregistering
mm/userfaultfd: wake waiters when registration modes are removed
mm/mremap: use pudp_huge_get_and_clear() when moving huge PUDs
mm/mremap: recheck PUDs under the page table lock
mm/madvise: fix data loss from MADV_FREE on a KSM page
mm/ksm: reset the unstable trees of all nodes
mm/ksm: fix use of a freed anon_vma at swap-in
mm/huge_memory: split huge PUDs when adjusting VMA boundaries
mm/vma: don't leak the charge for stack growth
mm/memory-tiers: unregister empty tiers outside memory_tier_lock
Josef Bacik (14):
mm/mglru: don't use stack pointers when walking PUD and PMD tables
mm/memfd: make f_pos accesses atomic
mm/filemap: read mapping->a_ops->free_folio under i_lock
mm/filemap: don't lose a folio lock wakeup to a signal
mm/huge_memory: fix livelock on device private folio
mm/khugepaged: always recheck the pmd in try_collapse_pte_mapped_thp()
mm/khugepaged: fix PMD table lock leak in try_collapse_pte_mapped_thp()
mm/userfaultfd: wake all waiters on unregister
mm/mmu_gather: fix flushing ranges with 4 GiB or larger
mm/mmu_notifier: finish non-blocking interval invalidation on error
mm/mremap: fix moving PUD leaves
mm/memory_hotplug: avoid races in pfn_to_online_page() with dying pgmap
mm: fix unmap_mapping_range() beyond 4 GiB on 32-bit
fs/proc/task_mmu: refuse addresses beyond 32 bits on 32bit
Rik van Riel (1):
mm/cma: don't release CMA pages still in use
fs/proc/task_mmu.c | 6 ++
include/asm-generic/tlb.h | 3 +-
include/linux/huge_mm.h | 5 +-
include/linux/ksm.h | 6 +-
include/linux/memremap.h | 6 ++
include/linux/mmu_notifier.h | 3 +-
include/linux/shmem_fs.h | 6 ++
include/linux/userfaultfd_k.h | 2 -
kernel/fork.c | 20 ++++--
mm/cma.c | 10 ++-
mm/filemap.c | 88 ++++++++++++-------------
mm/gup.c | 53 ++++++++++-----
mm/huge_memory.c | 149 ++++++++++++++++++++++++++++++------------
mm/hugetlb.c | 14 +---
mm/internal.h | 28 ++++++++
mm/khugepaged.c | 77 +++++++++++-----------
mm/ksm.c | 56 ++++++++++++----
mm/madvise.c | 9 +++
mm/memfd.c | 10 ++-
mm/memfd_luo.c | 2 +-
mm/memory-tiers.c | 29 ++++----
mm/memory.c | 30 ++++++---
mm/memory_hotplug.c | 13 ++--
mm/memremap.c | 13 ++++
mm/mmap.c | 8 +--
mm/mmu_notifier.c | 24 +++++--
mm/mremap.c | 103 +++++++++++++----------------
mm/nommu.c | 2 +-
mm/rmap.c | 23 +++++--
mm/shmem.c | 5 ++
mm/swapfile.c | 3 +-
mm/truncate.c | 17 ++++-
mm/userfaultfd.c | 72 ++++++++++----------
mm/util.c | 13 ++++
mm/vma.c | 24 +++++--
mm/vmscan.c | 4 +-
36 files changed, 588 insertions(+), 348 deletions(-)
---
base-commit: 183895979c441e52dbd651b388553b09eaa35cfa
change-id: 20261021-fixes_core-bdf638faf023
--
Cheers,
David
More information about the kexec
mailing list