From: Lucas Stach Date: Wed, 17 Jan 2024 21:06:28 +0000 (+0100) Subject: SUNRPC: use request size to initialize bio_vec in svc_udp_sendto() X-Git-Tag: v6.6.17~617 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f5aab7efd402b7494eeacb00f352f8f20b40d2d;p=platform%2Fkernel%2Flinux-rpi.git SUNRPC: use request size to initialize bio_vec in svc_udp_sendto() [ Upstream commit 1d9cabe2817edd215779dc9c2fe5e7ab9aac0704 ] Use the proper size when setting up the bio_vec, as otherwise only zero-length UDP packets will be sent. Fixes: baabf59c2414 ("SUNRPC: Convert svc_udp_sendto() to use the per-socket bio_vec array") Signed-off-by: Lucas Stach Signed-off-by: Chuck Lever Signed-off-by: Sasha Levin --- diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index 9986874..e0ce427 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c @@ -717,12 +717,12 @@ static int svc_udp_sendto(struct svc_rqst *rqstp) ARRAY_SIZE(rqstp->rq_bvec), xdr); iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec, - count, 0); + count, rqstp->rq_res.len); err = sock_sendmsg(svsk->sk_sock, &msg); if (err == -ECONNREFUSED) { /* ICMP error on earlier request. */ iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, rqstp->rq_bvec, - count, 0); + count, rqstp->rq_res.len); err = sock_sendmsg(svsk->sk_sock, &msg); }