Commit a8ee9099 authored by Joshua Rogers's avatar Joshua Rogers Committed by Chuck Lever
Browse files

svcrdma: use rc_pageoff for memcpy byte offset

svc_rdma_copy_inline_range added rc_curpage (page index) to the page
base instead of the byte offset rc_pageoff. Use rc_pageoff so copies
land within the current page.

Found by ZeroPath (https://zeropath.com

)

Fixes: 8e122582 ("svcrdma: Move svc_rdma_read_info::ri_pageno to struct svc_rdma_recv_ctxt")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarJoshua Rogers <linux@joshua.hu>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent d4b69a61
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -848,7 +848,7 @@ static int svc_rdma_copy_inline_range(struct svc_rqst *rqstp,
			head->rc_page_count++;

		dst = page_address(rqstp->rq_pages[head->rc_curpage]);
		memcpy(dst + head->rc_curpage, src + offset, page_len);
		memcpy((unsigned char *)dst + head->rc_pageoff, src + offset, page_len);

		head->rc_readbytes += page_len;
		head->rc_pageoff += page_len;