[edk2-devel] [edk2-platforms][PATCH v4 00/12] Ext4Pkg: Code correctness and security improvements

Savva Mitrofanov posted 12 patches 1 year, 1 month ago
Failed in applying to current master (apply log)
Features/Ext4Pkg/Ext4Pkg.dsc          |  2 +-
Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   | 13 +++++-
Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 26 ++++++++++++
Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  5 +++
Features/Ext4Pkg/Ext4Dxe/Directory.c  | 42 ++++++++++++--------
Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   | 18 +++++++--
Features/Ext4Pkg/Ext4Dxe/Extents.c    | 15 +++++--
Features/Ext4Pkg/Ext4Dxe/File.c       | 23 ++++++++---
Features/Ext4Pkg/Ext4Dxe/Inode.c      |  6 +--
Features/Ext4Pkg/Ext4Dxe/Superblock.c | 16 ++++++--
Features/Ext4Pkg/Ext4Dxe/Symlink.c    | 13 +++---
11 files changed, 134 insertions(+), 45 deletions(-)
[edk2-devel] [edk2-platforms][PATCH v4 00/12] Ext4Pkg: Code correctness and security improvements
Posted by Savva Mitrofanov 1 year, 1 month ago
Hi all,

In v4 I rebased patches according upstream. Also in this revision I corrected
all remarks and comments from v3.

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 <mhaeuser@posteo.de>
Cc: Pedro Falcato <pedro.falcato@gmail.com>
Cc: Vitaly Cheptsov <vit9696@protonmail.com>

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: Add inode number validity check
  Ext4Pkg: Fix shift out of bounds in Ext4OpenSuperblock
  Ext4Pkg: Corrects integer overflow check logic in DiskUtil
  Ext4Pkg: Check that source file is directory in Ext4OpenInternal
  Ext4Pkg: Check VolumeName allocation correctness in Ext4GetVolumeName
  Ext4Pkg: Add missing exit Status in Ext4OpenDirent
  Ext4Pkg: Fixes build on MSVC
  Ext4Pkg: Filter out directory entry names containing \0 as invalid
  Ext4Pkg: Corrects memory leak in Ext4ReadSlowSymlink

 Features/Ext4Pkg/Ext4Pkg.dsc          |  2 +-
 Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   | 13 +++++-
 Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 26 ++++++++++++
 Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  5 +++
 Features/Ext4Pkg/Ext4Dxe/Directory.c  | 42 ++++++++++++--------
 Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   | 18 +++++++--
 Features/Ext4Pkg/Ext4Dxe/Extents.c    | 15 +++++--
 Features/Ext4Pkg/Ext4Dxe/File.c       | 23 ++++++++---
 Features/Ext4Pkg/Ext4Dxe/Inode.c      |  6 +--
 Features/Ext4Pkg/Ext4Dxe/Superblock.c | 16 ++++++--
 Features/Ext4Pkg/Ext4Dxe/Symlink.c    | 13 +++---
 11 files changed, 134 insertions(+), 45 deletions(-)

-- 
2.39.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99446): https://edk2.groups.io/g/devel/message/99446
Mute This Topic: https://groups.io/mt/96697364/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [edk2-platforms][PATCH v4 00/12] Ext4Pkg: Code correctness and security improvements
Posted by Pedro Falcato 1 year, 1 month ago
With some minor fixups[1], for the series:

Reviewed-by: Pedro Falcato <pedro.falcato@gmail.com>

and pushed to edk2-platforms HEAD.

Thanks,

Pedro

[1] Fixed up some commit messages to be imperative, added my Rb, fixed
a status return in Extents.c for ("Ext4Pkg: Correct integer overflow
check logic in DiskUtil"), and removed a comment wrt ("Ext4Pkg: Add
inode number validity check"); you misinterpreted what I told you
off-list, I meant that we shouldn't judge what operating systems put
as inodes as long as it doesn't jeopardize the driver and it's
correctness - so doing > 0 is good, banning 1 for no reason is not -
this doesn't mean we're going to start using inode 1 any time soon.

On Thu, Feb 2, 2023 at 10:21 AM Savva Mitrofanov <savvamtr@gmail.com> wrote:
>
> Hi all,
>
> In v4 I rebased patches according upstream. Also in this revision I corrected
> all remarks and comments from v3.
>
> 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 <mhaeuser@posteo.de>
> Cc: Pedro Falcato <pedro.falcato@gmail.com>
> Cc: Vitaly Cheptsov <vit9696@protonmail.com>
>
> 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: Add inode number validity check
>   Ext4Pkg: Fix shift out of bounds in Ext4OpenSuperblock
>   Ext4Pkg: Corrects integer overflow check logic in DiskUtil
>   Ext4Pkg: Check that source file is directory in Ext4OpenInternal
>   Ext4Pkg: Check VolumeName allocation correctness in Ext4GetVolumeName
>   Ext4Pkg: Add missing exit Status in Ext4OpenDirent
>   Ext4Pkg: Fixes build on MSVC
>   Ext4Pkg: Filter out directory entry names containing \0 as invalid
>   Ext4Pkg: Corrects memory leak in Ext4ReadSlowSymlink
>
>  Features/Ext4Pkg/Ext4Pkg.dsc          |  2 +-
>  Features/Ext4Pkg/Ext4Dxe/Ext4Disk.h   | 13 +++++-
>  Features/Ext4Pkg/Ext4Dxe/Ext4Dxe.h    | 26 ++++++++++++
>  Features/Ext4Pkg/Ext4Dxe/BlockGroup.c |  5 +++
>  Features/Ext4Pkg/Ext4Dxe/Directory.c  | 42 ++++++++++++--------
>  Features/Ext4Pkg/Ext4Dxe/DiskUtil.c   | 18 +++++++--
>  Features/Ext4Pkg/Ext4Dxe/Extents.c    | 15 +++++--
>  Features/Ext4Pkg/Ext4Dxe/File.c       | 23 ++++++++---
>  Features/Ext4Pkg/Ext4Dxe/Inode.c      |  6 +--
>  Features/Ext4Pkg/Ext4Dxe/Superblock.c | 16 ++++++--
>  Features/Ext4Pkg/Ext4Dxe/Symlink.c    | 13 +++---
>  11 files changed, 134 insertions(+), 45 deletions(-)
>
> --
> 2.39.1
>


-- 
Pedro


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99797): https://edk2.groups.io/g/devel/message/99797
Mute This Topic: https://groups.io/mt/96697364/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-