[GIT PULL] cifs/smb3 fixes

From: Steve French
Date: Fri Apr 01 2022 - 12:37:15 EST

Please pull the following changes since commit

cifs: use a different reconnect helper for non-cifsd threads
(2022-03-18 23:12:03 -0500)

are available in the Git repository at:

git://git.samba.org/sfrench/cifs-2.6.git tags/5.18-smb3-fixes-part2

for you to fetch changes up to d6f5e358452479fa8a773b5c6ccc9e4ec5a20880:

cifs: fix NULL ptr dereference in smb2_ioctl_query_info()
(2022-03-31 09:39:58 -0500)

14 fixes to cifs client and to smbfs_common code
(used by both cifs.ko client and ksmbd server), 4 for stable
- three fixes for big endian issues in how Persistent and Volatile
file ids were stored
- Various misc. fixes: including some for oops, 2 for ioctls, 1 for writeback
- cleanup of how tcon (tree connection) status is tracked
- Four changesets to move various duplicated protocol definitions
(defined both in cifs.ko and ksmbd) into smbfs_common/smb2pdu.h
- important performance improvement to use cached handles in some key
compounding code paths (reduces numbers of opens/closes sent in some
- fix to allow alternate DFS target to be used to retry on a failed i/o

There is a trivial merge conflict (fixed in linux-next) with recent
upstream commit:
" 5224f7909617 ("treewide: Replace zero-length arrays with
flexible-array members")" .

Here is a link to a rebased version that resolves the conflict if you
prefer using this:
git://git.samba.org/sfrench/cifs-2.6.git tags/5.18-rc-rebased-cifs-merge
David Howells (1):
cifs: writeback fix

Paulo Alcantara (5):
cifs: do not skip link targets when an I/O fails
cifs: fix bad fids sent over wire
ksmbd: store fids as opaque u64 integers
cifs: prevent bad output lengths in smb2_ioctl_query_info()
cifs: fix NULL ptr dereference in smb2_ioctl_query_info()

Ronnie Sahlberg (2):
cifs: convert the path to utf16 in smb2_query_info_compound
cifs: change smb2_query_info_compound to use a cached fid, if available

Steve French (5):
[smb3] move more common protocol header definitions to smbfs_common
smb3: move defines for ioctl protocol header and SMB2 sizes to
smb3: move defines for query info and query fsinfo to smbfs_common
smb3: cleanup and clarify status of tree connections
smb3: fix ksmbd bigendian bug in oplock break, and move its
struct to smbfs_common

Xiaomeng Tong (1):
cifs: fix incorrect use of list iterator after the loop

fs/cifs/cifs_debug.c | 2 +-
fs/cifs/cifsfs.c | 4 +-
fs/cifs/cifsglob.h | 24 +--
fs/cifs/cifspdu.h | 14 +-
fs/cifs/cifssmb.c | 11 +-
fs/cifs/connect.c | 46 +++--
fs/cifs/file.c | 8 +-
fs/cifs/misc.c | 2 +-
fs/cifs/smb2glob.h | 11 --
fs/cifs/smb2misc.c | 14 +-
fs/cifs/smb2ops.c | 246 +++++++++++++----------
fs/cifs/smb2pdu.c | 73 ++++---
fs/cifs/smb2pdu.h | 560
fs/cifs/smb2proto.h | 2 +-
fs/ksmbd/oplock.c | 4 +-
fs/ksmbd/smb2pdu.c | 108 +++++-----
fs/ksmbd/smb2pdu.h | 533
fs/smbfs_common/smb2pdu.h | 639
18 files changed, 924 insertions(+), 1377 deletions(-)