]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
nfsd: zero out pointers after putting nfsd_files on COPY setup error
authorJeff Layton <jlayton@kernel.org>
Tue, 17 Jan 2023 19:38:30 +0000 (14:38 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:34:01 +0000 (09:34 +0100)
[ Upstream commit 1f0001d43d0c0ac2a19a34a914f6595ad97cbc1d ]

At first, I thought this might be a source of nfsd_file overputs, but
the current callers seem to avoid an extra put when nfsd4_verify_copy
returns an error.

Still, it's "bad form" to leave the pointers filled out when we don't
have a reference to them anymore, and that might lead to bugs later.
Zero them out as a defensive coding measure.

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

index 53113976e642485cbb5fc4d3ccc454a0e92df7c0..a90e792a94d7700b473c0dcde4acc74a61247bfc 100644 (file)
@@ -1227,8 +1227,10 @@ out:
        return status;
 out_put_dst:
        nfsd_file_put(*dst);
+       *dst = NULL;
 out_put_src:
        nfsd_file_put(*src);
+       *src = NULL;
        goto out;
 }