From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Ensure that the client lookup is done safely under the client_lock. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> --- fs/nfsd/nfs4state.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 955027d4dc85..6e6d34111f5f 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -3880,12 +3880,14 @@ static __be32 lookup_clientid(clientid_t *clid, * if we don't have one cached already then we know this is for * is for v4.0 and "sessions" will be false. */ + spin_lock(&nn->client_lock); found = find_confirmed_client(clid, false, nn); /* Cache the nfs4_client in cstate! */ if (found) { cstate->clp = found; atomic_inc(&found->cl_refcount); } + spin_unlock(&nn->client_lock); } return found ? nfs_ok : nfserr_expired; } -- 1.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html