lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