SUNRPC: Fix a deadlock in rpc_client_register()
Commit 38481605 (SUNRPC: fix races on PipeFS MOUNT notifications) introduces a regression when we call rpc_setup_pipedir() with RPCSEC_GSS as the auth flavour. By calling rpcauth_create() while holding the sn->pipefs_sb_lock, we end up deadlocking in gss_pipes_dentries_create_net(). Fix is to register the client and release the mutex before calling rpcauth_create(). Reported-by: NWeston Andros Adamson <dros@netapp.com> Tested-by: NWeston Andros Adamson <dros@netapp.com> Cc: Stanislav Kinsbursky <skinsbursky@parallels.com> Cc: <stable@vger.kernel.org> # : 38481605: SUNRPC: fix races on PipeFS MOUNT Cc: <stable@vger.kernel.org> # : e73f4cc0: SUNRPC: split client creation Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
Showing
想要评论请 注册 或 登录