]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge tag 'slab-for-7.0-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabk... master
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 16 Feb 2026 21:41:38 +0000 (13:41 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 16 Feb 2026 21:41:38 +0000 (13:41 -0800)
Pull more slab updates from Vlastimil Babka:

 - Two stable fixes for kmalloc_nolock() usage from NMI context (Harry
   Yoo)

 - Allow kmalloc_nolock() allocations to be freed with kfree() and thus
   also kfree_rcu() and simplify slabobj_ext handling - we no longer
   need to track how it was allocated to use the matching freeing
   function (Harry Yoo)

* tag 'slab-for-7.0-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
  mm/slab: drop the OBJEXTS_NOSPIN_ALLOC flag from enum objext_flags
  mm/slab: allow freeing kmalloc_nolock()'d objects using kfree[_rcu]()
  mm/slab: use prandom if !allow_spin
  mm/slab: do not access current->mems_allowed_seq if !allow_spin

1  2 
include/linux/memcontrol.h
include/linux/rcupdate.h
mm/kmemleak.c
mm/slub.c

Simple merge
Simple merge
diff --cc mm/kmemleak.c
Simple merge
diff --cc mm/slub.c
index 42df791279d94091b0c3c7dface9cdf08447577c,18c30872d1962ffb97a0ad9b9f27c56c0bfa2d44..865bc050f6549ed40e414ec9bc5bfc5f87d913f3
+++ b/mm/slub.c
@@@ -8334,9 -8373,11 +8377,12 @@@ void __init kmem_cache_init(void
  
  void __init kmem_cache_init_late(void)
  {
 -      flushwq = alloc_workqueue("slub_flushwq", WQ_MEM_RECLAIM, 0);
 +      flushwq = alloc_workqueue("slub_flushwq", WQ_MEM_RECLAIM | WQ_PERCPU,
 +                                0);
        WARN_ON(!flushwq);
+ #ifdef CONFIG_SLAB_FREELIST_RANDOM
+       prandom_init_once(&slab_rnd_state);
+ #endif
  }
  
  int do_kmem_cache_create(struct kmem_cache *s, const char *name,