FAILED: patch "[PATCH] NFSv4: Fix a dentry leak on alias use" failed to apply to 3.10-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 3.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
d9dfd8d741683347ee159d25f5b50c346a0df557Mon Sep 17 00:00:00 2001
From: Benjamin Coddington <[email protected]>
Date: Wed, 17 Feb 2016 10:41:41 -0500
Subject: [PATCH] NFSv4: Fix a dentry leak on alias use
In the case where d_add_unique() finds an appropriate alias to use it will have already incremented the reference count. An additional dget() to swap the open context's dentry is unnecessary and will leak a reference.
Signed-off-by Benjamin Coddington <[email protected]>
Fixes 275bb307865a3 ("NFSv4: Move dentry instantiation into the NFSv4-...")
Cc [email protected] # 3.10+
Signed-off-by Trond Myklebust <[email protected]>
fs/nfs/nfs4proc.c +2 -2
@@ -2466,9 +2466,9 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata, dentry =d_add_unique (dentry,igrab (state->inode));if (dentry ==NULL ) { dentry = opendata->dentry; - }else if (dentry != ctx->dentry) { + }else {dput (ctx->dentry); - ctx->dentry =dget (dentry); + ctx->dentry = dentry; }nfs_set_verifier (dentry,nfs_save_change_attribute (d_inode (opendata->dir)));