← Back to archive

Daily update · Aug 25–26, 2026

Linux MM: zram fixes, NUMA/shmem balancing, and networking hardening

This cycle's memory-management work spans zram reliability and capacity, NUMA balancing for shmem, MGLRU reclaim fixes, and a batch of networking zero-copy and qdisc hardening.

In brief

The latest mainline pull is dominated by memory-management fixes and performance work. zram gets several correctness fixes (big-endian slot locks, bounds checks after reinitialization, compressor teardown) plus support for much larger devices. NUMA balancing now considers shmem mappings, per-node reclaim honors swappiness without memcg, and OOM-killed tasks can no longer get stuck in reclaim when zswap dominates. MGLRU sees fixes for large-folio and unevictable-folio handling, plus promotion of executable folios. Networking also gets important hardening: zero-copy skb handling bugs, a TLS offload out-of-bounds write, and qdisc soft-lockup fixes for oversized MTUs.

Memory management

NUMA balancing now covers shmem mappings

Shmem mappings were skipped by NUMA balancing due to a policy check, which hurt convergence on tiered memory systems. The fix lets shmem pages participate in NUMA balancing.

Why it matters: Better memory placement and performance for shmem-backed workloads on NUMA machines.

d230991493b5

Per-node reclaim honors swappiness without memcg

The swappiness setting for /sys/devices/system/node/nodeX/reclaim was ignored when CONFIG_MEMCG was disabled. Reclaim now applies proactive swappiness in all configurations.

Why it matters: Users can tune per-node reclaim behavior even on non-memcg kernels.

8a905195850d

OOM-killed tasks no longer stuck in reclaim

When most memory sat in zswap and LRUs were empty, OOM-killed processes could hang for hours in reclaim/OOM. Dying tasks now bypass reclaim and OOM after oom_reaper finishes.

Why it matters: Prevents long hangs after OOM kills, especially on zswap-heavy systems.

6b0d1083364f

MGLRU promotes executable folios after first use

MGLRU now promotes mapped executable file folios after their first access, matching classic LRU behavior.

Why it matters: Executable code stays resident longer, reducing IO thrashing for code-heavy workloads.

0ee06ee38aed

MGLRU fixes for large and unevictable folios

The look-around path undercounted young folios when the triggering folio was large, and a shortcut for unevictable folios could leave mlock_count uninitialized.

Why it matters: More accurate reclaim decisions and fewer potential memory-management bugs on MGLRU systems.

508537753b5cf7e698e326b2

Memcg LRU accounting fixed on reparenting

When a memory cgroup is offlined, its LRU folios are reparented, but per-zone LRU size counters were copied instead of moved, leaving stale values.

Why it matters: More accurate reclaim decisions and fewer unexpected pressure/OOM events in container workloads.

0e0ac326c511

Memcg reference leak fixed when stock slots empty

A css reference was not released when a memcg stock slot's cached pages were fully consumed, leaving dying memcgs lingering.

Why it matters: Lower memory overhead and faster memcg cleanup under container churn.

48863da10ba1

vmalloc size overflow fixed for areas >= 4 GiB

vm_struct.nr_pages was 32-bit, so byte-size calculations wrapped for vmalloc areas of 4 GiB or larger. It is now unsigned long.

Why it matters: Correct /proc/kcore reads and vrealloc behavior for very large vmalloc allocations.

272b0d84b17f

Hugetlb reservation underflow fixed on shared unmap

Unmapping a hugetlb page mapped in both parent and child could underflow the reserved count. The reservation is now adjusted only when mapcount is zero.

Why it matters: Prevents hugetlb reservation accounting errors in shared mappings.

5120b1e048d4

Memcg reclaim loop fixed under concurrent limit updates

Concurrent writes to memory.max could make reclaim chase a stale target and loop indefinitely. The loop now checks the current limit.

Why it matters: Prevents reclaim hangs and spurious OOM events in cgroup v2.

9477820c63cb

GUP no longer drains LRU caches unnecessarily

The check for LRU-cached folios was wrong for small folios, causing global LRU cache drains on every long-term pin. The logic is corrected.

Why it matters: Lower overhead for FOLL_PIN users like RDMA and GPU drivers.

078e1a0fc41a

xarray split now charges memory to memcg

xas_split_alloc() did not add __GFP_ACCOUNT when XA_FLAGS_ACCOUNT was set, leading to incorrect memory accounting.

Why it matters: More accurate memcg accounting for page cache splits.

789763523fb4

Device migration stale mapping fixed

Device migration could use a stale mapping after freeing the swapcache, causing reference count bugs. The mapping is now cleared and split folios are processed correctly.

Why it matters: Stability fix for HMM/device migration users.

34a00895d032

Memory failure handling works without compaction

MEMORY_FAILURE now selects MIGRATION, so soft offline of faulty pages works even on embedded systems that disable compaction, memory hotplug, or CMA.

Why it matters: Reliable handling of correctable memory errors on ECC-equipped embedded devices with minimal kernel configs.

a1b114b4cec1

New vmstat counters for LRU rotation and swap I/O

