Commit 8a792617 authored by Jeff Layton's avatar Jeff Layton Committed by Chuck Lever
Browse files

nfsd: fix refcount leak when file is unhashed after being found



If we wait_for_construction and find that the file is no longer hashed,
and we're going to retry the open, the old nfsd_file reference is
currently leaked. Put the reference before retrying.

Fixes: c6593366 ("nfsd: don't kill nfsd_files because of lease break error")
Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
Tested-by: default avatarYouzhong Yang <youzhong@gmail.com>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 81a95c2b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1051,6 +1051,7 @@ nfsd_file_do_acquire(struct svc_rqst *rqstp, struct svc_fh *fhp,
			status = nfserr_jukebox;
			goto construction_err;
		}
		nfsd_file_put(nf);
		open_retry = false;
		fh_put(fhp);
		goto retry;