]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
NFSD: Remove unused results in nfsd4_encode_pathname4()
authorChuck Lever <chuck.lever@oracle.com>
Thu, 17 Oct 2024 15:03:54 +0000 (11:03 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Tue, 19 Nov 2024 01:23:02 +0000 (20:23 -0500)
Clean up. The result of "*p++" is saved, but is not used before it
is overwritten. The result of xdr_encode_opaque() is saved each
time through the loop but is never used.

Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4xdr.c

index 5e6ef24d54507e3ca1a3dcc421d30947e95e160d..a3a0d27e51e60ae3765c8fe5f38a8005012bd2ff 100644 (file)
@@ -2699,7 +2699,6 @@ static __be32 nfsd4_encode_pathname4(struct xdr_stream *xdr,
                                     const struct path *path)
 {
        struct path cur = *path;
-       __be32 *p;
        struct dentry **components = NULL;
        unsigned int ncomponents = 0;
        __be32 err = nfserr_jukebox;
@@ -2730,24 +2729,19 @@ static __be32 nfsd4_encode_pathname4(struct xdr_stream *xdr,
                components[ncomponents++] = cur.dentry;
                cur.dentry = dget_parent(cur.dentry);
        }
+
        err = nfserr_resource;
-       p = xdr_reserve_space(xdr, 4);
-       if (!p)
+       if (xdr_stream_encode_u32(xdr, ncomponents) != XDR_UNIT)
                goto out_free;
-       *p++ = cpu_to_be32(ncomponents);
-
        while (ncomponents) {
                struct dentry *dentry = components[ncomponents - 1];
-               unsigned int len;
 
                spin_lock(&dentry->d_lock);
-               len = dentry->d_name.len;
-               p = xdr_reserve_space(xdr, len + 4);
-               if (!p) {
+               if (xdr_stream_encode_opaque(xdr, dentry->d_name.name,
+                                            dentry->d_name.len) < 0) {
                        spin_unlock(&dentry->d_lock);
                        goto out_free;
                }
-               p = xdr_encode_opaque(p, dentry->d_name.name, len);
                dprintk("/%pd", dentry);
                spin_unlock(&dentry->d_lock);
                dput(dentry);