[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b9c13c67-ac2d-4d71-899a-68eba943c726@paulmck-laptop>
Date: Thu, 7 Aug 2025 07:34:40 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: kernel test robot <oliver.sang@...el.com>
Cc: oe-lkp@...ts.linux.dev, lkp@...el.com,
Neeraj Upadhyay <neeraj.upadhyay@...nel.org>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Steven Rostedt <rostedt@...dmis.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org
Subject: Re: [rcu:dev.30.07.2025a] [tracing] 7f4591b8cb:
BUG:using_smp_processor_id()in_preemptible
On Thu, Aug 07, 2025 at 04:23:56PM +0800, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed "BUG:using_smp_processor_id()in_preemptible" on:
>
> commit: 7f4591b8cb9c4682dd20ce624bb090e2a634cf9b ("tracing: Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast")
> https://git.kernel.org/cgit/linux/kernel/git/rcu/linux.git dev.30.07.2025a
This is a real bug, but has since been fixed in 7e7acbb7dceb ("tracing:
Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast").
We expect to get this updated commit into -next shortly after v6.17-rc1
comes out. As always, thank you for your testing!
Thanx, Paul
> in testcase: trinity
> version: trinity-i386-abe9de86-1_20230429
> with following parameters:
>
> runtime: 300s
> group: group-00
> nr_groups: 5
>
>
>
> config: i386-randconfig-002-20250801
> compiler: clang-20
> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
> +--------------------------------------------+------------+------------+
> | | 97b572666e | 7f4591b8cb |
> +--------------------------------------------+------------+------------+
> | BUG:using_smp_processor_id()in_preemptible | 0 | 12 |
> +--------------------------------------------+------------+------------+
>
>
> 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@...el.com>
> | Closes: https://lore.kernel.org/oe-lkp/202508071000.47c89ff-lkp@intel.com
>
>
> [ 32.787484][ T3676] BUG: using smp_processor_id() in preemptible [00000000] code: meminfo/3676
> [ 32.788206][ T3676] caller is debug_smp_processor_id (lib/smp_processor_id.c:60)
> [ 32.788627][ T3676] CPU: 0 UID: 0 PID: 3676 Comm: meminfo Not tainted 6.16.0-rc3-00057-g7f4591b8cb9c #1 PREEMPT(lazy)
> [ 32.788631][ T3676] Call Trace:
> [ 32.788633][ T3676] __dump_stack (lib/dump_stack.c:95)
> [ 32.788638][ T3676] dump_stack_lvl (lib/dump_stack.c:123)
> [ 32.788644][ T3676] dump_stack (lib/dump_stack.c:129)
> [ 32.788647][ T3676] check_preemption_disabled (lib/smp_processor_id.c:?)
> [ 32.788654][ T3676] debug_smp_processor_id (lib/smp_processor_id.c:60)
> [ 32.788657][ T3676] perf_trace_sched_prepare_exec (include/trace/events/sched.h:458)
> [ 32.788672][ T3676] begin_new_exec (include/linux/srcutree.h:300 include/linux/srcu.h:419 include/linux/srcu.h:519 include/trace/events/sched.h:458 include/trace/events/sched.h:458 fs/exec.c:1110)
> [ 32.788682][ T3676] load_elf_binary (fs/binfmt_elf.c:?)
> [ 32.788693][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788698][ T3676] ? bprm_execve (fs/exec.c:1665 fs/exec.c:1697 fs/exec.c:1749)
> [ 32.788707][ T3676] bprm_execve (fs/exec.c:1665 fs/exec.c:1697 fs/exec.c:1749)
> [ 32.788719][ T3676] do_execveat_common (fs/exec.c:?)
> [ 32.788724][ T3676] __ia32_sys_execve (fs/exec.c:1929 fs/exec.c:2005 fs/exec.c:2000 fs/exec.c:2000)
> [ 32.788731][ T3676] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-002-20250801/./arch/x86/include/generated/asm/syscalls_32.h:?)
> [ 32.788735][ T3676] __do_fast_syscall_32 (arch/x86/entry/syscall_32.c:?)
> [ 32.788740][ T3676] ? __lock_acquire (kernel/locking/lockdep.c:4677)
> [ 32.788745][ T3676] ? __lock_acquire (kernel/locking/lockdep.c:4677)
> [ 32.788763][ T3676] ? get_page_from_freelist (mm/page_alloc.c:1714 mm/page_alloc.c:3669)
> [ 32.788766][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788773][ T3676] ? lock_acquire (kernel/locking/lockdep.c:5871)
> [ 32.788779][ T3676] ? local_lock_release (include/linux/local_lock_internal.h:54)
> [ 32.788786][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788790][ T3676] ? local_lock_release (include/linux/local_lock_internal.h:54)
> [ 32.788800][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788805][ T3676] ? rcu_lock_acquire (include/linux/rcupdate.h:340)
> [ 32.788814][ T3676] ? handle_mm_fault (include/linux/rcupdate.h:? include/linux/pgtable.h:136 mm/memory.c:3670 mm/memory.c:4030 mm/memory.c:6105 mm/memory.c:6232 mm/memory.c:6401)
> [ 32.788827][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788830][ T3676] ? preempt_count_add (include/linux/ftrace.h:1091 kernel/sched/core.c:5852 kernel/sched/core.c:5877)
> [ 32.788837][ T3676] ? irqentry_exit (kernel/entry/common.c:320)
> [ 32.788840][ T3676] ? __this_cpu_preempt_check (lib/smp_processor_id.c:67)
> [ 32.788843][ T3676] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475)
> [ 32.788849][ T3676] ? irqentry_exit_to_user_mode (kernel/entry/common.c:187)
> [ 32.788856][ T3676] do_fast_syscall_32 (arch/x86/entry/syscall_32.c:331)
> [ 32.788860][ T3676] do_SYSENTER_32 (arch/x86/entry/syscall_32.c:369)
> [ 32.788862][ T3676] entry_SYSENTER_32 (arch/x86/entry/entry_32.S:836)
> [ 32.788865][ T3676] EIP: 0xb7f4c539
> [ 32.788868][ T3676] Code: 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
> All code
> ========
> 0: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi
> 4: 10 07 adc %al,(%rdi)
> 6: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi
> a: 10 08 adc %cl,(%rax)
> c: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi
> ...
> 20:* 00 51 52 add %dl,0x52(%rcx) <-- trapping instruction
> 23: 55 push %rbp
> 24: 89 e5 mov %esp,%ebp
> 26: 0f 34 sysenter
> 28: cd 80 int $0x80
> 2a: 5d pop %rbp
> 2b: 5a pop %rdx
> 2c: 59 pop %rcx
> 2d: c3 ret
> 2e: 90 nop
> 2f: 90 nop
> 30: 90 nop
> 31: 90 nop
> 32: 90 nop
> 33: 90 nop
> 34: 90 nop
> 35: 90 nop
> 36: 90 nop
> 37: 90 nop
> 38: 90 nop
> 39: 90 nop
> 3a: 90 nop
> 3b: 90 nop
> 3c: 90 nop
> 3d: 90 nop
> 3e: 90 nop
> 3f: 90 nop
>
> Code starting with the faulting instruction
> ===========================================
> 0: 5d pop %rbp
> 1: 5a pop %rdx
> 2: 59 pop %rcx
> 3: c3 ret
> 4: 90 nop
> 5: 90 nop
> 6: 90 nop
> 7: 90 nop
> 8: 90 nop
> 9: 90 nop
> a: 90 nop
> b: 90 nop
> c: 90 nop
> d: 90 nop
> e: 90 nop
> f: 90 nop
> 10: 90 nop
> 11: 90 nop
> 12: 90 nop
> 13: 90 nop
> 14: 90 nop
> 15: 90 nop
> [ 32.788871][ T3676] EAX: ffffffda EBX: 01e25d34 ECX: 01e25c00 EDX: 01e25c0c
> [ 32.788873][ T3676] ESI: 01e25d34 EDI: 01e25c00 EBP: bffe5404 ESP: bffe52d8
> [ 32.788874][ T3676] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b EFLAGS: 00000296
>
>
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20250807/202508071000.47c89ff-lkp@intel.com
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
Powered by blists - more mailing lists