pgrotate_anon and pgrotate_file track pages rotated on LRU lists during reclaim, while NRSWPIN/NRSWPOUT count swap I/O operations.

Why it matters: Better visibility into reclaim activity and swap I/O efficiency.

1b089def0fb8c01e6df60e7b

Free page reporting delay is now tunable

Free page reporting now uses a page_reporting_delay_ms module parameter (default 2000 ms) instead of a hardcoded interval.

Why it matters: Administrators can tune memory reclamation behavior in virtualized environments.

7a39f03bc9da

kmemleak scans avoid RCU-tasks stalls

kmemleak_scan() now reports RCU-tasks quiescent states, preventing RCU stalls and hung task warnings on large debug kernels.

Why it matters: More reliable kmemleak for kernel debugging.

3541a2b06ecd

zram and zswap

zram slot lock corruption fixed on big-endian 64-bit

On 64-bit big-endian systems, the slot lock bit was in the wrong half of the lock word, so storing access time could clear the lock or make it appear permanently held.

Why it matters: Prevents rare data corruption and hangs when using zram swap on s390 and some PowerPC systems.

a8b5875741d4

zram bounds checks fixed after device reinitialization

Two sysfs operations (writeback_store and read_block_state) could compute scan bounds from a stale disksize after a device reset, leading to out-of-bounds slot accesses.

Why it matters: Prevents potential memory corruption or crashes when using zram writeback or memory tracking during reconfiguration.

894913e2d35c391f057f44a5

zram devices can now be much larger

zram switched its internal page indexing from unsigned int to unsigned long, removing a size limit on maximum device capacity.

Why it matters: Users can create zram devices larger than the previous limit, useful for systems with very large RAM or swap requirements.

184bf187c45b

zram compressor teardown and deflate validation fixed

zram could leave the primary compressor NULL after teardown, and user-supplied deflate winbits were not validated before use.

Why it matters: Improved stability and safety for zram users.

dde75313eed0ec7607ac4717

zram recompression size-class accounting fixed

Recompression used raw payload size to decide if a smaller zsmalloc class would be used, but zsmalloc adds a handle size before class selection.

Why it matters: Recompression now actually saves memory near class boundaries and avoids useless recompressions.

f7bf5cd5b5f2

zswap writeback works without memory cgroups

The zswap global shrinker failed to run when CONFIG_MEMCG was disabled, leaving the pool full and causing store failures.

Why it matters: zswap works properly on systems built without memory cgroups, avoiding swap stalls and LRU inversion.

dc8458f43fe9

zswap writeback is batched for efficiency

The zswap shrinker now writes back up to SWAP_CLUSTER_MAX pages per node instead of one at a time.

Why it matters: Less CPU overhead and faster reclaim of zswap pages under memory pressure.

6f34b4126b8b

zswap shrinker lock contention reduced on large systems

zswap_shrinker_count() now uses a ratelimited stats flush instead of a synchronous full cgroup rstat flush.

Why it matters: Improved performance for zswap users on high-core-count servers by reducing kswapd overhead.

1f2b4b28aafe

Swap and reclaim

Block swap I/O is now batched

Block-based swap uses the same swap_iocb batching mechanism as file-based swap, building bios on the fly.

Why it matters: Faster swap-in/swap-out on block devices and fewer bio allocations.

dda8fb68b590

Synchronous swap devices get single-folio writes

Swap writes to synchronous devices like zram are submitted per folio instead of batched, helping the LRU scanner clear writeback bits more efficiently.

Why it matters: Improved swap performance and reclaim behavior for zram and similar devices.

3c5194eb2e64

lru_lock contention reduced during reclaim

The anon/file scan-balance cost is now derived from vmstat counters instead of being updated under lru_lock.

Why it matters: Less lock contention under memory pressure, improving scalability.

7b9f4e5f8101

swapon rejects filesystem-level encrypted files

swapon() now refuses to use filesystem-level encrypted files as swap, preventing encryption bypass.

Why it matters: Closes a security hole where swap could leak encrypted file contents.

c310a8932a31

shmem fallocate overflow fixed at maximum file size

shmem_fallocate() could overflow its page-aligned end calculation for requests near MAX_LFS_FILESIZE.

Why it matters: Prevents potential crashes or corruption when using fallocate() on tmpfs with very large offsets.

a44730dd05a3

memfd_create() works on NOMMU systems

memfd_create() failed with EFBIG on NOMMU because a zero size was passed to get_order().

Why it matters: Enables memfd_create() usage on NOMMU platforms.

32c9625638c2

lowmem_reserve_ratio sysctl write handling fixed

The sysctl handler now propagates errors and only updates lowmem_reserve_ratio on actual writes, not reads.

Why it matters: Correct sysctl behavior and error reporting.

8282cb36d021

Networking

OVS packet error handling could corrupt IPsec data

OVS called skb_tx_error() on a packet it was not dropping, stripping a page-ownership flag from a live skb. This could cause ESP-in-UDP decryption to overwrite page-cache pages the sender still owned.

