linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [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