igt@fbdev@eof - dmesg-warn/abort - is trying to acquire lock at: fb_deferred_io_mkwrite, but task is already holding lock at: do_user_addr_fault
https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8118/fi-kbl-8809g/igt@fbdev@eof.html#dmesg-warnings33
<7> [32.587203] [drm:dm_plane_helper_prepare_fb [amdgpu]] No FB bound
<6> [32.593828] [IGT] fbdev: starting subtest eof
<4> [32.593952]
<4> [32.593958] ======================================================
<4> [32.593966] WARNING: possible circular locking dependency detected
<4> [32.593975] 6.1.0-rc5-CI_DRM_12389-g3eb60fea7cd4+ #1 Not tainted
<4> [32.593984] ------------------------------------------------------
<4> [32.593992] fbdev/1190 is trying to acquire lock:
<4> [32.594000] ffffffffa00bf598 (&fbdefio->lock){+.+.}-{3:3}, at: fb_deferred_io_mkwrite+0x3e/0x270
<4> [32.594019]
but task is already holding lock:
<4> [32.594027] ffff88810f7e9e98 (&mm->mmap_lock#2){++++}-{3:3}, at: do_user_addr_fault+0x143/0x690
<4> [32.594045]
which lock already depends on the new lock.
<4> [32.594056]
the existing dependency chain (in reverse order) is:
<4> [32.594084]
-> #5 (&mm->mmap_lock#2){++++}-{3:3}:
<4> [32.594108] lock_acquire+0xd3/0x310
<4> [32.594116] __might_fault+0x5b/0x80
<4> [32.594125] drm_mode_object_get_properties+0x9f/0x130
<4> [32.594135] drm_mode_obj_get_properties_ioctl+0xba/0x1c0
<4> [32.594145] drm_ioctl_kernel+0xb0/0x140
<4> [32.594153] drm_ioctl+0x207/0x3d0
<4> [32.594160] __x64_sys_ioctl+0x6e/0xb0
<4> [32.594168] do_syscall_64+0x37/0x90
<4> [32.594177] entry_SYSCALL_64_after_hwframe+0x63/0xcd
<4> [32.594188]
-> #4 (crtc_ww_class_mutex){+.+.}-{3:3}:
<4> [32.594200] lock_acquire+0xd3/0x310
<4> [32.594208] __ww_mutex_lock.constprop.26+0xc5/0x1600
<4> [32.594217] ww_mutex_lock+0x33/0x100
<4> [32.594225] drm_modeset_lock+0x48/0x130
<4> [32.594233] drmm_mode_config_init+0x2e7/0x8d0
<4> [32.594242] amdgpu_device_init.cold.57+0xdf8/0x176d [amdgpu]
<4> [32.594438] amdgpu_driver_load_kms+0x10/0x120 [amdgpu]
<4> [32.594638] amdgpu_pci_probe+0x14b/0x360 [amdgpu]
<4> [32.594767] pci_device_probe+0x95/0x110
<4> [32.594776] really_probe+0xd6/0x350
<4> [32.594785] __driver_probe_device+0x73/0x170
<4> [32.594794] driver_probe_device+0x1a/0x90
<4> [32.594803] __driver_attach+0xbc/0x190
<4> [32.594812] bus_for_each_dev+0x72/0xc0
<4> [32.594820] bus_add_driver+0x1bb/0x210
<4> [32.594828] driver_register+0x66/0xc0
<4> [32.594836] do_one_initcall+0x53/0x2f0
<4> [32.594844] do_init_module+0x45/0x1c0
<4> [32.594853] load_module+0x1d5e/0x1e90
<4> [32.594861] __do_sys_finit_module+0xaf/0x120
<4> [32.594870] do_syscall_64+0x37/0x90
<4> [32.594896] entry_SYSCALL_64_after_hwframe+0x63/0xcd
<4> [32.594906]
-> #3 (crtc_ww_class_acquire){+.+.}-{0:0}:
<4> [32.594932] lock_acquire+0xd3/0x310
<4> [32.594939] drm_modeset_acquire_init+0xcf/0x110
<4> [32.594949] drm_client_modeset_commit_atomic+0x3e/0x270
<4> [32.594959] drm_client_modeset_commit_locked+0x52/0x190
<4> [32.594969] drm_client_modeset_commit+0x1c/0x40
<4> [32.594978] __drm_fb_helper_restore_fbdev_mode_unlocked+0x90/0xc0 [drm_kms_helper]
<4> [32.595002] drm_fb_helper_set_par+0x34/0x50 [drm_kms_helper]
<4> [32.595020] fbcon_init+0x272/0x500
<4> [32.595028] visual_init+0xc6/0x130
<4> [32.595036] do_bind_con_driver+0x1e9/0x2d0
<4> [32.595045] do_take_over_console+0x10e/0x180
<4> [32.595054] do_fbcon_takeover+0x57/0xc0
<4> [32.595061] fbcon_fb_registered+0x14d/0x160
<4> [32.595070] register_framebuffer+0x211/0x340
<4> [32.595079] __drm_fb_helper_initial_config_and_unlock+0x37f/0x580 [drm_kms_helper]
<4> [32.595100] drm_fbdev_client_hotplug+0xc0/0x110 [drm_kms_helper]
<4> [32.595118] drm_fbdev_generic_setup+0x8f/0x160 [drm_kms_helper]
<4> [32.595137] amdgpu_pci_probe+0x34c/0x360 [amdgpu]
<4> [32.595266] pci_device_probe+0x95/0x110
<4> [32.595274] really_probe+0xd6/0x350
<4> [32.595282] __driver_probe_device+0x73/0x170
<4> [32.595291] driver_probe_device+0x1a/0x90
<4> [32.595300] __driver_attach+0xbc/0x190
<4> [32.595308] bus_for_each_dev+0x72/0xc0
<4> [32.595316] bus_add_driver+0x1bb/0x210
<4> [32.595324] driver_register+0x66/0xc0
<4> [32.595333] do_one_initcall+0x53/0x2f0
<4> [32.595340] do_init_module+0x45/0x1c0
<4> [32.595348] load_module+0x1d5e/0x1e90
<4> [32.595356] __do_sys_finit_module+0xaf/0x120
<4> [32.595365] do_syscall_64+0x37/0x90
<4> [32.595373] entry_SYSCALL_64_after_hwframe+0x63/0xcd
<4> [32.595383]
-> #2 (&client->modeset_mutex){+.+.}-{3:3}:
<4> [32.595395] lock_acquire+0xd3/0x310
<4> [32.595403] __mutex_lock+0x97/0xf10
<4> [32.595411] drm_client_modeset_probe+0x21a/0xcc0
<4> [32.595420] __drm_fb_helper_initial_config_and_unlock+0x42/0x580 [drm_kms_helper]
<4> [32.595459] drm_fbdev_client_hotplug+0xc0/0x110 [drm_kms_helper]
<4> [32.595497] drm_fbdev_generic_setup+0x8f/0x160 [drm_kms_helper]
<4> [32.595541] amdgpu_pci_probe+0x34c/0x360 [amdgpu]
<4> [32.595671] pci_device_probe+0x95/0x110
<4> [32.595679] really_probe+0xd6/0x350
<4> [32.595687] __driver_probe_device+0x73/0x170
<4> [32.595696] driver_probe_device+0x1a/0x90
<4> [32.595705] __driver_attach+0xbc/0x190
<4> [32.595713] bus_for_each_dev+0x72/0xc0
<4> [32.595721] bus_add_driver+0x1bb/0x210
<4> [32.595729] driver_register+0x66/0xc0
<4> [32.595738] do_one_initcall+0x53/0x2f0
<4> [32.595746] do_init_module+0x45/0x1c0
<4> [32.595753] load_module+0x1d5e/0x1e90
<4> [32.595761] __do_sys_finit_module+0xaf/0x120
<4> [32.595770] do_syscall_64+0x37/0x90
<4> [32.595778] entry_SYSCALL_64_after_hwframe+0x63/0xcd
<4> [32.595788]
-> #1 (&helper->lock){+.+.}-{3:3}:
<4> [32.595800] lock_acquire+0xd3/0x310
<4> [32.595807] __mutex_lock+0x97/0xf10
<4> [32.595815] drm_fbdev_fb_dirty+0x98/0x340 [drm_kms_helper]
<4> [32.595833] drm_fb_helper_deferred_io+0xef/0x1f0 [drm_kms_helper]
<4> [32.595852] fb_deferred_io_work+0xed/0x210
<4> [32.595860] process_one_work+0x272/0x5b0
<4> [32.595869] worker_thread+0x37/0x370
<4> [32.595877] kthread+0xed/0x120
<4> [32.595884] ret_from_fork+0x1f/0x30
<4> [32.595891]
-> #0 (&fbdefio->lock){+.+.}-{3:3}:
<4> [32.595903] validate_chain+0xb3d/0x2000
<4> [32.595911] __lock_acquire+0x5a4/0xb70
<4> [32.595918] lock_acquire+0xd3/0x310
<4> [32.595925] __mutex_lock+0x97/0xf10
<4> [32.595933] fb_deferred_io_mkwrite+0x3e/0x270
<4> [32.595941] do_page_mkwrite+0x3e/0x110
<4> [32.595950] do_wp_page+0x327/0x4e0
<4> [32.595958] __handle_mm_fault+0x793/0xb50
<4> [32.595966] handle_mm_fault+0x79/0x1e0
<4> [32.595973] do_user_addr_fault+0x1e7/0x690
<4> [32.595981] exc_page_fault+0x62/0x230
<4> [32.595988] asm_exc_page_fault+0x22/0x30
<4> [32.595996]
other info that might help us debug this:
<4> [32.596007] Chain exists of:
&fbdefio->lock --> crtc_ww_class_mutex --> &mm->mmap_lock#2
<4> [32.596027] Possible unsafe locking scenario:
<4> [32.596035] CPU0 CPU1
<4> [32.596042] ---- ----
<4> [32.596048] lock(&mm->mmap_lock#2);
<4> [32.596056] lock(crtc_ww_class_mutex);
<4> [32.596066] lock(&mm->mmap_lock#2);
<4> [32.596077] lock(&fbdefio->lock);
<4> [32.596084]
*** DEADLOCK ***