* [vbabka:b4/sheaves-for-all] [slab] de840681a1: BUG:using_smp_processor_id()in_preemptible
@ 2025-10-16 6:08 kernel test robot
2025-10-16 17:26 ` Vlastimil Babka
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-10-16 6:08 UTC (permalink / raw)
To: Vlastimil Babka; +Cc: oe-lkp, lkp, linux-mm, oliver.sang
Hello,
kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
commit: de840681a162e0a5a0862e7a0b495fb34deab7ef ("slab: remove cpu (partial) slabs usage from allocation paths")
https://git.kernel.org/cgit/linux/kernel/git/vbabka/linux.git b4/sheaves-for-all
in testcase: boot
config: i386-randconfig-002-20251015
compiler: gcc-14
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202510161416.b7adda58-lkp@intel.com
[ 2.688724][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.690336][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.692339][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.693316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.693316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.693316][ T2] Call Trace:
[ 2.693316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.693316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.693316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.693316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.693316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.693316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.693316][ T2] ? copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.693316][ T2] kmem_cache_alloc_node_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4993)
[ 2.693316][ T2] ? copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.693316][ T2] copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.693316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.693316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.693316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.693316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.693316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.693316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.693316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.693316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.693316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.693316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.693386][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.695335][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.697340][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.698316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.698316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.698316][ T2] Call Trace:
[ 2.698316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.698316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.698316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.698316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.698316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.698316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.698316][ T2] ? __set_page_owner (mm/page_owner.c:173 mm/page_owner.c:214 mm/page_owner.c:333)
[ 2.698316][ T2] __kmalloc_cache_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:5455)
[ 2.698316][ T2] ? __set_page_owner (mm/page_owner.c:173 mm/page_owner.c:214 mm/page_owner.c:333)
[ 2.698316][ T2] __set_page_owner (mm/page_owner.c:173 mm/page_owner.c:214 mm/page_owner.c:333)
[ 2.698316][ T2] post_alloc_hook (mm/page_alloc.c:1852)
[ 2.698316][ T2] prep_new_page (mm/page_alloc.c:1860)
[ 2.698316][ T2] get_page_from_freelist (mm/page_alloc.c:3890 (discriminator 1))
[ 2.698316][ T2] __alloc_frozen_pages_noprof (mm/page_alloc.c:5184 (discriminator 1))
[ 2.698316][ T2] __alloc_pages_noprof (mm/page_alloc.c:5218)
[ 2.698316][ T2] copy_process (kernel/fork.c:367 (discriminator 1) kernel/fork.c:881 (discriminator 1) kernel/fork.c:2012 (discriminator 1))
[ 2.698316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.698316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.698316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.698316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.698316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.698316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.698316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.698316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.698316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.698316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.698369][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.700334][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.702016][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.702316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.702316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.702316][ T2] Call Trace:
[ 2.702316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.702316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.702316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.702316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.702316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.702316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.702316][ T2] ? prepare_creds (kernel/cred.c:213)
[ 2.702316][ T2] kmem_cache_alloc_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4948)
[ 2.702316][ T2] ? prepare_creds (kernel/cred.c:213)
[ 2.702316][ T2] prepare_creds (kernel/cred.c:213)
[ 2.702316][ T2] copy_creds (kernel/cred.c:314)
[ 2.702316][ T2] copy_process (kernel/fork.c:2046)
[ 2.702316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.702316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.702316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.702316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.702316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.702316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.702316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.702316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.702316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.702316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.703358][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.705335][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.707023][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.707316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.707316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.707316][ T2] Call Trace:
[ 2.707316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.707316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.707316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.707316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.707316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.707316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.707316][ T2] ? set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.707316][ T2] __kmalloc_cache_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:5455)
[ 2.707316][ T2] ? set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.707316][ T2] set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.707316][ T2] copy_process (kernel/fork.c:2110 (discriminator 1))
[ 2.707316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.707316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.707316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.707316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.707316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.707316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.707316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.707316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.707316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.707316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.707369][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.710331][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.712340][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.713316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.713316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.713316][ T2] Call Trace:
[ 2.713316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.713316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.713316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.713316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.713316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.713316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.713316][ T2] ? copy_sighand (kernel/fork.c:1611 (discriminator 2))
[ 2.713316][ T2] kmem_cache_alloc_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4948)
[ 2.713316][ T2] ? copy_sighand (kernel/fork.c:1611 (discriminator 2))
[ 2.713316][ T2] copy_sighand (kernel/fork.c:1611 (discriminator 2))
[ 2.713316][ T2] copy_process (kernel/fork.c:2176)
[ 2.713316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.713316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.713316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.713316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.713316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.713316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.713316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.713316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.713316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.713316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.713362][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.715337][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.717345][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.718316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.718316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.718316][ T2] Call Trace:
[ 2.718316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.718316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.718316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.718316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.718316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.718316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.718316][ T2] ? copy_signal (kernel/fork.c:1659 (discriminator 2))
[ 2.718316][ T2] kmem_cache_alloc_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4948)
[ 2.718316][ T2] ? copy_signal (kernel/fork.c:1659 (discriminator 2))
[ 2.718316][ T2] copy_signal (kernel/fork.c:1659 (discriminator 2))
[ 2.718316][ T2] copy_process (kernel/fork.c:2179)
[ 2.718316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.718316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.718316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.718316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.718316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.718316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.718316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.718316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.718316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.718316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.718387][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.720336][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.722027][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.722316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.722316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.722316][ T2] Call Trace:
[ 2.722316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.722316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.722316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.722316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.722316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.722316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.722316][ T2] ? alloc_pid (kernel/pid.c:184 (discriminator 2))
[ 2.722316][ T2] kmem_cache_alloc_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4948)
[ 2.722316][ T2] ? alloc_pid (kernel/pid.c:184 (discriminator 2))
[ 2.722316][ T2] alloc_pid (kernel/pid.c:184 (discriminator 2))
[ 2.722316][ T2] copy_process (kernel/fork.c:2197)
[ 2.722316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.722316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.722316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.722316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.722316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.722316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.722316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.722316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.722316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.722316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.722693][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.724339][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.726341][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.727316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.727316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.727316][ T2] Call Trace:
[ 2.727316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.727316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.727316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.727316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.727316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.727316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.727316][ T2] ? copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.727316][ T2] kmem_cache_alloc_node_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4993)
[ 2.727316][ T2] ? copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.727316][ T2] copy_process (kernel/fork.c:184 (discriminator 2) kernel/fork.c:873 (discriminator 2) kernel/fork.c:2012 (discriminator 2))
[ 2.727316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.727316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.727316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.727316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.727316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.727316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.727316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.727316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.727316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.727316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.727388][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.729337][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.731340][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.732316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.732316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.732316][ T2] Call Trace:
[ 2.732316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.732316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.732316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.732316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.732316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.732316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.732316][ T2] ? prepare_creds (kernel/cred.c:213)
[ 2.732316][ T2] kmem_cache_alloc_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:4948)
[ 2.732316][ T2] ? prepare_creds (kernel/cred.c:213)
[ 2.732316][ T2] prepare_creds (kernel/cred.c:213)
[ 2.732316][ T2] copy_creds (kernel/cred.c:314)
[ 2.732316][ T2] copy_process (kernel/fork.c:2046)
[ 2.732316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.732316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.732316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.732316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.732316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.732316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.732316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.732316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.732316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.732316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
[ 2.732364][ T2] BUG: using smp_processor_id() in preemptible [00000000] code: kthreadd/2
[ 2.734337][ T2] caller is debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.736018][ T2] CPU: 0 UID: 0 PID: 2 Comm: kthreadd Tainted: G T 6.18.0-rc1-00012-gde840681a162 #1 PREEMPT(full)
[ 2.736316][ T2] Tainted: [T]=RANDSTRUCT
[ 2.736316][ T2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 2.736316][ T2] Call Trace:
[ 2.736316][ T2] dump_stack_lvl (lib/dump_stack.c:122)
[ 2.736316][ T2] dump_stack (lib/dump_stack.c:130)
[ 2.736316][ T2] check_preemption_disabled+0x98/0xa8
[ 2.736316][ T2] debug_smp_processor_id (lib/smp_processor_id.c:59)
[ 2.736316][ T2] set_track_update (mm/slub.c:1035 (discriminator 1))
[ 2.736316][ T2] ___slab_alloc (mm/slub.c:1046 mm/slub.c:4511)
[ 2.736316][ T2] ? set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.736316][ T2] __kmalloc_cache_noprof (mm/slub.c:4544 mm/slub.c:4929 mm/slub.c:5455)
[ 2.736316][ T2] ? set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.736316][ T2] set_kthread_struct (include/linux/slab.h:957 include/linux/slab.h:1094 kernel/kthread.c:125)
[ 2.736316][ T2] copy_process (kernel/fork.c:2110 (discriminator 1))
[ 2.736316][ T2] kernel_clone (include/linux/random.h:26 kernel/fork.c:2610)
[ 2.736316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.736316][ T2] kernel_thread (kernel/fork.c:2671)
[ 2.736316][ T2] ? kthread_is_per_cpu (kernel/kthread.c:412)
[ 2.736316][ T2] kthreadd (kernel/kthread.c:486 kernel/kthread.c:846)
[ 2.736316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.736316][ T2] ret_from_fork (arch/x86/kernel/process.c:164)
[ 2.736316][ T2] ? kthreads_online_cpu (kernel/kthread.c:818)
[ 2.736316][ T2] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 2.736316][ T2] entry_INT80_32 (arch/x86/entry/entry_32.S:942)
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20251016/202510161416.b7adda58-lkp@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [vbabka:b4/sheaves-for-all] [slab] de840681a1: BUG:using_smp_processor_id()in_preemptible
2025-10-16 6:08 [vbabka:b4/sheaves-for-all] [slab] de840681a1: BUG:using_smp_processor_id()in_preemptible kernel test robot
@ 2025-10-16 17:26 ` Vlastimil Babka
0 siblings, 0 replies; 2+ messages in thread
From: Vlastimil Babka @ 2025-10-16 17:26 UTC (permalink / raw)
To: kernel test robot; +Cc: oe-lkp, lkp, linux-mm
On 10/16/25 08:08, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
>
> commit: de840681a162e0a5a0862e7a0b495fb34deab7ef ("slab: remove cpu (partial) slabs usage from allocation paths")
> https://git.kernel.org/cgit/linux/kernel/git/vbabka/linux.git b4/sheaves-for-all
>
> in testcase: boot
>
> config: i386-randconfig-002-20251015
> compiler: gcc-14
> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang@intel.com>
> | Closes: https://lore.kernel.org/oe-lkp/202510161416.b7adda58-lkp@intel.com
>
Thanks, no more disabled preemption so use the raw version as we don't
need it to be stable. Will fold this in:
----8<----
diff --git a/mm/slub.c b/mm/slub.c
index 91e1db412018..cd4b0833fb4a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1032,7 +1032,7 @@ static void set_track_update(struct kmem_cache *s, void *object,
p->handle = handle;
#endif
p->addr = addr;
- p->cpu = smp_processor_id();
+ p->cpu = raw_smp_processor_id();
p->pid = current->pid;
p->when = jiffies;
}
@@ -4481,16 +4481,8 @@ static void *___slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
pc.orig_size = orig_size;
freelist = get_partial(s, node, &pc);
if (freelist) {
- /*
- * TODO: check if still applicable
- *
- * Due to disabled preemption we need to disallow
- * blocking. The flags are further adjusted by
- * gfp_nested_mask() in stack_depot itself.
- */
if (kmem_cache_debug_flags(s, SLAB_STORE_USER))
- set_track(s, freelist, TRACK_ALLOC, addr,
- gfpflags & ~(__GFP_DIRECT_RECLAIM));
+ set_track(s, freelist, TRACK_ALLOC, addr, gfpflags);
return freelist;
}
@@ -4515,8 +4507,7 @@ static void *___slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
goto new_objects;
if (kmem_cache_debug_flags(s, SLAB_STORE_USER))
- set_track(s, freelist, TRACK_ALLOC, addr,
- gfpflags & ~(__GFP_DIRECT_RECLAIM));
+ set_track(s, freelist, TRACK_ALLOC, addr, gfpflags);
return freelist;
}
lines 1-41/41 (END)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-10-16 17:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-16 6:08 [vbabka:b4/sheaves-for-all] [slab] de840681a1: BUG:using_smp_processor_id()in_preemptible kernel test robot
2025-10-16 17:26 ` Vlastimil Babka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox