diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 6c0c5de24cf49dfcc7ae810a28ab7d6ee08e1fcd..302bbad5cdc6b9ebb90325c2a5d74284f26cde1e 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -1370,7 +1370,8 @@ static void nfs4_free_ol_stateid(struct nfs4_stid *stid) release_all_access(stp); if (stp->st_stateowner) nfs4_put_stateowner(stp->st_stateowner); - WARN_ON(!list_empty(&stid->sc_cp_list)); + if (!list_empty(&stid->sc_cp_list)) + nfs4_free_cpntf_statelist(stid->sc_client->net, stid); kmem_cache_free(stateid_slab, stid); }