• Amir Goldstein's avatar
    ovl: fix regression with re-formatted lower squashfs · a888db31
    Amir Goldstein authored
    Commit 9df085f3 ("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: default avatarFabian <godi.beat@gmx.net>
    Link: https://lore.kernel.org/linux-unionfs/32532923.JtPX5UtSzP@fgdesktop/
    Fixes: 9df085f3 ("ovl: relax requirement for non null uuid of lower fs")
    Cc: stable@vger.kernel.org # v4.20+
    Signed-off-by: default avatarAmir Goldstein <amir73il@gmail.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
    a888db31
super.c 48.1 KB