All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: Lai Jiangshan <jiangshan.ljs@antgroup.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
	Linux Memory Management List <linux-mm@kvack.org>,
	Tejun Heo <tj@kernel.org>, <linux-kernel@vger.kernel.org>,
	<oliver.sang@intel.com>
Subject: [linux-next:master] [workqueue]  19af457573: WARNING:at_kernel/cpu.c:#lockdep_assert_cpus_held
Date: Sun, 14 Jul 2024 18:59:04 +0800	[thread overview]
Message-ID: <202407141846.665c0446-lkp@intel.com> (raw)


hi, Lai Jiangshan,

we noticed this commit is a fix for our report [1], and we really observed the
issue in [1] is fixed as below (a)

fbb3d4c15dc0fe8a 19af457573838785290d27dd09a
---------------- ---------------------------
       fail:runs  %reproduction    fail:runs
           |             |             |
           :6          100%           6:6     dmesg.EIP:lockdep_assert_cpus_held
           :6          100%           6:6     dmesg.WARNING:at_kernel/cpu.c:#lockdep_assert_cpus_held
          6:6         -100%            :6     dmesg.WARNING:possible_recursive_locking_detected   <---- (a)


however, now we noticed a WARNING:at_kernel/cpu.c:#lockdep_assert_cpus_held.
not sure if it could supply a hint for some other problems?


[1] http://lkml.kernel.org/r/202407081521.83b627c1-lkp@intel.com


Hello,

kernel test robot noticed "WARNING:at_kernel/cpu.c:#lockdep_assert_cpus_held" on:

commit: 19af457573838785290d27dd09a59140f541d1d8 ("workqueue: Remove cpus_read_lock() from apply_wqattrs_lock()")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 3fe121b622825ff8cc995a1e6b026181c48188db]

in testcase: rcutorture
version: 
with following parameters:

	runtime: 300s
	test: default
	torture_type: trivial



compiler: clang-18
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

(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/202407141846.665c0446-lkp@intel.com


[   15.726567][  T131] ------------[ cut here ]------------
[ 15.728117][ T131] WARNING: CPU: 1 PID: 131 at kernel/cpu.c:525 lockdep_assert_cpus_held (kernel/cpu.c:525) 
[   15.731191][  T131] Modules linked in: floppy(+) parport_pc(+) parport qemu_fw_cfg rtc_cmos
[   15.733423][  T131] CPU: 1 PID: 131 Comm: systemd-udevd Tainted: G                T  6.10.0-rc2-00254-g19af45757383 #1 df6f039f42e8818bf9a534449362ebad1aad32e2
[   15.737011][  T131] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 15.739760][ T131] EIP: lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.741326][ T131] Code: 97 c2 03 72 20 83 3d f4 73 97 c2 00 74 17 55 89 e5 b8 fc bd 4d c2 ba ff ff ff ff e8 e4 57 d1 00 85 c0 74 06 5d 31 c0 31 d2 c3 <0f> 0b eb f6 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 89 e5 b8
All code
========
   0:	97                   	xchg   %eax,%edi
   1:	c2 03 72             	ret    $0x7203
   4:	20 83 3d f4 73 97    	and    %al,-0x688c0bc3(%rbx)
   a:	c2 00 74             	ret    $0x7400
   d:	17                   	(bad)
   e:	55                   	push   %rbp
   f:	89 e5                	mov    %esp,%ebp
  11:	b8 fc bd 4d c2       	mov    $0xc24dbdfc,%eax
  16:	ba ff ff ff ff       	mov    $0xffffffff,%edx
  1b:	e8 e4 57 d1 00       	call   0xd15804
  20:	85 c0                	test   %eax,%eax
  22:	74 06                	je     0x2a
  24:	5d                   	pop    %rbp
  25:	31 c0                	xor    %eax,%eax
  27:	31 d2                	xor    %edx,%edx
  29:	c3                   	ret
  2a:*	0f 0b                	ud2		<-- trapping instruction
  2c:	eb f6                	jmp    0x24
  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:	55                   	push   %rbp
  3d:	89 e5                	mov    %esp,%ebp
  3f:	b8                   	.byte 0xb8

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2
   2:	eb f6                	jmp    0xfffffffffffffffa
   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:	55                   	push   %rbp
  13:	89 e5                	mov    %esp,%ebp
  15:	b8                   	.byte 0xb8
