summaryrefslogtreecommitdiffstats
path: root/.gitignore
diff options
context:
space:
mode:
authorStanislav Kinsbursky <skinsbursky@parallels.com>2013-06-24 11:52:38 +0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-06-28 15:41:18 -0400
commit384816051ca9125cd54750e59c780c2a2655fa4f (patch)
treeb7ef1f57a54d747f750c2ad8c8974b236ff9febf /.gitignore
parent52fcac988ae6d5a902e9c1d79fc11ba5ec9361e7 (diff)
downloadlinux-384816051ca9125cd54750e59c780c2a2655fa4f.tar.bz2
SUNRPC: fix races on PipeFS MOUNT notifications
Below are races, when RPC client can be created without PiepFS dentries CPU#0 CPU#1 ----------------------------- ----------------------------- rpc_new_client rpc_fill_super rpc_setup_pipedir mutex_lock(&sn->pipefs_sb_lock) rpc_get_sb_net == NULL (no per-net PipeFS superblock) sn->pipefs_sb = sb; notifier_call_chain(MOUNT) (client is not in the list) rpc_register_client (client without pipes dentries) To fix this patch: 1) makes PipeFS mount notification call with pipefs_sb_lock being held. 2) releases pipefs_sb_lock on new SUNRPC client creation only after registration. Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com> Cc: stable@vger.kernel.org Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions