Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 266533c6 authored by Yanchuan Nian's avatar Yanchuan Nian Committed by J. Bruce Fields
Browse files

nfsd: Don't unlock the state while it's not locked



In the procedure of CREATE_SESSION, the state is locked after
alloc_conn_from_crses(). If the allocation fails, the function
goes to "out_free_session", and then "out" where there is an
unlock function.

Signed-off-by: default avatarYanchuan Nian <ycnian@gmail.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 74b70dde
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1844,11 +1844,12 @@ nfsd4_create_session(struct svc_rqst *rqstp,

	/* cache solo and embedded create sessions under the state lock */
	nfsd4_cache_create_session(cr_ses, cs_slot, status);
out:
	nfs4_unlock_state();
out:
	dprintk("%s returns %d\n", __func__, ntohl(status));
	return status;
out_free_conn:
	nfs4_unlock_state();
	free_conn(conn);
out_free_session:
	__free_session(new);