diff mbox

[Trusty,SRU,1/3] rpc_pipe: remove the clntXX dir if creating the pipe fails

Message ID 1409935842-12800-1-git-send-email-tim.gardner@canonical.com
State New
Headers show

Commit Message

Tim Gardner Sept. 5, 2014, 4:50 p.m. UTC
From: Jeff Layton <jlayton@redhat.com>

BugLink: http://bugs.launchpad.net/bugs/1365869

In the event that we create the gssd/clntXX dir, but the pipe creation
subsequently fails, then we should remove the clntXX dir before
returning.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from commit 3396f92f8be606ea485b0a82d4e7749a448b013b)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
 net/sunrpc/rpc_pipe.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Chris J Arges Sept. 5, 2014, 10:21 p.m. UTC | #1
All three patches are clean cherry-picks and are already in the v3.14
branch.

Acked-by: <chris.j.arges@canonical.com>

On 09/05/2014 11:50 AM, tim.gardner@canonical.com wrote:
> From: Jeff Layton <jlayton@redhat.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1365869
> 
> In the event that we create the gssd/clntXX dir, but the pipe creation
> subsequently fails, then we should remove the clntXX dir before
> returning.
> 
> Signed-off-by: Jeff Layton <jlayton@redhat.com>
> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
> (cherry picked from commit 3396f92f8be606ea485b0a82d4e7749a448b013b)
> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
> ---
>  net/sunrpc/rpc_pipe.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
> index 5cd7ad1..0b74c61 100644
> --- a/net/sunrpc/rpc_pipe.c
> +++ b/net/sunrpc/rpc_pipe.c
> @@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
>  	}
>  
>  	pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data);
> +	if (IS_ERR(pipe_dentry))
> +		__rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
>  out:
>  	dput(clnt_dentry);
>  	dput(gssd_dentry);
>
Tim Gardner Sept. 8, 2014, 1:22 p.m. UTC | #2

diff mbox

Patch

diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
index 5cd7ad1..0b74c61 100644
--- a/net/sunrpc/rpc_pipe.c
+++ b/net/sunrpc/rpc_pipe.c
@@ -1313,6 +1313,8 @@  rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
 	}
 
 	pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data);
+	if (IS_ERR(pipe_dentry))
+		__rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
 out:
 	dput(clnt_dentry);
 	dput(gssd_dentry);