Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Core MM updates for 7.4-rc2
@ 2026-11-05  8:47 David Hildenbrand (Arm)
  0 siblings, 0 replies; only message in thread
From: David Hildenbrand (Arm) @ 2026-11-05  8:47 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Andrew Morton, Mike Rapoport, Vlastimil Babka, linux-mm,
	linux-kernel, David Hildenbrand (Arm)

Hi Linus,

as discussed via mail, here is a bigger set of MM fixes that we didn't
manage to have ready for -rc1. All fixes are stable-worthy; the majority
fixes nasty long-standing bugs instead of being purely hotfixes.

We have some more of these kinds of stable-worthy fixes in the pipeline,
but we'll focus on the really urgent fixes as we get closer to the release.

(leaving urgent MM fixes lurking for various weeks is not good,
but having too many changes close to the release is also not good, it's
tricky ...)

Most issues were reported by Anthropic. Others were found while reworking
proposed fixes, and of course some of the fixes were just reported and
fixed on the mailing list.

All fixes were in linux-next for several days without changes. Some commit
IDs changed recently when I had to drop some non-stable fixes, rebased to
-rc1 and picked up more trailers.

Please let me know if anything looks odd or if you would prefer things
differently going forward. I'm still learning while dealing with all the
bugs we're finding.

Cheers,

David

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

The following changes since commit 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4:

  Linux 7.4-rc1 (2026-11-01 13:26:31 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mm/core.git tags/mm-core-7.4-rc2

for you to fetch changes up to 71555ae8c7572fd99158013ca2e29187c5d2508d:

  mm/gup: check folio->mapping under folio lock in memfd_pin_folios() (2026-11-03 20:20:53 +0100)

----------------------------------------------------------------
Core memory management fixes for 7.4-rc2

This includes fixes to:

 - THP (Transparent Huge Pages)
 - GUP (Get User Pages)
 - KSM (Kernel Samepage Merging)
 - USERFAULTFD
 - SHARED MEMORY (shmem/tmpfs/memfd)
 - HUGETLB
 - Core MM, PAGE CACHE and MEMORY RECLAIM

The main changes are:

 - Prevent information leaks through memfd pinning, and out-of
   bounds writes in GUP.

 - Fix data loss in shmem, THP collapse, KSM and memfd pinning.

 - Fix corruption and reference-counting errors with huge PMD/PUD
   mappings, and incorrect TLB flushing and unmapping.

 - Fix various use-after-free bugs, deadlocks and unkillable loops,
   witha a focus on shmem swap handling.

 - Fix execution-seal enforcement for memfd (incl. hugetlb).

Other changes fix accounting, quota and userfaultfd (un)registration
handling.

Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>

----------------------------------------------------------------
Chris Mason (15):
      mm/mempolicy: charge shared policy nodes
      mm/shmem: honour F_SEAL_EXEC when an ACL is set
      mm/shmem: stop retrying folios that cannot be split
      mm/shmem: preserve data in clean folios when splitting fails
      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) (26):
      mm/shmem: discard whole new large folios on fallocate rollback
      mm/shmem: rescan after nonuniform folio splitting
      mm/shmem: fix truncate hang in large swap entry
      mm/shmem: preserve allocation errors when swapping in large entries
      mm/shmem: fix truncate loop after boundary swapin failure
      mm/shmem: fix accounting of swapin-error markers
      mm/shmem: fix truncation of files containing only swapin-error markers
      fork: take mmap_lock before copying mm_struct
      mm/shmem: make shmem_file() check the file's inode
      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/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

Eva Kurchatova (1):
      hugetlbfs: enforce F_SEAL_EXEC in setattr

Gregory Price (1):
      mm/userfaultfd: compare exact registration modes before skipping

Josef Bacik (14):
      tmpfs: keep the quota soft limits of an unused id
      tmpfs: preserve explicitly disabled quota limits
      mm/shmem: hold off eviction in shmem_writeout()
      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/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: fix unmap_mapping_range() beyond 4 GiB on 32-bit

Lance Yang (1):
      khugepaged: fix readahead lock inversion in collapse_file()

Rik van Riel (1):
      mm/cma: don't release CMA pages still in use

Ritesh Harjani (IBM) (1):
      mm/huge_memory: set the mmu_gather page size in zap_huge_pud()

Samiullah Khawaja (1):
      mm/gup: check folio->mapping under folio lock in memfd_pin_folios()

 fs/hugetlbfs/inode.c          |   8 ++
 include/asm-generic/tlb.h     |   3 +-
 include/linux/huge_mm.h       |   5 +-
 include/linux/ksm.h           |   6 +-
 include/linux/memfd.h         |   9 +++
 include/linux/mmu_notifier.h  |   3 +-
 include/linux/shmem_fs.h      |  15 ++--
 include/linux/userfaultfd_k.h |   2 -
 kernel/fork.c                 |  20 +++--
 mm/cma.c                      |  10 ++-
 mm/filemap.c                  |  84 ++++++++++----------
 mm/gup.c                      |  68 ++++++++++++-----
 mm/huge_memory.c              | 146 ++++++++++++++++++++++++++---------
 mm/hugetlb.c                  |  14 +---
 mm/internal.h                 |  28 +++++++
 mm/khugepaged.c               |  65 +++++++++++-----
 mm/ksm.c                      |  56 ++++++++++----
 mm/madvise.c                  |   9 +++
 mm/memfd.c                    |   2 +
 mm/memory-tiers.c             |  29 ++++---
 mm/memory.c                   |  30 +++++---
 mm/mempolicy.c                |   4 +-
 mm/mmap.c                     |   8 +-
 mm/mmu_notifier.c             |  24 ++++--
 mm/mremap.c                   | 103 +++++++++++--------------
 mm/nommu.c                    |   2 +-
 mm/rmap.c                     |  23 +++++-
 mm/shmem.c                    | 173 +++++++++++++++++++++++++++++-------------
 mm/shmem_quota.c              |  28 +++----
 mm/swapfile.c                 |   3 +-
 mm/truncate.c                 |  13 +++-
 mm/userfaultfd.c              |  75 +++++++++---------
 mm/util.c                     |  13 ++++
 mm/vma.c                      |  24 ++++--
 mm/vmscan.c                   |   4 +-
 35 files changed, 717 insertions(+), 392 deletions(-)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-11-05  8:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-05  8:47 [GIT PULL] Core MM updates for 7.4-rc2 David Hildenbrand (Arm)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox