projects/linux·commit 334fbe73

Merge tag 'mm-stable-2026-04-13-21-45' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

334fbe73 · Linus Torvalds <[email protected]> · 2026-04-15 12:59:16 -07:00

Pull MM updates from Andrew Morton:

 - "maple_tree: Replace big node with maple copy" (Liam Howlett)

   Mainly prepararatory work for ongoing development but it does reduce
   stack usage and is an improvement.

 - "mm, swap: swap table phase III: remove swap_map" (Kairui Song)

   Offers memory savings by removing the static swap_map. It also yields
   some CPU savings and implements several cleanups.

 - "mm: memfd_luo: preserve file seals" (Pratyush Yadav)

   File seal preservation to LUO's memfd code

 - "mm: zswap: add per-memcg stat for incompressible pages" (Jiayuan
   Chen)

   Additional userspace stats reportng to zswap

 - "arch, mm: consolidate empty_zero_page" (Mike Rapoport)

   Some cleanups for our handling of ZERO_PAGE() and zero_pfn

 - "mm/kmemleak: Improve scan_should_stop() implementation" (Zhongqiu
   Han)

   A robustness improvement and some cleanups in the kmemleak code

 - "Improve khugepaged scan logic" (Vernon Yang)

   Improve khugepaged scan logic and reduce CPU consumption by
   prioritizing scanning tasks that access memory frequently

 - "Make KHO Stateless" (Jason Miu)

   Simplify Kexec Handover by transitioning KHO from an xarray-based
   metadata tracking system with serialization to a radix tree data
   structure that can be passed directly to the next kernel

 - "mm: vmscan: add PID and cgroup ID to vmscan tracepoints" (Thomas
   Ballasi and Steven Rostedt)

   Enhance vmscan's tracepointing

 - "mm: arch/shstk: Common shadow stack mapping helper and
   VM_NOHUGEPAGE" (Catalin Marinas)

   Cleanup for the shadow stack code: remove per-arch code in favour of
   a generic implementation

 - "Fix KASAN support for KHO restored vmalloc regions" (Pasha Tatashin)

   Fix a WARN() which can be emitted the KHO restores a vmalloc area

 - "mm: Remove stray references to pagevec" (Tal Zussman)

   Several cleanups, mainly udpating references to "struct pagevec",
   which became folio_batch three years ago

 - "mm: Eliminate fake head pages from vmemmap optimization" (Kiryl
   Shutsemau)

   Simplify the HugeTLB vmemmap optimization (HVO) by changing how tail
   pages encode their relationship to the head page

 - "mm/damon/core: improve DAMOS quota efficiency for core layer
   filters" (SeongJae Park)

   Improve two problematic behaviors of DAMOS that makes it less
   efficient when core layer filters are used

 - "mm/damon: strictly respect min_nr_regions" (SeongJae Park)

   Improve DAMON usability by extending the treatment of the
   min_nr_regions user-settable parameter

 - "mm/page_alloc: pcp locking cleanup" (Vlastimil Babka)

   The proper fix for a previously hotfixed SMP=n issue. Code
   simplifications and cleanups ensued

 - "mm: cleanups around unmapping / zapping" (David Hildenbrand)

   A bunch of cleanups around unmapping and zapping. Mostly
   simplifications, code movements, documentation and renaming of
   zapping functions

 - "support batched checking of the young flag for MGLRU" (Baolin Wang)

   Batched checking of the young flag for MGLRU. It's part cleanups; one
   benchmark shows large performance benefits for arm64

 - "memcg: obj stock and slab stat caching cleanups" (Johannes Weiner)

   memcg cleanup and robustness improvements

 - "Allow order zero pages in page reporting" (Yuvraj Sakshith)

   Enhance free page reporting - it is presently and undesirably order-0
   pages when reporting free memory.

 - "mm: vma flag tweaks" (Lorenzo Stoakes)

   Cleanup work following from the recent conversion of the VMA flags to
   a bitmap

 - "mm/damon: add optional debugging-purpose sanity checks" (SeongJae
   Park)

   Add some more developer-facing debug checks into DAMON core

 - "mm/damon: test and document power-of-2 min_region_sz requirement"
   (SeongJae Park)

   An additional DAMON kunit test and makes some adjustments to the
   addr_unit parameter handling

 - "mm/damon/core: make passed_sample_intervals comparisons
   overflow-safe" (SeongJae Park)

   Fix a hard-to-hit time overflow issue in DAMON core

 - "mm/damon: improve/fixup/update ratio calculation, test and
   documentation" (SeongJae Park)

   A batch of misc/minor improvements and fixups for DAMON

 - "mm: move vma_(kernel|mmu)_pagesize() out of hugetlb.c" (David
   Hildenbrand)

   Fix a possible issue with dax-device when CONFIG_HUGETLB=n. Some code
   movement was required.

 - "zram: recompression cleanups and tweaks" (Sergey Senozhatsky)

   A somewhat random mix of fixups, recompression cleanups and
   improvements in the zram code

 - "mm/damon: support multiple goal-based quota tuning algorithms"
   (SeongJae Park)

   Extend DAMOS quotas goal auto-tuning to support multiple tuning
   algorithms that users can select

 - "mm: thp: reduce unnecessary start_stop_khugepaged()" (Breno Leitao)

   Fix the khugpaged sysfs handling so we no longer spam the logs with
   reams of junk when starting/stopping khugepaged

 - "mm: improve map count checks" (Lorenzo Stoakes)

   Provide some cleanups and slight fixes in the mremap, mmap and vma
   code

 - "mm/damon: support addr_unit on default monitoring targets for
   modules" (SeongJae Park)

   Extend the use of DAMON core's addr_unit tunable

 - "mm: khugepaged cleanups and mTHP prerequisites" (Nico Pache)

   Cleanups to khugepaged and is a base for Nico's planned khugepaged
   mTHP support

 - "mm: memory hot(un)plug and SPARSEMEM cleanups" (David Hildenbrand)

   Code movement and cleanups in the memhotplug and sparsemem code

 - "mm: remove CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE and cleanup
   CONFIG_MIGRATION" (David Hildenbrand)

   Rationalize some memhotplug Kconfig support

 - "change young flag check functions to return bool" (Baolin Wang)

   Cleanups to change all young flag check functions to return bool

 - "mm/damon/sysfs: fix memory leak and NULL dereference issues" (Josh
   Law and SeongJae Park)

   Fix a few potential DAMON bugs

 - "mm/vma: convert vm_flags_t to vma_flags_t in vma code" (Lorenzo
   Stoakes)

   Convert a lot of the existing use of the legacy vm_flags_t data type
   to the new vma_flags_t type which replaces it. Mainly in the vma
   code.

 - "mm: expand mmap_prepare functionality and usage" (Lorenzo Stoakes)

   Expand the mmap_prepare functionality, which is intended to replace
   the deprecated f_op->mmap hook which has been the source of bugs and
   security issues for some time. Cleanups, documentation, extension of
   mmap_prepare into filesystem drivers

 - "mm/huge_memory: refactor zap_huge_pmd()" (Lorenzo Stoakes)

   Simplify and clean up zap_huge_pmd(). Additional cleanups around
   vm_normal_folio_pmd() and the softleaf functionality are performed.

* tag 'mm-stable-2026-04-13-21-45' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (369 commits)
  mm: fix deferred split queue races during migration
  mm/khugepaged: fix issue with tracking lock
  mm/huge_memory: add and use has_deposited_pgtable()
  mm/huge_memory: add and use normal_or_softleaf_folio_pmd()
  mm: add softleaf_is_valid_pmd_entry(), pmd_to_softleaf_folio()
  mm/huge_memory: separate out the folio part of zap_huge_pmd()
  mm/huge_memory: use mm instead of tlb->mm
  mm/huge_memory: remove unnecessary sanity checks
  mm/huge_memory: deduplicate zap deposited table call
  mm/huge_memory: remove unnecessary VM_BUG_ON_PAGE()
  mm/huge_memory: add a common exit path to zap_huge_pmd()
  mm/huge_memory: handle buggy PMD entry in zap_huge_pmd()
  mm/huge_memory: have zap_huge_pmd return a boolean, add kdoc
  mm/huge: avoid big else branch in zap_huge_pmd()
  mm/huge_memory: simplify vma_is_specal_huge()
  mm: on remap assert that input range within the proposed VMA
  mm: add mmap_action_map_kernel_pages[_full]()
  uio: replace deprecated mmap hook with mmap_prepare in uio_info
  drivers: hv: vmbus: replace deprecated mmap hook with mmap_prepare
  mm: allow handling of stacked mmap_prepare hooks in more drivers
  ...
Commit
334fbe734e687404f346eba7d5d96ed2b44d35ab
Parents
5bdb4078 · 3bac0116

Merge commit. Changes below are compared with the first parent: 5bdb4078.

Changes

381 files changed · +9545 −6989

