[Kernel-packages] [Bug 1725322] Re: kernel 4.4.0.97.102 breaks DFS
** Bug watch added: Linux Kernel Bug Tracker #196891 https://bugzilla.kernel.org/show_bug.cgi?id=196891 ** Also affects: linux via https://bugzilla.kernel.org/show_bug.cgi?id=196891 Importance: Unknown Status: Unknown -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1725322 Title: kernel 4.4.0.97.102 breaks DFS Status in Linux: Unknown Status in linux package in Ubuntu: Confirmed Bug description: OS: Ubuntu Desktop 16.04.3 We connect to Windows DFS using automounter with our Linux 16.04 workstations to let users access the windows shares. Until kernel version 4.4.0-96 this worked without any issues. However if a computer updates to kernel 4.4.0.97.102, using the same configs and samba version, it stops working and reports a "ls: cannot access xx: File name too long" error. (where xx is a foldername) Also if you run "ls -all" you will see: d? ? ? ? ?? Applications on the same computer selecting kernel 4.4.0.21.22 at grub menu: drwx--x--x 2 root root0 Oct 20 16:44 Applications Mount commando output (removed hostnames and IP numbers ) on computer with kernel 4.4.0.21.22 //XXX/Public on /vol/winshare/Public type cifs (rw,relatime,vers=1.0,sec=krb5,cache=strict,multiuser,uid=0,noforceuid,gid=0,noforcegid,addr=x.x.x.x file_mode=0755,dir_mode=0755,nounix,mapposix,noperm,rsize=61440,wsize=65536,actimeo=1) Mount commando output (removed hostnames and IP numbers ) on the same computer with kernel 4.4.0.97.102 //XXX/Public on /vol/winshare/Public type cifs (rw,relatime,vers=1.0,sec=krb5,cache=strict,multiuser,uid=0,noforceuid,gid=0,noforcegid,addr=x.x.x.x,file_mode=0755,dir_mode=0755,nounix,mapposix,noperm,rsize=61440,wsize=65536,echo_interval=60,actimeo=1) During these tests the only thing that changed is the running kernel, no other changes were applied. autofs config file used for this connection Public -fstype=cifs,sec=krb5,multiuser,nounix,noserverino :///Public To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1725322/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1707167] [NEW] Kernel CIFS Module ignores USER_SESSION_DELETED PDUs and holds onto dead sessions.
Public bug reported: #Summary The cifs kernel module currently ignores the nt_status USER_SESSION_DELETED PDUs sent to it from remote SMB2+ peers and holds onto clearly dead SMB2+ sessions as a result. This is causing issues, as it appears that the kernel only reconnects after a delay period, during which time all IO to that network share (with that session id) results in an I/O error for the user; all the while the kernel is repeatedly resubmitting the requests in the background with the server just responding to each of them with yet more USER_SESSION_DELETED packets. This is contrasting to the behaviour on Windows clients - whereby if the response the client gets is USER_SESSION_DELETED, it drops that session and reconnects - transparently to the user. This causes massive issues multiuser mounts (as is the case for me), as if a users SMB session is deleted by the server for any reason, that user essentially loses all access to that share for extended periods, until the cifs module sees fit to treat that session as dead and renegotiate or an admin intervenes. # Reproducing Reproducing the issue is easily done, establish an SMB2+ mount to a Windows Server machine, open any directory on client to establish a session, then simply terminate that SMB session from the servers MMC console, if you then try and run any queries against that mountpoint on the client you will just end up with a string of I/O errors because its trying to use a session id which is dead. For reference I'm testing using the following mount options: vers=3.02,multiuser,sec=ntlmsspi,file_mode=0750,dir_mode=0755,cache=none,credentials=/etc/smb.credentials.conf # Affects This affects all kernel releases that I've tested(including the kernel mainline), and hence I've reported it upstream, however I'm recording it here as well for reference purposes. ## Additional Reference Info Current Version Sig: Ubuntu 4.4.0-78.99-generic 4.4.62 ** Affects: linux Importance: Unknown Status: Unknown ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Attachment added: "Current lspci" https://bugs.launchpad.net/bugs/1707167/+attachment/4922945/+files/lspci-vnvn.log ** Bug watch added: Linux Kernel Bug Tracker #195817 https://bugzilla.kernel.org/show_bug.cgi?id=195817 ** Also affects: linux via https://bugzilla.kernel.org/show_bug.cgi?id=195817 Importance: Unknown Status: Unknown ** Summary changed: - CIFS: Kernel ignores USER_SESSION_DELETED PDU and holds onto dead sessions. + Kernel CIFS Module ignores USER_SESSION_DELETED PDUs and holds onto dead sessions. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1707167 Title: Kernel CIFS Module ignores USER_SESSION_DELETED PDUs and holds onto dead sessions. Status in Linux: Unknown Status in linux package in Ubuntu: New Bug description: #Summary The cifs kernel module currently ignores the nt_status USER_SESSION_DELETED PDUs sent to it from remote SMB2+ peers and holds onto clearly dead SMB2+ sessions as a result. This is causing issues, as it appears that the kernel only reconnects after a delay period, during which time all IO to that network share (with that session id) results in an I/O error for the user; all the while the kernel is repeatedly resubmitting the requests in the background with the server just responding to each of them with yet more USER_SESSION_DELETED packets. This is contrasting to the behaviour on Windows clients - whereby if the response the client gets is USER_SESSION_DELETED, it drops that session and reconnects - transparently to the user. This causes massive issues multiuser mounts (as is the case for me), as if a users SMB session is deleted by the server for any reason, that user essentially loses all access to that share for extended periods, until the cifs module sees fit to treat that session as dead and renegotiate or an admin intervenes. # Reproducing Reproducing the issue is easily done, establish an SMB2+ mount to a Windows Server machine, open any directory on client to establish a session, then simply terminate that SMB session from the servers MMC console, if you then try and run any queries against that mountpoint on the client you will just end up with a string of I/O errors because its trying to use a session id which is dead. For reference I'm testing using the following mount options: vers=3.02,multiuser,sec=ntlmsspi,file_mode=0750,dir_mode=0755,cache=none,credentials=/etc/smb.credentials.conf # Affects This affects all kernel releases that I've tested(including the kernel mainline), and hence I've reported it upstream, however I'm recording it here as well for reference purposes. ## Additional Reference Info Current Version Sig: Ubuntu 4.4.0-78.99-generic 4.4.62 To manage notifications about this bu