[PATCH] nvmet-tcp: pass iov_len instead of sg->length to bvec_set_page()

Sagi Grimberg sagi at grimberg.me
Mon Jul 31 06:41:09 PDT 2023


> 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 at chelsio.com>
> Signed-off-by: Varun Prakash <varun at chelsio.com>
> ---
>   drivers/nvme/target/tcp.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/nvme/target/tcp.c b/drivers/nvme/target/tcp.c
> index 868aa4de2e4c..05163751f2e5 100644
> --- a/drivers/nvme/target/tcp.c
> +++ b/drivers/nvme/target/tcp.c
> @@ -348,8 +348,8 @@ 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,
> -				sg->offset + sg_offset);
> +		bvec_set_page(iov, sg_page(sg), iov_len,
> +			      sg->offset + sg_offset);

The second line alignment modification is unneeded.
Other than that,

Reviewed-by: Sagi Grimberg <sagi at grimberg.me>



More information about the Linux-nvme mailing list