<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [CI][SHARDS] igt@gem_userptr_blits@* - dmesg-warn - WARNING: possible circular locking dependency detected"
href="https://bugs.freedesktop.org/show_bug.cgi?id=111870">111870</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[CI][SHARDS] igt@gem_userptr_blits@* - dmesg-warn - WARNING: possible circular locking dependency detected
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr>
<tr>
<th>Version</th>
<td>DRI git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>not set
</td>
</tr>
<tr>
<th>Priority</th>
<td>not set
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/Intel
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>lakshminarayana.vudum@intel.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>intel-gfx-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre><a href="https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html">https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6977/shard-tglb4/igt@gem_userptr_blits@map-fixed-invalidate-busy.html</a>
<6> [502.459031] [IGT] gem_userptr_blits: executing
<6> [502.473146] [IGT] gem_userptr_blits: starting subtest
map-fixed-invalidate-busy
<4> [502.495825]
<4> [502.495830] ======================================================
<4> [502.495832] WARNING: possible circular locking dependency detected
<4> [502.495835] 5.4.0-rc1-CI-CI_DRM_6977+ #1 Tainted: G U
<4> [502.495837] ------------------------------------------------------
<4> [502.495839] gem_userptr_bli/1289 is trying to acquire lock:
<4> [502.495842] ffff88847e3500c8 (&dev->struct_mutex/1){+.+.}, at:
userptr_mn_invalidate_range_start+0x1aa/0x200 [i915]
<4> [502.495902]
but task is already holding lock:
<4> [502.495904] ffffffff822647c0 (mmu_notifier_invalidate_range_start){+.+.},
at: unmap_vmas+0x0/0x150
<4> [502.495910]
which lock already depends on the new lock.
<4> [502.495912]
the existing dependency chain (in reverse order) is:
<4> [502.495914]
-> #3 (mmu_notifier_invalidate_range_start){+.+.}:
<4> [502.495918] page_mkclean_one+0xda/0x210
<4> [502.495921] rmap_walk_file+0xff/0x260
<4> [502.495923] page_mkclean+0x9f/0xb0
<4> [502.495925] clear_page_dirty_for_io+0xa2/0x300
<4> [502.495929] mpage_submit_page+0x1a/0x70
<4> [502.495931] mpage_process_page_bufs+0xe7/0x110
<4> [502.495933] mpage_prepare_extent_to_map+0x1d2/0x2b0
<4> [502.495936] ext4_writepages+0x592/0x1230
<4> [502.495938] do_writepages+0x46/0xe0
<4> [502.495941] __filemap_fdatawrite_range+0xc6/0x100
<4> [502.495943] file_write_and_wait_range+0x3c/0x90
<4> [502.495945] ext4_sync_file+0x154/0x500
<4> [502.495948] do_fsync+0x33/0x60
<4> [502.495950] __x64_sys_fsync+0xb/0x10
<4> [502.495953] do_syscall_64+0x4f/0x210
<4> [502.495957] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.495958]
-> #2 (&mapping->i_mmap_rwsem){++++}:
<4> [502.495962] down_write+0x33/0x70
<4> [502.495964] unmap_mapping_pages+0x48/0x130
<4> [502.496001] i915_vma_revoke_mmap+0x81/0x1b0 [i915]
<4> [502.496036] fence_update+0xb4/0x260 [i915]
<4> [502.496073] i915_vma_unbind+0xac/0x4a0 [i915]
<4> [502.496116] i915_gem_object_ggtt_pin+0x1bd/0x410 [i915]
<4> [502.496153] i915_gem_object_pin_to_display_plane+0xd1/0x130 [i915]
<4> [502.496189] intel_pin_and_fence_fb_obj+0xb3/0x230 [i915]
<4> [502.496224] intel_plane_pin_fb+0x3c/0xd0 [i915]
<4> [502.496258] intel_prepare_plane_fb+0x144/0x5d0 [i915]
<4> [502.496262] drm_atomic_helper_prepare_planes+0x85/0x110
<4> [502.496295] intel_atomic_commit+0xc6/0x2f0 [i915]
<4> [502.496298] drm_atomic_helper_set_config+0x61/0x90
<4> [502.496301] drm_mode_setcrtc+0x18e/0x720
<4> [502.496303] drm_ioctl_kernel+0xa7/0xf0
<4> [502.496305] drm_ioctl+0x2e1/0x390
<4> [502.496308] do_vfs_ioctl+0xa0/0x6f0
<4> [502.496310] ksys_ioctl+0x35/0x60
<4> [502.496312] __x64_sys_ioctl+0x11/0x20
<4> [502.496314] do_syscall_64+0x4f/0x210
<4> [502.496316] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496318]
-> #1 (&vm->mutex){+.+.}:
<4> [502.496349] i915_gem_shrinker_taints_mutex+0x6d/0xe0 [i915]
<4> [502.496380] i915_address_space_init+0x9f/0x160 [i915]
<4> [502.496412] i915_ggtt_init_hw+0x55/0x170 [i915]
<4> [502.496432] i915_driver_probe+0xc72/0x1620 [i915]
<4> [502.496453] i915_pci_probe+0x43/0x1b0 [i915]
<4> [502.496456] pci_device_probe+0x9e/0x120
<4> [502.496460] really_probe+0xea/0x420
<4> [502.496462] driver_probe_device+0x10b/0x120
<4> [502.496465] device_driver_attach+0x4a/0x50
<4> [502.496467] __driver_attach+0x97/0x130
<4> [502.496469] bus_for_each_dev+0x74/0xc0
<4> [502.496472] bus_add_driver+0x142/0x220
<4> [502.496474] driver_register+0x56/0xf0
<4> [502.496476] do_one_initcall+0x58/0x2ff
<4> [502.496479] do_init_module+0x56/0x1f8
<4> [502.496481] load_module+0x24b8/0x2a70
<4> [502.496483] __do_sys_finit_module+0xe9/0x110
<4> [502.496485] do_syscall_64+0x4f/0x210
<4> [502.496487] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496489]
-> #0 (&dev->struct_mutex/1){+.+.}:
<4> [502.496493] __lock_acquire+0x1328/0x15d0
<4> [502.496496] lock_acquire+0xa7/0x1c0
<4> [502.496498] __mutex_lock+0x9a/0x9d0
<4> [502.496531] userptr_mn_invalidate_range_start+0x1aa/0x200 [i915]
<4> [502.496538] __mmu_notifier_invalidate_range_start+0xa3/0x180
<4> [502.496544] unmap_vmas+0x143/0x150
<4> [502.496550] unmap_region+0xa3/0x100
<4> [502.496554] __do_munmap+0x25d/0x490
<4> [502.496558] mmap_region+0xaf/0x620
<4> [502.496560] do_mmap+0x3d8/0x5a0
<4> [502.496563] vm_mmap_pgoff+0x98/0xf0
<4> [502.496565] ksys_mmap_pgoff+0x196/0x1f0
<4> [502.496567] do_syscall_64+0x4f/0x210
<4> [502.496569] entry_SYSCALL_64_after_hwframe+0x49/0xbe
<4> [502.496571]
other info that might help us debug this:
<4> [502.496574] Chain exists of:
&dev->struct_mutex/1 --> &mapping->i_mmap_rwsem -->
mmu_notifier_invalidate_range_start
<4> [502.496579] Possible unsafe locking scenario:
<4> [502.496581] CPU0 CPU1
<4> [502.496583] ---- ----
<4> [502.496585] lock(mmu_notifier_invalidate_range_start);
<4> [502.496587] lock(&mapping->i_mmap_rwsem);
<4> [502.496590]
lock(mmu_notifier_invalidate_range_start);
<4> [502.496593] lock(&dev->struct_mutex/1);
<4> [502.496595]
*** DEADLOCK ***</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>