FileStatusAddDelContent
Documentation/ABI/testing/sysfs-kernel-mm-damonmodified+6−0View file
Documentation/admin-guide/blockdev/zram.rstmodified+18−31View file
Documentation/admin-guide/cgroup-v2.rstmodified+5−0View file
Documentation/admin-guide/kdump/vmcoreinfo.rstmodified+1−1View file
Documentation/admin-guide/kernel-parameters.txtmodified+6−0View file
Documentation/admin-guide/mm/damon/lru_sort.rstmodified+11−2View file
Documentation/admin-guide/mm/damon/reclaim.rstmodified+9−0View file
Documentation/admin-guide/mm/damon/stat.rstmodified+5−0View file
Documentation/admin-guide/mm/damon/usage.rstmodified+12−4View file
Documentation/admin-guide/mm/kho.rstmodified+11−42View file
Documentation/admin-guide/mm/numa_memory_policy.rstmodified+1−1View file
Documentation/core-api/kho/abi.rstmodified+6−0View file
Documentation/core-api/kho/index.rstmodified+9−9View file
Documentation/dev-tools/kasan.rstmodified+0−3View file
Documentation/dev-tools/kfence.rstmodified+7−0View file
Documentation/driver-api/vme.rstmodified+1−1View file
Documentation/filesystems/index.rstmodified+1−0View file
Documentation/filesystems/mmap_prepare.rstadded+168−0View file
Documentation/mm/damon/design.rstmodified+31−2View file
Documentation/mm/damon/index.rstmodified+1−1View file
Documentation/mm/damon/maintainer-profile.rstmodified+4−4View file
Documentation/mm/hugetlbfs_reserv.rstmodified+1−1View file
Documentation/mm/vmemmap_dedup.rstmodified+27−35View file
MAINTAINERSmodified+5−0View file
arch/alpha/include/asm/pgtable.hmodified+0−6View file
arch/arc/include/asm/page.hmodified+1−1View file
arch/arc/include/asm/pgtable.hmodified+0−3View file
arch/arc/mm/init.cmodified+0−2View file
arch/arm/include/asm/page.hmodified+1−1View file
arch/arm/include/asm/pgtable.hmodified+0−9View file
arch/arm/mm/mmu.cmodified+0−7View file
arch/arm/mm/nommu.cmodified+0−7View file
arch/arm64/Kconfigmodified+0−1View file
arch/arm64/include/asm/page.hmodified+6−1View file
arch/arm64/include/asm/pgtable.hmodified+25−30View file
arch/arm64/include/asm/pkeys.hmodified+1−2View file
arch/arm64/mm/contpte.cmodified+6−8View file
arch/arm64/mm/gcs.cmodified+1−13View file
arch/arm64/mm/init.cmodified+5−0View file
arch/arm64/mm/mmu.cmodified+1−8View file
arch/csky/include/asm/pgtable.hmodified+0−3View file
arch/csky/mm/init.cmodified+0−3View file
arch/hexagon/include/asm/page.hmodified+1−1View file
arch/hexagon/include/asm/pgtable.hmodified+0−6View file
arch/hexagon/kernel/head.Smodified+0−5View file
arch/hexagon/kernel/hexagon_ksyms.cmodified+0−1View file
arch/loongarch/Kconfigmodified+0−1View file
arch/loongarch/include/asm/page.hmodified+1−1View file
arch/loongarch/include/asm/pgtable.hmodified+2−10View file
arch/loongarch/mm/init.cmodified+0−3View file
arch/m68k/include/asm/pgtable_mm.hmodified+0−9View file
arch/m68k/include/asm/pgtable_no.hmodified+0−7View file
arch/m68k/mm/init.cmodified+0−9View file
arch/m68k/mm/mcfmmu.cmodified+0−2View file
arch/m68k/mm/motorola.cmodified+0−6View file
arch/m68k/mm/sun3mmu.cmodified+0−2View file
arch/microblaze/include/asm/pgtable.hmodified+1−11View file
arch/microblaze/kernel/head.Smodified+0−4View file
arch/microblaze/kernel/microblaze_ksyms.cmodified+0−2View file
arch/mips/include/asm/page.hmodified+1−1View file
arch/mips/mm/init.cmodified+1−10View file
arch/nios2/include/asm/page.hmodified+1−1View file
arch/nios2/include/asm/pgtable.hmodified+0−7View file
arch/nios2/kernel/head.Smodified+0−10View file
arch/nios2/kernel/nios2_ksyms.cmodified+0−1View file
arch/openrisc/include/asm/pgtable.hmodified+0−4View file
arch/openrisc/kernel/head.Smodified+0−3View file
arch/openrisc/kernel/or32_ksyms.cmodified+0−1View file
arch/openrisc/mm/init.cmodified+0−3View file
arch/parisc/include/asm/pgtable.hmodified+5−15View file
arch/parisc/kernel/cache.cmodified+4−4View file
arch/parisc/mm/init.cmodified+0−6View file
arch/powerpc/Kconfigmodified+0−1View file
arch/powerpc/include/asm/book3s/32/pgtable.hmodified+2−2View file
arch/powerpc/include/asm/book3s/64/pgtable.hmodified+13−13View file
arch/powerpc/include/asm/nohash/64/pgtable.hmodified+1−1View file
arch/powerpc/include/asm/nohash/pgtable.hmodified+2−2View file
arch/powerpc/include/asm/page.hmodified+2−2View file
arch/powerpc/include/asm/page_32.hmodified+1−1View file
arch/powerpc/include/asm/page_64.hmodified+6−6View file
arch/powerpc/include/asm/pgtable.hmodified+0−6View file
arch/powerpc/include/asm/pkeys.hmodified+3−5View file
arch/powerpc/kvm/book3s_hv.cmodified+0−1View file
arch/powerpc/mm/book3s64/pgtable.cmodified+4−4View file
arch/powerpc/mm/book3s64/pkeys.cmodified+1−2View file
arch/powerpc/mm/mem.cmodified+0−3View file
arch/powerpc/platforms/book3s/vas-api.cmodified+1−1View file
arch/powerpc/platforms/pseries/vas.cmodified+1−1View file
arch/riscv/Kconfigmodified+0−1View file
arch/riscv/include/asm/page.hmodified+1−1View file
arch/riscv/include/asm/pgtable.hmodified+8−15View file
arch/riscv/kernel/usercfi.cmodified+1−11View file
arch/riscv/mm/init.cmodified+2−5View file
arch/riscv/mm/pgtable.cmodified+3−4View file
arch/s390/Kconfigmodified+0−1View file
arch/s390/include/asm/page.hmodified+1−1View file
arch/s390/include/asm/pgtable.hmodified+8−8View file
arch/s390/mm/gmap_helpers.cmodified+1−1View file
arch/s390/mm/init.cmodified+1−3View file
arch/sh/include/asm/pgtable.hmodified+0−8View file
arch/sh/include/asm/setup.hmodified+2−1View file
arch/sh/kernel/head_32.Smodified+2−2View file
arch/sh/kernel/sh_ksyms_32.cmodified+0−1View file
arch/sh/mm/init.cmodified+0−1View file
arch/sparc/include/asm/pgtable_32.hmodified+0−8View file
arch/sparc/include/asm/pgtable_64.hmodified+0−3View file
arch/sparc/include/asm/setup.hmodified+0−2View file
arch/sparc/kernel/head_32.Smodified+0−7View file
arch/sparc/mm/init_32.cmodified+0−4View file
arch/sparc/mm/init_64.cmodified+25−46View file
arch/um/include/asm/pgtable.hmodified+0−9View file
arch/um/include/shared/kern_util.hmodified+0−1View file
arch/um/kernel/mem.cmodified+0−16View file
arch/um/kernel/um_arch.cmodified+0−1View file
arch/x86/Kconfigmodified+0−1View file
arch/x86/entry/vdso/vdso32/fake_32bit_build.hmodified+1−0View file
arch/x86/include/asm/page_types.hmodified+1−1View file
arch/x86/include/asm/pgtable.hmodified+10−18View file
arch/x86/include/asm/pkeys.hmodified+1−2View file
arch/x86/kernel/cpu/sgx/encl.cmodified+1−1View file
arch/x86/kernel/fpu/xstate.cmodified+1−2View file
arch/x86/kernel/head_32.Smodified+0−4View file
arch/x86/kernel/head_64.Smodified+0−7View file
arch/x86/kernel/shstk.cmodified+2−10View file
arch/x86/kvm/mmu/spte.hmodified+1−1View file
arch/x86/mm/pgtable.cmodified+14−14View file
arch/x86/mm/pkeys.cmodified+1−2View file
arch/x86/um/asm/vm-flags.hmodified+2−2View file
arch/xtensa/include/asm/pgtable.hmodified+4−9View file
arch/xtensa/kernel/head.Smodified+0−3View file
arch/xtensa/kernel/xtensa_ksyms.cmodified+0−2View file
drivers/android/binder/page_range.rsmodified+2−2View file
drivers/android/binder_alloc.cmodified+1−1View file
drivers/base/memory.cmodified+1−1View file
drivers/block/zram/backend_lz4.cmodified+26−3View file
drivers/block/zram/zcomp.cmodified+7−2View file
drivers/block/zram/zcomp.hmodified+1−1View file
drivers/block/zram/zram_drv.cmodified+122−147View file
drivers/block/zram/zram_drv.hmodified+0−1View file
drivers/char/hpet.cmodified+7−5View file
drivers/char/mem.cmodified+1−1View file
drivers/comedi/comedi_fops.cmodified+1−1View file
drivers/dax/device.cmodified+1−1View file
drivers/gpu/drm/drm_gem.cmodified+1−1View file
drivers/gpu/drm/i915/gem/i915_gem_shmem.cmodified+1−1View file
drivers/gpu/drm/i915/gt/intel_gtt.hmodified+1−1View file
drivers/gpu/drm/i915/i915_gpu_error.cmodified+1−1View file
drivers/gpu/drm/i915/i915_mm.cmodified+2−2View file
drivers/hv/hv_balloon.cmodified+1−1View file
drivers/hv/hyperv_vmbus.hmodified+2−2View file
drivers/hv/vmbus_drv.cmodified+19−12View file
drivers/hwtracing/stm/core.cmodified+21−10View file
drivers/infiniband/core/uverbs_main.cmodified+3−3View file
drivers/misc/open-dice.cmodified+11−8View file
drivers/misc/sgi-gru/grumain.cmodified+1−1View file
drivers/mtd/mtdchar.cmodified+3−18View file
drivers/net/ethernet/mellanox/mlx5/core/en/xdp.cmodified+1−1View file
drivers/staging/vme_user/vme.cmodified+10−10View file
drivers/staging/vme_user/vme.hmodified+1−1View file
drivers/staging/vme_user/vme_user.cmodified+30−21View file
drivers/target/target_core_user.cmodified+18−8View file
drivers/uio/uio.cmodified+8−2View file
drivers/uio/uio_hv_generic.cmodified+6−5View file
drivers/virtio/virtio_balloon.cmodified+6−4View file
fs/afs/file.cmodified+26−10View file
fs/afs/internal.hmodified+0−1View file
fs/afs/write.cmodified+0−1View file
fs/binfmt_elf.cmodified+1−2View file
fs/btrfs/compression.cmodified+1−1View file
fs/btrfs/extent_io.cmodified+3−3View file
fs/btrfs/tests/extent-io-tests.cmodified+1−1View file
fs/buffer.cmodified+1−1View file
fs/ceph/addr.cmodified+1−1View file
fs/dax.cmodified+1−2View file
fs/erofs/data.cmodified+1−2View file
fs/ext4/file.cmodified+0−1View file
fs/ext4/inode.cmodified+1−1View file
fs/ext4/page-io.cmodified+0−1View file
fs/ext4/readpage.cmodified+0−1View file
fs/f2fs/checkpoint.cmodified+1−1View file
fs/f2fs/compress.cmodified+1−1View file
fs/f2fs/data.cmodified+1−1View file
fs/f2fs/f2fs.hmodified+0−2View file
fs/f2fs/file.cmodified+0−1View file
fs/f2fs/node.cmodified+1−1View file
fs/gfs2/aops.cmodified+1−1View file
fs/hugetlbfs/inode.cmodified+8−14View file
fs/mpage.cmodified+0−1View file
fs/netfs/buffered_write.cmodified+0−1View file
fs/nfs/blocklayout/blocklayout.cmodified+0−1View file
fs/nfs/dir.cmodified+0−1View file
fs/nilfs2/btree.cmodified+1−1View file
fs/nilfs2/page.cmodified+1−1View file
fs/nilfs2/segment.cmodified+1−1View file
fs/ntfs3/file.cmodified+1−1View file
fs/ocfs2/refcounttree.cmodified+0−1View file
fs/proc/meminfo.cmodified+2−1View file
fs/proc/vmcore.cmodified+1−1View file
fs/pstore/ram_core.cmodified+1−1View file
fs/ramfs/file-nommu.cmodified+1−1View file
fs/resctrl/pseudo_lock.cmodified+1−1View file
fs/smb/client/connect.cmodified+0−1View file
fs/smb/client/file.cmodified+0−1View file
fs/zonefs/file.cmodified+1−2View file
include/asm-generic/tlb.hmodified+4−0View file
include/linux/damon.hmodified+16−2View file
include/linux/dax.hmodified+2−2View file
include/linux/pagevec.h → include/linux/folio_batch.hrenamed+8−8View file
include/linux/folio_queue.hmodified+4−4View file
include/linux/fs.hmodified+11−3View file
include/linux/huge_mm.hmodified+9−4View file
include/linux/hugetlb.hmodified+17−14View file
include/linux/hugetlb_inline.hmodified+2−2View file
include/linux/hyperv.hmodified+2−2View file
include/linux/iomap.hmodified+1−1View file
include/linux/kasan.hmodified+4−4View file
include/linux/kho/abi/kexec_handover.hmodified+129−15View file
include/linux/kho/abi/memfd.hmodified+17−1View file
include/linux/kho_radix_tree.hadded+70−0View file
include/linux/ksm.hmodified+5−5View file
include/linux/leafops.hmodified+35−4View file
include/linux/maple_tree.hmodified+42−0View file
include/linux/memcontrol.hmodified+1−1View file
include/linux/memfd.hmodified+12−0View file
include/linux/memory-tiers.hmodified+1−1View file
include/linux/memory.hmodified+2−1View file
include/linux/memory_hotplug.hmodified+8−10View file
include/linux/mm.hmodified+527−189View file
include/linux/mm_inline.hmodified+11−5View file
include/linux/mm_types.hmodified+72−19View file
include/linux/mman.hmodified+0−49View file
include/linux/mmu_notifier.hmodified+35−95View file
include/linux/mmzone.hmodified+75−7View file
include/linux/page-flags.hmodified+79−84View file
include/linux/page_ref.hmodified+6−12View file
include/linux/page_reporting.hmodified+1−0View file
include/linux/pagewalk.hmodified+1−7View file
include/linux/pgtable.hmodified+95−44View file
include/linux/sunrpc/svc.hmodified+1−1View file
include/linux/swap.hmodified+3−27View file
include/linux/types.hmodified+1−1View file
include/linux/uio_driver.hmodified+2−2View file
include/linux/userfaultfd_k.hmodified+3−0View file
include/linux/vm_event_item.hmodified+0−13View file
include/linux/vmalloc.hmodified+0−3View file
include/linux/writeback.hmodified+1−1View file
include/net/netmem.hmodified+12−2View file
include/trace/events/huge_memory.hmodified+26−0View file
include/trace/events/vmscan.hmodified+58−37View file
include/trace/stages/stage3_trace_output.hmodified+8−0View file
include/trace/stages/stage7_class_define.hmodified+19−0View file
init/Kconfigmodified+1−1View file
kernel/bpf/arena.cmodified+1−2View file
kernel/events/core.cmodified+1−1View file
kernel/liveupdate/kexec_handover.cmodified+356−323View file
kernel/liveupdate/kexec_handover_debugfs.cmodified+2−24View file
kernel/liveupdate/kexec_handover_internal.hmodified+0−3View file
kernel/liveupdate/luo_core.cmodified+1−11View file
kernel/time/namespace_vdso.cmodified+1−1View file
kernel/vmcore_info.cmodified+1−1View file
lib/Makefilemodified+1−0View file
lib/maple_tree.cmodified+954−1180View file
lib/test_maple_tree.cmodified+45−10View file
mm/Kconfigmodified+16−19View file
mm/bootmem_info.cmodified+4−42View file
mm/damon/Kconfigmodified+11−0View file
mm/damon/core.cmodified+291−71View file
mm/damon/lru_sort.cmodified+1−6View file
mm/damon/ops-common.cmodified+1−1View file
mm/damon/paddr.cmodified+1−2View file
mm/damon/reclaim.cmodified+1−6View file
mm/damon/sysfs-schemes.cmodified+58−0View file
mm/damon/tests/.kunitconfigmodified+3−0View file
mm/damon/tests/core-kunit.hmodified+100−0View file
mm/damon/tests/vaddr-kunit.hmodified+0−76View file
mm/damon/vaddr.cmodified+3−70View file
mm/debug_vm_pgtable.cmodified+2−2View file
mm/execmem.cmodified+29−26View file
mm/fadvise.cmodified+1−1View file
mm/filemap.cmodified+1−1View file
mm/gup.cmodified+1−1View file
mm/huge_memory.cmodified+218−119View file
mm/hugetlb.cmodified+11−37View file
mm/hugetlb_vmemmap.cmodified+179−181View file
mm/internal.hmodified+195−22View file
mm/interval_tree.cmodified+0−5View file
mm/kasan/init.cmodified+4−4View file
mm/kasan/report.cmodified+9−4View file
mm/kfence/core.cmodified+16−7View file
mm/kfence/kfence.hmodified+14−2View file
mm/kfence/report.cmodified+46−3View file
mm/khugepaged.cmodified+170−134View file
mm/kmemleak.cmodified+2−4View file
mm/ksm.cmodified+26−24View file
mm/madvise.cmodified+14−20View file
mm/memcontrol-v1.cmodified+1−4View file
mm/memcontrol-v1.hmodified+2−2View file
mm/memcontrol.cmodified+153−93View file
mm/memfd.cmodified+2−2View file
mm/memfd_luo.cmodified+33−2View file
mm/memory-tiers.cmodified+6−6View file
mm/memory.cmodified+288−194View file
mm/memory_hotplug.cmodified+21−24View file
mm/mempolicy.cmodified+2−2View file
mm/migrate.cmodified+20−4View file
mm/migrate_device.cmodified+4−0View file
mm/mlock.cmodified+26−20View file
mm/mm_init.cmodified+31−3View file
mm/mmap.cmodified+10−11View file
mm/mmu_gather.cmodified+20−1View file
mm/mmu_notifier.cmodified+21−20View file
mm/mprotect.cmodified+29−22View file
mm/mremap.cmodified+82−24View file
mm/mseal.cmodified+7−4View file
mm/nommu.cmodified+1−1View file
mm/oom_kill.cmodified+4−20View file
mm/page-writeback.cmodified+2−2View file
mm/page_alloc.cmodified+91−114View file
mm/page_idle.cmodified+1−1View file
mm/page_io.cmodified+2−2View file
mm/page_reporting.cmodified+4−3View file
mm/page_vma_mapped.cmodified+2−9View file
mm/pagewalk.cmodified+8−32View file
mm/pgtable-generic.cmodified+8−6View file
mm/rmap.cmodified+22−16View file
mm/secretmem.cmodified+1−1View file
mm/shmem.cmodified+5−12View file
mm/shrinker.cmodified+11−3View file
mm/slab.hmodified+2−6View file
mm/sparse-vmemmap.cmodified+352−62View file
mm/sparse.cmodified+8−536View file
mm/swap.cmodified+2−2View file
mm/swap.hmodified+15−7View file
mm/swap_state.cmodified+27−49View file
mm/swap_table.hmodified+129−9View file
mm/swapfile.cmodified+486−664View file
mm/truncate.cmodified+4−4View file
mm/userfaultfd.cmodified+17−10View file
mm/util.cmodified+212−84View file
mm/vma.cmodified+166−123View file
mm/vma.hmodified+73−13View file
mm/vma_exec.cmodified+3−2View file
mm/vmalloc.cmodified+29−29View file
mm/vmscan.cmodified+88−69View file
mm/vmstat.cmodified+15−14View file
mm/workingset.cmodified+30−19View file
mm/zsmalloc.cmodified+14−1View file
mm/zswap.cmodified+6−13View file
net/core/netmem_priv.hmodified+10−13View file
net/core/page_pool.cmodified+22−2View file
net/ipv4/tcp.cmodified+3−4View file
rust/kernel/mm/virt.rsmodified+2−4View file
security/selinux/hooks.cmodified+3−1View file
tools/include/linux/bitmap.hmodified+24−0View file
tools/lib/bitmap.cmodified+10−0View file
tools/testing/radix-tree/maple.cmodified+299−9View file
tools/testing/selftests/cgroup/test_memcontrol.cmodified+10−1View file
tools/testing/selftests/cgroup/test_zswap.cmodified+136−0View file
tools/testing/selftests/damon/_damon_sysfs.pymodified+9−3View file
tools/testing/selftests/damon/configmodified+1−0View file
tools/testing/selftests/damon/drgn_dump_damon_status.pymodified+1−0View file
tools/testing/selftests/damon/sysfs.pymodified+7−0View file
tools/testing/selftests/kho/init.cmodified+0−20View file
tools/testing/selftests/mm/.gitignoremodified+1−0View file
tools/testing/selftests/mm/Makefilemodified+1−0View file
tools/testing/selftests/mm/folio_split_race_test.cadded+297−0View file
tools/testing/selftests/mm/memory-failure.cmodified+0−1View file
tools/testing/selftests/mm/migration.cmodified+2−1View file
tools/testing/selftests/mm/pagemap_ioctl.cmodified+10−10View file
tools/testing/selftests/mm/run_vmtests.shmodified+2−0View file
tools/testing/vma/include/custom.hmodified+2−24View file
tools/testing/vma/include/dup.hmodified+362−130View file
tools/testing/vma/include/stubs.hmodified+15−9View file
tools/testing/vma/main.cmodified+2−0View file
tools/testing/vma/shared.cmodified+4−4View file
tools/testing/vma/shared.hmodified+20−2View file
tools/testing/vma/tests/merge.cmodified+164−147View file
tools/testing/vma/tests/mmap.cmodified+6−12View file
tools/testing/vma/tests/vma.cmodified+356−39View file
tools/testing/vma/vma_internal.hmodified+6−0View file
virt/kvm/kvm_main.cmodified+11−21View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/ABI/testing/sysfs-kernel-mm-damon

View file
diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-damon b/Documentation/ABI/testing/sysfs-kernel-mm-damon
index f2af2dd..2424237 100644
--- a/Documentation/ABI/testing/sysfs-kernel-mm-damon
+++ b/Documentation/ABI/testing/sysfs-kernel-mm-damon
@@ -316,6 +316,12 @@ Contact: SeongJae Park <[email protected]>
Description: Writing to and reading from this file sets and gets the path
parameter of the goal.
+What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/goal_tuner
+Date: Mar 2026
+Contact: SeongJae Park <[email protected]>
+Description: Writing to and reading from this file sets and gets the
+ goal-based effective quota auto-tuning algorithm to use.
+
What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/schemes/<S>/quotas/weights/sz_permil
Date: Mar 2022
Contact: SeongJae Park <[email protected]>

Documentation/admin-guide/blockdev/zram.rst

View file
diff --git a/Documentation/admin-guide/blockdev/zram.rst b/Documentation/admin-guide/blockdev/zram.rst
index 451fa00..60b07a7 100644
--- a/Documentation/admin-guide/blockdev/zram.rst
+++ b/Documentation/admin-guide/blockdev/zram.rst
@@ -462,7 +462,7 @@ know it via /sys/block/zram0/bd_stat's 3rd column.
recompression
-------------
-With CONFIG_ZRAM_MULTI_COMP, zram can recompress pages using alternative
+With `CONFIG_ZRAM_MULTI_COMP`, zram can recompress pages using alternative
(secondary) compression algorithms. The basic idea is that alternative
compression algorithm can provide better compression ratio at a price of
(potentially) slower compression/decompression speeds. Alternative compression
@@ -471,7 +471,7 @@ that default algorithm failed to compress). Another application is idle pages
recompression - pages that are cold and sit in the memory can be recompressed
using more effective algorithm and, hence, reduce zsmalloc memory usage.
-With CONFIG_ZRAM_MULTI_COMP, zram supports up to 4 compression algorithms:
+With `CONFIG_ZRAM_MULTI_COMP`, zram supports up to 4 compression algorithms:
one primary and up to 3 secondary ones. Primary zram compressor is explained
in "3) Select compression algorithm", secondary algorithms are configured
using recomp_algorithm device attribute.
@@ -495,56 +495,43 @@ configuration:::
#select deflate recompression algorithm, priority 2
echo "algo=deflate priority=2" > /sys/block/zramX/recomp_algorithm
-Another device attribute that CONFIG_ZRAM_MULTI_COMP enables is recompress,
+Another device attribute that `CONFIG_ZRAM_MULTI_COMP` enables is `recompress`,
which controls recompression.
Examples:::
#IDLE pages recompression is activated by `idle` mode
- echo "type=idle" > /sys/block/zramX/recompress
+ echo "type=idle priority=1" > /sys/block/zramX/recompress
#HUGE pages recompression is activated by `huge` mode
- echo "type=huge" > /sys/block/zram0/recompress
+ echo "type=huge priority=2" > /sys/block/zram0/recompress
#HUGE_IDLE pages recompression is activated by `huge_idle` mode
- echo "type=huge_idle" > /sys/block/zramX/recompress
+ echo "type=huge_idle priority=1" > /sys/block/zramX/recompress
The number of idle pages can be significant, so user-space can pass a size
threshold (in bytes) to the recompress knob: zram will recompress only pages
of equal or greater size:::
#recompress all pages larger than 3000 bytes
- echo "threshold=3000" > /sys/block/zramX/recompress
+ echo "threshold=3000 priority=1" > /sys/block/zramX/recompress
#recompress idle pages larger than 2000 bytes
- echo "type=idle threshold=2000" > /sys/block/zramX/recompress
+ echo "type=idle threshold=2000 priority=1" > \
+ /sys/block/zramX/recompress
It is also possible to limit the number of pages zram re-compression will
attempt to recompress:::
- echo "type=huge_idle max_pages=42" > /sys/block/zramX/recompress
-
-During re-compression for every page, that matches re-compression criteria,
-ZRAM iterates the list of registered alternative compression algorithms in
-order of their priorities. ZRAM stops either when re-compression was
-successful (re-compressed object is smaller in size than the original one)
-and matches re-compression criteria (e.g. size threshold) or when there are
-no secondary algorithms left to try. If none of the secondary algorithms can
-successfully re-compressed the page such a page is marked as incompressible,
-so ZRAM will not attempt to re-compress it in the future.
-
-This re-compression behaviour, when it iterates through the list of
-registered compression algorithms, increases our chances of finding the
-algorithm that successfully compresses a particular page. Sometimes, however,
-it is convenient (and sometimes even necessary) to limit recompression to
-only one particular algorithm so that it will not try any other algorithms.
-This can be achieved by providing a `algo` or `priority` parameter:::
-
- #use zstd algorithm only (if registered)
- echo "type=huge algo=zstd" > /sys/block/zramX/recompress
-
- #use zstd algorithm only (if zstd was registered under priority 1)
- echo "type=huge priority=1" > /sys/block/zramX/recompress
+ echo "type=huge_idle priority=1 max_pages=42" > \
+ /sys/block/zramX/recompress
+
+It is advised to always specify `priority` parameter. While it is also
+possible to specify `algo` parameter, so that `zram` will use algorithm's
+name to determine the priority, it is not recommended, since it can lead to
+unexpected results when the same algorithm is configured with different
+priorities (e.g. different parameters). `priority` is the only way to
+guarantee that the expected algorithm will be used.
memory tracking
===============

