diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2021-09-22 21:00:57 +0900 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2021-09-22 17:21:05 -0500 |
commit | 18a015bccf9e8927008d0a255c9f14b8ec15a648 (patch) | |
tree | 4ec713a6049d0090903a0ae37bfe4547d9fc7dc3 /fs/ksmbd/smb2pdu.c | |
parent | 9f6323311c7064414bfd1edb28e0837baf6b3c7f (diff) | |
download | lwn-18a015bccf9e8927008d0a255c9f14b8ec15a648.tar.gz lwn-18a015bccf9e8927008d0a255c9f14b8ec15a648.zip |
ksmbd: check protocol id in ksmbd_verify_smb_message()
When second smb2 pdu has invalid protocol id, ksmbd doesn't detect it
and allow to process smb2 request. This patch add the check it in
ksmbd_verify_smb_message() and don't use protocol id of smb2 request as
protocol id of response.
Reviewed-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
Reviewed-by: Ralph Böhme <slow@samba.org>
Reported-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/ksmbd/smb2pdu.c')
-rw-r--r-- | fs/ksmbd/smb2pdu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index f59f9b8be51c..fd9d5595a5ca 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -433,7 +433,7 @@ static void init_chained_smb2_rsp(struct ksmbd_work *work) work->compound_pfid = KSMBD_NO_FID; } memset((char *)rsp_hdr + 4, 0, sizeof(struct smb2_hdr) + 2); - rsp_hdr->ProtocolId = rcv_hdr->ProtocolId; + rsp_hdr->ProtocolId = SMB2_PROTO_NUMBER; rsp_hdr->StructureSize = SMB2_HEADER_STRUCTURE_SIZE; rsp_hdr->Command = rcv_hdr->Command; |