All of lore.kernel.org
 help / color / mirror / Atom feed
* [morimoto:string-helper-2025-07-22] [maple tree] f8c8dfd75d: WARNING:possible_circular_locking_dependency_detected
@ 2025-07-22  7:04 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-07-22  7:04 UTC (permalink / raw)
  To: Kuninori Morimoto; +Cc: oe-lkp, lkp, oliver.sang



Hello,

kernel test robot noticed "WARNING:possible_circular_locking_dependency_detected" on:

commit: f8c8dfd75d35332116f689f299014e53d18acdf9 ("maple tree: tidyup frame size error")
https://github.com/morimoto/linux string-helper-2025-07-22

in testcase: trinity
version: trinity-i386-abe9de86-1_20230429
with following parameters:

	runtime: 300s
	group: group-02
	nr_groups: 5



config: i386-randconfig-007-20250717
compiler: clang-20
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+------------+
|                                                                                                                                                                      | next-20250716 | f8c8dfd75d |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+------------+
| WARNING:possible_circular_locking_dependency_detected                                                                                                                | 0             | 12         |
| WARNING:possible_circular_locking_dependency_detected_trinity-c3_is_trying_to_acquire_lock:at:__kmalloc_cache_noprof_but_task_is_already_holding_lock:at:vma_prepare | 0             | 5          |
| WARNING:possible_circular_locking_dependency_detected_trinity-c2_is_trying_to_acquire_lock:at:__kmalloc_cache_noprof_but_task_is_already_holding_lock:at:vma_prepare | 0             | 6          |
| WARNING:possible_circular_locking_dependency_detected_trinity-c0_is_trying_to_acquire_lock:at:__kmalloc_cache_noprof_but_task_is_already_holding_lock:at:vma_prepare | 0             | 1          |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------+------------+


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/202507220857.ad1734da-lkp@intel.com


