summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-01-13 20:38:26 -0200
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-01-13 20:38:26 -0200
commitd7d75ce711cf951aa33b86603e486837a402379e (patch)
tree30dc2409bc9da729380eed4243a9d871d9973ad9 /kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
parentab7fb4d643a25bdd23969fa487bf07f348d15a55 (diff)
linux-libre-{pae,xen,knock,grsec}-3.12.7-2: fix 15 seconds nfs hang, #37886 kernel oops => https://bugs.archlinux.org/task/37886
Diffstat (limited to 'kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch')
-rw-r--r--kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
new file mode 100644
index 000000000..e4b1a255f
--- /dev/null
+++ b/kernels/linux-libre-knock/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
@@ -0,0 +1,32 @@
+Bugzilla: 1037793
+Upstream-status: submitted for 3.14
+
+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>
+---
+ 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);
+--
+1.8.4.2
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html