Why it matters: Users running OVS with IPsec (ESP-in-UDP) avoid potential data corruption and security issues.

0dbc2398fca3

Zero-copy networking skb handling bugs fixed

Several fixes address destructive skb_tx_error() calls on skbs that are not owned, a head-page leak in skb_zerocopy(), and a missing readability check before uncloning.

Why it matters: High-performance networking applications using MSG_ZEROCOPY or OVS/nfnetlink queueing get more reliable and secure packet handling.

8ece90615012f66bdb1cc0fc97148bcb751100e11ee9831b

TLS device offload out-of-bounds write fixed

tls_append_frag() could write past the end of the record's fragment array when using TLS_TX_ZEROCOPY_RO with MSG_MORE and small splices. Found by syzkaller.

Why it matters: Users with NICs supporting TLS offload and zero-copy TLS transmissions avoid potential crashes or memory corruption.

b17cf742eaad

virtio-vsock use-after-free fixed on removal

virtio_vsock_remove() flushed work items in an order that could allow a newly queued rx_work to run after the vsock device was freed.

Why it matters: Virtual machines using vsock (QEMU/KVM) get a more stable shutdown/removal path.

728836ebca23

qdisc soft lockups with oversized MTU prevented

Several qdiscs (fq, fq_codel, codel, fq_pie, hhf, sfq) computed default quantum/MTU values from psched_mtu() without clamping. A huge MTU could cause signed integer overflow, infinite loops, and soft lockups.

Why it matters: Administrators who configure large MTUs on dummy or other devices avoid system lockups; also prevents a potential DoS vector.

709f34f7c28dd9ebd8f9aa8b6439461f1618c86cd7ed0b0e2164b512b97b816e90057ab1

KSM and other core changes

KSM daemon wakeup race fixed

A race in __ksm_enter() could cause the KSM daemon to miss a wakeup when the last mm slot was removed concurrently, leaving new pages unmerged.

Why it matters: Kernel Samepage Merging continues to work reliably, important for virtualization and memory overcommit.

3c37cac718fa

Percentage-based hugetlb CMA reservation supported

The hugetlb_cma kernel parameter now accepts percentages (e.g., hugetlb_cma=20%) in addition to absolute sizes.

Why it matters: Simplifies deployment of a single kernel command line across machines with different memory sizes.

34e0849142c3

ioctl-based filtering added to /proc/allocinfo

A new ioctl interface for /proc/allocinfo lets userspace filter allocation profiling data by module, function, file, line, size, and accuracy without parsing full text output.

Why it matters: Developers and monitoring tools can efficiently query allocation profiles with less overhead.

1d581ab2348c5732a4e4c18a6f6769ea88f833588e0b81df

Memcg statistics cache-line contention reduced

Memcg event counters were moved onto the same cache line as the hot vmstats_percpu pointer, causing false sharing. The pointer is now cache-line aligned.

Why it matters: Improved performance for workloads that frequently update memcg swap-fail events on large systems.

c1afbd5de131

Source commits195 entries +
32c9625638c2

tmpfs/ramfs: let memfd_create() work on nommu

Daniel Palmer · May 23, 2026 · 1 files

9b5e4809806c

maple_tree: remove undocumented CONFIG_MAPLE_RCU_DISABLED macro

Ethan Nelson-Moore · Jun 10, 2026 · 1 files

22709abff9d0

mm: fix CONFIG_STACK_GROWSUP typo in tools/testing/vma/include/dup.h

Ethan Nelson-Moore · Jun 11, 2026 · 1 files

d230991493b5

mm: mempolicy: fix automatic numa balancing for shmem

Johannes Weiner · Jun 29, 2026 · 1 files

644ad84870ab

mm: nommu: point to the write iterator upon split_vma

Hajime Tazaki · Jul 2, 2026 · 1 files

1f2b4b28aafe

mm/zswap: use ratelimited stats flush in zswap_shrinker_count()

Yunzhao Li · Jul 2, 2026 · 1 files

1eba458a54d0

mm/kconfig: drop redundant memory hotplug dependencies

Kaitao Cheng · Jul 7, 2026 · 1 files

1d581ab2348c

alloc_tag: add ioctl to /proc/allocinfo

Suren Baghdasaryan · Jul 8, 2026 · 7 files

5732a4e4c18a

alloc_tag: add ioctl filters to /proc/allocinfo

Abhishek Bapat · Jul 8, 2026 · 2 files

6f6769ea88f8

alloc_tag: add size-based filtering to ioctl

Abhishek Bapat · Jul 8, 2026 · 2 files

33588e0b81df

alloc_tag: add accuracy based filtering to ioctl

Abhishek Bapat · Jul 8, 2026 · 2 files

2f252a7a6c90

kselftest: alloc_tag: add kselftest for ioctl interface

Abhishek Bapat · Jul 8, 2026 · 4 files

923690d80993

kselftest: alloc_tag: extend the allocinfo ioctl kselftest

Abhishek Bapat · Jul 8, 2026 · 1 files

092836fedd82

mm: standardize printing for pgtable entries

