mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
libfsimage/xfs: Add compile-time check to libfsimage
Adds the common tools include folder to the -I compile flags
of libfsimage. This allows us to use:
xen-tools/common-macros.h:BUILD_BUG_ON()
With it, statically assert a sanitized "blocklog - SECTOR_BITS" cannot
underflow.
This is part of XSA-443 / CVE-2023-34325
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
(cherry picked from commit 7d85c70431)
This commit is contained in:
1 parent
964840afc1
commit
586aab25bb
2 files changed
+4
-2
No files matched your search
@@ -1,6 +1,6 @@
|
||||
include $(XEN_ROOT)/tools/Rules.mk
|
||||
|
||||
CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
|
||||
CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ $(CFLAGS_xeninclude) -DFSIMAGE_FSDIR=\"$(FSDIR)\"
|
||||
CFLAGS += -Werror -D_GNU_SOURCE
|
||||
LDFLAGS += -L../common/
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <xenfsimage_grub.h>
|
||||
#include <xen-tools/libs.h>
|
||||
#include "xfs.h"
|
||||
|
||||
#define MAX_LINK_COUNT 8
|
||||
@@ -477,9 +478,10 @@ xfs_mount (fsi_file_t *ffi, const char *options)
|
||||
xfs.agblklog = super.sb_agblklog;
|
||||
|
||||
/* Derived from sanitized parameters */
|
||||
BUILD_BUG_ON(XFS_SB_BLOCKLOG_MIN < SECTOR_BITS);
|
||||
xfs.bdlog = super.sb_blocklog - SECTOR_BITS;
|
||||
xfs.bsize = 1 << super.sb_blocklog;
|
||||
xfs.blklog = super.sb_blocklog;
|
||||
xfs.bdlog = super.sb_blocklog - SECTOR_BITS;
|
||||
xfs.isize = 1 << super.sb_inodelog;
|
||||
xfs.dirbsize = 1 << (super.sb_blocklog + super.sb_dirblklog);
|
||||
xfs.inopblog = super.sb_blocklog - super.sb_inodelog;
|
||||
|
||||