]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
nfsd: remove blocked locks on client teardown
authorJeff Layton <jlayton@redhat.com>
Fri, 16 Mar 2018 15:32:02 +0000 (11:32 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Mar 2018 16:22:58 +0000 (18:22 +0200)
commit0f44e9da465ea259b6c9f31a627f3c50a16e1679
tree625e01672b1d23ffe19969db44a2abb227b7feaf
parent401c02d7c9b550c5bc8c9ed21b9522dbdb93746d
nfsd: remove blocked locks on client teardown

commit 68ef3bc3166468678d5e1fdd216628c35bd1186f upstream.

We had some reports of panics in nfsd4_lm_notify, and that showed a
nfs4_lockowner that had outlived its so_client.

Ensure that we walk any leftover lockowners after tearing down all of
the stateids, and remove any blocked locks that they hold.

With this change, we also don't need to walk the nbl_lru on nfsd_net
shutdown, as that will happen naturally when we tear down the clients.

Fixes: 76d348fadff5 (nfsd: have nfsd4_lock use blocking locks for v4.1+ locks)
Reported-by: Frank Sorenson <fsorenso@redhat.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Cc: stable@vger.kernel.org # 4.9
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfs4state.c