[Pull Request] [Jammy linux-azure][ Azure CIFS backport from v6.8 to v5.15
Tim Gardner
tim.gardner at canonical.com
Wed May 1 13:19:49 UTC 2024
SRU Justification
Impact:
Microsoft has requested that the 5.15 backport from the upstream
maintainer (Steve French) be included in Jammy linux-azure. These
patches upgrade CIFS to the same level as Linux v6.8.
git://git.samba.org/sfrench/cifs-2.6.git 5.15-backport-1-24-24
Test Plan:
Microsoft tested.
Regression Potential:
Regressions could include failure to connect, DNS resolution failures,
dropped connections, etc. However, Microsoft has tested these patches
extensively since January 2024.
Other Info:
SF: #00383839
---------------------------------------------------------------------
The following changes since commit d1849442c8496357b6471a69dff420d7f4e263ae:
UBUNTU: Ubuntu-azure-5.15.0-1064.73 (2024-04-30 08:02:51 -0600)
are available in the Git repository at:
git://git.launchpad.net/~timg-tpi/ubuntu/+source/linux/+git/jammy
jammy-5.15-backport-1-24-24
for you to fetch changes up to ae04ba2309992798ee43dfdb94179e9df9493811:
smb: Work around Clang __bdos() type confusion (2024-05-01 07:12:56
-0600)
----------------------------------------------------------------
Steve French (140):
cifs: is_network_name_deleted should return a bool
cifs: fix charset issue in reconnection
cifs: update the ctime on a partial page write
smb: client: introduce DFS_CACHE_TGT_LIST()
smb: client: ensure to try all targets when finding nested links
smb: client: move some params to cifs_open_info_data
smb: client: make smb2_compound_op() return resp buffer on success
smb: client: rename cifs_dfs_ref.c to namespace.c
smb: client: get rid of dfs naming in automount code
smb: client: get rid of dfs code dep in namespace.c
smb: client: parse reparse point flag in create response
smb: client: do not query reparse points twice on symlinks
smb: client: query reparse points in older dialects
smb: cilent: set reparse mount points as automounts
smb: client: reduce stack usage in cifs_try_adding_channels()
smb: client: reduce stack usage in cifs_demultiplex_thread()
smb: client: reduce stack usage in smb_send_rqst()
smb: client: reduce stack usage in smb2_set_ea()
smb: client: reduce stack usage in smb2_query_info_compound()
smb: client: reduce stack usage in smb2_query_reparse_point()
cifs: update desired access while requesting for directory lease
send channel sequence number in SMB3 requests after reconnects
SMB3: rename macro CIFS_SERVER_IS_CHAN to avoid confusion
cifs: Add a laundromat thread for cached directories
smb3: allow controlling length of time directory entries are
cached with dir leases
smb3: add trace point for queryfs (statfs)
smb3: allow controlling maximum number of cached directories
cifs: update internal module version number for cifs.ko
smb3: fix minor typo in SMB2_GLOBAL_CAP_LARGE_MTU
smb3: move server check earlier when setting channel sequence number
smb3: correct places where ENOTSUPP is used instead of preferred
EOPNOTSUPP
smb3: fix some minor typos and repeated words
smb3: Add dynamic trace points for RDMA (smbdirect) reconnect
smb3: do not start laundromat thread when dir leases disabled
cifs: Fix UAF in cifs_demultiplex_thread()
smb3: remove duplicate error mapping
smb: client: handle STATUS_IO_REPARSE_TAG_NOT_HANDLED
smb3: fix confusing debug message
fs/smb/client: Reset password pointer to NULL
smb: client: do not start laundromat thread on nohandlecache
smb: client: make laundromat a delayed worker
smb: client: prevent new fids from being removed by laundromat
smb3: fix touch -h of symlink
cifs: Add client version details to NTLM authenticate message
SMB3: clarify some of the unused CreateOption flags
Add definition for new smb3.1.1 command type
smb3: fix creating FIFOs when mounting with "sfu" mount option
smb: client: fix potential deadlock when releasing mids
smb: client: fix use-after-free bug in cifs_debug_data_proc_show()
smb: use crypto_shash_digest() in symlink_hash()
cifs: print server capabilities in DebugData
cifs: add xid to query server interface call
smb: client: remove extra @chan_count check in __cifs_put_smb_ses()
smb: client: fix use-after-free in smb2_query_info_compound()
cifs: reconnect helper should set reconnect for the right channel
cifs: do not reset chan_max if multichannel is not supported at mount
cifs: force interface update before a fresh session setup
smb3: minor RDMA cleanup
smb3: more minor cleanups for session handling routines
cifs: handle cases where a channel is closed
cifs: distribute channels across interfaces based on speed
cifs: account for primary channel in the interface list
cifs: do not pass cifs_sb when trying to add channels
cifs: reconnect work should have reference on server struct
smb3: minor cleanup of session handling code
smb3: fix caching of ctime on setxattr
smb: client: fix mount when dns_resolver key is not available
smb3: allow dumping session and tcon id to improve stats analysis
and debugging
Missing field not being returned in ioctl CIFS_IOC_GET_MNT_INFO
cifs: handle when server starts supporting multichannel
cifs: handle when server stops supporting multichannel
cifs: update internal module version number for cifs.ko
cifs: spnego: add ';' in HOST_KEY_LEN
cifs: fix check of rc in function generate_smb3signingkey
cifs: fix leak of iface for primary channel
cifs: fix lock ordering while disabling multichannel
cifs: fix use after free for iface while disabling secondary channels
smb: client: implement ->query_reparse_point() for SMB1
smb: client: introduce ->parse_reparse_point()
smb: client: set correct file type from NFS reparse points
smb: client: introduce cifs_sfu_make_node()
smb: client: fix missing mode bits for SMB symlinks
smb: client: report correct st_size for SMB and NFS symlinks
cifs: Fix FALLOC_FL_ZERO_RANGE by setting i_size if EOF moved
cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after EOF moved
smb: client, common: fix fortify warnings
smb: client: fix potential NULL deref in parse_dfs_referrals()
cifs: Fix non-availability of dedup breaking generic/304
Revert "cifs: reconnect work should have reference on server struct"
cifs: reconnect worker should take reference on server struct
unconditionally
smb3: add missing define
ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE
smb: client: fix OOB in receive_encrypted_standard()
smb: client: fix potential OOBs in smb2_parse_contexts()
smb: client: fix NULL deref in asn1_ber_decoder()
smb: client: fix OOB in smb2_query_reparse_point()
smb: client: fix OOB in cifsd when receiving compounded resps
smb: client: fix OOB in SMB2_query_info_init()
smb: client: fix OOB in smbCalcSize()
smb: client: fix potential OOB in cifs_dump_detail()
smb: client: fix potential OOB in smb2_dump_detail()
fs: cifs: Fix atime update check
cifs: fix a pending undercount of srv_count
cifs: do not let cifs_chan_update_iface deallocate channels
cifs: after disabling multichannel, mark tcon for reconnect
cifs: cifs_chan_is_iface_active should be called with chan_lock held
cifs: do not depend on release_iface for maintaining iface_list
smb: client: Fix minor whitespace errors and warnings
smb: client: extend smb2_compound_op() to accept more commands
smb: client: allow creating special files via reparse points
smb: client: optimise reparse point querying
smb: client: fix renaming of reparse points
smb: client: fix hardlinking of reparse points
smb: client: allow creating symlinks via reparse points
smb: client: cleanup smb2_query_reparse_point()
smb: client: handle special files and symlinks in SMB3 POSIX
cifs: fix in logging in cifs_chan_update_iface
smb3: Improve exception handling in allocate_mr_list()
smb: client: stop revalidating reparse points unnecessarily
cifs: get rid of dup length check in parse_reparse_point()
cifs: delete unnecessary NULL checks in cifs_chan_update_iface()
cifs: make cifs_chan_update_iface() a void function
cifs: remove unneeded return statement
cifs: update internal module version number for cifs.ko
cifs: remove redundant variable tcon_exist
smb3: show beginning time for per share stats
cifs: minor comment cleanup
cifs: open_cached_dir should not rely on primary channel
cifs: pick channel for tcon and tdis
cifs: new nt status codes from MS-SMB2
smb: client: fix parsing of SMB3.1.1 POSIX create context
smb: client: parse owner/group when creating reparse points
smb: client: get rid of smb311_posix_query_path_info()
smb: client: don't clobber ->i_rdev from cached reparse points
cifs: reschedule periodic query for server interfaces
cifs: new mount option called retrans
cifs: handle servers that still advertise multichannel after
disabling
cifs: update iface_last_update on each query-and-update
smb: client: delete "true", "false" defines
smb: Work around Clang __bdos() type confusion
Tim Gardner (1):
UBUNTU: SAUCE: cifs: correcting entry
fs/cifs/Makefile | 5 +-
fs/cifs/cached_dir.c | 188 +++++++++++-----
fs/cifs/cached_dir.h | 3 +-
fs/cifs/cifs_debug.c | 53 ++++-
fs/cifs/cifs_ioctl.h | 6 +
fs/cifs/cifsencrypt.c | 2 +-
fs/cifs/cifsfs.c | 16 +-
fs/cifs/cifsfs.h | 15 +-
fs/cifs/cifsglob.h | 135 +++++++++---
fs/cifs/cifspdu.h | 30 +--
fs/cifs/cifsproto.h | 69 ++++--
fs/cifs/cifssmb.c | 227 +++++++++----------
fs/cifs/connect.c | 184 +++++++++++-----
fs/cifs/dfs.c | 279 ++++++++++++++----------
fs/cifs/dfs.h | 141 ++++++++----
fs/cifs/dfs_cache.c | 10 +-
fs/cifs/dfs_cache.h | 12 +-
fs/cifs/dir.c | 11 +-
fs/cifs/file.c | 14 +-
fs/cifs/fs_context.c | 17 +-
fs/cifs/fs_context.h | 7 +-
fs/cifs/inode.c | 629
++++++++++++++++++++++++++++++++--------------------
fs/cifs/ioctl.c | 26 +++
fs/cifs/link.c | 45 ++--
fs/cifs/misc.c | 18 +-
fs/cifs/{cifs_dfs_ref.c => namespace.c} | 126 ++++++-----
fs/cifs/ntlmssp.h | 4 +-
fs/cifs/readdir.c | 164 ++++++--------
fs/cifs/sess.c | 371
++++++++++++++++++++++---------
fs/cifs/smb1ops.c | 173 ++++-----------
fs/cifs/smb2glob.h | 26 ++-
fs/cifs/smb2inode.c | 1259
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
fs/cifs/smb2maperror.c | 4 +-
fs/cifs/smb2misc.c | 38 ++--
fs/cifs/smb2ops.c | 833
+++++++++++++++++++++++++++++++--------------------------------------
fs/cifs/smb2pdu.c | 313 +++++++++++++++++++-------
fs/cifs/smb2pdu.h | 16 +-
fs/cifs/smb2proto.h | 60 +++--
fs/cifs/smb2status.h | 2 +
fs/cifs/smb2transport.c | 12 +-
fs/cifs/smbdirect.c | 13 +-
fs/cifs/smbencrypt.c | 7 -
fs/cifs/trace.h | 11 +-
fs/cifs/transport.c | 78 ++++---
fs/smbfs_common/smb2pdu.h | 68 +++++-
45 files changed, 3384 insertions(+), 2336 deletions(-)
rename fs/cifs/{cifs_dfs_ref.c => namespace.c} (59%)
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list