Documentation/admin-guide/cgroup-v2.rst

View file
diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
index 91beaa6..8ad0b27 100644
--- a/Documentation/admin-guide/cgroup-v2.rst
+++ b/Documentation/admin-guide/cgroup-v2.rst
@@ -1734,6 +1734,11 @@ The following nested keys are defined.
zswpwb
Number of pages written from zswap to swap.
+ zswap_incomp
+ Number of incompressible pages currently stored in zswap
+ without compression. These pages could not be compressed to
+ a size smaller than PAGE_SIZE, so they are stored as-is.
+
thp_fault_alloc (npn)
Number of transparent hugepages which were allocated to satisfy
a page fault. This counter is not present when CONFIG_TRANSPARENT_HUGEPAGE

Documentation/admin-guide/kdump/vmcoreinfo.rst

View file
diff --git a/Documentation/admin-guide/kdump/vmcoreinfo.rst b/Documentation/admin-guide/kdump/vmcoreinfo.rst
index 404a15f..7663c61 100644
--- a/Documentation/admin-guide/kdump/vmcoreinfo.rst
+++ b/Documentation/admin-guide/kdump/vmcoreinfo.rst
@@ -141,7 +141,7 @@ nodemask_t
The size of a nodemask_t type. Used to compute the number of online
nodes.
-(page, flags|_refcount|mapping|lru|_mapcount|private|compound_order|compound_head)
+(page, flags|_refcount|mapping|lru|_mapcount|private|compound_order|compound_info)
----------------------------------------------------------------------------------
User-space tools compute their values based on the offset of these

Documentation/admin-guide/kernel-parameters.txt

View file
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index b9a2c64..4510b4b 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -2970,6 +2970,12 @@ Kernel parameters
Format: <bool>
Default: CONFIG_KFENCE_DEFERRABLE
+ kfence.fault= [MM,KFENCE] Controls the behavior when a KFENCE
+ error is detected.
+ report - print the error report and continue (default).
+ oops - print the error report and oops.
+ panic - print the error report and panic.
+
kfence.sample_interval=
[MM,KFENCE] KFENCE's sample interval in milliseconds.
Format: <unsigned integer>

Documentation/admin-guide/mm/damon/lru_sort.rst

View file
diff --git a/Documentation/admin-guide/mm/damon/lru_sort.rst b/Documentation/admin-guide/mm/damon/lru_sort.rst
index 20a8378..a7dea7c 100644
--- a/Documentation/admin-guide/mm/damon/lru_sort.rst
+++ b/Documentation/admin-guide/mm/damon/lru_sort.rst
@@ -91,8 +91,8 @@ increases and decreases the effective level of the quota aiming the LRU
Disabled by default.
-Auto-tune monitoring intervals
-------------------------------
+autotune_monitoring_intervals
+-----------------------------
If this parameter is set as ``Y``, DAMON_LRU_SORT automatically tunes DAMON's
sampling and aggregation intervals. The auto-tuning aims to capture meaningful
@@ -221,6 +221,10 @@ But, setting this too high could result in increased monitoring overhead.
Please refer to the DAMON documentation (:doc:`usage`) for more detail. 10 by
default.
+Note that this must be 3 or higher. Please refer to the :ref:`Monitoring
+<damon_design_monitoring>` section of the design document for the rationale
+behind this lower bound.
+
max_nr_regions
--------------
@@ -351,3 +355,8 @@ the LRU-list based page granularity reclamation. ::
# echo 400 > wmarks_mid
# echo 200 > wmarks_low
# echo Y > enabled
+
+Note that this module (damon_lru_sort) cannot run simultaneously with other
+DAMON-based special-purpose modules. Refer to :ref:`DAMON design special
+purpose modules exclusivity <damon_design_special_purpose_modules_exclusivity>`
+for more details.

Documentation/admin-guide/mm/damon/reclaim.rst

View file
diff --git a/Documentation/admin-guide/mm/damon/reclaim.rst b/Documentation/admin-guide/mm/damon/reclaim.rst
index 8eba3da..47854c4 100644
--- a/Documentation/admin-guide/mm/damon/reclaim.rst
+++ b/Documentation/admin-guide/mm/damon/reclaim.rst
@@ -204,6 +204,10 @@ monitoring. This can be used to set lower-bound of the monitoring quality.
But, setting this too high could result in increased monitoring overhead.
Please refer to the DAMON documentation (:doc:`usage`) for more detail.
+Note that this must be 3 or higher. Please refer to the :ref:`Monitoring
+<damon_design_monitoring>` section of the design document for the rationale
+behind this lower bound.
+
max_nr_regions
--------------
@@ -318,6 +322,11 @@ granularity reclamation. ::
# echo 200 > wmarks_low
# echo Y > enabled
+Note that this module (damon_reclaim) cannot run simultaneously with other
+DAMON-based special-purpose modules. Refer to :ref:`DAMON design special
+purpose modules exclusivity <damon_design_special_purpose_modules_exclusivity>`
+for more details.
+
.. [1] https://research.google/pubs/pub48551/
.. [2] https://lwn.net/Articles/787611/
.. [3] https://www.kernel.org/doc/html/latest/mm/free_page_reporting.html

Documentation/admin-guide/mm/damon/stat.rst

View file
diff --git a/Documentation/admin-guide/mm/damon/stat.rst b/Documentation/admin-guide/mm/damon/stat.rst
index e5a5a2c..c4b14da 100644
--- a/Documentation/admin-guide/mm/damon/stat.rst
+++ b/Documentation/admin-guide/mm/damon/stat.rst
@@ -45,6 +45,11 @@ You can enable DAMON_STAT by setting the value of this parameter as ``Y``.
Setting it as ``N`` disables DAMON_STAT. The default value is set by
``CONFIG_DAMON_STAT_ENABLED_DEFAULT`` build config option.
+Note that this module (damon_stat) cannot run simultaneously with other
+DAMON-based special-purpose modules. Refer to :ref:`DAMON design special
+purpose modules exclusivity <damon_design_special_purpose_modules_exclusivity>`
+for more details.
+
.. _damon_stat_aggr_interval_us:
aggr_interval_us

Documentation/admin-guide/mm/damon/usage.rst

View file
diff --git a/Documentation/admin-guide/mm/damon/usage.rst b/Documentation/admin-guide/mm/damon/usage.rst
index b0f3969..534e119 100644
--- a/Documentation/admin-guide/mm/damon/usage.rst
+++ b/Documentation/admin-guide/mm/damon/usage.rst
@@ -83,7 +83,7 @@ comma (",").
│ │ │ │ │ │ │ │ sz/min,max
│ │ │ │ │ │ │ │ nr_accesses/min,max
│ │ │ │ │ │ │ │ age/min,max
- │ │ │ │ │ │ │ :ref:`quotas <sysfs_quotas>`/ms,bytes,reset_interval_ms,effective_bytes
+ │ │ │ │ │ │ │ :ref:`quotas <sysfs_quotas>`/ms,bytes,reset_interval_ms,effective_bytes,goal_tuner
│ │ │ │ │ │ │ │ weights/sz_permil,nr_accesses_permil,age_permil
│ │ │ │ │ │ │ │ :ref:`goals <sysfs_schemes_quota_goals>`/nr_goals
│ │ │ │ │ │ │ │ │ 0/target_metric,target_value,current_value,nid,path
@@ -377,9 +377,9 @@ schemes/<N>/quotas/
The directory for the :ref:`quotas <damon_design_damos_quotas>` of the given
DAMON-based operation scheme.
-Under ``quotas`` directory, four files (``ms``, ``bytes``,
-``reset_interval_ms``, ``effective_bytes``) and two directories (``weights`` and
-``goals``) exist.
+Under ``quotas`` directory, five files (``ms``, ``bytes``,
+``reset_interval_ms``, ``effective_bytes`` and ``goal_tuner``) and two
+directories (``weights`` and ``goals``) exist.
You can set the ``time quota`` in milliseconds, ``size quota`` in bytes, and
``reset interval`` in milliseconds by writing the values to the three files,
@@ -390,6 +390,14 @@ apply the action to only up to ``bytes`` bytes of memory regions within the
quota limits unless at least one :ref:`goal <sysfs_schemes_quota_goals>` is
set.
+You can set the goal-based effective quota auto-tuning algorithm to use, by
+writing the algorithm name to ``goal_tuner`` file. Reading the file returns
+the currently selected tuner algorithm. Refer to the design documentation of
+:ref:`automatic quota tuning goals <damon_design_damos_quotas_auto_tuning>` for
+the background design of the feature and the name of the selectable algorithms.
+Refer to :ref:`goals directory <sysfs_schemes_quota_goals>` for the goals
+setup.
+
The time quota is internally transformed to a size quota. Between the
transformed size quota and user-specified size quota, smaller one is applied.
Based on the user-specified :ref:`goal <sysfs_schemes_quota_goals>`, the

Documentation/admin-guide/mm/kho.rst

View file
diff --git a/Documentation/admin-guide/mm/kho.rst b/Documentation/admin-guide/mm/kho.rst
index 6dc18ed..cb9a20f 100644
--- a/Documentation/admin-guide/mm/kho.rst
+++ b/Documentation/admin-guide/mm/kho.rst
@@ -28,20 +28,10 @@ per NUMA node scratch regions on boot.
Perform a KHO kexec
===================
-First, before you perform a KHO kexec, you need to move the system into
-the :ref:`KHO finalization phase <kho-finalization-phase>` ::
-
- $ echo 1 > /sys/kernel/debug/kho/out/finalize
-
-After this command, the KHO FDT is available in
-``/sys/kernel/debug/kho/out/fdt``. Other subsystems may also register
-their own preserved sub FDTs under
-``/sys/kernel/debug/kho/out/sub_fdts/``.
-
-Next, load the target payload and kexec into it. It is important that you
-use the ``-s`` parameter to use the in-kernel kexec file loader, as user
-space kexec tooling currently has no support for KHO with the user space
-based file loader ::
+To perform a KHO kexec, load the target payload and kexec into it. It
+is important that you use the ``-s`` parameter to use the in-kernel
+kexec file loader, as user space kexec tooling currently has no
+support for KHO with the user space based file loader ::
# kexec -l /path/to/bzImage --initrd /path/to/initrd -s
# kexec -e
@@ -52,40 +42,19 @@ For example, if you used ``reserve_mem`` command line parameter to create
an early memory reservation, the new kernel will have that memory at the
same physical address as the old kernel.
-Abort a KHO exec
-================
-
-You can move the system out of KHO finalization phase again by calling ::
-
- $ echo 0 > /sys/kernel/debug/kho/out/active
-
-After this command, the KHO FDT is no longer available in
-``/sys/kernel/debug/kho/out/fdt``.
-
debugfs Interfaces
==================
+These debugfs interfaces are available when the kernel is compiled with
+``CONFIG_KEXEC_HANDOVER_DEBUGFS`` enabled.
+
Currently KHO creates the following debugfs interfaces. Notice that these
interfaces may change in the future. They will be moved to sysfs once KHO is
stabilized.
-``/sys/kernel/debug/kho/out/finalize``
- Kexec HandOver (KHO) allows Linux to transition the state of
- compatible drivers into the next kexec'ed kernel. To do so,
- device drivers will instruct KHO to preserve memory regions,
- which could contain serialized kernel state.
- While the state is serialized, they are unable to perform
- any modifications to state that was serialized, such as
- handed over memory allocations.
-
- When this file contains "1", the system is in the transition
- state. When contains "0", it is not. To switch between the
- two states, echo the respective number into this file.
-
``/sys/kernel/debug/kho/out/fdt``
- When KHO state tree is finalized, the kernel exposes the
- flattened device tree blob that carries its current KHO
- state in this file. Kexec user space tooling can use this
+ The kernel exposes the flattened device tree blob that carries its
+ current KHO state in this file. Kexec user space tooling can use this
as input file for the KHO payload image.
``/sys/kernel/debug/kho/out/scratch_len``
@@ -100,8 +69,8 @@ stabilized.
it should place its payload images.
``/sys/kernel/debug/kho/out/sub_fdts/``
- In the KHO finalization phase, KHO producers register their own
- FDT blob under this directory.
+ KHO producers can register their own FDT or another binary blob under
+ this directory.
``/sys/kernel/debug/kho/in/fdt``
When the kernel was booted with Kexec HandOver (KHO),

Documentation/admin-guide/mm/numa_memory_policy.rst

View file
diff --git a/Documentation/admin-guide/mm/numa_memory_policy.rst b/Documentation/admin-guide/mm/numa_memory_policy.rst
index a70f20c..90ab26e 100644
--- a/Documentation/admin-guide/mm/numa_memory_policy.rst
+++ b/Documentation/admin-guide/mm/numa_memory_policy.rst
@@ -217,7 +217,7 @@ MPOL_PREFERRED
the MPOL_F_STATIC_NODES or MPOL_F_RELATIVE_NODES flags
described below.
-MPOL_INTERLEAVED
+MPOL_INTERLEAVE
This mode specifies that page allocations be interleaved, on a
page granularity, across the nodes specified in the policy.
This mode also behaves slightly differently, based on the

Documentation/core-api/kho/abi.rst

View file
diff --git a/Documentation/core-api/kho/abi.rst b/Documentation/core-api/kho/abi.rst
index 2e63be3..799d743 100644
--- a/Documentation/core-api/kho/abi.rst
+++ b/Documentation/core-api/kho/abi.rst
@@ -22,6 +22,12 @@ memblock preservation ABI
.. kernel-doc:: include/linux/kho/abi/memblock.h
:doc: memblock kexec handover ABI
+KHO persistent memory tracker ABI
+=================================
+
+.. kernel-doc:: include/linux/kho/abi/kexec_handover.h
+ :doc: KHO persistent memory tracker
+
See Also
========

