]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
NFSD: Replace READ* macros in nfsd4_decode_rename()
authorChuck Lever <chuck.lever@oracle.com>
Wed, 4 Nov 2020 20:05:58 +0000 (15:05 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Jun 2024 12:52:39 +0000 (14:52 +0200)
[ Upstream commit ba881a0a5342b3aaf83958901ebe3fe752eaab46 ]

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfsd/nfs4xdr.c

index d4e1e3138739cf101a58cac8bc42350f4d570dbb..adf4a6fb94d4c70a259fd829cdc16151f5cf2099 100644 (file)
@@ -1261,22 +1261,12 @@ nfsd4_decode_remove(struct nfsd4_compoundargs *argp, struct nfsd4_remove *remove
 static __be32
 nfsd4_decode_rename(struct nfsd4_compoundargs *argp, struct nfsd4_rename *rename)
 {
-       DECODE_HEAD;
+       __be32 status;
 
-       READ_BUF(4);
-       rename->rn_snamelen = be32_to_cpup(p++);
-       READ_BUF(rename->rn_snamelen);
-       SAVEMEM(rename->rn_sname, rename->rn_snamelen);
-       READ_BUF(4);
-       rename->rn_tnamelen = be32_to_cpup(p++);
-       READ_BUF(rename->rn_tnamelen);
-       SAVEMEM(rename->rn_tname, rename->rn_tnamelen);
-       if ((status = check_filename(rename->rn_sname, rename->rn_snamelen)))
-               return status;
-       if ((status = check_filename(rename->rn_tname, rename->rn_tnamelen)))
+       status = nfsd4_decode_component4(argp, &rename->rn_sname, &rename->rn_snamelen);
+       if (status)
                return status;
-
-       DECODE_TAIL;
+       return nfsd4_decode_component4(argp, &rename->rn_tname, &rename->rn_tnamelen);
 }
 
 static __be32