linux/fs/cifs
Federico Sauter 4afe260bab CIFS: Fix race condition on RFC1002_NEGATIVE_SESSION_RESPONSE
This patch fixes a race condition that occurs when connecting
to a NT 3.51 host without specifying a NetBIOS name.
In that case a RFC1002_NEGATIVE_SESSION_RESPONSE is received
and the SMB negotiation is reattempted, but under some conditions
it leads SendReceive() to hang forever while waiting for srv_mutex.
This, in turn, sets the calling process to an uninterruptible sleep
state and makes it unkillable.

The solution is to unlock the srv_mutex acquired in the demux
thread *before* going to sleep (after the reconnect error) and
before reattempting the connection.
2015-05-20 13:25:55 -05:00
..
asn1.c
cache.c
cifs_debug.c cifs: fix MUST SecurityFlags filtering 2015-01-26 19:38:26 -06:00
cifs_debug.h
cifs_dfs_ref.c Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
cifs_fs_sb.h
cifs_spnego.c
cifs_spnego.h
cifs_unicode.c Fix to convert SURROGATE PAIR 2015-05-20 13:12:51 -05:00
cifs_unicode.h
cifs_uniupr.h
cifsacl.c
cifsacl.h
cifsencrypt.c CIFS: session servername can't be null 2015-04-01 00:01:47 -05:00
cifsfs.c Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
cifsfs.h
cifsglob.h
cifspdu.h
cifsproto.h Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
cifssmb.c CIFS: remove an unneeded NULL check 2015-05-20 11:36:16 -05:00
connect.c CIFS: Fix race condition on RFC1002_NEGATIVE_SESSION_RESPONSE 2015-05-20 13:25:55 -05:00
dir.c Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
dns_resolve.c
dns_resolve.h
export.c
file.c cifs: potential missing check for posix_lock_file_wait 2015-05-20 13:08:33 -05:00
fscache.c
fscache.h
inode.c Fix to check Unique id and FileType when client refer file directly. 2015-05-20 13:05:25 -05:00
ioctl.c fix deadlock in cifs_ioctl_clone() 2015-01-18 23:49:26 -05:00
Kconfig
link.c Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
Makefile
misc.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
netmisc.c
nterr.c
nterr.h
ntlmssp.h
readdir.c cifs: Don't replace dentries for dfs mounts 2015-05-10 19:56:05 -05:00
rfc1002pdu.h
sess.c
smb1ops.c Fix that several functions handle incorrect value of mapchars 2015-05-10 19:56:35 -05:00
smb2file.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
smb2glob.h
smb2inode.c
smb2maperror.c
smb2misc.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
smb2ops.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
smb2pdu.c [cifs] fix null pointer check 2015-05-20 09:32:21 -05:00
smb2pdu.h
smb2proto.h
smb2status.h
smb2transport.c
smbencrypt.c cifs: use memzero_explicit to clear stack buffer 2015-01-19 15:32:13 -06:00
smberr.h
smbfsctl.h
transport.c
winucase.c
xattr.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00