[PATCH net-next v5 0/7] net: skb: isolate skb data area allocations into a separate bucket

From: Kees Cook

Date: Fri Oct 02 2026 - 19:12:19 EST


Hi!

This gets the buckets able to handle memcg (GFP_KERNEL_ACCOUNT) with
isolation (since it's common due to AF_UNIX), and GFP_DMA with fall back
(since it's rare). It gave me an excuse to build out bucket kunit tests
too, and that (and LLM review) found a couple other issues that needed
fixing too.

The bulk of this is mm/slab, but the final patch is netdev, which Paolo
acked in v4, so I'm hoping this whole series can go via slab?

Thanks!

-Kees

v5:
- 2/7: kmem_buckets_create() and kmem_buckets_create_types() take an
alignment, where kmem_cache_create() has it; 0 keeps v4's behaviour,
the alignment of the kmalloc cache being mirrored. All callers pass 0.
New subject: "mm/slab: Let kmem_buckets_create() take an alignment"
(Harry)
- 4/7: test that an explicit alignment is honored.
- 5/7: export mem_cgroup_kmem_disabled() for KUnit only, fixing a
modular build of slub_kunit (Harry).
- 6/7: commit log shows the per-set cost of indexing rows by
kmalloc_cache_type; test that an explicit alignment reaches the
accounted row too.
- 7/7: pass the new alignment argument.
- Collected tags on 1/7 (Harry, Pedro, Hao) and 7/7 (Paolo).
- v4..v5 diff: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/diff/?id=dev/v7.3-rc2/skb-buckets/v5&id2=dev/v7.3-rc2/skb-buckets/v4
v4: https://lore.kernel.org/all/20260921075811.too.775-kees@xxxxxxxxxx/
v3: https://lore.kernel.org/all/20260702170728.168755-1-pfalcato@xxxxxxx/


Kees Cook (6):
mm/slab: Mark the kmem_buckets_create() context as a Context: section
mm/slab: Let kmem_buckets_create() take an alignment
mm/slab: Add kmem_buckets_destroy()
mm/slab: Add tests for the existing kmem_buckets behaviour
mm/slab: Provide kmalloc type fallback for bucket allocations
mm/slab: Let a bucket set handle __GFP_ACCOUNT

Pedro Falcato (1):
net: skb: isolate skb data area allocations into a separate bucket

include/linux/slab.h | 66 ++++++-
mm/slab.h | 44 ++++-
ipc/msgutil.c | 2 +-
lib/tests/slub_kunit.c | 397 +++++++++++++++++++++++++++++++++++++++++
mm/memcontrol.c | 2 +
mm/slab_common.c | 173 +++++++++++++++---
mm/util.c | 2 +-
net/core/skbuff.c | 11 +-
8 files changed, 663 insertions(+), 34 deletions(-)

--
2.34.1