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

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>

+2 -2
+2 -2
fs/cifs/smb2pdu.c
··· 3483 3483 struct smb2_sync_hdr *shdr = 3484 3484 (struct smb2_sync_hdr *)rdata->iov[0].iov_base; 3485 3485 struct cifs_credits credits = { .value = 0, .instance = 0 }; 3486 - struct smb_rqst rqst = { .rq_iov = rdata->iov, 3487 - .rq_nvec = 2, 3486 + struct smb_rqst rqst = { .rq_iov = &rdata->iov[1], 3487 + .rq_nvec = 1, 3488 3488 .rq_pages = rdata->pages, 3489 3489 .rq_offset = rdata->page_offset, 3490 3490 .rq_npages = rdata->nr_pages,