Date
1 - 3 of 3
[PATCH 1/1] Ext4Pkg: Sanity check the inode size
Marvin Häuser <mhaeuser@...>
Reviewed-by: Marvin Häuser <mhaeuser@...>
toggle quoted message
Show quoted text
On 7. Aug 2022, at 01:39, Pedro Falcato <pedro.falcato@...> wrote: |
|
Pedro Falcato
Pushed as 436a861 On Sun, Aug 7, 2022 at 7:27 AM Marvin Häuser <mhaeuser@...> wrote: Reviewed-by: Marvin Häuser <mhaeuser@...> -- Pedro Falcato |
|
Pedro Falcato
Check its alignment and value for possible bad values.
Cc: Marvin Häuser <mhaeuser@...> Signed-off-by: Pedro Falcato <pedro.falcato@...> --- Features/Ext4Pkg/Ext4Dxe/Superblock.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Features/Ext4Pkg/Ext4Dxe/Superblock.c b/Features/Ext4Pkg/Ext4Dxe/Superblock.c index c22155ba11b4..edee051c41e8 100644 --- a/Features/Ext4Pkg/Ext4Dxe/Superblock.c +++ b/Features/Ext4Pkg/Ext4Dxe/Superblock.c @@ -189,6 +189,12 @@ Ext4OpenSuperblock ( Partition->FeaturesIncompat = Sb->s_feature_incompat; Partition->FeaturesRoCompat = Sb->s_feature_ro_compat; Partition->InodeSize = Sb->s_inode_size; + + // Check for proper alignment of InodeSize and that InodeSize is indeed larger than + // the minimum size, 128 bytes. + if (((Partition->InodeSize % 4) != 0) || (Partition->InodeSize < EXT4_GOOD_OLD_INODE_SIZE)) { + return EFI_VOLUME_CORRUPTED; + } } else { // GOOD_OLD_REV Partition->FeaturesCompat = Partition->FeaturesIncompat = Partition->FeaturesRoCompat = 0; -- 2.37.1 |
|