David Hildenbrand (Arm) · Jul 9, 2026 · 1 files

0b4268ac77fa

mm/kconfig: drop redundant dependency wrappers

Kaitao Cheng · Jul 12, 2026 · 1 files

a8efc69a65fb

shmem: provide a shmem_write_folio wrapper

Christoph Hellwig · Jul 13, 2026 · 5 files

8f29aa226f82

mm/swap: introduce struct swap_io_ctx

Christoph Hellwig · Jul 13, 2026 · 7 files

dda8fb68b590

mm/swap: also use struct swap_iocb for block I/O

Christoph Hellwig · Jul 13, 2026 · 3 files

4e915b16ded2

mm/swap: remove count_swpout_vm_event

Christoph Hellwig · Jul 13, 2026 · 1 files

563597895e65

mm/swap: use swap_ops to register swap device's methods

Christoph Hellwig · Jul 13, 2026 · 4 files

0df74c115879

mm/swap: remove SWP_FS_OPS

Christoph Hellwig · Jul 13, 2026 · 9 files

c01e6df60e7b

mm/vmstat: add NRSWP{IN,OUT} counters

Christoph Hellwig · Jul 13, 2026 · 3 files

fb496eb06230

mm: kmemleak: confirm suspected leaks with a second scan

Catalin Marinas · Jul 13, 2026 · 1 files

e776db8e7101

mm: kmemleak: report leaks only after N consecutive unreferenced scans

Breno Leitao · Jul 13, 2026 · 2 files

70a964bafe55

mm: kmemleak: factor leak confirmation into a helper

Breno Leitao · Jul 13, 2026 · 1 files

8f07855f579a

selftests: mm: test kmemleak's N-consecutive-scan leak confirmation

Breno Leitao · Jul 13, 2026 · 2 files

b090524f775b

mm/swap: fix swap_cluster_lock() !CONFIG_SWAP stub signature mismatch

Hongfu Li · Jul 17, 2026 · 1 files

3bf07ce8058b

mm: vmscan: convert folio_referenced() to use vma_flags_t

Baolin Wang · Jul 20, 2026 · 3 files

b64727d26478

mm: vmscan: add a helper to identify file-backed executable folios

Baolin Wang · Jul 20, 2026 · 1 files

0ee06ee38aed

mm: mglru: promote mapped executable folios after first usage

Baolin Wang · Jul 20, 2026 · 1 files

3541a2b06ecd

mm/kmemleak: report RCU-tasks quiescent states during the scan

Breno Leitao · Jul 20, 2026 · 1 files

62e39381b780

mm: use proper PTE accessor in move_ptes()

Alexander Gordeev · Jul 20, 2026 · 1 files

1b7c8fe294a6

memcg: move mem_cgroup_swappiness and vm_swappiness to mm/swap.h

Ridong Chen · Jul 23, 2026 · 4 files

8a905195850d

mm: vmscan: fix node reclaim ignoring swappiness parameter

Ridong Chen · Jul 23, 2026 · 1 files

3c5194eb2e64

mm/swap: revert to single-folio writes for synchronous swap devices

Christoph Hellwig · Jul 23, 2026 · 1 files

52d85ca90c7d

mm/swap: add a new swap_ops.h header to allow for pluggable swap ops

Christoph Hellwig · Jul 23, 2026 · 9 files

22779ae8175a

mm/swap: move swap_ops into file systems for file system-based swap

Christoph Hellwig · Jul 23, 2026 · 10 files

9477820c63cb

mm: memcg: stop reclaim when a limit update is superseded

Guopeng Zhang · Jul 24, 2026 · 1 files

4004c130c358

selftests/mm: skip COW tmpfile cases when fallocate() is unsupported

Muhammad Usama Anjum · Jul 27, 2026 · 1 files

e5220e4d934f

selftests/mm: skip guard hole-punch test if MADV_REMOVE is unsupported

Muhammad Usama Anjum · Jul 27, 2026 · 1 files

e14e52a7ce02

selftests/mm: skip hard dirty page-cache test on NFS

Muhammad Usama Anjum · Jul 27, 2026 · 1 files

746c94b7cb79

selftests/mm: retry migration failures for the full runtime

Muhammad Usama Anjum · Jul 27, 2026 · 1 files

a69797fb3645

mm/vmstat, mm/memcontrol: add _monotonic vmstat readers

Usama Arif · Jul 27, 2026 · 4 files

1b089def0fb8

mm/vmscan: add pgrotate_anon and pgrotate_file vmstat counters

Usama Arif · Jul 27, 2026 · 4 files

7b9f4e5f8101

mm/vmscan: reduce lru_lock contention via vmstat-derived scan-balance cost

Usama Arif · Jul 27, 2026 · 9 files

34a00895d032

mm/migrate_device: clear stale mapping after freeing swapcache

Arvind Yadav · Jul 28, 2026 · 1 files

5120b1e048d4

hugetlb: only adjust reservation during unmapping if mapcount is 0

Guillaume Morin · Jul 28, 2026 · 1 files

