summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2013-08-26 23:26:51 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-08-30 15:19:38 +0200
commitd7631250b20119ea763d9ba461c3a9c5710cfa98 (patch)
tree1e5b99d2a3228c934f36eed156fd02938b620c2d
parentRPCSEC_GSS: Fix an Oopsable condition when creating/destroying pipefs objects (diff)
downloadlinux-d7631250b20119ea763d9ba461c3a9c5710cfa98.tar.xz
linux-d7631250b20119ea763d9ba461c3a9c5710cfa98.zip
NFSv4: Fix a potentially Oopsable condition in __nfs_idmap_unregister
Ensure that __nfs_idmap_unregister can be called twice without consequences. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/idmap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/idmap.c b/fs/nfs/idmap.c
index e9b0c59f9286..8b7e94ac096b 100644
--- a/fs/nfs/idmap.c
+++ b/fs/nfs/idmap.c
@@ -404,8 +404,10 @@ static struct key_type key_type_id_resolver_legacy = {
static void __nfs_idmap_unregister(struct rpc_pipe *pipe)
{
- if (pipe->dentry)
+ if (pipe->dentry) {
rpc_unlink(pipe->dentry);
+ pipe->dentry = NULL;
+ }
}
static int __nfs_idmap_register(struct dentry *dir,