diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-05 16:11:11 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-05 16:59:19 -0400 |
commit | 7b1f1fd1842e6ede25183c267ae733a7f67f00bc (patch) | |
tree | 5849a9b1b608a8a88adb5551d19a7efecfafe3b2 /mm/interval_tree.c | |
parent | b193d59a4863ea670872d76dc99231ddeb598625 (diff) |
NFSv4/4.1: Fix bugs in nfs4[01]_walk_client_list
It is unsafe to use list_for_each_entry_safe() here, because
when we drop the nn->nfs_client_lock, we pin the _current_ list
entry and ensure that it stays in the list, but we don't do the
same for the _next_ list entry. Use of list_for_each_entry() is
therefore the correct thing to do.
Also fix the refcounting in nfs41_walk_client_list().
Finally, ensure that the nfs_client has finished being initialised
and, in the case of NFSv4.1, that the session is set up.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Bryan Schumaker <bjschuma@netapp.com>
Cc: stable@vger.kernel.org [>= 3.7]
Diffstat (limited to 'mm/interval_tree.c')
0 files changed, 0 insertions, 0 deletions