[GIT PULL] CIFS/SMB3 Fixes

From: Steve French
Date: Mon Jun 28 2021 - 19:52:40 EST


Please pull the following changes since commit
13311e74253fe64329390df80bed3f07314ddd61:

Linux 5.13-rc7 (2021-06-20 15:03:15 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 0fa757b5d3ea6e3d3d59f0e0d34c8214b8643b8f:

smb3: prevent races updating CurrentMid (2021-06-25 14:02:26 -0500)

----------------------------------------------------------------
38 cifs/smb3 fixes including:
- improvement to fallocate emulation
- 9 DFS fixes
- 2 minor multichannel fixes
- Various cleanup patches, many to address Coverity warnings

There are various features still being tested that are not included
in this PR but that should be ready soon, including some important
multichannel fixes, support for the new signing negotiate context as
well as an important multiuser uid fix. We are also still working on
the switchover to netfs for readahead so that is not included in this
series yet.
----------------------------------------------------------------
Aurelien Aptel (1):
cifs: fix ipv6 formating in cifs_ses_add_channel

Baokun Li (3):
cifs: fix doc warnings in cifs_dfs_ref.c
cifs: convert list_for_each to entry variant in smb2misc.c
cifs: convert list_for_each to entry variant in cifs_debug.c

Colin Ian King (1):
cifs: remove redundant initialization of variable rc

Dan Carpenter (1):
cifs: fix NULL dereference in smb2_check_message()

Hyunchul Lee (1):
cifs: decoding negTokenInit with generic ASN1 decoder

Kees Cook (1):
cifs: Avoid field over-reading memcpy()

Paulo Alcantara (9):
cifs: do not send tree disconnect to ipc shares
cifs: get rid of @noreq param in __dfs_cache_find()
cifs: keep referral server sessions alive
cifs: handle different charsets in dfs cache
cifs: fix path comparison and hash calc
cifs: set a minimum of 2 minutes for refreshing dfs cache
cifs: do not share tcp servers with dfs mounts
cifs: avoid starvation when refreshing dfs cache
cifs: fix check of dfs interlinks

Rikard Falkeborn (1):
cifs: Constify static struct genl_ops

Ronnie Sahlberg (2):
cifs: improve fallocate emulation
cifs: avoid extra calls in posix_info_parse

Shyam Prasad N (1):
cifs: missed ref-counting smb session in find

Steve French (15):
cifs: remove duplicated prototype
cifs: enable extended stats by default
cifs: use SPDX-Licence-Identifier
cifs: fix unneeded null check
smb3: fix uninitialized value for port in witness protocol move
cifs: fix SMB1 error path in cifs_get_file_info_unix
smb311: remove dead code for non compounded posix query info
smbdirect: missing rc checks while waiting for rdma events
SMB3: Add new info level for query directory
cifs: remove two cases where rc is set unnecessarily in sid_to_id
cifs: missing null check for newinode pointer
smb3: fix possible access to uninitialized pointer to DACL
cifs: missing null pointer check in cifs_mount
cifs: fix missing spinlock around update to ses->status
smb3: prevent races updating CurrentMid

Thiago Rafael Becker (1):
cifs: retry lookup and readdir when EAGAIN is returned.

YueHaibing (1):
cifs: Remove unused inline function is_sysvol_or_netlogon()

fs/cifs/Kconfig | 6 +-
fs/cifs/Makefile | 8 +-
fs/cifs/asn1.c | 623 ++-----------------
fs/cifs/cache.c | 14 +-
fs/cifs/cifs_debug.c | 24 +-
fs/cifs/cifs_debug.h | 2 +-
fs/cifs/cifs_dfs_ref.c | 2 +-
fs/cifs/cifs_fs_sb.h | 18 +-
fs/cifs/cifs_ioctl.h | 11 +-
fs/cifs/cifs_spnego.c | 14 +-
fs/cifs/cifs_spnego.h | 14 +-
fs/cifs/cifs_spnego_negtokeninit.asn1 | 40 ++
fs/cifs/cifs_swn.c | 10 +-
fs/cifs/cifsacl.c | 18 +-
fs/cifs/cifsacl.h | 15 +-
fs/cifs/cifsencrypt.c | 14 +-
fs/cifs/cifsfs.c | 14 +-
fs/cifs/cifsfs.h | 14 +-
fs/cifs/cifsglob.h | 20 +-
fs/cifs/cifspdu.h | 14 +-
fs/cifs/cifsproto.h | 14 +-
fs/cifs/cifssmb.c | 16 +-
fs/cifs/connect.c | 159 +++--
fs/cifs/dfs_cache.c | 1079 +++++++++++++++------------------
fs/cifs/dfs_cache.h | 45 +-
fs/cifs/dir.c | 27 +-
fs/cifs/dns_resolve.c | 14 +-
fs/cifs/dns_resolve.h | 14 +-
fs/cifs/export.c | 14 +-
fs/cifs/file.c | 14 +-
fs/cifs/fscache.c | 14 +-
fs/cifs/fscache.h | 14 +-
fs/cifs/inode.c | 19 +-
fs/cifs/ioctl.c | 14 +-
fs/cifs/link.c | 14 +-
fs/cifs/misc.c | 14 +-
fs/cifs/netlink.c | 2 +-
fs/cifs/ntlmssp.h | 14 +-
fs/cifs/readdir.c | 16 +-
fs/cifs/rfc1002pdu.h | 14 +-
fs/cifs/sess.c | 16 +-
fs/cifs/smb2file.c | 14 +-
fs/cifs/smb2glob.h | 11 +-
fs/cifs/smb2inode.c | 14 +-
fs/cifs/smb2maperror.c | 14 +-
fs/cifs/smb2misc.c | 52 +-
fs/cifs/smb2ops.c | 140 +++++
fs/cifs/smb2pdu.c | 49 +-
fs/cifs/smb2pdu.h | 53 +-
fs/cifs/smb2proto.h | 16 +-
fs/cifs/smb2status.h | 14 +-
fs/cifs/smb2transport.c | 26 +-
fs/cifs/smbdirect.c | 14 +-
fs/cifs/smberr.h | 14 +-
fs/cifs/smbfsctl.h | 14 +-
fs/cifs/transport.c | 14 +-
fs/cifs/xattr.c | 14 +-
include/linux/oid_registry.h | 8 +
58 files changed, 974 insertions(+), 1949 deletions(-)
create mode 100644 fs/cifs/cifs_spnego_negtokeninit.asn1
--
Thanks,

Steve