[ Sasha's backport helper bot ]
Hi,
Summary of potential issues: ⚠️ Found matching upstream commit but patch is missing proper reference to it
Found matching upstream commit: be8250786ca94952a19ce87f98ad9906448bc9ef
WARNING: Author mismatch between patch and found commit: Backport author: Suren Baghdasaryansurenb@google.com Commit author: Zhenhua Huangquic_zhenhuah@quicinc.com
Status in newer kernel trees: 6.14.y | Present (different SHA1: 94107e5aed93)
Note: The patch differs from the upstream commit: --- 1: be8250786ca94 ! 1: 86ffacf03afed mm, slab: clean up slab->obj_exts always @@ Commit message Acked-by: Suren Baghdasaryan surenb@google.com Link: https://patch.msgid.link/20250421075232.2165527-1-quic_zhenhuah@quicinc.com Signed-off-by: Vlastimil Babka vbabka@suse.cz + (cherry picked from commit be8250786ca94952a19ce87f98ad9906448bc9ef) + [surenb: fixed trivial merge conflict in alloc_tagging_slab_alloc_hook(), + skipped inlining free_slab_obj_exts() as it's already inline in 6.12] + Signed-off-by: Suren Baghdasaryan surenb@google.com
## mm/slub.c ## -@@ mm/slub.c: int alloc_slab_obj_exts(struct slab *slab, struct kmem_cache *s, - return 0; - } - --/* Should be called only if mem_alloc_profiling_enabled() */ --static noinline void free_slab_obj_exts(struct slab *slab) -+static inline void free_slab_obj_exts(struct slab *slab) - { - struct slabobj_ext *obj_exts; - -@@ mm/slub.c: static noinline void free_slab_obj_exts(struct slab *slab) +@@ mm/slub.c: static inline void free_slab_obj_exts(struct slab *slab) slab->obj_exts = 0; }
@@ mm/slub.c: static inline void free_slab_obj_exts(struct slab *slab) #endif /* CONFIG_SLAB_OBJ_EXT */
#ifdef CONFIG_MEM_ALLOC_PROFILING -@@ mm/slub.c: __alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags) +@@ mm/slub.c: prepare_slab_obj_exts_hook(struct kmem_cache *s, gfp_t flags, void *p) static inline void alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags) { -- if (need_slab_obj_ext()) -+ if (mem_alloc_profiling_enabled()) - __alloc_tagging_slab_alloc_hook(s, object, flags); - } +- if (need_slab_obj_ext()) { ++ if (mem_alloc_profiling_enabled()) { + struct slabobj_ext *obj_exts;
+ obj_exts = prepare_slab_obj_exts_hook(s, flags, object); @@ mm/slub.c: static __always_inline void account_slab(struct slab *slab, int order, static __always_inline void unaccount_slab(struct slab *slab, int order, struct kmem_cache *s) ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.12.y | Success | Success |