From 810f4a53c1ad9ce60207b0aba71bb7bec3b1ec8e Mon Sep 17 00:00:00 2001 From: Alejandro Vallejo Date: Thu, 14 Sep 2023 13:22:51 +0100 Subject: [PATCH 02/11] libfsimage/xfs: Amend mask32lo() to allow the value 32 agblklog could plausibly be 32, but that would overflow this shift. Perform the shift as ULL and cast to u32 at the end instead. This is part of XSA-443 / CVE-2023-34325 Signed-off-by: Alejandro Vallejo Acked-by: Jan Beulich --- tools/libfsimage/xfs/fsys_xfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libfsimage/xfs/fsys_xfs.c b/tools/libfsimage/xfs/fsys_xfs.c index 245ae9a18b3b..dbdb21d156e0 100644 --- a/tools/libfsimage/xfs/fsys_xfs.c +++ b/tools/libfsimage/xfs/fsys_xfs.c @@ -61,7 +61,7 @@ static struct xfs_info xfs; #define inode ((xfs_dinode_t *)((char *)FSYS_BUF + 8192)) #define icore (inode->di_core) -#define mask32lo(n) (((xfs_uint32_t)1 << (n)) - 1) +#define mask32lo(n) ((xfs_uint32_t)((1ull << (n)) - 1)) #define XFS_INO_MASK(k) ((xfs_uint32_t)((1ULL << (k)) - 1)) #define XFS_INO_OFFSET_BITS xfs.inopblog -- 2.42.0