RHEL8: deadlock in cache_refresh_path()
Issue
- logs:
Oct 2 05:00:11 localhost kernel: CIFS: VFS: \\cifsmount Error -32 sending data on socket to server
Oct 2 05:00:11 localhost kernel: CIFS: VFS: \\cifsmount Error -32 sending data on socket to server
Oct 2 05:00:12 localhost kernel: CIFS: VFS: \\cifsmount Send error in SessSetup = -11
Oct 2 05:00:22 localhost kernel: CIFS: VFS: \\cifsmount Error -32 sending data on socket to server
Oct 2 05:00:49 localhost kernel: INFO: task cifsd:1921 blocked for more than 120 seconds.
Oct 2 05:00:49 localhost kernel: Not tainted 4.18.0-553.16.1.el8_10.x86_64 #1
Oct 2 05:00:49 localhost kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Oct 2 05:00:49 localhost kernel: task:cifsd state:D stack:0 pid:1921 ppid:2 flags:0x80004080
Oct 2 05:00:49 localhost kernel: Call Trace:
Oct 2 05:00:49 localhost kernel: __schedule+0x2d1/0x870
Oct 2 05:00:49 localhost kernel: ? __next_timer_interrupt+0xf0/0xf0
Oct 2 05:00:49 localhost kernel: schedule+0x55/0xf0
Oct 2 05:00:49 localhost kernel: schedule_preempt_disabled+0xa/0x10
Oct 2 05:00:49 localhost kernel: rwsem_down_read_slowpath+0x26e/0x3f0
Oct 2 05:00:49 localhost kernel: ? tcp_recvmsg+0x2e6/0xa90
Oct 2 05:00:49 localhost kernel: ? __release_sock+0xd0/0xd0
Oct 2 05:00:49 localhost kernel: ? tcp_recvmsg+0x4d0/0xa90
Oct 2 05:00:49 localhost kernel: down_read+0x95/0xa0
Oct 2 05:00:49 localhost kernel: dfs_cache_noreq_find+0x2e/0x100 [cifs]
Oct 2 05:00:49 localhost kernel: cifs_reconnect+0x9e/0x510 [cifs]
Oct 2 05:00:49 localhost kernel: cifs_readv_from_socket+0x1c1/0x280 [cifs]
Oct 2 05:00:49 localhost kernel: cifs_read_from_socket+0x57/0x80 [cifs]
Oct 2 05:00:49 localhost kernel: cifs_demultiplex_thread+0xf5/0xc80 [cifs]
Oct 2 05:00:49 localhost kernel: ? cifs_handle_standard+0x1a0/0x1a0 [cifs]
Oct 2 09:59:53 localhost kernel: CIFS: VFS: \\cifsmount Send error in SessSetup = -11
Oct 2 09:59:55 localhost kernel: CIFS: VFS: cifs_tree_connect: could not find superblock: -22
Oct 2 09:59:58 localhost kernel: CIFS: VFS: cifs_tree_connect: could not find superblock: -22
Oct 2 10:00:00 localhost kernel: CIFS: VFS: cifs_tree_connect: could not find superblock: -22
PID: 1128951 TASK: ffff97bf2135d000 CPU: 13 COMMAND: "mount.cifs"
#0 [ffffa76e0cc1f8a0] __schedule at ffffffffbc3fc7f1
#1 [ffffa76e0cc1f8f8] schedule at ffffffffbc3fcde5
#2 [ffffa76e0cc1f910] schedule_preempt_disabled at ffffffffbc3fd13a
#3 [ffffa76e0cc1f918] __mutex_lock at ffffffffbc3fedd9
#4 [ffffa76e0cc1f980] smb2_reconnect at ffffffffc0f8b9dd [cifs]
#5 [ffffa76e0cc1fa08] smb2_plain_req_init at ffffffffc0f8cc7e [cifs]
#6 [ffffa76e0cc1fa38] SMB2_ioctl_init at ffffffffc0f90ab0 [cifs]
#7 [ffffa76e0cc1faa8] SMB2_ioctl at ffffffffc0f90ddb [cifs]
#8 [ffffa76e0cc1fbc8] smb2_get_dfs_refer at ffffffffc0f826aa [cifs]
#9 [ffffa76e0cc1fc70] get_dfs_referral at ffffffffc0fa0bdd [cifs]
#10 [ffffa76e0cc1fcb0] cache_refresh_path at ffffffffc0fa31c5 [cifs]
#11 [ffffa76e0cc1fd00] dfs_cache_find at ffffffffc0fa361e [cifs]
#12 [ffffa76e0cc1fd30] cifs_mount at ffffffffc0f5359b [cifs]
#13 [ffffa76e0cc1fdd8] cifs_smb3_do_mount at ffffffffc0f3c202 [cifs]
#14 [ffffa76e0cc1fde0] cifs_smb3_do_mount at ffffffffc0f3c202 [cifs]
#15 [ffffa76e0cc1fe48] smb3_get_tree at ffffffffc0f9bc40 [cifs]
#16 [ffffa76e0cc1fe70] vfs_get_tree at ffffffffbbd673a5
#17 [ffffa76e0cc1fe90] do_mount at ffffffffbbd8dbc9
#18 [ffffa76e0cc1fef8] ksys_mount at ffffffffbbd8e5de
#19 [ffffa76e0cc1ff30] __x64_sys_mount at ffffffffbbd8e621
#20 [ffffa76e0cc1ff38] do_syscall_64 at ffffffffbba0531b
#21 [ffffa76e0cc1ff50] entry_SYSCALL_64_after_hwframe at ffffffffbc6000a9
Environment
- Red Hat Enterprise Linux 8
- [cifs]
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.