[   43.204844][ T3677] WARNING: possible circular locking dependency detected
[   43.205280][ T3677] 6.16.0-rc6-next-20250716-00001-gf8c8dfd75d35 #1 Not tainted
[   43.205733][ T3677] ------------------------------------------------------
[   43.206224][ T3677] trinity-c2/3677 is trying to acquire lock:
[ 43.206633][ T3677] b3177764 (fs_reclaim){+.+.}-{0:0}, at: __kmalloc_cache_noprof (include/linux/sched/mm.h:319 mm/slub.c:4131 mm/slub.c:4209 mm/slub.c:4391) 
[   43.207240][ T3677]
[   43.207240][ T3677] but task is already holding lock:
[ 43.207683][ T3677] b53d3c48 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: vma_prepare (mm/vma.c:296) 
[   43.208197][ T3677]
[   43.208197][ T3677] which lock already depends on the new lock.
[   43.208197][ T3677]
[   43.208828][ T3677]
[   43.208828][ T3677] the existing dependency chain (in reverse order) is:
[   43.209373][ T3677]
[   43.209373][ T3677] -> #1 (&mapping->i_mmap_rwsem){++++}-{4:4}:
[ 43.209866][ T3677] down_write (kernel/locking/rwsem.c:1592) 
[ 43.210206][ T3677] dma_resv_lockdep (include/linux/fs.h:557 drivers/dma-buf/dma-resv.c:798) 
[ 43.210581][ T3677] do_one_initcall (init/main.c:1269) 
[ 43.210942][ T3677] do_initcall_level (init/main.c:1330 (discriminator 6)) 
[ 43.211305][ T3677] do_initcalls (init/main.c:1344 (discriminator 2)) 
[ 43.211628][ T3677] do_basic_setup (init/main.c:1367) 
[ 43.211920][ T3677] kernel_init_freeable (init/main.c:1581) 
[ 43.212238][ T3677] kernel_init (init/main.c:1471) 
[ 43.212522][ T3677] ret_from_fork (arch/x86/kernel/process.c:154) 
[ 43.212817][ T3677] ret_from_fork_asm (arch/x86/entry/entry_32.S:737) 
[ 43.213118][ T3677] restore_all_switch_stack (arch/x86/entry/entry_32.S:945) 
[   43.213451][ T3677]
[   43.213451][ T3677] -> #0 (fs_reclaim){+.+.}-{0:0}:
[ 43.213866][ T3677] __lock_acquire (kernel/locking/lockdep.c:?) 
[ 43.214233][ T3677] lock_acquire (kernel/locking/lockdep.c:5871) 
[ 43.214557][ T3677] fs_reclaim_acquire (mm/page_alloc.c:4234 mm/page_alloc.c:4248) 
[ 43.214911][ T3677] __kmalloc_cache_noprof (include/linux/sched/mm.h:319 mm/slub.c:4131 mm/slub.c:4209 mm/slub.c:4391) 
[ 43.215287][ T3677] mas_wr_spanning_store (include/linux/slab.h:905 include/linux/slab.h:1039 lib/maple_tree.c:3801) 
[ 43.215627][ T3677] mas_wr_store_entry (lib/maple_tree.c:?) 
[ 43.215959][ T3677] mas_store_prealloc (include/linux/maple_tree.h:566 lib/maple_tree.c:5516) 
[ 43.216270][ T3677] commit_merge (mm/vma.c:767) 
[ 43.216555][ T3677] vma_modify (mm/vma.c:973 (discriminator 1)) 
[ 43.216831][ T3677] vma_modify_flags (mm/vma.c:?) 
[ 43.217122][ T3677] madvise_walk_vmas (mm/madvise.c:168) 
[ 43.217429][ T3677] madvise_do_behavior (mm/madvise.c:?) 
[ 43.217748][ T3677] do_madvise (mm/madvise.c:1909) 
[ 43.218086][ T3677] __ia32_sys_madvise (mm/madvise.c:1918 (discriminator 1) mm/madvise.c:1916 (discriminator 1) mm/madvise.c:1916 (discriminator 1)) 
[ 43.218546][ T3677] ia32_sys_call (arch/x86/entry/syscall_32.c:50 (discriminator 376832)) 
[ 43.219019][ T3677] do_int80_syscall_32 (arch/x86/entry/syscall_32.c:?) 
[ 43.219532][ T3677] restore_all_switch_stack (arch/x86/entry/entry_32.S:945) 
[   43.220078][ T3677]
[   43.220078][ T3677] other info that might help us debug this:
[   43.220078][ T3677]
[   43.221003][ T3677]  Possible unsafe locking scenario:
[   43.221003][ T3677]
[   43.221674][ T3677]        CPU0                    CPU1
[   43.222191][ T3677]        ----                    ----
[   43.222699][ T3677]   lock(&mapping->i_mmap_rwsem);
[   43.223178][ T3677]                                lock(fs_reclaim);
[   43.223787][ T3677]                                lock(&mapping->i_mmap_rwsem);
[   43.224481][ T3677]   lock(fs_reclaim);
[   43.224863][ T3677]
[   43.224863][ T3677]  *** DEADLOCK ***
[   43.224863][ T3677]
[   43.225618][ T3677] 2 locks held by trinity-c2/3677:
[ 43.226112][ T3677] #0: b49a3800 (&mm->mmap_lock){++++}-{4:4}, at: madvise_lock (include/linux/mmap_lock.h:40) 
[ 43.226906][ T3677] #1: b53d3c48 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: vma_prepare (mm/vma.c:296) 
[   43.227744][ T3677]
[   43.227744][ T3677] stack backtrace:
[   43.228320][ T3677] CPU: 0 UID: 65534 PID: 3677 Comm: trinity-c2 Not tainted 6.16.0-rc6-next-20250716-00001-gf8c8dfd75d35 #1 PREEMPT(full)
[   43.229467][ T3677] Call Trace:
[ 43.229791][ T3677] __dump_stack (lib/dump_stack.c:95) 
[ 43.230220][ T3677] dump_stack_lvl (lib/dump_stack.c:123 (discriminator 2)) 
[ 43.230647][ T3677] dump_stack (lib/dump_stack.c:129) 
[ 43.231038][ T3677] print_circular_bug (kernel/locking/lockdep.c:2048) 
[ 43.231525][ T3677] check_noncircular (kernel/locking/lockdep.c:2178) 
[ 43.231983][ T3677] __lock_acquire (kernel/locking/lockdep.c:?) 
[ 43.232421][ T3677] ? rcu_lock_acquire (include/linux/rcupdate.h:340) 
[ 43.232864][ T3677] lock_acquire (kernel/locking/lockdep.c:5871) 
[ 43.233269][ T3677] ? __kmalloc_cache_noprof (include/linux/sched/mm.h:319 mm/slub.c:4131 mm/slub.c:4209 mm/slub.c:4391) 
[ 43.233766][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.234272][ T3677] fs_reclaim_acquire (mm/page_alloc.c:4234 mm/page_alloc.c:4248) 
[ 43.234735][ T3677] ? __kmalloc_cache_noprof (include/linux/sched/mm.h:319 mm/slub.c:4131 mm/slub.c:4209 mm/slub.c:4391) 
[ 43.235244][ T3677] __kmalloc_cache_noprof (include/linux/sched/mm.h:319 mm/slub.c:4131 mm/slub.c:4209 mm/slub.c:4391) 
[ 43.235732][ T3677] ? mas_wr_spanning_store (include/linux/slab.h:905 include/linux/slab.h:1039 lib/maple_tree.c:3801) 
[ 43.236247][ T3677] mas_wr_spanning_store (include/linux/slab.h:905 include/linux/slab.h:1039 lib/maple_tree.c:3801) 
[ 43.236762][ T3677] mas_wr_store_entry (lib/maple_tree.c:?) 
[ 43.237244][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.237717][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.238198][ T3677] ? __this_cpu_preempt_check (lib/smp_processor_id.c:65) 
[ 43.238697][ T3677] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) 
[ 43.239169][ T3677] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:271) 
[ 43.239640][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.240126][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.240615][ T3677] ? __lock_acquire (kernel/locking/lockdep.c:4677) 
[ 43.241082][ T3677] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) 
[ 43.241559][ T3677] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) 
[ 43.242051][ T3677] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:271) 
[ 43.242527][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.243023][ T3677] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) 
[ 43.243505][ T3677] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:271) 
[ 43.243982][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.244467][ T3677] ? __lock_acquire (kernel/locking/lockdep.c:4677) 
[ 43.244939][ T3677] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) 
[ 43.245416][ T3677] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:271) 
[ 43.245907][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.246271][ T3677] ? __lock_acquire (kernel/locking/lockdep.c:4677) 
[ 43.246605][ T3677] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:271) 
[ 43.246942][ T3677] ? local_clock_noinstr (kernel/sched/build_utility.c:304) 
[ 43.247288][ T3677] ? __this_cpu_preempt_check (lib/smp_processor_id.c:65) 
[ 43.247606][ T3677] ? kmem_cache_alloc_bulk_noprof (arch/x86/include/asm/irqflags.h:19 arch/x86/include/asm/irqflags.h:109 arch/x86/include/asm/irqflags.h:151 mm/slub.c:5349 mm/slub.c:5403) 
[ 43.247962][ T3677] ? __this_cpu_preempt_check (lib/smp_processor_id.c:65) 
[ 43.248278][ T3677] ? lockdep_hardirqs_on (kernel/locking/lockdep.c:4475 (discriminator 5)) 
[ 43.248578][ T3677] ? kmem_cache_alloc_bulk_noprof (mm/slub.c:?) 
[ 43.248927][ T3677] ? __this_cpu_preempt_check (lib/smp_processor_id.c:65) 
[ 43.249241][ T3677] mas_store_prealloc (include/linux/maple_tree.h:566 lib/maple_tree.c:5516) 
[ 43.249538][ T3677] commit_merge (mm/vma.c:767) 
[ 43.249813][ T3677] vma_modify (mm/vma.c:973 (discriminator 1)) 
[ 43.250135][ T3677] vma_modify_flags (mm/vma.c:?) 
[ 43.250442][ T3677] madvise_walk_vmas (mm/madvise.c:168) 
[ 43.250767][ T3677] ? __this_cpu_preempt_check (lib/smp_processor_id.c:65) 
[ 43.251146][ T3677] ? madvise_lock (include/linux/mmap_lock.h:40) 
[ 43.251417][ T3677] madvise_do_behavior (mm/madvise.c:?) 
[ 43.251704][ T3677] ? down_write_killable (kernel/locking/rwsem.c:?) 
[ 43.252002][ T3677] do_madvise (mm/madvise.c:1909) 
[ 43.252247][ T3677] __ia32_sys_madvise (mm/madvise.c:1918 (discriminator 1) mm/madvise.c:1916 (discriminator 1) mm/madvise.c:1916 (discriminator 1)) 
[ 43.252522][ T3677] ia32_sys_call (arch/x86/entry/syscall_32.c:50 (discriminator 376832)) 
[ 43.252782][ T3677] do_int80_syscall_32 (arch/x86/entry/syscall_32.c:?) 
[ 43.253069][ T3677] ? entry_INT80_32 (arch/x86/entry/entry_32.S:945) 
[ 43.253351][ T3677] entry_INT80_32 (arch/x86/entry/entry_32.S:945) 
[   43.253619][ T3677] EIP: 0xa7fd1092
[ 43.253844][ T3677] 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
	...



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



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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-07-22  7:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-22  7:04 [morimoto:string-helper-2025-07-22] [maple tree] f8c8dfd75d: WARNING:possible_circular_locking_dependency_detected kernel test robot

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.