BPF reclaim, verifier fixes, and mm RFCs
BPF patches led the day with a proactive memcg reclaim helper and several verifier corrections, alongside a heated sparse compatibility dispute that drew a NAK from Linus Torvalds. Memory management work covered compaction skips, GFP_NOIO scanning, and a truncate data-loss fix.
BPF proactive memcg reclaim at v7
A v7 series on bpf-next introduces the bpf_proactive_reclaim kfunc, restricted to SYSCALL programs, so BPF can trigger memcg reclaim. The mm maintainer raised nesting concerns during review. Developers using eBPF for memory control have a concrete path to proactive reclaim once the series lands.
BPF socket leak and UAF fixes
A v3 patch series on the main kernel list closes reference leaks and a potential use-after-free in BPF socket helpers. The bug appears when sk_is_refcounted() state mutates through connect(AF_UNSPEC) followed by listen(). Socket lifetime handling in BPF becomes safer for programs that rearrange unbound sockets.
Linus NAKs is_signed_type rewrite for sparse
Linus Torvalds rejected a v2 rewrite of is_signed_type() that switched to _Generic for sparse and __bitwise compatibility, insisting sparse itself should be fixed. The 36-message thread grew heated over tracing macros and type-checking strategy. Maintainers of sparse-aware code paths need to track whether the tool or the kernel helper will change.
BPF verifier misc fixes, part 5
A v2 seven-patch set on bpf corrects two verifier bugs: cross-subprogram fall-through after CO-RE poisoning and mismatched callback map lock identities. Incorrect program acceptance is reduced. Verifier correctness remains essential for any loadable BPF workload.
Global subprog sleepability re-verification
A v2 bpf-next series forces the verifier to re-check global subprogs under each sleepability context. The change closes an RCU kptr safety gap that affected workqueue and task-work callbacks. Callers that mix sleepable and non-sleepable contexts gain tighter guarantees.
Skip direct compaction for costly NORETRY
A v4 mm/page_alloc patch clears __GFP_DIRECT_RECLAIM on costly __GFP_NORETRY orders so direct compaction is skipped. The change targets an iomap regression. High-order allocation latency under NORETRY pressure should improve.
Skip anon scan for GFP_NOIO with tiny swapcache
An RFC for mm/vmscan proposes skipping anon LRU scanning under GFP_NOIO when the swapcache is very small. The stated goal is eliminating roughly 150 ms of waste on zRAM and Android dm-verity allocations. Mobile and constrained environments stand to gain allocation latency.
Truncate data loss on failed folio split
An RFC for mm/truncate identifies data loss inside truncate_inode_partial_folio() when a second folio split fails, and supplies a fix. Filesystems that rely on partial folio truncate avoid silent corruption on the failure path.