Documentation/core-api/kho/index.rst

View file
diff --git a/Documentation/core-api/kho/index.rst b/Documentation/core-api/kho/index.rst
index dcc6a36..0a2dee4 100644
--- a/Documentation/core-api/kho/index.rst
+++ b/Documentation/core-api/kho/index.rst
@@ -71,17 +71,17 @@ for boot memory allocations and as target memory for kexec blobs, some parts
of that memory region may be reserved. These reservations are irrelevant for
the next KHO, because kexec can overwrite even the original kernel.
-.. _kho-finalization-phase:
+Kexec Handover Radix Tree
+=========================
-KHO finalization phase
-======================
+.. kernel-doc:: include/linux/kho_radix_tree.h
+ :doc: Kexec Handover Radix Tree
-To enable user space based kexec file loader, the kernel needs to be able to
-provide the FDT that describes the current kernel's state before
-performing the actual kexec. The process of generating that FDT is
-called serialization. When the FDT is generated, some properties
-of the system may become immutable because they are already written down
-in the FDT. That state is called the KHO finalization phase.
+Public API
+==========
+
+.. kernel-doc:: kernel/liveupdate/kexec_handover.c
+ :export:
See Also
========

Documentation/dev-tools/kasan.rst

View file
diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst
index a034700..4968b2a 100644
--- a/Documentation/dev-tools/kasan.rst
+++ b/Documentation/dev-tools/kasan.rst
@@ -75,9 +75,6 @@ Software Tag-Based KASAN supports slab, page_alloc, vmalloc, and stack memory.
Hardware Tag-Based KASAN supports slab, page_alloc, and non-executable vmalloc
memory.
-For slab, both software KASAN modes support SLUB and SLAB allocators, while
-Hardware Tag-Based KASAN only supports SLUB.
-
Usage
-----

Documentation/dev-tools/kfence.rst

View file
diff --git a/Documentation/dev-tools/kfence.rst b/Documentation/dev-tools/kfence.rst
index 5418993..b03d120 100644
--- a/Documentation/dev-tools/kfence.rst
+++ b/Documentation/dev-tools/kfence.rst
@@ -81,6 +81,13 @@ tables being allocated.
Error reports
~~~~~~~~~~~~~
+The boot parameter ``kfence.fault`` can be used to control the behavior when a
+KFENCE error is detected:
+
+- ``kfence.fault=report``: Print the error report and continue (default).
+- ``kfence.fault=oops``: Print the error report and oops.
+- ``kfence.fault=panic``: Print the error report and panic.
+
A typical out-of-bounds access looks like this::
==================================================================

Documentation/driver-api/vme.rst

View file
diff --git a/Documentation/driver-api/vme.rst b/Documentation/driver-api/vme.rst
index c0b4753..7111999 100644
--- a/Documentation/driver-api/vme.rst
+++ b/Documentation/driver-api/vme.rst
@@ -107,7 +107,7 @@ The function :c:func:`vme_master_read` can be used to read from and
In addition to simple reads and writes, :c:func:`vme_master_rmw` is provided to
do a read-modify-write transaction. Parts of a VME window can also be mapped
-into user space memory using :c:func:`vme_master_mmap`.
+into user space memory using :c:func:`vme_master_mmap_prepare`.
Slave windows

Documentation/filesystems/index.rst

View file
diff --git a/Documentation/filesystems/index.rst b/Documentation/filesystems/index.rst
index f487319..6cbc3e0 100644
--- a/Documentation/filesystems/index.rst
+++ b/Documentation/filesystems/index.rst
@@ -29,6 +29,7 @@ algorithms work.
fiemap
files
locks
+ mmap_prepare
multigrain-ts
mount_api
quota

Documentation/filesystems/mmap_prepare.rst

View file
diff --git a/Documentation/filesystems/mmap_prepare.rst b/Documentation/filesystems/mmap_prepare.rst
new file mode 100644
index 0000000..82c99c9
--- /dev/null
+++ b/Documentation/filesystems/mmap_prepare.rst
@@ -0,0 +1,168 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+===========================
+mmap_prepare callback HOWTO
+===========================
+
+Introduction
+============
+
+The ``struct file->f_op->mmap()`` callback has been deprecated as it is both a
+stability and security risk, and doesn't always permit the merging of adjacent
+mappings resulting in unnecessary memory fragmentation.
+
+It has been replaced with the ``file->f_op->mmap_prepare()`` callback which
+solves these problems.
+
+This hook is called right at the beginning of setting up the mapping, and
+importantly it is invoked *before* any merging of adjacent mappings has taken
+place.
+
+If an error arises upon mapping, it might arise after this callback has been
+invoked, therefore it should be treated as effectively stateless.
+
+That is - no resources should be allocated nor state updated to reflect that a
+mapping has been established, as the mapping may either be merged, or fail to be
+mapped after the callback is complete.
+
+Mapped callback
+---------------
+
+If resources need to be allocated per-mapping, or state such as a reference
+count needs to be manipulated, this should be done using the ``vm_ops->mapped``
+hook, which itself should be set by the >mmap_prepare hook.
+
+This callback is only invoked if a new mapping has been established and was not
+merged with any other, and is invoked at a point where no error may occur before
+the mapping is established.
+
+You may return an error to the callback itself, which will cause the mapping to
+become unmapped and an error returned to the mmap() caller. This is useful if
+resources need to be allocated, and that allocation might fail.
+
+How To Use
+==========
+
+In your driver's struct file_operations struct, specify an ``mmap_prepare``
+callback rather than an ``mmap`` one, e.g. for ext4:
+
+.. code-block:: C
+
+ const struct file_operations ext4_file_operations = {
+ ...
+ .mmap_prepare = ext4_file_mmap_prepare,
+ };
+
+This has a signature of ``int (*mmap_prepare)(struct vm_area_desc *)``.
+
+Examining the struct vm_area_desc type:
+
+.. code-block:: C
+
+ struct vm_area_desc {
+ /* Immutable state. */
+ const struct mm_struct *const mm;
+ struct file *const file; /* May vary from vm_file in stacked callers. */
+ unsigned long start;
+ unsigned long end;
+
+ /* Mutable fields. Populated with initial state. */
+ pgoff_t pgoff;
+ struct file *vm_file;
+ vma_flags_t vma_flags;
+ pgprot_t page_prot;
+
+ /* Write-only fields. */
+ const struct vm_operations_struct *vm_ops;
+ void *private_data;
+
+ /* Take further action? */
+ struct mmap_action action;
+ };
+
+This is straightforward - you have all the fields you need to set up the
+mapping, and you can update the mutable and writable fields, for instance:
+
+.. code-block:: C
+
+ static int ext4_file_mmap_prepare(struct vm_area_desc *desc)
+ {
+ int ret;
+ struct file *file = desc->file;
+ struct inode *inode = file->f_mapping->host;
+
+ ...
+
+ file_accessed(file);
+ if (IS_DAX(file_inode(file))) {
+ desc->vm_ops = &ext4_dax_vm_ops;
+ vma_desc_set_flags(desc, VMA_HUGEPAGE_BIT);
+ } else {
+ desc->vm_ops = &ext4_file_vm_ops;
+ }
+ return 0;
+ }
+
+Importantly, you no longer have to dance around with reference counts or locks
+when updating these fields - **you can simply go ahead and change them**.
+
+Everything is taken care of by the mapping code.
+
+VMA Flags
+---------
+

This diff is incomplete. Download the complete patch.

Documentation/mm/damon/design.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/damon/index.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/damon/maintainer-profile.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/hugetlbfs_reserv.rst

View file

This diff is incomplete. Download the complete patch.

Documentation/mm/vmemmap_dedup.rst

View file

This diff is incomplete. Download the complete patch.

MAINTAINERS

View file

This diff is incomplete. Download the complete patch.

arch/alpha/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/arc/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/arc/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/arc/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/arm/mm/mmu.c

View file

This diff is incomplete. Download the complete patch.

arch/arm/mm/nommu.c

View file

This diff is incomplete. Download the complete patch.

arch/arm64/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/arm64/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/arm64/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/arm64/include/asm/pkeys.h

View file

This diff is incomplete. Download the complete patch.

arch/arm64/mm/contpte.c

View file

This diff is incomplete. Download the complete patch.

arch/arm64/mm/gcs.c

View file

This diff is incomplete. Download the complete patch.

arch/arm64/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/arm64/mm/mmu.c

View file

This diff is incomplete. Download the complete patch.

arch/csky/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/csky/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/hexagon/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/hexagon/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/hexagon/kernel/head.S

View file

This diff is incomplete. Download the complete patch.

arch/hexagon/kernel/hexagon_ksyms.c

View file

This diff is incomplete. Download the complete patch.

arch/loongarch/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/loongarch/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/loongarch/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/loongarch/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/m68k/include/asm/pgtable_mm.h

View file

This diff is incomplete. Download the complete patch.

arch/m68k/include/asm/pgtable_no.h

View file

This diff is incomplete. Download the complete patch.

arch/m68k/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/m68k/mm/mcfmmu.c

View file

This diff is incomplete. Download the complete patch.

arch/m68k/mm/motorola.c

View file

This diff is incomplete. Download the complete patch.

arch/m68k/mm/sun3mmu.c

View file

This diff is incomplete. Download the complete patch.

arch/microblaze/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/microblaze/kernel/head.S

View file

This diff is incomplete. Download the complete patch.

arch/microblaze/kernel/microblaze_ksyms.c

View file

This diff is incomplete. Download the complete patch.

arch/mips/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/mips/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/nios2/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/nios2/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/nios2/kernel/head.S

View file

This diff is incomplete. Download the complete patch.

arch/nios2/kernel/nios2_ksyms.c

View file

This diff is incomplete. Download the complete patch.

arch/openrisc/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/openrisc/kernel/head.S

View file

This diff is incomplete. Download the complete patch.

arch/openrisc/kernel/or32_ksyms.c

View file

This diff is incomplete. Download the complete patch.

arch/openrisc/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/parisc/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/parisc/kernel/cache.c

View file

This diff is incomplete. Download the complete patch.

arch/parisc/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/32/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/book3s/64/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/nohash/64/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/nohash/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/page_32.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/page_64.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/include/asm/pkeys.h

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/kvm/book3s_hv.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s64/pgtable.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/book3s64/pkeys.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/mm/mem.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/book3s/vas-api.c

View file

This diff is incomplete. Download the complete patch.

arch/powerpc/platforms/pseries/vas.c

View file

This diff is incomplete. Download the complete patch.

arch/riscv/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/riscv/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/riscv/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/riscv/kernel/usercfi.c

View file

This diff is incomplete. Download the complete patch.

arch/riscv/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/riscv/mm/pgtable.c

View file

This diff is incomplete. Download the complete patch.

arch/s390/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/s390/include/asm/page.h

View file

This diff is incomplete. Download the complete patch.

arch/s390/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/s390/mm/gmap_helpers.c

View file

This diff is incomplete. Download the complete patch.

arch/s390/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/sh/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/sh/include/asm/setup.h

View file

This diff is incomplete. Download the complete patch.

arch/sh/kernel/head_32.S

View file

This diff is incomplete. Download the complete patch.

arch/sh/kernel/sh_ksyms_32.c

View file

This diff is incomplete. Download the complete patch.

arch/sh/mm/init.c

View file

This diff is incomplete. Download the complete patch.

arch/sparc/include/asm/pgtable_32.h

View file

This diff is incomplete. Download the complete patch.

arch/sparc/include/asm/pgtable_64.h

View file

This diff is incomplete. Download the complete patch.

arch/sparc/include/asm/setup.h

View file

This diff is incomplete. Download the complete patch.

arch/sparc/kernel/head_32.S

View file

This diff is incomplete. Download the complete patch.

arch/sparc/mm/init_32.c

View file

This diff is incomplete. Download the complete patch.

arch/sparc/mm/init_64.c

View file

This diff is incomplete. Download the complete patch.

arch/um/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/um/include/shared/kern_util.h

View file

This diff is incomplete. Download the complete patch.

arch/um/kernel/mem.c

View file

This diff is incomplete. Download the complete patch.

arch/um/kernel/um_arch.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/Kconfig

View file

This diff is incomplete. Download the complete patch.

arch/x86/entry/vdso/vdso32/fake_32bit_build.h

View file

This diff is incomplete. Download the complete patch.

arch/x86/include/asm/page_types.h

View file

This diff is incomplete. Download the complete patch.

arch/x86/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/x86/include/asm/pkeys.h

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/cpu/sgx/encl.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/fpu/xstate.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/head_32.S

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/head_64.S

View file

This diff is incomplete. Download the complete patch.

arch/x86/kernel/shstk.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/kvm/mmu/spte.h

View file

This diff is incomplete. Download the complete patch.

arch/x86/mm/pgtable.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/mm/pkeys.c

View file

This diff is incomplete. Download the complete patch.

arch/x86/um/asm/vm-flags.h

View file

This diff is incomplete. Download the complete patch.

arch/xtensa/include/asm/pgtable.h

View file

This diff is incomplete. Download the complete patch.

arch/xtensa/kernel/head.S

View file

This diff is incomplete. Download the complete patch.

arch/xtensa/kernel/xtensa_ksyms.c

View file

This diff is incomplete. Download the complete patch.

drivers/android/binder/page_range.rs

View file

This diff is incomplete. Download the complete patch.

drivers/android/binder_alloc.c

View file

This diff is incomplete. Download the complete patch.

drivers/base/memory.c

View file

This diff is incomplete. Download the complete patch.

drivers/block/zram/backend_lz4.c

View file

This diff is incomplete. Download the complete patch.

drivers/block/zram/zcomp.c

View file

This diff is incomplete. Download the complete patch.

drivers/block/zram/zcomp.h

View file

This diff is incomplete. Download the complete patch.

drivers/block/zram/zram_drv.c

View file

This diff is incomplete. Download the complete patch.

drivers/block/zram/zram_drv.h

View file

This diff is incomplete. Download the complete patch.

drivers/char/hpet.c

View file

This diff is incomplete. Download the complete patch.

drivers/char/mem.c

View file

This diff is incomplete. Download the complete patch.

drivers/comedi/comedi_fops.c

View file

This diff is incomplete. Download the complete patch.

drivers/dax/device.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/drm_gem.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/i915/gem/i915_gem_shmem.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/i915/gt/intel_gtt.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/i915/i915_gpu_error.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/i915/i915_mm.c

View file

This diff is incomplete. Download the complete patch.

drivers/hv/hv_balloon.c

View file

This diff is incomplete. Download the complete patch.

drivers/hv/hyperv_vmbus.h

View file

This diff is incomplete. Download the complete patch.

drivers/hv/vmbus_drv.c

View file

This diff is incomplete. Download the complete patch.

drivers/hwtracing/stm/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/core/uverbs_main.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/open-dice.c

View file

This diff is incomplete. Download the complete patch.

drivers/misc/sgi-gru/grumain.c

View file

This diff is incomplete. Download the complete patch.

drivers/mtd/mtdchar.c

View file

This diff is incomplete. Download the complete patch.

drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c

View file

This diff is incomplete. Download the complete patch.

drivers/staging/vme_user/vme.c

View file

This diff is incomplete. Download the complete patch.

drivers/staging/vme_user/vme.h

View file

This diff is incomplete. Download the complete patch.

drivers/staging/vme_user/vme_user.c

View file

This diff is incomplete. Download the complete patch.

drivers/target/target_core_user.c

View file

This diff is incomplete. Download the complete patch.

drivers/uio/uio.c

View file

This diff is incomplete. Download the complete patch.

drivers/uio/uio_hv_generic.c

View file

This diff is incomplete. Download the complete patch.

drivers/virtio/virtio_balloon.c

View file

This diff is incomplete. Download the complete patch.

fs/afs/file.c

View file

This diff is incomplete. Download the complete patch.

fs/afs/internal.h

View file

This diff is incomplete. Download the complete patch.

fs/afs/write.c

View file

This diff is incomplete. Download the complete patch.

fs/binfmt_elf.c

View file

This diff is incomplete. Download the complete patch.

fs/btrfs/compression.c

View file

This diff is incomplete. Download the complete patch.

fs/btrfs/extent_io.c

View file

This diff is incomplete. Download the complete patch.

fs/btrfs/tests/extent-io-tests.c

View file

This diff is incomplete. Download the complete patch.

fs/buffer.c

View file

This diff is incomplete. Download the complete patch.

fs/ceph/addr.c

View file

This diff is incomplete. Download the complete patch.

fs/dax.c

View file

This diff is incomplete. Download the complete patch.

fs/erofs/data.c

View file

This diff is incomplete. Download the complete patch.

fs/ext4/file.c

View file

This diff is incomplete. Download the complete patch.

fs/ext4/inode.c

View file

This diff is incomplete. Download the complete patch.

fs/ext4/page-io.c

View file

This diff is incomplete. Download the complete patch.

fs/ext4/readpage.c

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/checkpoint.c

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/compress.c

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/data.c

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/f2fs.h

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/file.c

View file

This diff is incomplete. Download the complete patch.

fs/f2fs/node.c

View file

This diff is incomplete. Download the complete patch.

fs/gfs2/aops.c

View file

This diff is incomplete. Download the complete patch.

fs/hugetlbfs/inode.c

View file

This diff is incomplete. Download the complete patch.

fs/mpage.c

View file

This diff is incomplete. Download the complete patch.

fs/netfs/buffered_write.c

View file

This diff is incomplete. Download the complete patch.

fs/nfs/blocklayout/blocklayout.c

View file

This diff is incomplete. Download the complete patch.

fs/nfs/dir.c

View file

This diff is incomplete. Download the complete patch.

fs/nilfs2/btree.c

View file

This diff is incomplete. Download the complete patch.

fs/nilfs2/page.c

View file

This diff is incomplete. Download the complete patch.

fs/nilfs2/segment.c

View file

This diff is incomplete. Download the complete patch.

fs/ntfs3/file.c

View file

This diff is incomplete. Download the complete patch.

fs/ocfs2/refcounttree.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/meminfo.c

View file

This diff is incomplete. Download the complete patch.

fs/proc/vmcore.c

View file

This diff is incomplete. Download the complete patch.

fs/pstore/ram_core.c

View file

This diff is incomplete. Download the complete patch.

fs/ramfs/file-nommu.c

View file

This diff is incomplete. Download the complete patch.

fs/resctrl/pseudo_lock.c

View file

This diff is incomplete. Download the complete patch.

fs/smb/client/connect.c

View file

This diff is incomplete. Download the complete patch.

fs/smb/client/file.c

View file

This diff is incomplete. Download the complete patch.

fs/zonefs/file.c

View file

This diff is incomplete. Download the complete patch.

include/asm-generic/tlb.h

View file

This diff is incomplete. Download the complete patch.

include/linux/damon.h

View file

This diff is incomplete. Download the complete patch.

include/linux/dax.h

View file

This diff is incomplete. Download the complete patch.

include/linux/folio_batch.h

View file

This diff is incomplete. Download the complete patch.

include/linux/folio_queue.h

View file

This diff is incomplete. Download the complete patch.

include/linux/fs.h

View file

This diff is incomplete. Download the complete patch.

include/linux/huge_mm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/hugetlb.h

View file

This diff is incomplete. Download the complete patch.

include/linux/hugetlb_inline.h

View file

This diff is incomplete. Download the complete patch.

include/linux/hyperv.h

View file

This diff is incomplete. Download the complete patch.

include/linux/iomap.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kasan.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kho/abi/kexec_handover.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kho/abi/memfd.h

View file

This diff is incomplete. Download the complete patch.

include/linux/kho_radix_tree.h

View file

This diff is incomplete. Download the complete patch.

include/linux/ksm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/leafops.h

View file

This diff is incomplete. Download the complete patch.

include/linux/maple_tree.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memcontrol.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memfd.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memory-tiers.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memory.h

View file

This diff is incomplete. Download the complete patch.

include/linux/memory_hotplug.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mm.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mm_inline.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mm_types.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mman.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mmu_notifier.h

