[GIT PULL] ksmbd server fixes

From: Steve French

Date: Thu Jul 09 2026 - 19:28:15 EST


Please pull the following changes since commit
8cdeaa50eae8dad34885515f62559ee83e7e8dda:

Linux 7.2-rc2 (2026-07-05 14:44:06 -1000)

are available in the Git repository at:

git://git.samba.org/ksmbd.git tags/v7.2-rc2-smb3-server-fixes

for you to fetch changes up to f49bca41c12f9f79d39dbf0779d0c672d74b09fe:

ksmbd: use the session dialect for rejected binding signatures
(2026-07-06 07:55:41 -0500)

----------------------------------------------------------------
This contains a set of ten SMB server fixes mostly around session setup,
multichannel/session binding, and protocol-compatible error reporting.

- Fix SID-to-id mapping so only SIDs with a valid local Unix representation
are translated, while preserving other Windows SIDs in NT ACL xattrs.
- Fix SMB3 multichannel binding across multi-round authentication, keep the
derived channel key separate from the established session key, and enforce
the 32-channel session limit.
- Match Windows-compatible close timestamp behavior by coalescing automatic
write time updates smaller than 15ms.
- Return STATUS_DISK_FULL for SET_INFO allocation failures caused by
ENOSPC or EFBIG.
- Fix several signed SESSION_SETUP error paths so clients see the intended
server status instead of replacing it with STATUS_ACCESS_DENIED.
- Fix reauthentication on bound channels and reject different-user channel
binding with STATUS_ACCESS_DENIED.
- Use the referenced session dialect/signing algorithm when validating and
signing rejected cross-dialect binding requests.
----------------------------------------------------------------
Huiwen He (1):
smb/server: map SET_INFO ENOSPC to disk full

Namjae Jeon (9):
ksmbd: validate SID namespace before mapping IDs
ksmbd: fix multichannel binding and enforce channel limit
ksmbd: coalesce sub-15ms write time updates on close
ksmbd: mark invalid session responses as signed
ksmbd: find bound sessions during reauthentication
ksmbd: handle channel binding with a different user
ksmbd: sign rejected SMB2.1 session binding responses
ksmbd: mark rejected cross-dialect bindings as signed
ksmbd: use the session dialect for rejected binding signatures

fs/smb/server/auth.c | 49 +++++----
fs/smb/server/auth.h | 7 +-
fs/smb/server/mgmt/user_session.c | 4 +-
fs/smb/server/mgmt/user_session.h | 1 +
fs/smb/server/server.c | 16 ++-
fs/smb/server/smb2pdu.c | 205 ++++++++++++++++++++++++++++----------
fs/smb/server/smbacl.c | 21 +++-
fs/smb/server/vfs_cache.h | 1 +
8 files changed, 218 insertions(+), 86 deletions(-)

--
Thanks,

Steve