6b0d1083364f

memcg: bypass the reclaim and oom killer for dying tasks once oom_reaper is done

Shakeel Butt · Jul 29, 2026 · 1 files

dde75313eed0

zram: set default primary compressor in zram_destroy_comps()

Sergey Senozhatsky · Jul 29, 2026 · 1 files

ec7607ac4717

zram: validate deflate params

Sergey Senozhatsky · Jul 29, 2026 · 1 files

f74e6dff5440

Documentation: zram: correct algo parameters configuration documentation

Sergey Senozhatsky · Jul 30, 2026 · 1 files

a44730dd05a3

mm: shmem: reject page-aligned fallocate end overflow

Zhiling Zou · Jul 31, 2026 · 1 files

7822fa5f4f64

mm: zswap: drop list_lru param from zswap_lru_add() and _del()

Wilson Felipe Pereira · Jul 31, 2026 · 1 files

dd0dcfe8ef21

mm: kmemleak: default min_unref_scans to 2 for verbose auto-scan

Breno Leitao · Jul 31, 2026 · 1 files

09dde5e9bac0

Documentation: kmemleak: document the conditional min_unref_scans default

Breno Leitao · Jul 31, 2026 · 1 files

972195eb9b4c

selftests/mm: kmemleak: drop stale min_unref_scans default from comments

Breno Leitao · Jul 31, 2026 · 1 files

8380671909bf

mm/sparse: correct init section annotations

Sang-Heon Jeon · Jul 31, 2026 · 1 files

7a39f03bc9da

mm/page_reporting: add page_reporting_delay_ms module parameter

Pratyush Mallick · Jul 31, 2026 · 2 files

078e1a0fc41a

mm/gup: fix always draining LRU caches in collect_longterm_unpinnable_folios()

David Hildenbrand (Arm) · Jul 31, 2026 · 1 files

272b0d84b17f

mm/vmalloc: make vm_struct.nr_pages an unsigned long

Artem Lytkin · Aug 1, 2026 · 2 files

b9183788a2de

mm/vmalloc: do not warn on -ENOMEM from va_alloc()

Uladzislau Rezki (Sony) · Aug 2, 2026 · 1 files

c310a8932a31

mm/swap: reject swapon() on filesystem-level encrypted files

Eric Biggers · Aug 3, 2026 · 2 files

4e7e499b750f

selftests/mm: rename local_config.h to local_config.h_gen

Pratyush Mallick · Aug 3, 2026 · 4 files

2bee308f3adb

selftests/mm: use pattern matching in .gitignore

Pratyush Mallick · Aug 3, 2026 · 1 files

894913e2d35c

zram: fix out-of-bounds access in writeback_store()

Longlong Xia · Aug 4, 2026 · 1 files

391f057f44a5

zram: fix out-of-bounds access in read_block_state()

Longlong Xia · Aug 4, 2026 · 1 files

45214458d6b5

zram: do not release zstd global params from error paths

Haoqin Huang · Aug 4, 2026 · 1 files

6dc404d433ad

zram: reject zero-size dictionary

Haoqin Huang · Aug 4, 2026 · 1 files

70922d5ef84a

zram: add pr_fmt to backend files

Haoqin Huang · Aug 4, 2026 · 7 files

7b0f677c7bd5

zram: validate parameters in each backend's setup_params

Haoqin Huang · Aug 4, 2026 · 7 files

702c5a799db2

zram: reset per-priority params when changing algorithm before init

Haoqin Huang · Aug 4, 2026 · 1 files

6fd3e592c09d

mm: add some missing includes to mm-local headers

Lorenzo Stoakes (ARM) · Aug 4, 2026 · 7 files

8bc69b8d209f

selftests/mm: read memory information without popen

Warren Xiong · Aug 4, 2026 · 1 files

34568000f3c9

mm/Kconfig: make FLATMEM depend on !NUMA

Sang-Heon Jeon · Aug 4, 2026 · 1 files

0ddb8bb85b98

mm/page_ext: remove pgdat_page_ext_init()

Sang-Heon Jeon · Aug 4, 2026 · 3 files

c299a2285d9d

mm/huge_memory: use folio's memcg inside __folio_split()

Zi Yan · Aug 4, 2026 · 1 files

789763523fb4

xarray: honor XA_FLAGS_ACCOUNT in xas_split_alloc()

Zi Yan · Aug 4, 2026 · 1 files

8be7c167be57

mm/show_mem: fix format string inconsistencies and type mismatches

Ye Liu · Aug 5, 2026 · 1 files

e73aeb8a411e

mm/sparse: keep mem_section_usage_size() internal

Muchun Song · Aug 5, 2026 · 3 files

36a9799b2c86

maple_tree: remove unused mas_is_root_limits()

Zhan Xusheng · Aug 5, 2026 · 1 files

bb3e3c5c2d63

mm: debug_page_alloc: fix type mismatch for debug_guardpage_minorder

Ye Liu · Aug 5, 2026 · 1 files

a44ab4bd1ec0

ksm: update comments and docs to reference folio->mapping

