]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Nov 2013 19:48:47 +0000 (11:48 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 Nov 2013 19:48:47 +0000 (11:48 -0800)
added patches:
prepend_path-needs-to-reinitialize-dentry-vfsmount-mnt-on-restarts.patch

queue-3.12/prepend_path-needs-to-reinitialize-dentry-vfsmount-mnt-on-restarts.patch [new file with mode: 0644]
queue-3.12/series [new file with mode: 0644]

diff --git a/queue-3.12/prepend_path-needs-to-reinitialize-dentry-vfsmount-mnt-on-restarts.patch b/queue-3.12/prepend_path-needs-to-reinitialize-dentry-vfsmount-mnt-on-restarts.patch
new file mode 100644 (file)
index 0000000..3ec550b
--- /dev/null
@@ -0,0 +1,45 @@
+From ede4cebce16f5643c61aedd6d88d9070a1d23a68 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Wed, 13 Nov 2013 07:45:40 -0500
+Subject: prepend_path() needs to reinitialize dentry/vfsmount/mnt on restarts
+
+From: Al Viro <viro@zeniv.linux.org.uk>
+
+commit ede4cebce16f5643c61aedd6d88d9070a1d23a68 upstream.
+
+... and equivalent is needed in 3.12; it's broken there as well
+
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Reported-by: Michael Marineau <michael.marineau@coreos.com>
+Tested-by: Waiman Long <Waiman.Long@hp.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/dcache.c |    9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+--- a/fs/dcache.c
++++ b/fs/dcache.c
+@@ -2881,9 +2881,9 @@ static int prepend_path(const struct pat
+                       const struct path *root,
+                       char **buffer, int *buflen)
+ {
+-      struct dentry *dentry = path->dentry;
+-      struct vfsmount *vfsmnt = path->mnt;
+-      struct mount *mnt = real_mount(vfsmnt);
++      struct dentry *dentry;
++      struct vfsmount *vfsmnt;
++      struct mount *mnt;
+       int error = 0;
+       unsigned seq = 0;
+       char *bptr;
+@@ -2893,6 +2893,9 @@ static int prepend_path(const struct pat
+ restart:
+       bptr = *buffer;
+       blen = *buflen;
++      dentry = path->dentry;
++      vfsmnt = path->mnt;
++      mnt = real_mount(vfsmnt);
+       read_seqbegin_or_lock(&rename_lock, &seq);
+       while (dentry != root->dentry || vfsmnt != root->mnt) {
+               struct dentry * parent;
diff --git a/queue-3.12/series b/queue-3.12/series
new file mode 100644 (file)
index 0000000..67cd51e
--- /dev/null
@@ -0,0 +1 @@
+prepend_path-needs-to-reinitialize-dentry-vfsmount-mnt-on-restarts.patch