On Wed, Jan 17, 2024 at 10:06:28PM +0100, Lucas Stach wrote: > 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 <l.stach@xxxxxxxxxxxxxx> > --- > net/sunrpc/svcsock.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c > index 998687421fa6..e0ce4276274b 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); > } > > -- > 2.43.0 > I can't fathom why I would have chosen zero for the @count argument. We currently have zero test coverage for UDP. I'll look into that. I've applied this to the nfsd-fixes branch. It should appear in v6.8-rc if I can get it tested. -- Chuck Lever