]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Apr 2018 15:19:29 +0000 (17:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Apr 2018 15:19:29 +0000 (17:19 +0200)
added patches:
ovl-set-lower-layer-st_dev-only-if-setting-lower-st_ino.patch

queue-4.15/ovl-set-lower-layer-st_dev-only-if-setting-lower-st_ino.patch [new file with mode: 0644]
queue-4.15/series

diff --git a/queue-4.15/ovl-set-lower-layer-st_dev-only-if-setting-lower-st_ino.patch b/queue-4.15/ovl-set-lower-layer-st_dev-only-if-setting-lower-st_ino.patch
new file mode 100644 (file)
index 0000000..fa5f00a
--- /dev/null
@@ -0,0 +1,41 @@
+From 9f99e50d460ac7fd5f6c9b97aad0088c28c8656d Mon Sep 17 00:00:00 2001
+From: Amir Goldstein <amir73il@gmail.com>
+Date: Wed, 11 Apr 2018 20:09:29 +0300
+Subject: ovl: set lower layer st_dev only if setting lower st_ino
+
+From: Amir Goldstein <amir73il@gmail.com>
+
+commit 9f99e50d460ac7fd5f6c9b97aad0088c28c8656d upstream.
+
+For broken hardlinks, we do not return lower st_ino, so we should
+also not return lower pseudo st_dev.
+
+Fixes: a0c5ad307ac0 ("ovl: relax same fs constraint for constant st_ino")
+Cc: <stable@vger.kernel.org> #v4.15
+Signed-off-by: Amir Goldstein <amir73il@gmail.com>
+Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
+Signed-off-by: Amir Goldstein <amir73il@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/overlayfs/inode.c |    7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+--- a/fs/overlayfs/inode.c
++++ b/fs/overlayfs/inode.c
+@@ -110,13 +110,10 @@ int ovl_getattr(const struct path *path,
+                        * that the upper hardlink is not broken.
+                        */
+                       if (is_dir || lowerstat.nlink == 1 ||
+-                          ovl_test_flag(OVL_INDEX, d_inode(dentry)))
++                          ovl_test_flag(OVL_INDEX, d_inode(dentry))) {
+                               stat->ino = lowerstat.ino;
+-
+-                      if (samefs)
+-                              WARN_ON_ONCE(stat->dev != lowerstat.dev);
+-                      else
+                               stat->dev = ovl_get_pseudo_dev(dentry);
++                      }
+               }
+               if (samefs) {
+                       /*
index 74e9a454b0b24b7294a3ee4ccb8a34ba023c2362..02185a097d2db797cc4aa6b2901e726d8dc3f287 100644 (file)
@@ -50,3 +50,4 @@ getname_kernel-needs-to-make-sure-that-name-iname-in-long-case.patch
 bluetooth-fix-connection-if-directed-advertising-and-privacy-is-used.patch
 bluetooth-hci_bcm-treat-interrupt-acpi-resources-as-always-being-active-low.patch
 rtl8187-fix-null-pointer-dereference-in-priv-conf_mutex.patch
+ovl-set-lower-layer-st_dev-only-if-setting-lower-st_ino.patch