]> xenbits.xensource.com Git - people/pauldu/linux.git/commitdiff
nvmet-tcp: pass iov_len instead of sg->length to bvec_set_page()
authorVarun Prakash <varun@chelsio.com>
Wed, 9 Aug 2023 10:26:45 +0000 (15:56 +0530)
committerKeith Busch <kbusch@kernel.org>
Mon, 21 Aug 2023 19:54:02 +0000 (12:54 -0700)
iov_len is the valid data length, so pass iov_len instead of sg->length to
bvec_set_page().

Fixes: 5bfaba275ae6 ("nvmet-tcp: don't map pages which can't come from HIGHMEM")
Signed-off-by: Rakshana Sridhar <rakshanas@chelsio.com>
Signed-off-by: Varun Prakash <varun@chelsio.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/target/tcp.c

index 868aa4de2e4c4ef7bcfc3c704ae10791f1725ff9..cd92d7ddf5ed15f677d9d954a43d064659ce2a36 100644 (file)
@@ -348,7 +348,7 @@ static void nvmet_tcp_build_pdu_iovec(struct nvmet_tcp_cmd *cmd)
        while (length) {
                u32 iov_len = min_t(u32, length, sg->length - sg_offset);
 
-               bvec_set_page(iov, sg_page(sg), sg->length,
+               bvec_set_page(iov, sg_page(sg), iov_len,
                                sg->offset + sg_offset);
 
                length -= iov_len;