Hongfu Li · Aug 5, 2026 · 3 files

3c37cac718fa

mm/ksm: avoid missing ksmd wakeups in ksm_enter

Longlong Xia · Aug 5, 2026 · 1 files

afff109c2f8b

alloc_tag: expose boot-time compression configuration

Abhishek Bapat · Aug 5, 2026 · 2 files

54cc9b384709

mm: debug_page_alloc: fix NULL buf in debug_guardpage_minorder_setup

Ye Liu · Aug 6, 2026 · 1 files

4b82a0b91be5

selftests/mm: drop duplicate test_seal_mprotect_two_vma_with_gap() call

Hongfu Li · Aug 6, 2026 · 1 files

184bf187c45b

zram: switch to unsigned long indexing

Sergey Senozhatsky · Aug 6, 2026 · 1 files

e4ce743a8f3a

selftests: mm: extend the check_huge() to support mTHP check

Baolin Wang · Aug 6, 2026 · 9 files

6995150ede28

selftests: mm: move gather_after_split_folio_orders() into vm_util.c file

Baolin Wang · Aug 6, 2026 · 3 files

6dedaf0d46a9

selftests: mm: implement the mTHP-sized hugepage check helpers

Baolin Wang · Aug 6, 2026 · 1 files

76f134aabb62

selftests: mm: add mTHP collapse test cases

Baolin Wang · Aug 6, 2026 · 2 files

3774c56cc38b

drivers/base, mm: move arch_numa.c to mm/

Mike Rapoport (Microsoft) · Aug 6, 2026 · 7 files

dc8458f43fe9

mm/zswap: fix global shrinker when memory cgroup is disabled

Hao Jia · Aug 6, 2026 · 1 files

6f34b4126b8b

mm/zswap: support batch writeback in shrink_memcg()

Hao Jia · Aug 6, 2026 · 1 files

8282cb36d021

mm/page_alloc: only update lowmem_reserve_ratio on sysctl write

Jianlin Shi · Aug 6, 2026 · 1 files

dc924f0f85af

selftests/mm/vm_util.c: correct __pagemap_scan_get_categories return value

Audra Mitchell · Aug 6, 2026 · 1 files

fc6415a384f0

mm/gup: factor out LRU cache draining for folio into lru_cache_drain_for_folio()

David Hildenbrand (Arm) · Aug 6, 2026 · 4 files

4050b5b0b60c

selftests/mm: fix read_file() return value check

Hongfu Li · Aug 7, 2026 · 2 files

34e0849142c3

mm/hugetlb_cma: support percentage-based hugetlb_cma reservation

Sourav Panda · Aug 7, 2026 · 2 files

20d4d490bc0c

mm/execmem: fix fallback_end description in kernel-doc

Henry Elderman · Aug 7, 2026 · 1 files

28b13c3c4c65

mm: make VM_FAULT_RESULT_TRACE compatible with sparse

Bart Van Assche · Aug 7, 2026 · 1 files

8790303cbaac

kasan: fix cache shrink race with CPU hotplug

Hui Su · Aug 8, 2026 · 1 files

0685630fdccb

selftests/proc: make proc-maps-race work with READ_IMPLIES_EXEC

Karl Mehltretter · Aug 8, 2026 · 1 files

f7bf5cd5b5f2

zsmalloc: account for handle size in class lookup

Longlong Xia · Aug 9, 2026 · 1 files

097492865fbe

mm/cma: remove stray newline from auto-generated CMA area name

Hongfu Li · Aug 10, 2026 · 1 files

534b19bbb677

mm/gup_test: keep longterm pin state per file

David Hildenbrand (Arm) · Aug 10, 2026 · 1 files

1dea8e081ec3

mm/page-writeback: document folio_mark_dirty() locking more explicitly

Jann Horn · Aug 10, 2026 · 2 files

556147fc27b5

mm/hmm.c:hmm_do_fault(): suppress sparse warning

Andrew Morton · Aug 10, 2026 · 1 files

a8b5875741d4

zram: fix slot lock bit position on big-endian 64-bit

David Carlier · Aug 10, 2026 · 2 files

6f615890b848

selftests/cgroup: test_zswap: skip test_no_kmem_bypass if debugfs is unavailable

Wilson Felipe Pereira · Aug 11, 2026 · 2 files

bd1ad3cf07d1

kasan: fix quarantine_size accounting during cache removal

Hui Su · Aug 11, 2026 · 1 files

b86a7d03ea53

mm/khugepaged: refactor per-scan state clearing into collapse_control_init_scan()

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

e8122742cfb4

mm/khugepaged: extract reference check into folio_pte_referenced() helper

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

948ec48e5686

mm/khugepaged: introduce a count_collapse_event() helper

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

cc044178edc9

mm/khugepaged: fix outdated comments

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

27490db7ec04

mm/khugepaged: unmap pte before releasing vma write lock

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

2a0be246e342

mm: Documentation: clarify where the mTHP stats live

Nico Pache (Red Hat) · Aug 11, 2026 · 1 files

508537753b5c