View file

This diff is incomplete. Download the complete patch.

include/linux/mmzone.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page-flags.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page_ref.h

View file

This diff is incomplete. Download the complete patch.

include/linux/page_reporting.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pagewalk.h

View file

This diff is incomplete. Download the complete patch.

include/linux/pgtable.h

View file

This diff is incomplete. Download the complete patch.

include/linux/sunrpc/svc.h

View file

This diff is incomplete. Download the complete patch.

include/linux/swap.h

View file

This diff is incomplete. Download the complete patch.

include/linux/types.h

View file

This diff is incomplete. Download the complete patch.

include/linux/uio_driver.h

View file

This diff is incomplete. Download the complete patch.

include/linux/userfaultfd_k.h

View file

This diff is incomplete. Download the complete patch.

include/linux/vm_event_item.h

View file

This diff is incomplete. Download the complete patch.

include/linux/vmalloc.h

View file

This diff is incomplete. Download the complete patch.

include/linux/writeback.h

View file

This diff is incomplete. Download the complete patch.

include/net/netmem.h

View file

This diff is incomplete. Download the complete patch.

include/trace/events/huge_memory.h

View file

This diff is incomplete. Download the complete patch.

include/trace/events/vmscan.h

View file

This diff is incomplete. Download the complete patch.

include/trace/stages/stage3_trace_output.h

View file

This diff is incomplete. Download the complete patch.

include/trace/stages/stage7_class_define.h

View file

This diff is incomplete. Download the complete patch.

init/Kconfig

View file

This diff is incomplete. Download the complete patch.

kernel/bpf/arena.c

View file

This diff is incomplete. Download the complete patch.

kernel/events/core.c

View file

This diff is incomplete. Download the complete patch.

kernel/liveupdate/kexec_handover.c

View file

This diff is incomplete. Download the complete patch.

kernel/liveupdate/kexec_handover_debugfs.c

View file

This diff is incomplete. Download the complete patch.

kernel/liveupdate/kexec_handover_internal.h

View file

This diff is incomplete. Download the complete patch.

kernel/liveupdate/luo_core.c

View file

This diff is incomplete. Download the complete patch.

kernel/time/namespace_vdso.c

View file

This diff is incomplete. Download the complete patch.

kernel/vmcore_info.c

View file

This diff is incomplete. Download the complete patch.

lib/Makefile

View file

This diff is incomplete. Download the complete patch.

lib/maple_tree.c

View file

This diff is incomplete. Download the complete patch.

lib/test_maple_tree.c

View file

This diff is incomplete. Download the complete patch.

mm/Kconfig

View file

This diff is incomplete. Download the complete patch.

mm/bootmem_info.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/Kconfig

View file

This diff is incomplete. Download the complete patch.

mm/damon/core.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/lru_sort.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/ops-common.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/paddr.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/reclaim.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/sysfs-schemes.c

View file

This diff is incomplete. Download the complete patch.

mm/damon/tests/.kunitconfig

View file

This diff is incomplete. Download the complete patch.

mm/damon/tests/core-kunit.h

View file

This diff is incomplete. Download the complete patch.

mm/damon/tests/vaddr-kunit.h

View file

This diff is incomplete. Download the complete patch.

mm/damon/vaddr.c

View file

This diff is incomplete. Download the complete patch.

mm/debug_vm_pgtable.c

View file

This diff is incomplete. Download the complete patch.

mm/execmem.c

View file

This diff is incomplete. Download the complete patch.

mm/fadvise.c

View file

This diff is incomplete. Download the complete patch.

mm/filemap.c

View file

This diff is incomplete. Download the complete patch.

mm/gup.c

View file

This diff is incomplete. Download the complete patch.

mm/huge_memory.c

View file

This diff is incomplete. Download the complete patch.

mm/hugetlb.c

View file

This diff is incomplete. Download the complete patch.

mm/hugetlb_vmemmap.c

View file

This diff is incomplete. Download the complete patch.

mm/internal.h

View file

This diff is incomplete. Download the complete patch.

mm/interval_tree.c

View file

This diff is incomplete. Download the complete patch.

mm/kasan/init.c

View file

This diff is incomplete. Download the complete patch.

mm/kasan/report.c

View file

This diff is incomplete. Download the complete patch.

mm/kfence/core.c

View file

This diff is incomplete. Download the complete patch.

mm/kfence/kfence.h

View file

This diff is incomplete. Download the complete patch.

mm/kfence/report.c

View file

This diff is incomplete. Download the complete patch.

mm/khugepaged.c

View file

This diff is incomplete. Download the complete patch.

mm/kmemleak.c

View file

This diff is incomplete. Download the complete patch.

mm/ksm.c

View file

This diff is incomplete. Download the complete patch.

mm/madvise.c

View file

This diff is incomplete. Download the complete patch.

mm/memcontrol-v1.c

View file

This diff is incomplete. Download the complete patch.

mm/memcontrol-v1.h

View file

This diff is incomplete. Download the complete patch.

mm/memcontrol.c

View file

This diff is incomplete. Download the complete patch.

mm/memfd.c

View file

This diff is incomplete. Download the complete patch.

mm/memfd_luo.c

View file

This diff is incomplete. Download the complete patch.

mm/memory-tiers.c

View file

This diff is incomplete. Download the complete patch.

mm/memory.c

View file

This diff is incomplete. Download the complete patch.

mm/memory_hotplug.c

View file

This diff is incomplete. Download the complete patch.

mm/mempolicy.c

View file

This diff is incomplete. Download the complete patch.

mm/migrate.c

View file

This diff is incomplete. Download the complete patch.

mm/migrate_device.c

View file

This diff is incomplete. Download the complete patch.

mm/mlock.c

View file

This diff is incomplete. Download the complete patch.

mm/mm_init.c

View file

This diff is incomplete. Download the complete patch.

mm/mmap.c

View file

This diff is incomplete. Download the complete patch.

mm/mmu_gather.c

View file

This diff is incomplete. Download the complete patch.

mm/mmu_notifier.c

View file

This diff is incomplete. Download the complete patch.

mm/mprotect.c

View file

This diff is incomplete. Download the complete patch.

mm/mremap.c

View file

This diff is incomplete. Download the complete patch.

mm/mseal.c

View file

This diff is incomplete. Download the complete patch.

mm/nommu.c

View file

This diff is incomplete. Download the complete patch.

mm/oom_kill.c

View file

This diff is incomplete. Download the complete patch.

mm/page-writeback.c

View file

This diff is incomplete. Download the complete patch.

mm/page_alloc.c

View file

This diff is incomplete. Download the complete patch.

mm/page_idle.c

View file

This diff is incomplete. Download the complete patch.

mm/page_io.c

View file

This diff is incomplete. Download the complete patch.

mm/page_reporting.c

View file

This diff is incomplete. Download the complete patch.

mm/page_vma_mapped.c

View file

This diff is incomplete. Download the complete patch.

mm/pagewalk.c

View file

This diff is incomplete. Download the complete patch.

mm/pgtable-generic.c

View file

This diff is incomplete. Download the complete patch.

mm/rmap.c

View file

This diff is incomplete. Download the complete patch.

mm/secretmem.c

View file

This diff is incomplete. Download the complete patch.

mm/shmem.c

View file

This diff is incomplete. Download the complete patch.

mm/shrinker.c

View file

This diff is incomplete. Download the complete patch.

mm/slab.h

View file

This diff is incomplete. Download the complete patch.

mm/sparse-vmemmap.c

View file

This diff is incomplete. Download the complete patch.

mm/sparse.c

View file

This diff is incomplete. Download the complete patch.

mm/swap.c

View file

This diff is incomplete. Download the complete patch.

mm/swap.h

View file

This diff is incomplete. Download the complete patch.

mm/swap_state.c

View file

This diff is incomplete. Download the complete patch.

mm/swap_table.h

View file

This diff is incomplete. Download the complete patch.

mm/swapfile.c

View file

This diff is incomplete. Download the complete patch.

mm/truncate.c

View file

This diff is incomplete. Download the complete patch.

mm/userfaultfd.c

View file

This diff is incomplete. Download the complete patch.

mm/util.c

View file

This diff is incomplete. Download the complete patch.

mm/vma.c

View file

This diff is incomplete. Download the complete patch.

mm/vma.h

View file

This diff is incomplete. Download the complete patch.

mm/vma_exec.c

View file

This diff is incomplete. Download the complete patch.

mm/vmalloc.c

View file

This diff is incomplete. Download the complete patch.

mm/vmscan.c

View file

This diff is incomplete. Download the complete patch.

mm/vmstat.c

View file

This diff is incomplete. Download the complete patch.

mm/workingset.c

View file

This diff is incomplete. Download the complete patch.

mm/zsmalloc.c

View file

This diff is incomplete. Download the complete patch.

mm/zswap.c

View file

This diff is incomplete. Download the complete patch.

net/core/netmem_priv.h

View file

This diff is incomplete. Download the complete patch.

net/core/page_pool.c

View file

This diff is incomplete. Download the complete patch.

net/ipv4/tcp.c

View file

This diff is incomplete. Download the complete patch.

rust/kernel/mm/virt.rs

View file

This diff is incomplete. Download the complete patch.

security/selinux/hooks.c

View file

This diff is incomplete. Download the complete patch.

tools/include/linux/bitmap.h

View file

This diff is incomplete. Download the complete patch.

tools/lib/bitmap.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/radix-tree/maple.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/cgroup/test_memcontrol.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/cgroup/test_zswap.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/damon/_damon_sysfs.py

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/damon/config

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/damon/drgn_dump_damon_status.py

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/damon/sysfs.py

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/kho/init.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/.gitignore

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/Makefile

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/folio_split_race_test.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/memory-failure.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/migration.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/pagemap_ioctl.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/selftests/mm/run_vmtests.sh

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/include/custom.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/include/dup.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/include/stubs.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/main.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/shared.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/shared.h

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/tests/merge.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/tests/mmap.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/tests/vma.c

View file

This diff is incomplete. Download the complete patch.

tools/testing/vma/vma_internal.h

View file

This diff is incomplete. Download the complete patch.

virt/kvm/kvm_main.c

View file

This diff is incomplete. Download the complete patch.