]> git.baikalelectronics.ru Git - kernel.git/commit
ovl: fix regression with re-formatted lower squashfs
authorAmir Goldstein <amir73il@gmail.com>
Wed, 8 Jul 2020 13:16:13 +0000 (16:16 +0300)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 15 Jul 2020 22:10:31 +0000 (00:10 +0200)
commit2068251ab2d4384c8cbfb906731f8689038d035f
tree35772dc17ec7c76dfb1a976ff9ef464f6f6f1776
parent5898c0d0742d5988f8e00b8940d3346f4e84489c
ovl: fix regression with re-formatted lower squashfs

Commit feda1340687c ("ovl: relax requirement for non null uuid of lower
fs") relaxed the requirement for non null uuid with single lower layer to
allow enabling index and nfs_export features with single lower squashfs.

Fabian reported a regression in a setup when overlay re-uses an existing
upper layer and re-formats the lower squashfs image.  Because squashfs
has no uuid, the origin xattr in upper layer are decoded from the new
lower layer where they may resolve to a wrong origin file and user may
get an ESTALE or EIO error on lookup.

To avoid the reported regression while still allowing the new features
with single lower squashfs, do not allow decoding origin with lower null
uuid unless user opted-in to one of the new features that require
following the lower inode of non-dir upper (index, xino, metacopy).

Reported-by: Fabian <godi.beat@gmx.net>
Link: https://lore.kernel.org/linux-unionfs/32532923.JtPX5UtSzP@fgdesktop/
Fixes: feda1340687c ("ovl: relax requirement for non null uuid of lower fs")
Cc: stable@vger.kernel.org # v4.20+
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/super.c