From: Sasha Levin Date: Thu, 6 Feb 2020 16:45:22 +0000 (-0500) Subject: fixes for 4.19 X-Git-Tag: v4.19.103~122^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e05b645be22616442ec17b0700b9416138f78171;p=thirdparty%2Fkernel%2Fstable-queue.git fixes for 4.19 Signed-off-by: Sasha Levin --- diff --git a/queue-4.19/series b/queue-4.19/series index 8ac719bc014..053f2a0d6f5 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -43,3 +43,4 @@ media-v4l2-rect.h-fix-v4l2_rect_map_inside-top-left-adjustments.patch lib-test_kasan.c-fix-memory-leak-in-kmalloc_oob_krealloc_more.patch irqdomain-fix-a-memory-leak-in-irq_domain_push_irq.patch platform-x86-intel_scu_ipc-fix-interrupt-support.patch +smb3-fix-signing-verification-of-large-reads.patch diff --git a/queue-4.19/smb3-fix-signing-verification-of-large-reads.patch b/queue-4.19/smb3-fix-signing-verification-of-large-reads.patch new file mode 100644 index 00000000000..f066c2dfaf7 --- /dev/null +++ b/queue-4.19/smb3-fix-signing-verification-of-large-reads.patch @@ -0,0 +1,45 @@ +From bc1b38532440bcaf1920f4a79e95132088b9fb8d Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 4 Sep 2019 23:07:52 -0500 +Subject: smb3: fix signing verification of large reads + +From: Steve French + +[ Upstream commit 46f17d17687e8140f2e4e517d7dfa65e62fcc5f4 ] + +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 +Signed-off-by: Steve French +Reviewed-by: Ronnie Sahlberg +Signed-off-by: Sasha Levin +--- + fs/cifs/smb2pdu.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c +index 43f29621e51ff..93ef1d8e82c75 100644 +--- a/fs/cifs/smb2pdu.c ++++ b/fs/cifs/smb2pdu.c +@@ -3130,8 +3130,8 @@ smb2_readv_callback(struct mid_q_entry *mid) + struct smb2_sync_hdr *shdr = + (struct smb2_sync_hdr *)rdata->iov[0].iov_base; + unsigned int credits_received = 0; +- struct smb_rqst rqst = { .rq_iov = rdata->iov, +- .rq_nvec = 2, ++ struct smb_rqst rqst = { .rq_iov = &rdata->iov[1], ++ .rq_nvec = 1, + .rq_pages = rdata->pages, + .rq_offset = rdata->page_offset, + .rq_npages = rdata->nr_pages, +-- +2.20.1 +