linux/fs/cifs
Ronnie Sahlberg 2f94a3125b cifs: fix kref underflow in close_shroot()
Fix a bug where we used to not initialize the cached fid structure at all
in open_shroot() if the open was successful but we did not get a lease.
This would leave the structure uninitialized and later when we close the handle
we would in close_shroot() try to kref_put() an uninitialized refcount.

Fix this by always initializing this structure if the open was successful
but only do the extra get() if we got a lease.
This extra get() is only used to hold the structure until we get a lease
break from the server at which point we will kref_put() it during lease
processing.

Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
CC: Stable <stable@vger.kernel.org>
2019-04-01 14:33:30 -05:00
..
asn1.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
cache.c cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
cifs_debug.c smb3: display volume serial number for shares in /proc/fs/cifs/DebugData 2019-03-14 19:32:35 -05:00
cifs_debug.h cifs: minor clarification in comments 2018-10-23 21:16:05 -05:00
cifs_dfs_ref.c cifs: use correct format characters 2019-03-05 18:10:28 -06:00
cifs_fs_sb.h smb3: make default i/o size for smb3 mounts larger 2019-03-04 20:05:35 -06:00
cifs_ioctl.h SMB3: passthru query info doesn't check for SMB3 FSCTL passthru 2019-03-14 19:32:36 -05:00
cifs_spnego.c smb3: on kerberos mount if server doesn't specify auth type use krb5 2018-11-02 14:09:41 -05:00
cifs_spnego.h
cifs_unicode.c fs/cifs: don't translate SFM_SLASH (U+F026) to backslash 2018-09-02 23:21:42 -05:00
cifs_unicode.h [SMB3] Remove ifdef since SMB3 (and later) now STRONGLY preferred 2017-07-08 18:57:07 -05:00
cifs_uniupr.h
cifsacl.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
cifsacl.h cifs: For SMB2 security informaion query, check for minimum sized security descriptor instead of sizeof FileAllInformation class 2018-06-04 19:19:24 -05:00
cifsencrypt.c cifs: remove coverity warning in calc_lanman_hash 2018-12-23 22:41:26 -06:00
cifsfs.c cifs: fix that return -EINVAL when do dedupe operation 2019-03-22 22:36:54 -05:00
cifsfs.h cifs: update internal module version number 2019-03-22 22:43:04 -05:00
cifsglob.h CIFS: make mknod() an smb_version_op 2019-03-14 19:32:36 -05:00
cifspdu.h smb3: missing defines and structs for reparse point handling 2018-11-02 14:09:41 -05:00
cifsproto.h CIFS: Return error code when getting file handle for writeback 2019-03-05 18:10:04 -06:00
cifssmb.c CIFS: Return error code when getting file handle for writeback 2019-03-05 18:10:04 -06:00
connect.c cifs: remove unused value pointed out by Coverity 2019-03-14 19:32:36 -05:00
dfs_cache.c cifs: Fix a tiny potential memory leak 2019-01-10 14:32:30 -06:00
dfs_cache.h cifs: Add DFS cache routines 2018-12-28 10:05:58 -06:00
dir.c CIFS: make mknod() an smb_version_op 2019-03-14 19:32:36 -05:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h
export.c [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg 2013-05-04 22:17:23 -05:00
file.c CIFS: Fix an issue with re-sending rdata when transport returning -EAGAIN 2019-03-22 22:36:54 -05:00
fscache.c cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
fscache.h cifs: use 64-bit timestamps for fscache 2018-08-07 14:15:41 -05:00
inode.c smb3: make default i/o size for smb3 mounts larger 2019-03-04 20:05:35 -06:00
ioctl.c cifs: add support for ioctl on directories 2018-10-23 21:16:05 -05:00
Kconfig fs: cifs: Kconfig: pedantic formatting 2019-03-06 21:55:12 -06:00
link.c cifs: replace snprintf with scnprintf 2019-03-04 20:05:34 -06:00
Makefile cifs: Add DFS cache routines 2018-12-28 10:05:58 -06:00
misc.c cifs: Add support for failover in smb2_reconnect() 2018-12-28 10:13:11 -06:00
netmisc.c cifs: use timespec64 internally 2018-08-07 14:15:41 -05:00
nterr.c
nterr.h
ntlmssp.h cifs: dynamic allocation of ntlmssp blob 2016-06-23 23:45:07 -05:00
readdir.c cifs: check ntwrk_buf_start for NULL before dereferencing it 2018-12-23 22:41:31 -06:00
rfc1002pdu.h
sess.c cifs: remove set but not used variable 'smb_buf' 2018-12-23 22:41:20 -06:00
smb1ops.c CIFS: make mknod() an smb_version_op 2019-03-14 19:32:36 -05:00
smb2file.c cifs: Fix potential OOB access of lock element array 2019-01-11 07:14:40 -06:00
smb2glob.h cifs: change SMB2_OP_RENAME and SMB2_OP_HARDLINK to use compounding 2018-10-23 21:16:04 -05:00
smb2inode.c smb3: Add dynamic trace points for various compounded smb3 ops 2019-03-14 19:32:35 -05:00
smb2maperror.c fix incorrect error code mapping for OBJECTID_NOT_FOUND 2019-03-22 22:36:54 -05:00
smb2misc.c CIFS: Do not reset lease state to NONE on lease break 2019-03-04 20:05:35 -06:00
smb2ops.c cifs: fix kref underflow in close_shroot() 2019-04-01 14:33:30 -05:00
smb2pdu.c SMB3: Fix SMB3.1.1 guest mounts to Samba 2019-03-22 22:42:49 -05:00
smb2pdu.h cifs: fix smb3_zero_range so it can expand the file-size when required 2019-03-14 19:32:35 -05:00
smb2proto.h cifs: add SMB2_ioctl_init/free helpers to be used with compounding 2019-03-14 19:32:35 -05:00
smb2status.h smb2: fix typo in definition of a few error flags 2019-03-14 19:32:36 -05:00
smb2transport.c CIFS: Only send SMB2_NEGOTIATE command on new TCP connections 2019-03-05 18:14:27 -06:00
smbdirect.c cifs: replace snprintf with scnprintf 2019-03-04 20:05:34 -06:00
smbdirect.h cifs: fix SMB1 breakage 2018-07-05 13:48:24 -05:00
smbencrypt.c CIFS: refactor crypto shash/sdesc allocation&free 2018-04-01 20:24:39 -05:00
smberr.h
smbfsctl.h [SMB3] Send durable handle v2 contexts when use of persistent handles required 2015-11-03 09:26:27 -06:00
trace.c smb3: Cleanup license mess 2019-01-24 09:37:33 -06:00
trace.h cifs: Fix slab-out-of-bounds when tracing SMB tcon 2019-03-22 22:36:54 -05:00
transport.c cifs: simplify how we handle credits in compound_send_recv() 2019-03-14 19:32:35 -05:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c smb3: create smb3 equivalent alias for cifs pseudo-xattrs 2018-08-10 18:46:58 -05:00