[GIT PULL] smb3 client fixes

From: Steve French
Date: Sat Jul 01 2023 - 00:21:04 EST


Please pull the following changes since commit
45a3e24f65e90a047bef86f927ebdc4c710edaa1:

Linux 6.4-rc7 (2023-06-18 14:06:27 -0700)

are available in the Git repository at:

git://git.samba.org/sfrench/cifs-2.6.git tags/6.5-rc-smb3-client-fixes-part1

for you to fetch changes up to 61986a58bc6abbb1aea26e52bd269f49e5bacf19:

cifs: new dynamic tracepoint to track ses not found errors
(2023-06-29 09:58:09 -0500)

----------------------------------------------------------------
20 cifs/smb3 fixes, 8 for stable
- Deferred close fix
- Debugging improvements: display missing mount option, dump rc on
invalidate inode failures, print client_guid in DebugData, log session
id when matching session not found in reconnect, new dynamic
tracepoint for session not found
- Mount fixes including: potential null dereference, and possible
memory leak and path name parsing when double slashes
- Fix potential use after free in compounding
- Two crediting (flow control) fixes: fix for crediting leak (stress
scenario with excess lease credits) and better locking around updating
credits
- Three cleanups from issues pointed out by the kernel test robot
- Session state check improvements (including for potential use after free)
- DFS fixes: Fix for getattr on link when DFS disabled, fix for DFS
mounts to same share with different prefix paths, DFS mount error
checking improvement

This does not include some caching fixes/improvements and reconnect
fixes that are still being reviewed/tested.
----------------------------------------------------------------
Bharath SM (1):
SMB3: Do not send lease break acknowledgment if all file handles
have been closed

Paulo Alcantara (9):
smb: client: fix warning in cifs_match_super()
smb: client: fix warning in cifs_smb3_do_mount()
smb: client: fix warning in CIFSFindFirst()
smb: client: fix warning in CIFSFindNext()
smb: client: fix warning in generic_ip_connect()
smb: client: fix broken file attrs with nodfs mounts
smb: client: fix parsing of source mount option
smb: client: fix shared DFS root mounts with different prefixes
smb: client: improve DFS mount check

Shyam Prasad N (6):
cifs: print nosharesock value while dumping mount options
cifs: prevent use-after-free by freeing the cfile later
cifs: do all necessary checks for credits within or before locking
cifs: print client_guid in DebugData
cifs: log session id when a matching ses is not found
cifs: new dynamic tracepoint to track ses not found errors

Steve French (2):
cifs: print more detail when invalidate_inode_mapping fails
smb3: do not reserve too many oplock credits

Winston Wen (2):
cifs: fix session state check in reconnect to avoid use-after-free issue
cifs: fix session state check in smb2_find_smb_ses

fs/smb/client/cifs_debug.c | 17 ++++---
fs/smb/client/cifs_dfs_ref.c | 20 +++++---
fs/smb/client/cifsfs.c | 30 +++++-------
fs/smb/client/cifsglob.h | 10 ++--
fs/smb/client/cifsproto.h | 4 +-
fs/smb/client/cifssmb.c | 211
++++++++++++++++++++++++++++++++++++--------------------------------------------
fs/smb/client/connect.c | 92 ++++++++++++++++++++---------------
fs/smb/client/dfs.c | 96 ++++++++++--------------------------
fs/smb/client/dfs.h | 19 ++++----
fs/smb/client/dfs_cache.c | 8 +--
fs/smb/client/file.c | 25 +++++-----
fs/smb/client/fs_context.c | 59 +++++++++++++++++++----
fs/smb/client/inode.c | 4 +-
fs/smb/client/misc.c | 55 +++++++++++++++------
fs/smb/client/smb2inode.c | 9 ++--
fs/smb/client/smb2ops.c | 31 +++++++-----
fs/smb/client/smb2pdu.c | 6 +++
fs/smb/client/smb2transport.c | 12 ++++-
fs/smb/client/trace.h | 20 ++++++++
fs/smb/client/transport.c | 20 ++++----
20 files changed, 403 insertions(+), 345 deletions(-)


--
Thanks,

Steve