From: bugzilla-daemon@bugzilla.kernel.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 212499] New: nouveau locking issue - WARNING: possible circular locking dependency detected
Date: Wed, 31 Mar 2021 09:10:13 +0000 [thread overview]
Message-ID: <bug-212499-2300@https.bugzilla.kernel.org/> (raw)
https://bugzilla.kernel.org/show_bug.cgi?id=212499
Bug ID: 212499
Summary: nouveau locking issue - WARNING: possible circular
locking dependency detected
Product: Drivers
Version: 2.5
Kernel Version: 5.12-rc5
Hardware: x86-64
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri@kernel-bugs.osdl.org
Reporter: erhard_f@mailbox.org
CC: dri-devel@lists.freedesktop.org
Regression: No
Created attachment 296155
--> https://bugzilla.kernel.org/attachment.cgi?id=296155&action=edit
dmesg (kernel 5.12-rc5, A10-9700E)
[...]
======================================================
WARNING: possible circular locking dependency detected
5.12.0-rc5-Excavator #4 Not tainted
------------------------------------------------------
X/593 is trying to acquire lock:
ffff95f9110ec518 (&cli->mutex){+.+.}-{3:3}, at: nouveau_bo_move+0x167/0x990
[nouveau]
but task is already holding lock:
ffff95f8e70281a0 (reservation_ww_class_mutex){+.+.}-{3:3}, at:
nouveau_bo_pin+0x3b/0x3c0 [nouveau]
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #1 (reservation_ww_class_mutex){+.+.}-{3:3}:
__ww_mutex_lock.constprop.0+0x99/0xf20
nouveau_bo_pin+0x3b/0x3c0 [nouveau]
nouveau_channel_prep+0x126/0x2f0 [nouveau]
nouveau_channel_new+0x5d/0x6b0 [nouveau]
nouveau_abi16_ioctl_channel_alloc+0x10d/0x3a0 [nouveau]
drm_ioctl_kernel+0xa8/0xf0 [drm]
drm_ioctl+0x20a/0x3a0 [drm]
nouveau_drm_ioctl+0x50/0xa0 [nouveau]
__x64_sys_ioctl+0x81/0xa0
do_syscall_64+0x33/0x40
entry_SYSCALL_64_after_hwframe+0x44/0xae
-> #0 (&cli->mutex){+.+.}-{3:3}:
__lock_acquire+0x1480/0x2610
lock_acquire+0xc4/0x390
__mutex_lock+0x78/0x870
nouveau_bo_move+0x167/0x990 [nouveau]
ttm_bo_handle_move_mem+0x8b/0x170 [ttm]
ttm_bo_validate+0x193/0x1f0 [ttm]
nouveau_bo_pin+0x177/0x3c0 [nouveau]
nv50_wndw_prepare_fb+0x5a/0x4c0 [nouveau]
drm_atomic_helper_prepare_planes+0x85/0x110 [drm_kms_helper]
nv50_disp_atomic_commit+0xa6/0x1d0 [nouveau]
drm_atomic_helper_update_plane+0xe4/0x140 [drm_kms_helper]
drm_mode_cursor_universal+0x126/0x230 [drm]
drm_mode_cursor_common+0xfc/0x230 [drm]
drm_mode_cursor_ioctl+0x46/0x60 [drm]
drm_ioctl_kernel+0xa8/0xf0 [drm]
drm_ioctl+0x20a/0x3a0 [drm]
nouveau_drm_ioctl+0x50/0xa0 [nouveau]
__x64_sys_ioctl+0x81/0xa0
do_syscall_64+0x33/0x40
entry_SYSCALL_64_after_hwframe+0x44/0xae
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(reservation_ww_class_mutex);
lock(&cli->mutex);
lock(reservation_ww_class_mutex);
lock(&cli->mutex);
*** DEADLOCK ***
3 locks held by X/593:
#0: ffffaae9888e7ce0 (crtc_ww_class_acquire){+.+.}-{0:0}, at:
drm_mode_cursor_common+0xbb/0x230 [drm]
#1: ffff95f9113b0098 (crtc_ww_class_mutex){+.+.}-{3:3}, at:
modeset_lock+0x5f/0x1c0 [drm]
#2: ffff95f8e70281a0 (reservation_ww_class_mutex){+.+.}-{3:3}, at:
nouveau_bo_pin+0x3b/0x3c0 [nouveau]
stack backtrace:
CPU: 3 PID: 593 Comm: X Not tainted 5.12.0-rc5-Excavator #4
Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./A320M-HDV R3.0,
BIOS P3.10 06/26/2019
Call Trace:
dump_stack+0x7f/0xad
check_noncircular+0x104/0x120
? nvkm_uvmm_mthd+0x778/0x7b0 [nouveau]
__lock_acquire+0x1480/0x2610
lock_acquire+0xc4/0x390
? nouveau_bo_move+0x167/0x990 [nouveau]
? nvif_object_mthd+0x112/0x130 [nouveau]
__mutex_lock+0x78/0x870
? nouveau_bo_move+0x167/0x990 [nouveau]
? nouveau_bo_move+0x167/0x990 [nouveau]
nouveau_bo_move+0x167/0x990 [nouveau]
? unmap_mapping_pages+0x59/0x120
ttm_bo_handle_move_mem+0x8b/0x170 [ttm]
ttm_bo_validate+0x193/0x1f0 [ttm]
? nouveau_bo_sync_for_device+0x9b/0xe0 [nouveau]
nouveau_bo_pin+0x177/0x3c0 [nouveau]
nv50_wndw_prepare_fb+0x5a/0x4c0 [nouveau]
? _raw_spin_unlock_irqrestore+0x42/0x50
drm_atomic_helper_prepare_planes+0x85/0x110 [drm_kms_helper]
? lockdep_init_map_type+0x47/0x220
nv50_disp_atomic_commit+0xa6/0x1d0 [nouveau]
drm_atomic_helper_update_plane+0xe4/0x140 [drm_kms_helper]
drm_mode_cursor_universal+0x126/0x230 [drm]
drm_mode_cursor_common+0xfc/0x230 [drm]
? drm_mode_setplane+0x1a0/0x1a0 [drm]
drm_mode_cursor_ioctl+0x46/0x60 [drm]
drm_ioctl_kernel+0xa8/0xf0 [drm]
drm_ioctl+0x20a/0x3a0 [drm]
? drm_mode_setplane+0x1a0/0x1a0 [drm]
? lockdep_hardirqs_on_prepare+0xd4/0x180
? _raw_spin_unlock_irqrestore+0x42/0x50
nouveau_drm_ioctl+0x50/0xa0 [nouveau]
__x64_sys_ioctl+0x81/0xa0
do_syscall_64+0x33/0x40
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f0621dbecc7
Code: 3c 1c 48 f7 d8 49 39 c4 72 b9 e8 24 ff ff ff 85 c0 78 be 5b 4c 89 e0 5d
41 5c c3 0f 1f 84 00 00 00 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01
c3 48 8b 0d 71 41 0c 00 f7 d8 64 89 01 48
RSP: 002b:00007ffd8eb88dc8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 000000000000000c RCX: 00007f0621dbecc7
RDX: 00007ffd8eb88e1c RSI: 00000000c01c64a3 RDI: 000000000000000c
RBP: 00000000c01c64a3 R08: 0000000000000040 R09: 0000000000000001
R10: 00007f0622505bc0 R11: 0000000000000246 R12: 000055fbec3f5ec0
R13: 00007ffd8eb88e1c R14: 00000000000003bc R15: 0000000000000218
# lspci -s 04:00.0 -v
04:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710]
(rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. GT710-4H-SL-2GD5
Flags: bus master, fast devsel, latency 0, IRQ 51, IOMMU group 0
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at e8000000 (64-bit, prefetchable) [size=128M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024
<?>
Capabilities: [900] Secondary PCI Express
Kernel driver in use: nouveau
Kernel modules: nouveau
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are on the CC list for the bug.
You are watching the assignee of the bug.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2021-03-31 9:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-31 9:10 bugzilla-daemon [this message]
2021-03-31 9:10 ` [Bug 212499] nouveau locking issue - WARNING: possible circular locking dependency detected bugzilla-daemon
2022-04-18 8:52 ` bugzilla-daemon
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=bug-212499-2300@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=dri-devel@lists.freedesktop.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.