Files
android_kernel_xiaomi_sm8450/fs/nfs
Steve Dickson 080af20cc9 NFSv4: nfs4_state_manager() vs. nfs_server_remove_lists()
There is a race between nfs4_state_manager() and
nfs_server_remove_lists() that happens during a nfsv3 mount.

The v3 mount notices there is already a supper block so
nfs_server_remove_lists() called which uses the nfs_client_lock
spin lock to synchronize access to the client list.

At the same time nfs4_state_manager() is running through
the client list looking for work to do, using the same
lock. When nfs4_state_manager() wins the race to the
list, a v3 client pointer is found and not ignored
properly which causes the panic.

Moving some protocol checks before the state checking
avoids the panic.

CC: Stable Tree <stable@vger.kernel.org>
Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2014-09-18 13:04:21 -04:00
..
2013-06-08 16:20:18 -04:00
2014-07-12 18:22:58 -04:00
2014-07-12 18:22:58 -04:00
2013-11-15 13:41:43 -05:00
2012-07-30 19:06:41 -04:00
2014-08-26 16:17:48 -04:00
2014-07-12 18:43:47 -04:00
2012-07-30 19:06:52 -04:00
2014-08-03 17:05:25 -04:00
2014-06-24 18:47:00 -04:00
2014-06-25 19:01:27 -04:00