]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-5.15/nfsd-simplify-starting_len.patch
Fixes for 5.15
[thirdparty/kernel/stable-queue.git] / queue-5.15 / nfsd-simplify-starting_len.patch
1 From 5ecbeb3dfc1f8599cd64a1ca096f1fc9e2af08c1 Mon Sep 17 00:00:00 2001
2 From: Sasha Levin <sashal@kernel.org>
3 Date: Fri, 22 Jul 2022 16:09:10 -0400
4 Subject: NFSD: Simplify starting_len
5
6 From: Chuck Lever <chuck.lever@oracle.com>
7
8 [ Upstream commit 071ae99feadfc55979f89287d6ad2c6a315cb46d ]
9
10 Clean-up: Now that nfsd4_encode_readv() does not have to encode the
11 EOF or rd_length values, it no longer needs to subtract 8 from
12 @starting_len.
13
14 Reviewed-by: Jeff Layton <jlayton@kernel.org>
15 Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
16 ---
17 fs/nfsd/nfs4xdr.c | 9 ++++-----
18 1 file changed, 4 insertions(+), 5 deletions(-)
19
20 diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
21 index b7a3c770d436b..310321b9b94cd 100644
22 --- a/fs/nfsd/nfs4xdr.c
23 +++ b/fs/nfsd/nfs4xdr.c
24 @@ -3947,7 +3947,7 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
25 struct file *file, unsigned long maxcount)
26 {
27 struct xdr_stream *xdr = resp->xdr;
28 - int starting_len = xdr->buf->len - 8;
29 + unsigned int starting_len = xdr->buf->len;
30 __be32 nfserr;
31 __be32 tmp;
32 int pad;
33 @@ -3962,14 +3962,13 @@ static __be32 nfsd4_encode_readv(struct nfsd4_compoundres *resp,
34 read->rd_length = maxcount;
35 if (nfserr)
36 return nfserr;
37 - if (svc_encode_result_payload(resp->rqstp, starting_len + 8, maxcount))
38 + if (svc_encode_result_payload(resp->rqstp, starting_len, maxcount))
39 return nfserr_io;
40 - xdr_truncate_encode(xdr, starting_len + 8 + xdr_align_size(maxcount));
41 + xdr_truncate_encode(xdr, starting_len + xdr_align_size(maxcount));
42
43 tmp = xdr_zero;
44 pad = (maxcount&3) ? 4 - (maxcount&3) : 0;
45 - write_bytes_to_xdr_buf(xdr->buf, starting_len + 8 + maxcount,
46 - &tmp, pad);
47 + write_bytes_to_xdr_buf(xdr->buf, starting_len + maxcount, &tmp, pad);
48 return 0;
49
50 }
51 --
52 2.43.0
53