aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
AgeCommit message (Expand)AuthorFilesLines
2025-04-24mm, slab: clean up slab->obj_exts alwaysZhenhua Huang1-22/+8
2025-04-14slab: ensure slab->obj_exts is clear in a newly allocated slab pageSuren Baghdasaryan1-0/+10
2025-04-01Merge tag 'mm-stable-2025-03-30-16-52' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-19/+32
2025-03-20Merge branch 'slab/for-6.15/kfree_rcu_tiny' into slab/for-nextVlastimil Babka1-0/+46
2025-03-16alloc_tag: uninline code gated by mem_alloc_profiling_key in slab allocatorSuren Baghdasaryan1-19/+32
2025-03-06slub: Handle freelist cycle in on_freelist()Lilith Gkini1-4/+12
2025-03-04slab: Mark large folios for debugging purposesMatthew Wilcox (Oracle)1-0/+7
2025-03-04mm, slab: cleanup slab_bug() parametersVlastimil Babka1-10/+18
2025-03-04mm: slub: call WARN() when detecting a slab corruptionHyesoo Yu1-18/+29
2025-03-04mm: slub: Print the broken data before restoring themHyesoo Yu1-18/+14
2025-03-04slab: Achieve better kmalloc caches randomization in kvmallocGONG Ruiqi1-3/+3
2025-03-04slab: Adjust placement of __kvmalloc_node_noprofGONG Ruiqi1-0/+162
2025-02-05rcu, slab: use a regular callback function for kvfree_rcuVlastimil Babka1-0/+46
2025-01-28Merge tag 'driver-core-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-8/+5
2025-01-15slub: don't mess with ->d_nameAl Viro1-8/+5
2025-01-13mm/migrate: remove slab checks in isolate_movable_page()Hyeonggon Yoo1-4/+0
2025-01-13kasan: make kasan_record_aux_stack_noalloc() the default behaviourPeter Zijlstra1-1/+1
2025-01-13slab: allocate frozen pagesMatthew Wilcox (Oracle)1-3/+3
2024-12-10memcg: slub: fix SUnreclaim for post charged objectsShakeel Butt1-3/+18
2024-11-16Merge branch 'slab/for-6.13/features' into slab/for-nextVlastimil Babka1-0/+43
2024-11-16mm/slab: Allow cache creation to proceed even if sysfs registration failsHyeonggon Yoo1-8/+18
2024-11-16mm/slub: Avoid list corruption when removing a slab from the full listyuan.gao1-1/+8
2024-11-16mm/slub: Improve redzone check and zeroing for krealloc()Feng Tang1-22/+58
2024-11-16mm/slub: Consider kfence case for get_orig_size()Feng Tang1-0/+3
2024-10-29SLUB: Add support for per object memory policiesChristoph Lameter1-0/+43
2024-10-29mm/slub: Move krealloc() and related code to slub.cFeng Tang1-0/+84
2024-10-29mm/kasan: Don't store metadata inside kmalloc object when slub_debug_orig_siz...Feng Tang1-17/+0
2024-10-02mm, slab: suppress warnings in test_leak_destroy kunit testVlastimil Babka1-2/+3
2024-09-18Merge tag 'slab-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-141/+271
2024-09-16Merge tag 'vfs-6.12.file' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-7/+13
2024-09-13Merge branch 'slab/for-6.12/kmem_cache_args' into slab/for-nextVlastimil Babka1-79/+81
2024-09-13Merge branch 'slab/for-6.12/rcu_barriers' into slab/for-nextVlastimil Babka1-8/+131
2024-09-10slab: remove rcu_freeptr_offset from struct kmem_cacheChristian Brauner1-18/+7
2024-09-10slab: pass struct kmem_cache_args to do_kmem_cache_create()Christian Brauner1-1/+16
2024-09-10slab: pull kmem_cache_open() into do_kmem_cache_create()Christian Brauner1-70/+62
2024-09-10slab: s/__kmem_cache_create/do_kmem_cache_create/gChristian Brauner1-1/+1
2024-09-10memcg: add charging of already allocated slab objectsShakeel Butt1-0/+53
2024-09-03mm, slub: avoid zeroing kmalloc redzonePeng Fan1-47/+53
2024-09-01mm/slub: add check for s->flags in the alloc_tagging_slab_free_hookHao Ge1-0/+4
2024-08-29mm: add kmem_cache_create_rcu()Christian Brauner1-7/+13
2024-08-27slub: Introduce CONFIG_SLUB_RCU_DEBUGJann Horn1-8/+71
2024-08-27kasan: catch invalid free before SLUB reinitializes the objectJann Horn1-0/+7
2024-08-26Reenable NUMA policy support in the slab allocatorChristoph Lameter1-1/+5
2024-08-26mm, slub: print CPU id (and its node) on slab OOMAxel Rasmussen1-2/+3
2024-07-30mm, slub: do not call do_slab_free for kfence objectRik van Riel1-0/+3
2024-07-21Merge tag 'mm-stable-2024-07-21-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-21/+30
2024-07-17mm, slab: put should_failslab() back behind CONFIG_SHOULD_FAILSLABVlastimil Babka1-8/+0
2024-07-15Merge branch 'slab/for-6.11/buckets' into slab/for-nextVlastimil Babka1-55/+74
2024-07-11mm, slab: move prepare_slab_obj_exts_hook under CONFIG_MEM_ALLOC_PROFILINGSuren Baghdasaryan1-27/+21
2024-07-10mm: remove CONFIG_MEMCG_KMEMJohannes Weiner1-5/+5
2024-07-04mm, slab: move allocation tagging code in the alloc path into a hookSuren Baghdasaryan1-36/+50
2024-07-03mm: slub: disable KMSAN when checking the padding bytesIlya Leoshkevich1-4/+12
2024-07-03mm: slub: let KMSAN access metadataIlya Leoshkevich1-0/+2
2024-07-03kmsan: support SLAB_POISONIlya Leoshkevich1-4/+11
2024-07-03mm/slab: Plumb kmem_buckets into __do_kmalloc_node()Kees Cook1-10/+10
2024-06-24mm/slab: fix 'variable obj_exts set but not used' warningSuren Baghdasaryan1-3/+4
2024-06-24slab: delete useless RED_INACTIVE and RED_ACTIVEChengming Zhou1-2/+2
2024-06-07slab: don't put freepointer outside of object if only orig_sizeChengming Zhou1-5/+6
2024-06-07slab: make check_object() more consistentChengming Zhou1-21/+41
2024-06-05codetag: avoid race at alloc_slab_obj_extsThadeu Lima de Souza Cascardo1-2/+3
2024-05-31mm: Reduce the number of slab->folio castsMatthew Wilcox (Oracle)1-4/+2
2024-05-28mm, slab: don't wrap internal functions with alloc_hooks()Vlastimil Babka1-13/+13
2024-05-19Merge tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-187/+279
2024-05-13Merge tag 'slab-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/vb...Linus Torvalds1-32/+86
2024-05-02mm/slub: mark racy access on slab->freelistlinke li1-1/+1
2024-05-01mm/slub: avoid zeroing outside-object freepointer for single freeNicolas Bouchinet1-23/+29
2024-04-25mm, slab: move slab_memcg hooks to mm/memcontrol.cVlastimil Babka1-101/+2
2024-04-25mm, slab: move memcg charging to post-alloc hookVlastimil Babka1-103/+77
2024-04-25slub: remove use of page->flagsMatthew Wilcox (Oracle)1-8/+2
2024-04-25mm/slub: avoid recursive loop with kmemleakKees Cook1-1/+1
2024-04-25codetag: debug: introduce OBJEXTS_ALLOC_FAIL to mark failed slab_ext allocationsSuren Baghdasaryan1-7/+39
2024-04-25codetag: debug: skip objext checking when it's for objext itselfSuren Baghdasaryan1-0/+33
2024-04-25mm/slab: enable slab allocation tagging for kmalloc and friendsSuren Baghdasaryan1-25/+25
2024-04-25mm/slab: add allocation accounting into slab allocation and free pathsSuren Baghdasaryan1-1/+95
2024-04-25mm/slab: introduce SLAB_NO_OBJ_EXT to avoid obj_ext creationSuren Baghdasaryan1-2/+3
2024-04-25mm: introduce __GFP_NO_OBJ_EXT flag to selectively prevent slabobj_ext creationSuren Baghdasaryan1-0/+2
2024-04-25mm: introduce slabobj_ext to support slab object extensionsSuren Baghdasaryan1-20/+81
2024-04-25mm/slub: mark slab_free_freelist_hook() __always_inlineKent Overstreet1-3/+3
2024-04-23slub: use count_partial_free_approx() in slab_out_of_memory()Jianfeng Wang1-1/+1
2024-04-23slub: introduce count_partial_free_approx()Jianfeng Wang1-1/+38
2024-04-15slub: Set __GFP_COMP in kmem_cache by defaultHaifeng Xu1-3/+1
2024-04-09mm/slub: remove duplicate initialization for early_kmem_cache_node_alloc()Sangyun Kim1-1/+0
2024-04-04mm/slub: correct comment in do_slab_free()Xiu Jianfeng1-1/+1
2024-04-04mm/slub: simplify get_partial_node()Xiongwei Song1-8/+8
2024-04-04mm/slub: add slub_get_cpu_partial() helperXiongwei Song1-0/+10
2024-04-04mm/slub: remove the check of !kmem_cache_has_cpu_partial()Xiongwei Song1-2/+1
2024-04-02mm/slub: Reduce memory consumption in extreme scenariosChen Jun1-2/+23
2024-03-25mm/slub: mark racy accesses on slab->slabslinke li1-3/+3
2024-03-25mm/slub: remove dummy slabinfo functionsXiu Jianfeng1-10/+0
2024-03-12Merge branch 'slab/for-6.9/slab-flag-cleanups' into slab/for-linusVlastimil Babka1-3/+3
2024-03-12Merge branch 'slab/for-6.9/optimize-get-freelist' into slab/for-linusVlastimil Babka1-18/+14
2024-03-04mm, slab: remove memcg_from_slab_obj()Vlastimil Babka1-5/+0
2024-03-01mm, slab: remove the corner case of inc_slabs_node()Chengming Zhou1-11/+2
2024-03-01mm/slab: Fix a kmemleak in kmem_cache_destroy()Xiaolei Wang1-4/+2
2024-02-26mm, slab: use an enum to define SLAB_ cache creation flagsVlastimil Babka1-3/+3
2024-02-21mm, slab: fix the comment of cpu partial listChengming Zhou1-1/+1
2024-02-21mm, slab: remove unused object_size parameter in kmem_cache_flags()Chengming Zhou1-6/+3
2024-01-30mm/slub: remove parameter 'flags' in create_kmalloc_caches()Zheng Yejian1-1/+1
2024-01-23mm/slub: remove unused parameter in next_freelist_entry()Chengming Zhou1-4/+3
2024-01-23mm/slub: remove full list manipulation for non-debug slabChengming Zhou1-4/+0
2024-01-23mm/slub: directly load freelist from cpu partial slab in the likely caseChengming Zhou1-10/+11
2024-01-22mm/slub: unify all sl[au]b parameters with "slab_$param"Xiongwei Song1-18/+23
2024-01-09Merge tag 'mm-stable-2024-01-08-15-31' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-31/+38
2024-01-08mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDERKirill A. Shutemov1-2/+2
2024-01-05slub: use alloc_pages_node() in alloc_slab_page()Matthew Wilcox (Oracle)1-5/+1
2024-01-04Merge branch 'slab/for-6.8/slub-hook-cleanups' into slab/for-nextVlastimil Babka1-64/+679
2023-12-29kasan: rename and document kasan_(un)poison_object_dataAndrey Konovalov1-2/+2
2023-12-28mm/slub: free KFENCE objects in slab_free_hook()Vlastimil Babka1-12/+10
2023-12-10slub, kasan: improve interaction of KASAN and slub_debug poisoningAndrey Konovalov1-15/+26
2023-12-07mm/slub: handle bulk and single object freeing separatelyVlastimil Babka1-24/+35
2023-12-07mm/slub: introduce __kmem_cache_free_bulk() without free hooksVlastimil Babka1-9/+47
2023-12-07mm/slub: fix bulk alloc and free statsVlastimil Babka1-1/+10
2023-12-06mm/slub: optimize free fast path code layoutVlastimil Babka1-16/+24
2023-12-06mm/slub: optimize alloc fastpath code layoutVlastimil Babka1-35/+54
2023-12-06mm/slub: remove slab_alloc() and __kmem_cache_alloc_lru() wrappersVlastimil Babka1-16/+9
2023-12-06mm/slab: move kmalloc() functions from slab_common.c to slub.cVlastimil Babka1-8/+118
2023-12-06mm/slab: move kfree() from slab_common.c to slub.cVlastimil Babka1-5/+46
2023-12-06mm/slab: move struct kmem_cache_node from slab.h to slub.cVlastimil Babka1-0/+27
2023-12-06mm/slab: move memcg related functions from slab.h to slub.cVlastimil Babka1-0/+205
2023-12-06mm/slab: move pre/post-alloc hooks from slab.h to slub.cVlastimil Babka1-0/+81
2023-12-06mm/slab: move struct kmem_cache_cpu declaration to slub.cVlastimil Babka1-0/+54
2023-12-05mm/slab, docs: switch mm-api docs generation from slab.c to slub.cVlastimil Babka1-0/+21
2023-12-05slub: Update frozen slabs documentations in the sourceChengming Zhou1-4/+18
2023-12-05slub: Rename all *unfreeze_partials* functions to *put_partials*Chengming Zhou1-17/+17
2023-12-05slub: Optimize deactivate_slab()Chengming Zhou1-52/+25
2023-12-04slub: Delay freezing of partial slabsChengming Zhou1-91/+24
2023-12-04slub: Introduce freeze_slab()Chengming Zhou1-0/+27
2023-12-04slub: Prepare __slab_free() for unfrozen partial slab out of node partial listChengming Zhou1-0/+11
2023-11-22slub: Keep track of whether slub is on the per-node partial listChengming Zhou1-1/+23
2023-11-13slub: Change get_partial() interfaces to return slabChengming Zhou1-30/+33
2023-11-13slub: Reflow ___slab_alloc()Chengming Zhou1-16/+15
2023-10-02mm/slub: refactor calculate_order() and calc_slab_order()Vlastimil Babka1-11/+12
2023-10-02mm/slub: attempt to find layouts up to 1/2 waste in calculate_order()Vlastimil Babka1-10/+4
2023-10-02mm/slub: remove min_objects loop from calculate_order()Vlastimil Babka1-20/+18
2023-10-02mm/slub: simplify the last resort slab order calculationVlastimil Babka1-1/+1
2023-10-02mm/slub: add sanity check for slub_min/max_order cmdline setupFeng Tang1-0/+6
2023-07-14mm/slub: remove freelist_dereference()Vlastimil Babka1-9/+6
2023-07-14mm/slub: remove redundant kasan_reset_tag() from freelist_ptr calculationsVlastimil Babka1-16/+6
2023-07-11mm/slub: refactor freelist to use custom typeJann Horn1-11/+32
2023-06-29Merge tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/vba...Linus Torvalds1-29/+18
2023-06-05slub: Replace cmpxchg_double()Peter Zijlstra1-57/+82
2023-05-22slub: Don't read nr_slabs and total_objects directlyXiongwei Song1-7/+6
2023-05-22slub: Remove slabs_node() functionXiongwei Song1-13/+3
2023-05-22slub: Remove CONFIG_SMP defined checkXiongwei Song1-1/+1
2023-05-22slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled blockXiongwei Song1-7/+7
2023-05-22slub: Correct the error code when slab_kset is NULLXiongwei Song1-1/+1
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-5/+4
2023-04-18mm: vmscan: refactor updating current->reclaim_stateYosry Ahmed1-3/+2
2023-04-05mm, treewide: redefine MAX_ORDER sanelyKirill A. Shutemov1-3/+3
2023-04-05mm/slub: fix MAX_ORDER usage in calculate_order()Kirill A. Shutemov1-1/+1
2023-03-13mm: slub: make kobj_type structure constantThomas Weißschuh1-1/+1
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+3
2023-02-21Merge branch 'slab/for-6.3/fixes' into slab/for-linusVlastimil Babka1-5/+6
2023-02-16lib/stackdepot, mm: rename stack_depot_want_early_initAndrey Konovalov1-2/+2
2023-02-08mm, slab/slub: Ensure kmem_cache_alloc_bulk() is available earlyThomas Gleixner1-4/+5
2023-02-06mm/slub: fix memory leak with using debugfs_lookup()Greg Kroah-Hartman1-1/+1
2023-01-18mm: introduce folio_is_pfmemallocSidhartha Kumar1-1/+1
2023-01-13mm/sl{a,u}b: fix wrong usages of folio_page() for getting head pagesSeongJae Park1-1/+1
2022-12-13Merge tag 'mm-stable-2022-12-13' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-6/+1
2022-12-12Merge tag 'linux-kselftest-kunit-next-6.2-rc1' of git://git.kernel.org/pub/sc...Linus Torvalds1-1/+2
2022-12-12Merge tag 'random-6.2-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+1
2022-12-12mm: slub: test: Use the kunit_get_current_test() functionDavid Gow1-1/+2
2022-12-01Merge branch 'slub-tiny-v1r6' into slab/for-nextVlastimil Babka1-134/+288
2022-12-01mm, slub: don't aggressively inline with CONFIG_SLUB_TINYVlastimil Babka1-4/+10
2022-12-01mm, slub: remove percpu slabs with CONFIG_SLUB_TINYVlastimil Babka1-3/+99
2022-12-01mm, slub: split out allocations from pre/post hooksVlastimil Babka1-50/+80
2022-11-27mm, slub: refactor free debug processingVlastimil Babka1-71/+83
2022-11-27mm, slub: lower the default slub_max_order with CONFIG_SLUB_TINYVlastimil Babka1-1/+2
2022-11-27mm, slub: retain no free slabs on partial list with CONFIG_SLUB_TINYVlastimil Babka1-0/+5
2022-11-27mm, slub: disable SYSFS support with CONFIG_SLUB_TINYVlastimil Babka1-6/+6
2022-11-27mm, slab: ignore hardened usercopy parameters when disabledVlastimil Babka1-0/+4
2022-11-21Merge branch 'slab/for-6.2/kmalloc_redzone' into slab/for-nextVlastimil Babka1-10/+54
2022-11-21Merge branch 'slab/for-6.2/fit_rcu_head' into slab/for-nextVlastimil Babka1-11/+15
2022-11-21Merge branch 'slab/for-6.2/slub-sysfs' into slab/for-nextVlastimil Babka1-8/+16
2022-11-21mm/migrate: make isolate_movable_page() skip slab pagesVlastimil Babka1-1/+5
2022-11-21mm/slub, percpu: correct the calculation of early percpu allocation sizeBaoquan He1-1/+2
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-1/+1
2022-11-11mm/slub: extend redzone check to extra allocated kmalloc space than requestedFeng Tang1-5/+45
2022-11-10mm: kasan: Extend kasan_metadata_size() to also cover in-object sizeFeng Tang1-2/+2
2022-11-10mm/slub: only zero requested size of buffer for kzalloc when debug enabledFeng Tang1-3/+7
2022-11-08mm/slub.c: use hotplug_memory_notifier() directlyLiu Shixin1-6/+1
2022-10-24mm/slub: perform free consistency checks before call_rcuVlastimil Babka1-10/+10
2022-10-24mm/slub: remove dead code for debug caches on deactivate_slab()Hyeonggon Yoo1-14/+2
2022-10-24mm: Make failslab writable againAlexander Atanasov1-1/+15
2022-10-24mm: slub: make slab_sysfs_init() a late_initcallRasmus Villemoes1-2/+1
2022-10-24mm: slub: remove dead and buggy code from sysfs_slab_add()Rasmus Villemoes1-5/+0
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-10-10Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+41
2022-10-03mm: kmsan: call KMSAN hooks from SLUB codeAlexander Potapenko1-0/+17
2022-09-30Merge branch 'slab/for-6.1/slub_validation_locking' into slab/for-nextVlastimil Babka1-11/+14
2022-09-30mm/slub: fix a slab missed to be freed problemFeng Tang1-11/+14
2022-09-29Merge branch 'slab/for-6.1/slub_debug_waste' into slab/for-nextVlastimil Babka1-37/+117
2022-09-29Merge branch 'slab/for-6.1/trivial' into slab/for-nextVlastimil Babka1-3/+6
2022-09-26mm/slub: clean up create_unique_id()Chao Yu1-3/+6
2022-09-23mm/slub: enable debugging memory wasting of kmallocFeng Tang1-37/+117
2022-09-23Merge branch 'slab/for-6.1/slub_validation_locking' into slab/for-nextVlastimil Babka1-198/+276
2022-09-23Merge branch 'slab/for-6.1/common_kmalloc' into slab/for-nextVlastimil Babka1-225/+13
2022-09-23Merge branch 'slab/for-6.1/trivial' into slab/for-nextVlastimil Babka1-7/+2
2022-09-22mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.Maurizio Lombardi1-1/+8
2022-09-17slub: Make PREEMPT_RT support less convolutedThomas Gleixner1-32/+24