Re: [linux-next:master] [mm/slub] 8952728641: BUG_kmem_cache:Freepointer_corrupt
"Harry Yoo (Oracle)" <[email protected]> Thu, 30 Apr 2026 17:12:27 +0900
| Newsgroups | dev.linux.lists.oe-lkp,org.kvack.linux-mm |
|---|---|
| Message-ID | <4sw3gj2ugc4v5ek3jv4h3da2r5lnrsio44kcpqf5cw7ncjeofu@wqyp5tavlq3w> |
Taking a quick look...
On Thu, Apr 30, 2026 at 02:16:37PM +0800, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed "BUG_kmem_cache:Freepointer_corrupt" on:
>
> commit: 8952728641305ebcd03e80f79b8d31bb41d6d95f ("mm/slub: defer freelist construction until after bulk allocation from a new slab")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
>
> [test failed on linux-next/master 9974969c14031a097d6b45bcb7a06bb4aa525c40]
>
> in testcase: boot
>
> config: x86_64-randconfig-001-20251114
> compiler: gcc-14
> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 32G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
[...]
> [ 53.929047][ T0] =============================================================================
> [ 53.931786][ T0] BUG kmem_cache (Tainted: G T ): Freepointer corrupt
> [ 53.934858][ T0] -----------------------------------------------------------------------------
> [ 53.934858][ T0]
> [ 53.934858][ T0] -----------------------------------------------------------------------------
> [ 53.934858][ T0]
> [ 53.939608][ T0] Slab 0xffffea0004001040 objects=9 used=1 fp=0xffff888100041200 flags=0x4000000000000000(zone=2)
> [ 53.944008][ T0] Object 0xffff888100041040 @offset=64 fp=0x64ae22a70baa83ae
> [ 53.944008][ T0]
> [ 53.944008][ T0] Object 0xffff888100041040 @offset=64 fp=0x64ae22a70baa83ae
> [ 53.944008][ T0]
> [ 53.950913][ T0] Redzone ffff888100041000: bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
> [ 53.954703][ T0] Redzone ffff888100041010: bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
> [ 53.957662][ T0] Redzone ffff888100041020: bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
> [ 53.960527][ T0] Redzone ffff888100041030: bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb bb ................
> [ 53.963607][ T0] Object ffff888100041040: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.966785][ T0] Object ffff888100041050: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.969753][ T0] Object ffff888100041060: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.972621][ T0] Object ffff888100041070: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.975559][ T0] Object ffff888100041080: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.978756][ T0] Object ffff888100041090: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.981898][ T0] Object ffff8881000410a0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.985140][ T0] Object ffff8881000410b0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.988289][ T0] Object ffff8881000410c0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.991279][ T0] Object ffff8881000410d0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.993987][ T0] Object ffff8881000410e0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.996539][ T0] Object ffff8881000410f0: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 53.999493][ T0] Object ffff888100041100: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
> [ 54.002253][ T0] Object ffff888100041110: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk.
> [ 54.005170][ T0] Redzone ffff888100041120: bb bb bb bb bb bb bb bb ........
> [ 54.007879][ T0] Padding ffff888100041180: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
> [ 54.010661][ T0] Padding ffff888100041190: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
> [ 54.013403][ T0] Padding ffff8881000411a0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
> [ 54.016151][ T0] Padding ffff8881000411b0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ
the object content has 0x6b (POISON_FREE) and there is no free pointer
because we skipped it when allocating objects from a new slab.
> [ 54.019282][ T0] Disabling lock debugging due to kernel taint
> [ 54.021208][ T0] ------------[ cut here ]------------
> [ 54.022797][ T0] WARNING: mm/slub.c:1231 at object_err+0x6c/0x7f, CPU#0: swapper/0
> [ 54.077963][ T0] <TASK>
> [ 54.079139][ T0] check_object.cold+0x4b/0x50
> [ 54.080583][ T0] alloc_debug_processing+0x9b/0x180
But alloc_debug_processing() always expect a valid free pointer (within
the slab or NULL.
I think it can be fixed by initializing the free pointer in
before calling alloc_debug_processing() in alloc_single_from_new_slab().
(with a comment explaining why)
Could you respin the patch with the issue addressed, Shengming?
> [ 54.082495][ T0] alloc_single_from_new_slab+0x82/0x200
> [ 54.084323][ T0] ? alloc_slab_obj_exts_early+0x5/0x2c0
> [ 54.086455][ T0] ? allocate_slab+0x11b/0x380
> [ 54.087892][ T0] ___slab_alloc+0x1ad/0x340
> [ 54.089129][ T0] ? bootstrap+0x20/0xb0
> [ 54.090520][ T0] kmem_cache_alloc_noprof+0x30b/0x540
> [ 54.092010][ T0] ? bootstrap+0x20/0xb0
> [ 54.093328][ T0] bootstrap+0x20/0xb0
> [ 54.094484][ T0] kmem_cache_init+0xbb/0x330
> [ 54.095786][ T0] ? preallocate_vmalloc_pages+0x1a4/0x2b0
> [ 54.097485][ T0] mm_core_init+0x12b/0x170
> [ 54.098935][ T0] start_kernel+0x173/0x370
> [ 54.100291][ T0] x86_64_start_reservations+0x28/0x30
> [ 54.101912][ T0] x86_64_start_kernel+0x131/0x140
> [ 54.103325][ T0] common_startup_64+0xbd/0xc8
> [ 54.131853][ T0] FIX kmem_cache: Marking all objects used
--
Cheers,
Harry / Hyeonggon