mm/mglru: fix young counter undercount for large folios

Hui Zhu · Aug 12, 2026 · 1 files

3372b6631b52

MAINTAINERS: add drivers/char/mem.c to mm misc, memory mapping sections

Lorenzo Stoakes (ARM) · Aug 12, 2026 · 1 files

73b5d07990a0

Docs/mm: fix outdated "radix tree" in page_migration

Song Hu · Aug 12, 2026 · 1 files

0d0878fd7c9b

lib/test_hmm: fix garbage pfn and wrong direction in devmem fault debug

Qiang Liu · Aug 12, 2026 · 1 files

f7e698e326b2

mm/mglru: fix and remove redundant unevictable folio handling

Kairui Song · Aug 12, 2026 · 1 files

f525001b3309

percpu: drop CONFIG_DEBUG_FORCE_WEAK_PER_CPU

Tejun Heo · Aug 12, 2026 · 4 files

79a57e48822a

thermal/drivers/qcom-spmi-mbg-tm: Add module namespace import for IIO_CONSUMER

Nathan Chancellor · Aug 13, 2026 · 1 files

a1b114b4cec1

mm/Kconfig: make MEMORY_FAILURE select MIGRATION

Xie Yuanbin · Aug 13, 2026 · 1 files

0bd14001eb26

mm/vma: introduce VMA anon page offset field and add helpers

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 5 files

51943a18ad4b

mm: provide vma_[flags_]is_cow_mapping() and remove is_cow_mapping()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 16 files

7e6543d1f939

mm: introduce linear_anon_page_index()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 3 files

c02fe674feaf

mm: abstract vma_address() and introduce vma_anon_address()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

2a8de2d1d6a5

mm: update print_bad_page_map() to show anon index if appropriate

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

dba10745e9b4

mm: introduce and use vma_filebacked_address()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 4 files

9998bc06d75b

mm/vma: fix self-merge check in copy_vma()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 2 files

746b9e0a4777

tools/testing/vma: add tests for copy_vma() self-merge

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

6a993c7fbc3e

mm: propagate VMA anonymous page offset on map, remap, split + merge

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 7 files

50c5f35a64aa

mm/rmap: track whether the page VMA mapped pgoff is anonymous

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 2 files

e7006fbd608f

mm: clean up vma_address_end()

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

8e658ecc3be2

mm/huge_memory: update remove_migration_pmd() to accept a folio

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 3 files

5f653f8b7a34

mm/migrate: calculate large folio page index using PFN

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

93c0c8dc87f6

mm/rmap: use anon pgoff to track MAP_PRIVATE file-backed anon folios

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 8 files

6b7460ad1af8

tools/testing/vma: expand VMA merge tests to assert anon pgoff

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

fb580e196497

tools/testing/selftests/mm: test anonymous page offset merge behaviour

Lorenzo Stoakes (ARM) · Aug 13, 2026 · 1 files

cdd719b3f2b8

maple_tree: fix comment typo

Mark Sercombe · Aug 13, 2026 · 1 files

f2b1cb39d5cc

arch_numa: avoid false positive fortify warning in setup_node_to_cpumask_map()

Nathan Chancellor · Aug 14, 2026 · 1 files

f52b3b89faba

mm/rmap: synchronize lock and unlock target in anon_vma_clone

Eric Kim · Aug 14, 2026 · 1 files

9add2cc22de6

mm/migrate_device: fix cache flush when replacing huge zero PMD

Hui Su · Aug 17, 2026 · 1 files

dd14e6cd3392

selftests/mm: drop redundant open() in mprotect_tests()

Hongfu Li · Aug 17, 2026 · 1 files

c1afbd5de131

mm/memcontrol: avoid false sharing between vmstats and events

Usama Arif · Aug 17, 2026 · 1 files

f9dc428249ed

mm, swap: ratelimit bad swap entry reports

Breno Leitao · Aug 18, 2026 · 1 files

dd1638dfbb1c

mm: include swap.h in swapops.h

Kiryl Shutsemau (Meta) · Aug 18, 2026 · 1 files

48863da10ba1

mm: memcg: release the css reference when a stock slot empties

Song Hu · Aug 18, 2026 · 1 files

c7a4e939f87c

selftests/mm: fix unchecked ftruncate return value in soft-dirty test

Anshuman · Aug 18, 2026 · 1 files

d16e52a9ba9e

selftests/mm: check stat() return value in khugepaged get_finfo()

Anshuman · Aug 19, 2026 · 1 files

5d3fe91b70e7

mm/vmscan: fix comment logic in balance_pgdat

Enlin Mu · Aug 21, 2026 · 1 files

9e32ec53b1ec

maple_tree: add rcu locking check when LOCKDEP is enabled

Liam R. Howlett (Oracle) · Aug 21, 2026 · 2 files

8f2109843137

locking/lockdep: add sequence counter to held_lock

Liam R. Howlett (Oracle) · Aug 21, 2026 · 4 files

19e269917dc4

maple_tree: add write lock checking with lockdep sequence numbers