[   15.745390][  T131] EAX: 00000000 EBX: c376d200 ECX: 00000000 EDX: 00000000
[   15.746576][  T131] ESI: c4de9180 EDI: 00020002 EBP: ecf3bb10 ESP: ecf3bb10
[   15.747773][  T131] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 EFLAGS: 00210246
[   15.749161][  T131] CR0: 80050033 CR2: 00a9c93c CR3: 2cf6c000 CR4: 00040690
[   15.750384][  T131] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[   15.751570][  T131] DR6: fffe0ff0 DR7: 00000400
[   15.752427][  T131] Call Trace:
[ 15.753063][ T131] ? show_regs (arch/x86/kernel/dumpstack.c:478) 
[ 15.753830][ T131] ? lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.754779][ T131] ? __warn (kernel/panic.c:239 kernel/panic.c:693) 
[ 15.755533][ T131] ? lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.756503][ T131] ? lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.757508][ T131] ? report_bug (lib/bug.c:199) 
[ 15.758300][ T131] ? exc_overflow (arch/x86/kernel/traps.c:252) 
[ 15.759113][ T131] ? handle_bug (arch/x86/kernel/traps.c:?) 
[ 15.763110][ T131] ? exc_invalid_op (arch/x86/kernel/traps.c:260) 
[ 15.763989][ T131] ? handle_exception (arch/x86/entry/entry_32.S:1047) 
[ 15.764913][ T131] ? exc_overflow (arch/x86/kernel/traps.c:252) 
[ 15.765754][ T131] ? lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.766706][ T131] ? exc_overflow (arch/x86/kernel/traps.c:252) 
[ 15.767516][ T131] ? lockdep_assert_cpus_held (kernel/cpu.c:525) 
[ 15.768498][ T131] alloc_workqueue (kernel/workqueue.c:5430) 
[ 15.769398][ T131] do_floppy_init (??:?) floppy
[ 15.770976][ T131] init_module (??:?) floppy
[ 15.772499][ T131] do_one_initcall (init/main.c:1267) 
[   15.773357][  T131]  ? 0xef561000
[ 15.774006][ T131] ? lock_acquire (kernel/locking/lockdep.c:5754) 
[ 15.774790][ T131] ? kill_kprobe (include/linux/rcupdate.h:328) 
[ 15.775617][ T131] ? try_to_wake_up (kernel/sched/core.c:2255) 
[ 15.776509][ T131] ? radix_tree_iter_tag_clear (lib/radix-tree.c:1063) 
[ 15.777501][ T131] ? rcu_lock_acquire (include/linux/rcupdate.h:338) 
[ 15.778326][ T131] ? rcu_lock_release (include/linux/rcupdate.h:340) 
[ 15.779215][ T131] ? __lock_acquire (kernel/locking/lockdep.c:4599) 
[ 15.780074][ T131] ? __kernel_text_address (kernel/extable.c:79) 
[ 15.781064][ T131] ? stack_trace_snprint (kernel/stacktrace.c:?) 
[ 15.781969][ T131] ? stack_depot_save_flags (lib/stackdepot.c:609) 
[ 15.782876][ T131] ? stack_trace_save (kernel/stacktrace.c:122) 
[ 15.783739][ T131] ? lock_acquire (kernel/locking/lockdep.c:5754) 
[ 15.784548][ T131] ? kmalloc_trace_noprof (include/linux/sched/mm.h:335 mm/slub.c:3890 mm/slub.c:3980 mm/slub.c:4147) 
[ 15.785452][ T131] ? __might_sleep (kernel/sched/core.c:10126) 
[ 15.786219][ T131] ? kmalloc_trace_noprof (include/trace/events/kmem.h:54) 
[ 15.787105][ T131] ? do_init_module (kernel/module/main.c:2530) 
[ 15.787949][ T131] do_init_module (kernel/module/main.c:2541) 
[ 15.789008][ T131] load_module (kernel/module/main.c:3006) 
[ 15.790187][ T131] __ia32_sys_finit_module (kernel/module/main.c:3173 kernel/module/main.c:3191 kernel/module/main.c:3211 kernel/module/main.c:3194 kernel/module/main.c:3194) 
[ 15.791578][ T131] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-003-20240712/./arch/x86/include/generated/asm/syscalls_32.h:?) 
[ 15.792834][ T131] do_int80_syscall_32 (arch/x86/entry/common.c:?) 
[ 15.794066][ T131] ? exc_page_fault (arch/x86/mm/fault.c:1543) 
[ 15.795255][ T131] entry_INT80_32 (arch/x86/entry/entry_32.S:944) 
[   15.796583][  T131] EIP: 0xb7f60092
[ 15.797596][ T131] Code: 00 00 00 e9 90 ff ff ff ff a3 24 00 00 00 68 30 00 00 00 e9 80 ff ff ff ff a3 f8 ff ff ff 66 90 00 00 00 00 00 00 00 00 cd 80 <c3> 8d b4 26 00 00 00 00 8d b6 00 00 00 00 8b 1c 24 c3 8d b4 26 00
All code
========
   0:	00 00                	add    %al,(%rax)
   2:	00 e9                	add    %ch,%cl
   4:	90                   	nop
   5:	ff                   	(bad)
   6:	ff                   	(bad)
   7:	ff                   	(bad)
   8:	ff a3 24 00 00 00    	jmp    *0x24(%rbx)
   e:	68 30 00 00 00       	push   $0x30
  13:	e9 80 ff ff ff       	jmp    0xffffffffffffff98
  18:	ff a3 f8 ff ff ff    	jmp    *-0x8(%rbx)
  1e:	66 90                	xchg   %ax,%ax
	...
  28:	cd 80                	int    $0x80
  2a:*	c3                   	ret		<-- trapping instruction
  2b:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi
  32:	8d b6 00 00 00 00    	lea    0x0(%rsi),%esi
  38:	8b 1c 24             	mov    (%rsp),%ebx
  3b:	c3                   	ret
  3c:	8d                   	.byte 0x8d
  3d:	b4 26                	mov    $0x26,%ah
	...

Code starting with the faulting instruction
===========================================
   0:	c3                   	ret
   1:	8d b4 26 00 00 00 00 	lea    0x0(%rsi,%riz,1),%esi
   8:	8d b6 00 00 00 00    	lea    0x0(%rsi),%esi
   e:	8b 1c 24             	mov    (%rsp),%ebx
  11:	c3                   	ret
  12:	8d                   	.byte 0x8d
  13:	b4 26                	mov    $0x26,%ah


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240714/202407141846.665c0446-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


                 reply	other threads:[~2024-07-14 10:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202407141846.665c0446-lkp@intel.com \
    --to=oliver.sang@intel.com \
    --cc=jiangshan.ljs@antgroup.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=oe-lkp@lists.linux.dev \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.