cifs: clean up length checks in check2ndT2
Thus spake David Howells: The code that follows this: remaining = total_data_size - data_in_this_rsp; if (remaining == 0) return 0; else if (remaining < 0) { generates better code if you drop the 'remaining' variable and compare the values directly. Clean it up per his recommendation... Reported-and-acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
2b6c26a0a6
commit
c0c7b905e9
|
@ -248,24 +248,24 @@ static int check2ndT2(struct smb_hdr *pSMB, unsigned int maxBufSize)
|
||||||
total_data_size = get_unaligned_le16(&pSMBt->t2_rsp.TotalDataCount);
|
total_data_size = get_unaligned_le16(&pSMBt->t2_rsp.TotalDataCount);
|
||||||
data_in_this_rsp = get_unaligned_le16(&pSMBt->t2_rsp.DataCount);
|
data_in_this_rsp = get_unaligned_le16(&pSMBt->t2_rsp.DataCount);
|
||||||
|
|
||||||
remaining = total_data_size - data_in_this_rsp;
|
if (total_data_size == data_in_this_rsp)
|
||||||
|
|
||||||
if (remaining == 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
else if (remaining < 0) {
|
else if (total_data_size < data_in_this_rsp) {
|
||||||
cFYI(1, "total data %d smaller than data in frame %d",
|
cFYI(1, "total data %d smaller than data in frame %d",
|
||||||
total_data_size, data_in_this_rsp);
|
total_data_size, data_in_this_rsp);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
} else {
|
|
||||||
cFYI(1, "missing %d bytes from transact2, check next response",
|
|
||||||
remaining);
|
|
||||||
if (total_data_size > maxBufSize) {
|
|
||||||
cERROR(1, "TotalDataSize %d is over maximum buffer %d",
|
|
||||||
total_data_size, maxBufSize);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
return remaining;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
remaining = total_data_size - data_in_this_rsp;
|
||||||
|
|
||||||
|
cFYI(1, "missing %d bytes from transact2, check next response",
|
||||||
|
remaining);
|
||||||
|
if (total_data_size > maxBufSize) {
|
||||||
|
cERROR(1, "TotalDataSize %d is over maximum buffer %d",
|
||||||
|
total_data_size, maxBufSize);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
return remaining;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int coalesce_t2(struct smb_hdr *psecond, struct smb_hdr *pTargetSMB)
|
static int coalesce_t2(struct smb_hdr *psecond, struct smb_hdr *pTargetSMB)
|
||||||
|
|
Loading…
Reference in New Issue