smb3: fix signing verification of large reads

Code cleanup in the 5.1 kernel changed the array
passed into signing verification on large reads leading
to warning messages being logged when copying files to local
systems from remote.

   SMB signature verification returned error = -5

This changeset fixes verification of SMB3 signatures of large
reads.

Suggested-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
This commit is contained in:
Steve French 2019-09-04 23:07:52 -05:00
parent 4f5c10f1ad
commit 46f17d1768

View File

@ -3483,8 +3483,8 @@ smb2_readv_callback(struct mid_q_entry *mid)
struct smb2_sync_hdr *shdr = struct smb2_sync_hdr *shdr =
(struct smb2_sync_hdr *)rdata->iov[0].iov_base; (struct smb2_sync_hdr *)rdata->iov[0].iov_base;
struct cifs_credits credits = { .value = 0, .instance = 0 }; struct cifs_credits credits = { .value = 0, .instance = 0 };
struct smb_rqst rqst = { .rq_iov = rdata->iov, struct smb_rqst rqst = { .rq_iov = &rdata->iov[1],
.rq_nvec = 2, .rq_nvec = 1,
.rq_pages = rdata->pages, .rq_pages = rdata->pages,
.rq_offset = rdata->page_offset, .rq_offset = rdata->page_offset,
.rq_npages = rdata->nr_pages, .rq_npages = rdata->nr_pages,