]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfs: return from xfs_symlink_verify early on V4 filesystems
authorDarrick J. Wong <djwong@kernel.org>
Mon, 2 Dec 2024 18:57:43 +0000 (10:57 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 17:08:50 +0000 (18:08 +0100)
commit 7f8b718c58783f3ff0810b39e2f62f50ba2549f6 upstream.

V4 symlink blocks didn't have headers, so return early if this is a V4
filesystem.

Cc: <stable@vger.kernel.org> # v5.1
Fixes: 39708c20ab5133 ("xfs: miscellaneous verifier magic value fixups")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/libxfs/xfs_symlink_remote.c

index bdc777b9ec4a6cb6c781a919e6fbefb9b6c2b628..8828d854e34fa2f9a7c877d83fa1bb60cbe42c71 100644 (file)
@@ -89,8 +89,10 @@ xfs_symlink_verify(
        struct xfs_mount        *mp = bp->b_mount;
        struct xfs_dsymlink_hdr *dsl = bp->b_addr;
 
+       /* no verification of non-crc buffers */
        if (!xfs_has_crc(mp))
-               return __this_address;
+               return NULL;
+
        if (!xfs_verify_magic(bp, dsl->sl_magic))
                return __this_address;
        if (!uuid_equal(&dsl->sl_uuid, &mp->m_sb.sb_meta_uuid))