Three small smb3 fixes: two debug related, and one fixing a performance problem with 64K pages
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAl6b28kACgkQiiy9cAdy T1EZ+wwAqHCqrIgelrLFiQwHkMg1KQMBnul3mBuCJ6qxGTyzSVLWBYsfHabLqWmC Ann71PFygGc+5R195CcMZ/RAHGTTEbwJP5s/wGwm3wUfqImLPOpMr/jd8rv9GvE2 atsthBnFlPE+dY5BD9fr7JIWpZxE3yevCtVifyPjA879zzqIoT9lkFcjCNTqV37l tRe4JyObxKSrPUUELC30XPFoBGT/Cgcoz+I0JFL+gz8Yt9CEBXL2DKdnZJERbIpm t+yjKAYC9QN5eF7kew8Fide4LohH7jL2EAmllWKUTRH1pHNEKgyMbSMm3F2RzoXG 0R/70stukgXemlsCD2+BSXDZ3smPHwoKq+FftYanHd1pamOQHJMWcQ/tCk8gg9/Z Qq0wwBBbVP6HOMwoDOOW53/lwiU/hoR2Re3jy7K0DOGJAFNkxo98oXfT7HJfmKeW q1LQvKR7ch3iFaOUkg/Tv+8o3inUuYLUgegCPvM6RkGkG0Mqs8SEkA9AyyqFmBnG kY1K83Ct =G+Rl -----END PGP SIGNATURE----- Merge tag '5.7-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs fixes from Steve French: "Three small smb3 fixes: two debug related (helping network tracing for SMB2 mounts, and the other removing an unintended debug line on signing failures), and one fixing a performance problem with 64K pages" * tag '5.7-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6: smb3: remove overly noisy debug line in signing errors cifs: improve read performance for page size 64KB & cache=strict & vers=2.1+ cifs: dump the session id and keys also for SMB2 sessions
This commit is contained in:
commit
aee0314bc3
@ -594,6 +594,8 @@ decode_lanman_negprot_rsp(struct TCP_Server_Info *server, NEGOTIATE_RSP *pSMBr)
|
||||
cifs_max_pending);
|
||||
set_credits(server, server->maxReq);
|
||||
server->maxBuf = le16_to_cpu(rsp->MaxBufSize);
|
||||
/* set up max_read for readpages check */
|
||||
server->max_read = server->maxBuf;
|
||||
/* even though we do not use raw we might as well set this
|
||||
accurately, in case we ever find a need for it */
|
||||
if ((le16_to_cpu(rsp->RawMode) & RAW_ENABLE) == RAW_ENABLE) {
|
||||
@ -755,6 +757,8 @@ CIFSSMBNegotiate(const unsigned int xid, struct cifs_ses *ses)
|
||||
set_credits(server, server->maxReq);
|
||||
/* probably no need to store and check maxvcs */
|
||||
server->maxBuf = le32_to_cpu(pSMBr->MaxBufferSize);
|
||||
/* set up max_read for readpages check */
|
||||
server->max_read = server->maxBuf;
|
||||
server->max_rw = le32_to_cpu(pSMBr->MaxRawSize);
|
||||
cifs_dbg(NOISY, "Max buf = %d\n", ses->server->maxBuf);
|
||||
server->capabilities = le32_to_cpu(pSMBr->Capabilities);
|
||||
|
@ -61,7 +61,7 @@ static void cifs_set_ops(struct inode *inode)
|
||||
}
|
||||
|
||||
/* check if server can support readpages */
|
||||
if (cifs_sb_master_tcon(cifs_sb)->ses->server->maxBuf <
|
||||
if (cifs_sb_master_tcon(cifs_sb)->ses->server->max_read <
|
||||
PAGE_SIZE + MAX_CIFS_HDR_SIZE)
|
||||
inode->i_data.a_ops = &cifs_addr_ops_smallbuf;
|
||||
else
|
||||
|
@ -1552,6 +1552,21 @@ SMB2_sess_auth_rawntlmssp_authenticate(struct SMB2_sess_data *sess_data)
|
||||
}
|
||||
|
||||
rc = SMB2_sess_establish_session(sess_data);
|
||||
#ifdef CONFIG_CIFS_DEBUG_DUMP_KEYS
|
||||
if (ses->server->dialect < SMB30_PROT_ID) {
|
||||
cifs_dbg(VFS, "%s: dumping generated SMB2 session keys\n", __func__);
|
||||
/*
|
||||
* The session id is opaque in terms of endianness, so we can't
|
||||
* print it as a long long. we dump it as we got it on the wire
|
||||
*/
|
||||
cifs_dbg(VFS, "Session Id %*ph\n", (int)sizeof(ses->Suid),
|
||||
&ses->Suid);
|
||||
cifs_dbg(VFS, "Session Key %*ph\n",
|
||||
SMB2_NTLMV2_SESSKEY_SIZE, ses->auth_key.response);
|
||||
cifs_dbg(VFS, "Signing Key %*ph\n",
|
||||
SMB3_SIGN_KEY_SIZE, ses->auth_key.response);
|
||||
}
|
||||
#endif
|
||||
out:
|
||||
kfree(ntlmssp_blob);
|
||||
SMB2_sess_free_buffer(sess_data);
|
||||
|
@ -660,8 +660,8 @@ smb2_verify_signature(struct smb_rqst *rqst, struct TCP_Server_Info *server)
|
||||
return rc;
|
||||
|
||||
if (memcmp(server_response_sig, shdr->Signature, SMB2_SIGNATURE_SIZE)) {
|
||||
dump_stack();
|
||||
cifs_dbg(VFS, "sign fail cmd 0x%x message id 0x%llx\n", shdr->Command, shdr->MessageId);
|
||||
cifs_dbg(VFS, "sign fail cmd 0x%x message id 0x%llx\n",
|
||||
shdr->Command, shdr->MessageId);
|
||||
return -EACCES;
|
||||
} else
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user