Liam R. Howlett (Oracle) · Aug 21, 2026 · 2 files

5e0b9b71bcf4

maple_tree: documentation fix

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

acac9108a6a1

maple_tree: drop dead code from mas_extend_spanning_null()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

3526e09d8cab

maple_tree: drop MAPLE_ALLOC_SLOTS

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

7d1e34352727

maple_tree: clarify comments on mas_nomem()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

4bd59d5bc2c8

maple_tree: use prefetched value in mas_wr_store_type()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

88f87f881240

maple_tree: optimise mas_wr_node_store() when not in rcu mode

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

f0a3892cd726

maple_tree: micro optimisation of mas_wr_store_type()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

cf1f9bae5dac

maple_tree: add bulk parent set helper

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

35f1342e5b89

maple_tree: catch race in mas_alloc_cyclic()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

3f06ef1f34a7

maple_tree: document that erase may use GFP_KERNEL for allocations

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

f1681380b5f9

maple_tree: avoid mas_erase() and mtree_erase() failures

Liam R. Howlett (Oracle) · Aug 21, 2026 · 2 files

ee2487d9ba6c

maple_tree: document erase and allocations better

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

18d4f8e6e6ce

maple_tree: change two GFP flags in tests

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

00f67814a14e

maple_tree: fix argument name in header

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

4e4fe9d7271e

maple_tree: avoid extra gap calculation

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

d17c749d32b2

maple_tree: add helper mas_make_walkable()

Liam R. Howlett (Oracle) · Aug 21, 2026 · 1 files

0e0ac326c511

memcg: move LRU size accounting on reparenting instead of copying it

Shakeel Butt · Aug 22, 2026 · 2 files

3220b62fbb8a

net: fix a resource leak in copy_net_ns() error handling path

Tetsuo Handa · Aug 22, 2026 · 1 files

0dbc2398fca3

openvswitch: only skb_tx_error() a packet we are about to drop

Norbert Szetei · Aug 22, 2026 · 1 files

8ece90615012

net: skbuff: don't skb_tx_error() the source skb in skb_zerocopy()

Norbert Szetei · Aug 22, 2026 · 1 files

f66bdb1cc0fc

net: skbuff: don't touch shared zerocopy state in skb_tx_error()

Norbert Szetei · Aug 22, 2026 · 1 files

728836ebca23

vsock/virtio: flush works in dependency order

Chengfeng Ye · Aug 22, 2026 · 1 files

709f34f7c28d

net/sched: fq: add overflow bounds to quantum and initial quantum

Jamal Hadi Salim · Aug 22, 2026 · 1 files

d9ebd8f9aa8b

net/sched: fq_codel: clamp default quantum and mtu

Jamal Hadi Salim · Aug 22, 2026 · 1 files

6439461f1618

net/sched: sch_codel: clamp default mtu to avoid disabling CoDel

Jamal Hadi Salim · Aug 22, 2026 · 1 files

c86cd7ed0b0e

net/sched: fq_pie: clamp default quantum to avoid signed overflow

Jamal Hadi Salim · Aug 22, 2026 · 1 files

2164b512b97b

net/sched: hhf: clamp quantum before hhf_change() to avoid overflow

Jamal Hadi Salim · Aug 22, 2026 · 1 files

816e90057ab1

net/sched: sfq: clamp quantum to avoid signed overflow soft lockup

Jamal Hadi Salim · Aug 22, 2026 · 1 files

b17cf742eaad

tls: device: fix out-of-bounds write in tls_append_frag()

Jiayuan Chen · Aug 23, 2026 · 1 files

2db9bfa3e27b

sctp: fix NULL deref on untransmitted RECONF completion

Weiming Shi · Aug 23, 2026 · 1 files

81d0d1e64f30

net/sched: act_skbmod: fix length calculations and avoid invalid header warnings

Eric Dumazet · Aug 23, 2026 · 1 files

00e11ee9831b

net: core: check skb_frags_readable before uncloning in skb_copy_ubufs

Mina Almasry · Aug 23, 2026 · 1 files

97148bcb7511

net: core: fix head-page leak in skb_zerocopy

Mina Almasry · Aug 23, 2026 · 1 files

ab0304fd69b0

verification/rvgen: Use .old instead of .bak for kunit backup files

Gabriele Monaco · Aug 24, 2026 · 3 files

63f44178f0a0

sctp: distinguish sequence zero from wildcard in reconf lookup

Jun Yang · Aug 24, 2026 · 1 files

3faf13aff243

sctp: fix stream->outcnt underflow on duplicate RECONF responses

Jun Yang · Aug 24, 2026 · 2 files

dc4b95b8fee9

net/sched: sch_teql: restore skb->dev on the slave failure path

Victor Nogueira · Aug 24, 2026 · 1 files

1087c29d9c5f

Revert "thermal/core: Use the thermal class pointer as init guard"

Rafael J. Wysocki · Aug 24, 2026 · 1 files

aa4174127fe6

Revert "thermal/core: Allocate the thermal class dynamically"

Rafael J. Wysocki · Aug 24, 2026 · 1 files