forked from Minki/linux
NFS: Fix an NFS client lockdep issue
There is no reason to be freeing the delegation cred in the rcu callback, and doing so is resulting in a lockdep complaint that rpc_credcache_lock is being called from both softirq and non-softirq contexts. Reported-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: stable@kernel.org
This commit is contained in:
parent
c7a360b05b
commit
e00b8a2404
@ -23,8 +23,6 @@
|
||||
|
||||
static void nfs_do_free_delegation(struct nfs_delegation *delegation)
|
||||
{
|
||||
if (delegation->cred)
|
||||
put_rpccred(delegation->cred);
|
||||
kfree(delegation);
|
||||
}
|
||||
|
||||
@ -37,6 +35,10 @@ static void nfs_free_delegation_callback(struct rcu_head *head)
|
||||
|
||||
static void nfs_free_delegation(struct nfs_delegation *delegation)
|
||||
{
|
||||
if (delegation->cred) {
|
||||
put_rpccred(delegation->cred);
|
||||
delegation->cred = NULL;
|
||||
}
|
||||
call_rcu(&delegation->rcu, nfs_free_delegation_callback);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user