ACK/CMT: [SRU][jammy:linux-azure][PULL v2] Azure: Update CIFS to v6.8
Guoqing Jiang
guoqing.jiang at canonical.com
Fri Oct 18 02:09:40 UTC 2024
Hi,
On 10/17/24 22:12, John Cabaj wrote:
> Guoqing,
>
> Noted on some of the descriptions. The backports in this pull request
> are directly from Microsoft, so I can attempt to pull these select few
> from mainline if the content is exactly the same, but I tend to defer
> to the backport as the CIFs maintainer gives us the backport directly.
>
> I can also clean up the SAUCE patch if, again, the upstream is exactly
> the same.
Thanks for the explanation! I am fine with the series since the content
is the same and those comments about description are not blocker.
Thanks,
Guoqing
>
> Thanks,
> John
>
> On 10/16/24 11:09 PM, Guoqing Jiang wrote:
>> Hi,
>>
>> Just some nit-picks about patch descriptions.
>>
>> On 10/11/24 23:29, John Cabaj wrote:
>>> BugLink: https://bugs.launchpad.net/bugs/2082641
>>>
>>> SRU Justification
>>>
>>> [ Impact ]
>>>
>>> * Microsoft has requested this patch set to update CIFS and smbfs to
>>> the Linux kernel version 6.8.
>>>
>>> [ Fix ]
>>>
>>> * Apply all clean backports from https://github.com/meetakshi253/
>>> azure-ubuntu-5-15 atop Ubuntu-azure-5.15.0-1073.82.
>>> * Match provenance with upstream SHAs.
>>>
>>> [ Test Plan ]
>>>
>>> * Compile tested
>>> * Microsoft tested
>>>
>>> [ Regression Potential ]
>>>
>>> * CIFs backport patch set is quite large. So the regression risk
>>> within CIFs is difficult to bound
>>>
>>> [Other Info]
>>>
>>> SF: #00397054
>>>
>>> -------
>>>
>>> v2: Updating two patches with no upstream (mainline) provenance to
>>> UBUNTU: SAUCE patches
>>>
>>> ----------------------------------------------------------------
>>>
>>> The following changes since commit
>>> 0cad20c5c65814d449752f532377d8dba2f87d3a:
>>>
>>> UBUNTU: Ubuntu-azure-5.15.0-1073.82 (2024-09-02 12:25:32 +0200)
>>>
>>> are available in the Git repository at:
>>>
>>>
>>> git://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-azure/+git/
>>> jammy azure-cifs
>>>
>>> for you to fetch changes up to
>>> 8125fccede44d367aa8db99f0ec5de9f4713f88d:
>>>
>>> smb: client: handle path separator of created SMB symlinks
>>> (2024-09-26 16:04:33 -0500)
>>>
>>> ----------------------------------------------------------------
>>> Gustavo A. R. Silva (1):
>>> smb: client: Fix struct_group() usage in __packed structs
>>>
>>> Meetakshi Setiya (6):
>>> smb: client: fix use-after-free bug in
>>
>> Nit, the subject doesn't match with mainline one which is
>> smb: client: fix use-after-free bug in cifs_debug_data_proc_show()
>>
>>> smb: client: reuse file lease key in compound operations
>>> smb: client: do not defer close open handles to deleted files
>>> smb: client: retry compound request without reusing lease
>>> cifs: fixes for get_inode_info
>>> smb: client: fix double put of @cfile in smb2_set_path_size()
>>>
>>> Namjae Jeon (1):
>>> ksmbd: common: use struct_group_attr instead of struct_group
>>>
>>> Paulo Alcantara (5):
>>> smb: client: fix NULL ptr deref in
>>> smb: client: fix double put of @cfile in smb2_rename_path()
>>> smb: client: handle lack of FSCTL_GET_REPARSE_POINT support
>>> smb: client: instantiate when creating SFU files
>>> smb: client: handle path separator of created SMB symlinks
>>>
>>> Shyam Prasad N (3):
>>> cifs: avoid redundant calls to disable multichannel
>>> cifs: fix stray unlock in cifs_chan_skip_or_disable
>>> cifs: failure to add channel on iface should bump up weight
>>>
>>> Steve French (141):
>>> 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
>>> smb: client: move some params to cifs_open_info_data
>>> smb: client: make smb2_compound_op() return resp buffer on
>>> 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
>>> send channel sequence number in SMB3 requests after
>>> 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
>>> 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
>>> smb3: correct places where ENOTSUPP is used instead of
>>> 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
>>
>> I checked the link
>> https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-azure/+git/
>> jammy/commit/?h=azure-cifs&id=aa7ca61a6a5fc3bd16aa00d055765a7e8de5241a
>>
>> IMO, the above one is same as the mainline commit 2da338ff752a, if so,
>> no need add SAUCE and add cherry pick information for it.
>>
>>> 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
>>
>> The relevant mainline subject is
>> "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
>>
>> The above subject doesn't match mainline one which is
>> "smb3: fix creating FIFOs when mounting with "sfu" mount option"
>>
>>> smb: client: fix potential deadlock when releasing mids
>>> 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
>>> smb: client: fix use-after-free in smb2_query_info_compound()
>>> cifs: reconnect helper should set reconnect for the right
>>
>> The mainline subject is "cifs: reconnect helper should set reconnect
>> for the right channel"
>>
>>> cifs: do not reset chan_max if multichannel is not supported
>>> 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
>>
>> The subject of mainline commit is
>> "smb3: allow dumping session and tcon id to improve stats analysis
>> and debugging"
>>
>>> Missing field not being returned in ioctl
>>
>> The subject of mainline commit is
>> "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
>>
>> The subject of mainline commit is
>> "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
>>
>> The subject of mainline commit is
>> "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
>>
>> The subject of mainline commit is
>> "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
>>
>> The subject of mainline commit is
>> "Revert "cifs: reconnect work should have reference on server struct""
>>
>>> cifs: reconnect worker should take reference on server struct
>>
>> The subject of mainline commit is
>> "cifs: reconnect worker should take reference on server struct
>> unconditionally"
>>
>>>
>>> smb3: add missing define
>>
>> Looks the above change was include in mainline commit d47d9886aeef
>> ("ksmbd: send v2 lease break notification for directory"), if only
>> the definition
>> is needed in jammy:linux-azure, maybe it is better to add some
>> descriptions.
>>
>>> 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
>>
>> The subject of mainline commit is
>> "cifs: cifs_chan_is_iface_active should be called with chan_lock held"
>>
>>>
>>> cifs: do not depend on release_iface for maintaining
>>
>> The subject of mainline commit is
>> "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
>>> 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: 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
>>> cifs: reschedule periodic query for server interfaces
>>> cifs: new mount option called retrans
>>> cifs: handle servers that still advertise multichannel after
>>> cifs: update iface_last_update on each query-and-update
>>> smb: client: delete "true", "false" defines
>>> smb: Work around Clang __bdos() type confusion
>>> cifs: allow changing password during remount
>>> smb3: fix broken reconnect when password changing on the
>>
>> The subject of mainline commit is
>> "smb3: fix broken reconnect when password changing on the server by
>> allowing password rotation"
>>
>> Thanks,
>> Guoqing
>
More information about the kernel-team
mailing list