Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+22 -3
+4
fs/cifs/cifssmb.c
··· 594 594 cifs_max_pending); 595 595 set_credits(server, server->maxReq); 596 596 server->maxBuf = le16_to_cpu(rsp->MaxBufSize); 597 + /* set up max_read for readpages check */ 598 + server->max_read = server->maxBuf; 597 599 /* even though we do not use raw we might as well set this 598 600 accurately, in case we ever find a need for it */ 599 601 if ((le16_to_cpu(rsp->RawMode) & RAW_ENABLE) == RAW_ENABLE) { ··· 757 755 set_credits(server, server->maxReq); 758 756 /* probably no need to store and check maxvcs */ 759 757 server->maxBuf = le32_to_cpu(pSMBr->MaxBufferSize); 758 + /* set up max_read for readpages check */ 759 + server->max_read = server->maxBuf; 760 760 server->max_rw = le32_to_cpu(pSMBr->MaxRawSize); 761 761 cifs_dbg(NOISY, "Max buf = %d\n", ses->server->maxBuf); 762 762 server->capabilities = le32_to_cpu(pSMBr->Capabilities);
+1 -1
fs/cifs/inode.c
··· 61 61 } 62 62 63 63 /* check if server can support readpages */ 64 - if (cifs_sb_master_tcon(cifs_sb)->ses->server->maxBuf < 64 + if (cifs_sb_master_tcon(cifs_sb)->ses->server->max_read < 65 65 PAGE_SIZE + MAX_CIFS_HDR_SIZE) 66 66 inode->i_data.a_ops = &cifs_addr_ops_smallbuf; 67 67 else
+15
fs/cifs/smb2pdu.c
··· 1552 1552 } 1553 1553 1554 1554 rc = SMB2_sess_establish_session(sess_data); 1555 + #ifdef CONFIG_CIFS_DEBUG_DUMP_KEYS 1556 + if (ses->server->dialect < SMB30_PROT_ID) { 1557 + cifs_dbg(VFS, "%s: dumping generated SMB2 session keys\n", __func__); 1558 + /* 1559 + * The session id is opaque in terms of endianness, so we can't 1560 + * print it as a long long. we dump it as we got it on the wire 1561 + */ 1562 + cifs_dbg(VFS, "Session Id %*ph\n", (int)sizeof(ses->Suid), 1563 + &ses->Suid); 1564 + cifs_dbg(VFS, "Session Key %*ph\n", 1565 + SMB2_NTLMV2_SESSKEY_SIZE, ses->auth_key.response); 1566 + cifs_dbg(VFS, "Signing Key %*ph\n", 1567 + SMB3_SIGN_KEY_SIZE, ses->auth_key.response); 1568 + } 1569 + #endif 1555 1570 out: 1556 1571 kfree(ntlmssp_blob); 1557 1572 SMB2_sess_free_buffer(sess_data);
+2 -2
fs/cifs/smb2transport.c
··· 660 660 return rc; 661 661 662 662 if (memcmp(server_response_sig, shdr->Signature, SMB2_SIGNATURE_SIZE)) { 663 - dump_stack(); 664 - cifs_dbg(VFS, "sign fail cmd 0x%x message id 0x%llx\n", shdr->Command, shdr->MessageId); 663 + cifs_dbg(VFS, "sign fail cmd 0x%x message id 0x%llx\n", 664 + shdr->Command, shdr->MessageId); 665 665 return -EACCES; 666 666 } else 667 667 return 0;