The SymlinkTmp was deallocated unconditionally, so we shouldn't free it
again on EFI_ERROR
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e81432fbacb7 ("Ext4Pkg: Add symbolic links support")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Symlink.
ned-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
Reviewed-by: Marvin Häuser
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Directory.c
b/Features/Ext4Pkg/Ext4Dxe/Directory.c
index c7992cc72717..dee8cfc66
tries")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Directory.c
b/Features/Ext4Pkg/Ext4Dxe/Directory.c
index dee8cfc66cb7..88f89a40534c 10
We need to free SymlinkTmp before exiting if SymlinkSizeTmp != ReadSize
condition is true
Reported-by: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e81432fbacb7 ("Ext4Pkg: Add symbolic links support")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Marvin Häuser
---
Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: 7c46116b0e18 ("Ext4Pkg: Add ext2/3 support")
Fixes: e81432fbacb7 ("Ext4Pkg: Add symbolic links support")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Marvin Häuser
---
Features/Ext4Pkg/Ext4Dxe/Inode.c | 4 ++--
Feat
ng of EFI_FILE_SYSTEM_VOLUME_LABEL
GetInfo().")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
Reviewed-by: Marvin Häuser
---
Features/Ext4Pkg/Ext4Dxe/File.c | 10 --
Features/Ext4Pkg/Ext4Dxe/Inode.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Features/Ext4P
river.")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
Reviewed-by: Marvin Häuser
---
Features/Ext4Pkg/Ext4Dxe/File.c | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/File.c b/Features/Ext4Pkg/Ext4Dxe/File.c
index 8d
Corrects multiplication overflow check code and adds additional check
for emptiness of number of blocks and block number
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
---
Featur
Missing check for wrong s_log_block_size exponent leads to shift out of
bounds. Limit block size to 2 MiB
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
R
Superblock s_inodes_per_group field can't be zero, it leads to division
by zero in BlockGroup routine Ext4ReadInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Fa
river.")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 +++--
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 12
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 5 +
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/
: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
Reviewed-by: Pedro Falcato
Reviewed-by: Marvin Häuser
---
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
di
/savvamitrofanov/edk2-platforms/tree/master
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (12):
Ext4Pkg: Fix memory leak in Ext4RetrieveDirent
Ext4Pkg: Fix incorrect checksum metadata feature check
Ext4Pkg: Fix division by zero by adding check for s_inodes_per_group
Ext4Pkg
We need to free buffer on return if BlockRemainder != 0. Also changed
return logic from function to use use common exit to prevent code
duplication.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva
his in a simplified way. These changes will be in v4
Thanks!
> On 27 Jan 2023, at 20:19, Pedro Falcato wrote:
>
> On Fri, Jan 27, 2023 at 9:29 AM Savva Mitrofanov wrote:
>>
>> We need to validate inode number to prevent possible null-pointer
>> dereference of dire
Thanks for pointing this, yes, this change actually replaces structure field
from FeaturesCompat to FeaturesRoCompat. The commit message was already
corrected in referenced repository fork.
> On 27 Jan 2023, at 16:02, Marvin Häuser wrote:
>
> The actual issue appears to be FeaturesCompat vs Fe
It is not so important from my point of view, however, I corrected this in the
referenced repository fork.
> On 27 Jan 2023, at 16:04, Marvin Häuser wrote:
>
> On 27. Jan 2023, at 10:29, Savva Mitrofanov wrote:
>>
>> The directory entry name conventions forbid h
Thanks, I corrected this in the referenced repository fork.
Will be included in v4.
> On 27 Jan 2023, at 20:22, Pedro Falcato wrote:
>
> On Fri, Jan 27, 2023 at 9:29 AM Savva Mitrofanov wrote:
>>
>> Missing check for wrong s_log_block_size exponent leads to shift out of
&
> Why this whitespace change?
Seems code formatter just removed trailing space. If you want so, I can drop
this change in v4.
> On 27 Jan 2023, at 20:24, Pedro Falcato wrote:
>
> On Fri, Jan 27, 2023 at 9:29 AM Savva Mitrofanov wrote:
>>
>> Corrects multiplica
tries")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Directory.c
b/Features/Ext4Pkg/Ext4Dxe/Directory.c
index 0753a20b5377..465749c9b51d 100644
--- a/Features/Ext4P
Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: 7c46116b0e18 ("Ext4Pkg: Add ext2/3 support")
Fixes: e81432fbacb7 ("Ext4Pkg: Add symbolic links support")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Inode.c | 4 ++--
Features/Ext4Pkg/Ext4Dxe/Symlink.c
river.")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/File.c | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/File.c b/Features/Ext4Pkg/Ext4Dxe/File.c
index 8dfe324255f4..9dde4a5d1a2d 100644
--- a/Features/Ext4Pkg/Ext4Dxe/Fi
ned-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Directory.c
b/Features/Ext4Pkg/Ext4Dxe/Directory.c
index 2e9a58a7e329..0753a20b5377 100644
--- a/Features/Ext4Pkg/Ext4Dxe/Directory.c
+++
ng of EFI_FILE_SYSTEM_VOLUME_LABEL
GetInfo().")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/File.c | 10 --
Features/Ext4Pkg/Ext4Dxe/Inode.c | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/File.c b/Features/Ext4Pkg/Ext4Dxe/File.c
index 9d
Missing check for wrong s_log_block_size exponent leads to shift out of
bounds. Limit block size to 2 MiB
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe
("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 --
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 25
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 5
Features/Ext4Pkg/Ext4Dxe/Directory.c | 10 +++
Corrects multiplication overflow check code
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Pkg.dsc| 2 +-
Features/Ext4Pkg/Ext4Dxe/DiskUtil.c | 8 ---
Superblock s_inodes_per_group field can't be zero, it leads to division
by zero in BlockGroup routine Ext4ReadInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva Mitrofanov
---
Features/
Missing comparison != 0 leads to broken logic condition. Also replaced
CSUM_SEED feature_incompat check with predefined macro EXT4_HAS_INCOMPAT
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva
We need to free buffer on return if BlockRemainder != 0. Also changed
return logic from function to use use common exit to prevent code
duplication.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: d9ceedca6c8f ("Ext4Pkg: Add Ext4Dxe driver.")
Signed-off-by: Savva
SVC.
This patchset fixes several code problems found by fuzzing Ext4Dxe like
buffer and integer overflows, memory leaks, logic bugs and so on.
REF: https://github.com/savvamitrofanov/edk2-platforms/tree/master
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (11):
Ex
Missing EFI_OUT_OF_RESOURCES exit status on failed Ext4CreateDentry
leads to NULL-pointer dereference in Ext4GetFileInfo (passing NULL
buffer in Ext4ReadDir)
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
Missing check in some cases leads to failed StrCpyS call in
Ext4GetVolumeLabelInfo. Also correct condition that checks Inode pointer
for being NULL in Ext4AllocateInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva
-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/File.c | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/File.c b/Features/Ext4Pkg/Ext4Dxe/File.c
index 04198a53bfc0..20a0194a5793 100644
--- a/Features/Ext4Pkg/Ext4Dxe/File.c
+++ b
Corrects multiplication overflow check code
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Pkg.dsc| 2 +-
Features/Ext4Pkg/Ext4Dxe/DiskUtil.c | 8
2 files
Missing check for wrong s_log_block_size exponent leads to shift out of
bounds. Limit block size to 2 MiB
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 14
: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 15 +---
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 25
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 5
Features/Ext4Pkg/Ext4Dxe/Directory.c | 10
4 files changed
Missing comparison != 0 leads to broken logic condition. Also replaced
CSUM_SEED feature_incompat check with predefined macro EXT4_HAS_INCOMPAT
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features
Superblock s_inodes_per_group field can't be zero, it leads to division
by zero in BlockGroup routine Ext4ReadInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ex
Constant EXT4_NAME_MAX is related to EXT4_DIR_ENTRY FS structure, so it
should be placed into Ext4Disk.h header
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 4
is that we passing
big Length to CompareMem routine.
The correct way here is to check that name_len <= 2 and check for
null-terminator presence
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
---
Feat
We need to free buffer on return if BlockRemainder != 0. Also changed
return logic from function to use use common exit to prevent code
duplication.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Fixes: e55f0527dde48a5f139c1b8f35acc4e6b59dd794
Signed-off-by: Savva Mitrofanov
REF: https://github.com/savvamitrofanov/edk2-platforms/tree/master
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (11):
Ext4Pkg: Fix memory leak in Ext4RetrieveDirent
Ext4Pkg: Move EXT4_NAME_MAX definition to Ext4Disk.h
Ext4Pkg: Fix global buffer overflow in E
Hi!
Thanks for your review, I did changes in my branch of edk2-platforms and will
send corrected patchset soon.
Best regards,
Savva Mitrofanov
> On 10 Dec 2022, at 04:28, Pedro Falcato wrote:
>
> On Fri, Dec 9, 2022 at 4:11 PM Savva Mitrofanov <mailto:savva...@gmail.com>&g
Seems I misunderstood the usage of SetPosition, thanks for pointing out. So we
can just drop this commit
and keep everything as is, because this check is already present in Ext4Read.
Savva Mitrofanov
> On 10 Dec 2022, at 04:12, Pedro Falcato wrote:
>
> On Fri, Dec 9, 2022 at 4:11
Missing EFI_OUT_OF_RESOURCES exit status on failed Ext4CreateDentry
leads to NULL-pointer dereference in Ext4GetFileInfo (passing NULL
buffer in Ext4ReadDir)
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 3
Missing check in some cases leads to failed StrCpyS call in
Ext4GetVolumeLabelInfo. Also correct condition that checks Inode pointer
for being NULL in Ext4AllocateInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/File.c
Missing check for wrong s_log_block_size exponent leads to shift out of
bounds. Limit block size to 2 MiB
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 14 ++
Features/Ext4Pkg/Ext4Dxe
This check already present in the while loop below, but absent for cases
when input file is nameless, so to handle assertion in Ext4ReadFile we
need to add it at the top of function
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg
We need to validate inode number to prevent possible null-pointer
dereference of directory parent in Ext4OpenDirent. Also checks that
inode number valid across opened partition before we read it in
Ext4ReadInode.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva
Multiplication overflow could result into small numbers, so we need also
check it
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Pkg.dsc| 2 +-
Features/Ext4Pkg/Ext4Dxe/DiskUtil.c | 8
2 files changed, 5
and file size
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 19 +-
Features/Ext4Pkg/Ext4Dxe/File.c| 21 +---
2 files changed, 23 insertions(+), 17 deletions(-)
diff --git a
Superblock s_inodes_per_group field can't be zero, it leads to division
by zero in BlockGroup routine Ext4ReadInode
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 5 +
1 file changed, 5 inser
Missing comparison != 0 leads to broken logic condition. Also replaced
CSUM_SEED feature_incompat check with predefined macro EXT4_HAS_INCOMPAT
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 6 ++
1 file
is that we passing
big Length to CompareMem routine.
The correct way here is to check that name_len <= 2 and check for
null-terminator presence
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 8 +++-
Constant EXT4_NAME_MAX is related to EXT4_DIR_ENTRY FS structure, so it
should be placed into Ext4Disk.h header
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 4 +++-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 1
We need to free buffer on return if BlockRemainder != 0. Also changed
return logic from function to use use common exit to prevent code
duplication.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 30
Hi all,
This patchset fixes several code problems found by fuzzing Ext4Dxe like
buffer and integer overflows, memory leaks, logic bugs and so on.
REF: https://github.com/savvamitrofanov/edk2-platforms/tree/master
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (12
Ext4Open functionality to internal
routine.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf | 1 +
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 72 +-
Features/Ext4Pkg
We shouldn't use direct casts, because in the future it could break
the code, so using BASE_CR would be safe against possible structure
changes and rearrangements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
Reviewed-by: Marvin Häuser
---
Fea
-platforms/tree/ext4pkg_symlink_support
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (2):
Ext4Pkg: Add symbolic links support
Ext4Pkg: Add base containing record macro for EXT4_FILE
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.inf | 1 +
Features/Ext4Pkg/Ext4Dxe
Hi Pedro,
Thank you for your code-review. I answer to comments inline too.
> On 30 Aug 2022, at 04:12, Pedro Falcato wrote:
>
> Hi Savva,
>
> Sorry for the huge delay. Comments inline.
>
> On Thu, Jul 28, 2022 at 4:26 PM Savva Mitrofanov <mailto:savva...@gmail.
Hello Marvin!
That seems there will be another revision based on Pedro Falcato's comments,
so in the next version I solved all the remarks from you.
Best regards,
Savva Mitrofanov
> On 28 Jul 2022, at 22:43, Marvin Häuser wrote:
>
> Looks very nice, tyvm. I did add a few more
: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 3 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 2 +-
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 4 +--
Features/Ext4Pkg/Ext4Dxe/BlockMap.c | 18
Features/Ext4Pkg/Ext4Dxe/Directory.c | 29
Cheptsov
Savva Mitrofanov (1):
Ext4Pkg: Code correctness and security improvements
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 3 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 2 +-
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c | 4 +--
Features/Ext4Pkg/Ext4Dxe/BlockMap.c | 18
Features
cause CRLF and LF to mix. By
default git am tries to use LF encoding, so to change this behaviour it is
suggested to use git am with --quoted-cr=nowarn and --keep-cr arguments.
Best regards,
Savva Mitrofanov
> On 24 Jul 2022, at 22:59, Pedro Falcato wrote:
>
> Hi Savva,
>
> Could
Hi Marvin,
Thanks for comments!
> On 20 Jul 2022, at 23:54, Marvin Häuser wrote:
>
> On 20. Jul 2022, at 07:36, Savva Mitrofanov wrote:
>>
>> This changes tends to improve security of code sections by fixing
>> integer overflows, missing aligment checks, unsaf
We shouldn't use direct casts, because in the future it could break
the code, so using BASE_CR would be safe against possible structure
changes and rearrangements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4
Ext4Open functionality to internal
routine.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 98 +-
Features/Ext4Pkg/Ext4Dxe/File.c | 359
ivate structure to prevent possible code corruption
caused
by structure changes and rearrangements in future.
REF:
https://github.com/savvamitrofanov/edk2-platforms/tree/ext4pkg_symlink_support
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (2):
Ext4Pkg: Add symbolic
We shouldn't use direct casts, because in the future it could break
the code, so using BASE_CR would be safe against possible structure
changes and rearrangements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4
Ext4Open functionality to internal
routine.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 98 +-
Features/Ext4Pkg/Ext4Dxe/File.c | 358
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (2):
Ext4Pkg: Add symbolic links support
Ext4Pkg: Add base containing record macro for EXT4_FILE
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 13 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 100 +-
Features/Ext4Pkg/Ext4Dxe
Hello, Marvin!
Thank you for your time and this code-review
> On 21 Jul 2022, at 01:15, Marvin Häuser wrote:
>
>
>
>> On 20. Jul 2022, at 08:17, Savva Mitrofanov > <mailto:savva...@gmail.com>> wrote:
>>
>> Provided support for symlink file type.
We shouldn't use direct casts, because in the future it could break
the code, so using BASE_CR would be safe against possible structure
changes and rearrangements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4
Set HoleLen to UINT64 to perform safe cast to UINTN in ternary operator
at WasRead assignment
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Inode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a
We shouldn't use direct casts, because in the future it could break
the code, so using BASE_CR would be safe against possible structure
changes and rearrangements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4
Ext4Open functionality to internal
routine.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 2 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 99 +-
Features/Ext4Pkg/Ext4Dxe/File.c | 365
: Vitaly Cheptsov
Savva Mitrofanov (2):
Ext4Pkg: Add symbolic links support
Ext4Pkg: Add base containing record macro for EXT4_FILE
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 2 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 101 +-
Features/Ext4Pkg/Ext4Dxe/File.c | 375
Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 2 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h | 99 +-
Features/Ext4Pkg/Ext4Dxe/File.c | 365 ++--
Features/Ext4Pkg/Ext4Dxe/Inode.c| 38 ++
4 files
:
https://github.com/savvamitrofanov/edk2-platforms/commits/ext4pkg_security_improvements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (1):
Ext4Pkg: Code correctness and security improvements
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 3 +-
Features/Ext4Pkg/Ext4Dxe
-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 3 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h| 2 +-
Features/Ext4Pkg/Ext4Dxe/BlockMap.c | 18
Features/Ext4Pkg/Ext4Dxe/Directory.c | 29 ++--
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c| 10
future.
REF:
https://github.com/savvamitrofanov/edk2-platforms/tree/ext4pkg_symlink_support
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (2):
Ext4Pkg: Add symbolic links support
Ext4Pkg: Add base containing record macro for EXT4_FILE
Features/Ext4Pkg/Ext4Dxe
Adds 4-byte aligned check for superblock group descriptor size field
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Directory.c | 2 +-
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 10 +-
2 files changed, 6 insertions
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Extents.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Extents.c
b/Features/Ext4Pkg/Ext4Dxe/Extents.c
index c5951f78aa62
First of all BASE_LIST_FOR_EACH_SAFE doesn't have any sanity checks. So
its usage isn't "safe". We can drop this loop and use just IsNodeInList
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4
Seems that returning maximum uintn in case of bad block was a mistake,
so return just bad block type
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/BlockMap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff
Initialize all fields in gExt4BindingProtocol. Fix comparison of integer
expressions of different signedness.
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 2 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.c | 10
Field name_len has type CHAR8, while filename limit is 255
(EXT4_NAME_MAX), so because structure EXT4_DIR_ENTRY would be
unchangeable in future, we could drop this check without any
assertions
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
Replace EXT4_BLOCK_NR with 32-bit EXT2_BLOCK_NR in BlockMap, because we
consider BlockMap is 32-bit fs ext2/3 feature
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h | 1 +
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h
Replaced UNREACHABLE with ASSERT (FALSE) in case of new checksum
algorithms, due to it is an invariant violation rather than unreachable
path
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 2 +-
1 file
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Signed-off-by: Savva Mitrofanov
---
Features/Ext4Pkg/Ext4Dxe/Inode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Features/Ext4Pkg/Ext4Dxe/Inode.c b/Features/Ext4Pkg/Ext4Dxe/Inode.c
index 831f5946e870
/ext4pkg_security_improvements
Cc: Marvin Häuser
Cc: Pedro Falcato
Cc: Vitaly Cheptsov
Savva Mitrofanov (10):
Ext4Pkg: Replace SetMem(,,0) with ZeroMem
Ext4Pkg: Change HoleLen type to UINT64
Ext4Pkg: Use 32-bit block number in BlockMap
Ext4Pkg: Use assertion in Ext4CalculateChecksum
93 matches
Mail list logo