]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ksmbd: mark rejected cross-dialect bindings as signed
authorNamjae Jeon <linkinjeon@kernel.org>
Thu, 2 Jul 2026 11:40:41 +0000 (20:40 +0900)
committerSteve French <stfrench@microsoft.com>
Mon, 6 Jul 2026 12:55:41 +0000 (07:55 -0500)
commit3e67423336f08a28e9efaac66e842210f9421484
tree9168740d53741edae73eaa56f2240c8fa9531094
parent1f12738b0ed7b89252271d71159c67e6349ef532
ksmbd: mark rejected cross-dialect bindings as signed

Binding an SMB 2.1 session to an SMB 3.x connection is invalid because the
dialects do not match. ksmbd returns STATUS_INVALID_PARAMETER. The check
fails before attaching the referenced session to the request, so the error
response lacks SMB2_FLAGS_SIGNED.

A client requiring signing checks this flag before handling the status and
reports STATUS_ACCESS_DENIED instead of STATUS_INVALID_PARAMETER. Preserve
the signed flag for a signed binding request rejected with
STATUS_INVALID_PARAMETER. The client can then apply the special error path
without attempting to validate a response using incompatible signing
algorithms.

This fixes smb2.session.bind_negative_smb2to3s.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/smb2pdu.c