Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ======================================================
- WARNING: possible circular locking dependency detected
- 6.12.0-rc4 #1 Not tainted
- ------------------------------------------------------
- iou-sqp-1708/1710 is trying to acquire lock:
- ffff8881092d8538 (&ids->rwsem){++++}-{3:3}, at: __shm_close+0x49/0x740 ipc/shm.c:374
- but task is already holding lock:
- ffff88810e962fd8 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock include/linux/mmap_lock.h:106 [inline]
- ffff88810e962fd8 (&mm->mmap_lock){++++}-{3:3}, at: exit_mmap+0x1cc/0xa60 mm/mmap.c:1882
- which lock already depends on the new lock.
- the existing dependency chain (in reverse order) is:
- -> #4 (&mm->mmap_lock){++++}-{3:3}:
- __might_fault mm/memory.c:6705 [inline]
- __might_fault+0x110/0x190 mm/memory.c:6698
- _inline_copy_from_user include/linux/uaccess.h:161 [inline]
- _copy_from_user+0x2b/0xf0 lib/usercopy.c:18
- copy_from_user include/linux/uaccess.h:203 [inline]
- memdup_user+0x72/0xd0 mm/util.c:230
- strndup_user+0x78/0xe0 mm/util.c:285
- perf_event_set_filter kernel/events/core.c:11171 [inline]
- _perf_ioctl+0x4b0/0x22b0 kernel/events/core.c:6077
- perf_ioctl+0x74/0xb0 kernel/events/core.c:6148
- vfs_ioctl fs/ioctl.c:51 [inline]
- __do_sys_ioctl fs/ioctl.c:907 [inline]
- __se_sys_ioctl fs/ioctl.c:893 [inline]
- __x64_sys_ioctl+0x1a0/0x210 fs/ioctl.c:893
- do_syscall_x64 arch/x86/entry/common.c:52 [inline]
- do_syscall_64+0xbf/0x1d0 arch/x86/entry/common.c:83
- entry_SYSCALL_64_after_hwframe+0x77/0x7f
- -> #3 (&cpuctx_mutex){+.+.}-{3:3}:
- __mutex_lock_common kernel/locking/mutex.c:608 [inline]
- __mutex_lock+0x11d/0xa50 kernel/locking/mutex.c:752
- perf_event_init_cpu+0x2f3/0x880 kernel/events/core.c:14047
- perf_event_init+0x53e/0x7e0 kernel/events/core.c:14093
- start_kernel+0x282/0x570 init/main.c:1025
- x86_64_start_reservations+0x18/0x30 arch/x86/kernel/head64.c:507
- x86_64_start_kernel+0xdb/0xf0 arch/x86/kernel/head64.c:488
- common_startup_64+0x12c/0x138
- -> #2 (pmus_lock){+.+.}-{3:3}:
- __mutex_lock_common kernel/locking/mutex.c:608 [inline]
- __mutex_lock+0x11d/0xa50 kernel/locking/mutex.c:752
- perf_event_init_cpu+0xcd/0x880 kernel/events/core.c:14042
- cpuhp_invoke_callback+0x3e5/0x9e0 kernel/cpu.c:194
- __cpuhp_invoke_callback_range+0x104/0x220 kernel/cpu.c:965
- cpuhp_invoke_callback_range kernel/cpu.c:989 [inline]
- cpuhp_up_callbacks kernel/cpu.c:1020 [inline]
- _cpu_up+0x1e1/0x2c0 kernel/cpu.c:1690
- cpu_up+0x130/0x1b0 kernel/cpu.c:1722
- cpuhp_bringup_mask+0xdb/0x200 kernel/cpu.c:1788
- cpuhp_bringup_cpus_parallel kernel/cpu.c:1878 [inline]
- bringup_nonboot_cpus+0x1ec/0x250 kernel/cpu.c:1892
- smp_init+0x32/0x160 kernel/smp.c:1009
- kernel_init_freeable+0x424/0xc00 init/main.c:1572
- kernel_init+0x1e/0x310 init/main.c:1469
- ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
- ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
- -> #1 (cpu_hotplug_lock){++++}-{0:0}:
- percpu_down_read include/linux/percpu-rwsem.h:51 [inline]
- cpus_read_lock+0x42/0x190 kernel/cpu.c:490
- static_key_slow_inc+0x14/0x60 kernel/jump_label.c:190
- __hugetlb_vmemmap_optimize_folio+0x191/0x5f0 mm/hugetlb_vmemmap.c:574
- hugetlb_vmemmap_optimize_folio+0x86/0xc0 mm/hugetlb_vmemmap.c:625
- __prep_new_hugetlb_folio mm/hugetlb.c:1970 [inline]
- prep_new_hugetlb_folio mm/hugetlb.c:1975 [inline]
- alloc_fresh_hugetlb_folio+0x1df/0x290 mm/hugetlb.c:2099
- alloc_surplus_hugetlb_folio+0x13e/0x2c0 mm/hugetlb.c:2313
- gather_surplus_pages+0x538/0x9a0 mm/hugetlb.c:2483
- hugetlb_acct_memory.part.0+0x78/0xd0 mm/hugetlb.c:4991
- hugetlb_acct_memory mm/hugetlb.c:4963 [inline]
- hugetlb_reserve_pages+0x4a6/0xd10 mm/hugetlb.c:6982
- hugetlb_file_setup+0x254/0x5f0 fs/hugetlbfs/inode.c:1628
- newseg+0x9fa/0xe10 ipc/shm.c:749
- ipcget_new ipc/util.c:345 [inline]
- ipcget+0xf6/0xea0 ipc/util.c:677
- ksys_shmget ipc/shm.c:839 [inline]
- __do_sys_shmget ipc/shm.c:844 [inline]
- __se_sys_shmget ipc/shm.c:842 [inline]
- __x64_sys_shmget+0x13c/0x1b0 ipc/shm.c:842
- do_syscall_x64 arch/x86/entry/common.c:52 [inline]
- do_syscall_64+0xbf/0x1d0 arch/x86/entry/common.c:83
- entry_SYSCALL_64_after_hwframe+0x77/0x7f
- -> #0 (&ids->rwsem){++++}-{3:3}:
- check_prev_add kernel/locking/lockdep.c:3161 [inline]
- check_prevs_add kernel/locking/lockdep.c:3280 [inline]
- validate_chain kernel/locking/lockdep.c:3904 [inline]
- __lock_acquire+0x2b7c/0x4980 kernel/locking/lockdep.c:5202
- lock_acquire.part.0+0x11b/0x350 kernel/locking/lockdep.c:5825
- down_write+0x92/0x1f0 kernel/locking/rwsem.c:1577
- __shm_close+0x49/0x740 ipc/shm.c:374
- remove_vma+0xa4/0x190 mm/vma.c:330
- exit_mmap+0x44a/0xa60 mm/mmap.c:1898
- __mmput kernel/fork.c:1347 [inline]
- mmput+0xd5/0x350 kernel/fork.c:1369
- exit_mm kernel/exit.c:571 [inline]
- do_exit+0x9ae/0x2a60 kernel/exit.c:926
- io_sq_thread+0xb37/0x1980 io_uring/sqpoll.c:392
- ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
- ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
- other info that might help us debug this:
- Chain exists of:
- &ids->rwsem --> &cpuctx_mutex --> &mm->mmap_lock
- Possible unsafe locking scenario:
- CPU0 CPU1
- ---- ----
- lock(&mm->mmap_lock);
- lock(&cpuctx_mutex);
- lock(&mm->mmap_lock);
- lock(&ids->rwsem);
- *** DEADLOCK ***
- 1 lock held by iou-sqp-1708/1710:
- #0: ffff88810e962fd8 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock include/linux/mmap_lock.h:106 [inline]
- #0: ffff88810e962fd8 (&mm->mmap_lock){++++}-{3:3}, at: exit_mmap+0x1cc/0xa60 mm/mmap.c:1882
- stack backtrace:
- CPU: 3 UID: 0 PID: 1710 Comm: iou-sqp-1708 Not tainted 6.12.0-rc4 #1
- Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
- Call Trace:
- <TASK>
- __dump_stack lib/dump_stack.c:94 [inline]
- dump_stack_lvl+0x116/0x1b0 lib/dump_stack.c:120
- print_circular_bug+0x54d/0x870 kernel/locking/lockdep.c:2074
- check_noncircular+0x304/0x3d0 kernel/locking/lockdep.c:2206
- check_prev_add kernel/locking/lockdep.c:3161 [inline]
- check_prevs_add kernel/locking/lockdep.c:3280 [inline]
- validate_chain kernel/locking/lockdep.c:3904 [inline]
- __lock_acquire+0x2b7c/0x4980 kernel/locking/lockdep.c:5202
- lock_acquire.part.0+0x11b/0x350 kernel/locking/lockdep.c:5825
- down_write+0x92/0x1f0 kernel/locking/rwsem.c:1577
- __shm_close+0x49/0x740 ipc/shm.c:374
- remove_vma+0xa4/0x190 mm/vma.c:330
- exit_mmap+0x44a/0xa60 mm/mmap.c:1898
- __mmput kernel/fork.c:1347 [inline]
- mmput+0xd5/0x350 kernel/fork.c:1369
- exit_mm kernel/exit.c:571 [inline]
- do_exit+0x9ae/0x2a60 kernel/exit.c:926
- io_sq_thread+0xb37/0x1980 io_uring/sqpoll.c:392
- ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
- ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
- </TASK>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement