nfsd: fix clp->cl_revoked list deletion causing softlock in nfsd
commit2d4a532d38
("nfsd: ensure that clp->cl_revoked list is protected by clp->cl_lock") removed the use of the reaplist to clean out clp->cl_revoked. It failed to change list_entry() to walk clp->cl_revoked.next instead of reaplist.next Fixes:2d4a532d38
("nfsd: ensure that clp->cl_revoked list is protected by clp->cl_lock") Cc: stable@vger.kernel.org Reported-by: Eric Meddaugh <etmsys@rit.edu> Tested-by: Eric Meddaugh <etmsys@rit.edu> Signed-off-by: Andrew Elble <aweits@rit.edu> Reviewed-by: Jeff Layton <jeff.layton@primarydata.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
a1d1e9be5a
commit
c876486be1
|
@ -1638,7 +1638,7 @@ __destroy_client(struct nfs4_client *clp)
|
|||
nfs4_put_stid(&dp->dl_stid);
|
||||
}
|
||||
while (!list_empty(&clp->cl_revoked)) {
|
||||
dp = list_entry(reaplist.next, struct nfs4_delegation, dl_recall_lru);
|
||||
dp = list_entry(clp->cl_revoked.next, struct nfs4_delegation, dl_recall_lru);
|
||||
list_del_init(&dp->dl_recall_lru);
|
||||
nfs4_put_stid(&dp->dl_stid);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue