|
@@ -453,8 +453,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
|
|
|
}
|
|
|
server->sec_mode = (__u8)le16_to_cpu(rsp->SecurityMode);
|
|
|
server->maxReq = le16_to_cpu(rsp->MaxMpxCount);
|
|
|
- server->maxBuf = min((__u32)le16_to_cpu(rsp->MaxBufSize),
|
|
|
- (__u32)CIFSMaxBufSize + MAX_CIFS_HDR_SIZE);
|
|
|
+ server->maxBuf = le16_to_cpu(rsp->MaxBufSize);
|
|
|
server->max_vcs = le16_to_cpu(rsp->MaxNumberVcs);
|
|
|
/* even though we do not use raw we might as well set this
|
|
|
accurately, in case we ever find a need for it */
|
|
@@ -561,8 +560,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
|
|
|
little endian */
|
|
|
server->maxReq = le16_to_cpu(pSMBr->MaxMpxCount);
|
|
|
/* probably no need to store and check maxvcs */
|
|
|
- server->maxBuf = min(le32_to_cpu(pSMBr->MaxBufferSize),
|
|
|
- (__u32) CIFSMaxBufSize + MAX_CIFS_HDR_SIZE);
|
|
|
+ server->maxBuf = le32_to_cpu(pSMBr->MaxBufferSize);
|
|
|
server->max_rw = le32_to_cpu(pSMBr->MaxRawSize);
|
|
|
cFYI(DBG2, "Max buf = %d", ses->server->maxBuf);
|
|
|
server->capabilities = le32_to_cpu(pSMBr->Capabilities);
|
|
@@ -2812,8 +2810,7 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifs_tcon *tcon,
|
|
|
pSMB->TotalDataCount = 0;
|
|
|
pSMB->MaxParameterCount = cpu_to_le32(2);
|
|
|
/* BB find exact data count max from sess structure BB */
|
|
|
- pSMB->MaxDataCount = cpu_to_le32((tcon->ses->server->maxBuf -
|
|
|
- MAX_CIFS_HDR_SIZE) & 0xFFFFFF00);
|
|
|
+ pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
|
|
|
pSMB->MaxSetupCount = 4;
|
|
|
pSMB->Reserved = 0;
|
|
|
pSMB->ParameterOffset = 0;
|
|
@@ -3306,8 +3303,7 @@ smb_init_nttransact(const __u16 sub_command, const int setup_count,
|
|
|
pSMB->Reserved = 0;
|
|
|
pSMB->TotalParameterCount = cpu_to_le32(parm_len);
|
|
|
pSMB->TotalDataCount = 0;
|
|
|
- pSMB->MaxDataCount = cpu_to_le32((tcon->ses->server->maxBuf -
|
|
|
- MAX_CIFS_HDR_SIZE) & 0xFFFFFF00);
|
|
|
+ pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
|
|
|
pSMB->ParameterCount = pSMB->TotalParameterCount;
|
|
|
pSMB->DataCount = pSMB->TotalDataCount;
|
|
|
temp_offset = offsetof(struct smb_com_ntransact_req, Parms) +
|
|
@@ -3977,8 +3973,7 @@ findFirstRetry:
|
|
|
params = 12 + name_len /* includes null */ ;
|
|
|
pSMB->TotalDataCount = 0; /* no EAs */
|
|
|
pSMB->MaxParameterCount = cpu_to_le16(10);
|
|
|
- pSMB->MaxDataCount = cpu_to_le16((tcon->ses->server->maxBuf -
|
|
|
- MAX_CIFS_HDR_SIZE) & 0xFFFFFF00);
|
|
|
+ pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00);
|
|
|
pSMB->MaxSetupCount = 0;
|
|
|
pSMB->Reserved = 0;
|
|
|
pSMB->Flags = 0;
|
|
@@ -4052,8 +4047,7 @@ findFirstRetry:
|
|
|
psrch_inf->index_of_last_entry = 2 /* skip . and .. */ +
|
|
|
psrch_inf->entries_in_buffer;
|
|
|
lnoff = le16_to_cpu(parms->LastNameOffset);
|
|
|
- if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE <
|
|
|
- lnoff) {
|
|
|
+ if (CIFSMaxBufSize < lnoff) {
|
|
|
cERROR(1, "ignoring corrupt resume name");
|
|
|
psrch_inf->last_entry = NULL;
|
|
|
return rc;
|
|
@@ -4097,9 +4091,7 @@ int CIFSFindNext(const int xid, struct cifs_tcon *tcon,
|
|
|
byte_count = 0;
|
|
|
pSMB->TotalDataCount = 0; /* no EAs */
|
|
|
pSMB->MaxParameterCount = cpu_to_le16(8);
|
|
|
- pSMB->MaxDataCount =
|
|
|
- cpu_to_le16((tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) &
|
|
|
- 0xFFFFFF00);
|
|
|
+ pSMB->MaxDataCount = cpu_to_le16(CIFSMaxBufSize & 0xFFFFFF00);
|
|
|
pSMB->MaxSetupCount = 0;
|
|
|
pSMB->Reserved = 0;
|
|
|
pSMB->Flags = 0;
|
|
@@ -4181,8 +4173,7 @@ int CIFSFindNext(const int xid, struct cifs_tcon *tcon,
|
|
|
psrch_inf->index_of_last_entry +=
|
|
|
psrch_inf->entries_in_buffer;
|
|
|
lnoff = le16_to_cpu(parms->LastNameOffset);
|
|
|
- if (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE <
|
|
|
- lnoff) {
|
|
|
+ if (CIFSMaxBufSize < lnoff) {
|
|
|
cERROR(1, "ignoring corrupt resume name");
|
|
|
psrch_inf->last_entry = NULL;
|
|
|
return rc;
|
|
@@ -6035,12 +6026,7 @@ int CIFSSMBNotify(const int xid, struct cifs_tcon *tcon,
|
|
|
pSMB->TotalParameterCount = 0 ;
|
|
|
pSMB->TotalDataCount = 0;
|
|
|
pSMB->MaxParameterCount = cpu_to_le32(2);
|
|
|
- /* BB find exact data count max from sess structure BB */
|
|
|
- pSMB->MaxDataCount = 0; /* same in little endian or be */
|
|
|
-/* BB VERIFY verify which is correct for above BB */
|
|
|
- pSMB->MaxDataCount = cpu_to_le32((tcon->ses->server->maxBuf -
|
|
|
- MAX_CIFS_HDR_SIZE) & 0xFFFFFF00);
|
|
|
-
|
|
|
+ pSMB->MaxDataCount = cpu_to_le32(CIFSMaxBufSize & 0xFFFFFF00);
|
|
|
pSMB->MaxSetupCount = 4;
|
|
|
pSMB->Reserved = 0;
|
|
|
pSMB->ParameterOffset = 0;
|