+1
-1
fs/cifs/cifsencrypt.c
+1
-1
fs/cifs/cifsencrypt.c
···
32
32
int rc;
33
33
struct kvec *iov = rqst->rq_iov;
34
34
int n_vec = rqst->rq_nvec;
35
-
int is_smb2 = server->vals->header_preamble_size == 0;
35
+
bool is_smb2 = HEADER_PREAMBLE_SIZE(server) == 0;
36
36
37
37
/* iov[0] is actual data and not the rfc1002 length for SMB2+ */
38
38
if (is_smb2) {
+1
fs/cifs/cifsglob.h
+1
fs/cifs/cifsglob.h
···
557
557
558
558
#define HEADER_SIZE(server) (server->vals->header_size)
559
559
#define MAX_HEADER_SIZE(server) (server->vals->max_header_size)
560
+
#define HEADER_PREAMBLE_SIZE(server) (server->vals->header_preamble_size)
560
561
561
562
/**
562
563
* CIFS superblock mount flags (mnt_cifs_flags) to consider when
+10
-10
fs/cifs/connect.c
+10
-10
fs/cifs/connect.c
···
871
871
/*
872
872
* SMB1 does not use credits.
873
873
*/
874
-
if (server->vals->header_preamble_size)
874
+
if (HEADER_PREAMBLE_SIZE(server))
875
875
return 0;
876
876
877
877
return le16_to_cpu(shdr->CreditRequest);
···
1050
1050
1051
1051
/* make sure this will fit in a large buffer */
1052
1052
if (pdu_length > CIFSMaxBufSize + MAX_HEADER_SIZE(server) -
1053
-
server->vals->header_preamble_size) {
1053
+
HEADER_PREAMBLE_SIZE(server)) {
1054
1054
cifs_server_dbg(VFS, "SMB response too long (%u bytes)\n", pdu_length);
1055
1055
cifs_reconnect(server, true);
1056
1056
return -ECONNABORTED;
···
1065
1065
1066
1066
/* now read the rest */
1067
1067
length = cifs_read_from_socket(server, buf + HEADER_SIZE(server) - 1,
1068
-
pdu_length - HEADER_SIZE(server) + 1
1069
-
+ server->vals->header_preamble_size);
1068
+
pdu_length - HEADER_SIZE(server) + 1 +
1069
+
HEADER_PREAMBLE_SIZE(server));
1070
1070
1071
1071
if (length < 0)
1072
1072
return length;
···
1122
1122
/*
1123
1123
* SMB1 does not use credits.
1124
1124
*/
1125
-
if (server->vals->header_preamble_size)
1125
+
if (HEADER_PREAMBLE_SIZE(server))
1126
1126
return;
1127
1127
1128
1128
if (shdr->CreditRequest) {
···
1180
1180
if (length < 0)
1181
1181
continue;
1182
1182
1183
-
if (server->vals->header_preamble_size == 0)
1183
+
if (HEADER_PREAMBLE_SIZE(server) == 0)
1184
1184
server->total_read = 0;
1185
1185
else
1186
1186
server->total_read = length;
···
1199
1199
1200
1200
/* make sure we have enough to get to the MID */
1201
1201
if (server->pdu_size < HEADER_SIZE(server) - 1 -
1202
-
server->vals->header_preamble_size) {
1202
+
HEADER_PREAMBLE_SIZE(server)) {
1203
1203
cifs_server_dbg(VFS, "SMB response too short (%u bytes)\n",
1204
1204
server->pdu_size);
1205
1205
cifs_reconnect(server, true);
···
1208
1208
1209
1209
/* read down to the MID */
1210
1210
length = cifs_read_from_socket(server,
1211
-
buf + server->vals->header_preamble_size,
1212
-
HEADER_SIZE(server) - 1
1213
-
- server->vals->header_preamble_size);
1211
+
buf + HEADER_PREAMBLE_SIZE(server),
1212
+
HEADER_SIZE(server) - 1 -
1213
+
HEADER_PREAMBLE_SIZE(server));
1214
1214
if (length < 0)
1215
1215
continue;
1216
1216
server->total_read += length;
+10
-11
fs/cifs/transport.c
+10
-11
fs/cifs/transport.c
···
261
261
int nvec;
262
262
unsigned long buflen = 0;
263
263
264
-
if (server->vals->header_preamble_size == 0 &&
265
-
rqst->rq_nvec >= 2 && rqst->rq_iov[0].iov_len == 4) {
264
+
if (HEADER_PREAMBLE_SIZE(server) == 0 && rqst->rq_nvec >= 2 &&
265
+
rqst->rq_iov[0].iov_len == 4) {
266
266
iov = &rqst->rq_iov[1];
267
267
nvec = rqst->rq_nvec - 1;
268
268
} else {
···
346
346
sigprocmask(SIG_BLOCK, &mask, &oldmask);
347
347
348
348
/* Generate a rfc1002 marker for SMB2+ */
349
-
if (server->vals->header_preamble_size == 0) {
349
+
if (HEADER_PREAMBLE_SIZE(server) == 0) {
350
350
struct kvec hiov = {
351
351
.iov_base = &rfc1002_marker,
352
352
.iov_len = 4
···
1238
1238
buf = (char *)midQ[i]->resp_buf;
1239
1239
resp_iov[i].iov_base = buf;
1240
1240
resp_iov[i].iov_len = midQ[i]->resp_buf_size +
1241
-
server->vals->header_preamble_size;
1241
+
HEADER_PREAMBLE_SIZE(server);
1242
1242
1243
1243
if (midQ[i]->large_buf)
1244
1244
resp_buf_type[i] = CIFS_LARGE_BUFFER;
···
1643
1643
cifs_discard_remaining_data(struct TCP_Server_Info *server)
1644
1644
{
1645
1645
unsigned int rfclen = server->pdu_size;
1646
-
int remaining = rfclen + server->vals->header_preamble_size -
1646
+
int remaining = rfclen + HEADER_PREAMBLE_SIZE(server) -
1647
1647
server->total_read;
1648
1648
1649
1649
while (remaining > 0) {
···
1689
1689
unsigned int data_offset, data_len;
1690
1690
struct cifs_readdata *rdata = mid->callback_data;
1691
1691
char *buf = server->smallbuf;
1692
-
unsigned int buflen = server->pdu_size +
1693
-
server->vals->header_preamble_size;
1692
+
unsigned int buflen = server->pdu_size + HEADER_PREAMBLE_SIZE(server);
1694
1693
bool use_rdma_mr = false;
1695
1694
1696
1695
cifs_dbg(FYI, "%s: mid=%llu offset=%llu bytes=%u\n",
···
1723
1724
1724
1725
/* set up first two iov for signature check and to get credits */
1725
1726
rdata->iov[0].iov_base = buf;
1726
-
rdata->iov[0].iov_len = server->vals->header_preamble_size;
1727
-
rdata->iov[1].iov_base = buf + server->vals->header_preamble_size;
1727
+
rdata->iov[0].iov_len = HEADER_PREAMBLE_SIZE(server);
1728
+
rdata->iov[1].iov_base = buf + HEADER_PREAMBLE_SIZE(server);
1728
1729
rdata->iov[1].iov_len =
1729
-
server->total_read - server->vals->header_preamble_size;
1730
+
server->total_read - HEADER_PREAMBLE_SIZE(server);
1730
1731
cifs_dbg(FYI, "0: iov_base=%p iov_len=%zu\n",
1731
1732
rdata->iov[0].iov_base, rdata->iov[0].iov_len);
1732
1733
cifs_dbg(FYI, "1: iov_base=%p iov_len=%zu\n",
···
1751
1752
}
1752
1753
1753
1754
data_offset = server->ops->read_data_offset(buf) +
1754
-
server->vals->header_preamble_size;
1755
+
HEADER_PREAMBLE_SIZE(server);
1755
1756
if (data_offset < server->total_read) {
1756
1757
/*
1757
1758
* win2k8 sometimes sends an offset of 0 when the read