[U-Boot] [PATCH v5 00/16] Fix several possible crashes/corruptions in ext4

Stefan Brüns stefan.bruens at rwth-aachen.de
Tue Sep 6 04:36:40 CEST 2016


The U-Boot ext4 support has some bugs which either cause U-Boot crashes
or lead to filesystem corruption.

This series goes on top of the endian patch series by Michael Walle.
It has been rebased against v4 of the series.

The first 13 patches have already been reviewed, last 3 patches are
new. Revieved-by has been added as appropriate.


Stefan Brüns (16):
  ext4: fix possible crash on directory traversal, ignore deleted entries
  ext4: propagate error if creation of directory entry fails
  ext4: Do not crash when trying to grow a directory using extents
  ext4: Scan all directory blocks for space when inserting a new entry
  ext4: Avoid corruption of directories with hash tree indexes
  ext4: Scan all directory blocks when looking up an entry
  ext4: Only update number of of unused inodes if GDT_CSUM feature is set
  ext4: Do not clear zalloc'ed buffers a second time
  ext4: After completely filled group, scan next group from the beginning
  ext4: Avoid out-of-bounds access of block bitmap
  ext4: Fix memory leak in case of failure
  ext4: Use correct value for inode size even on revision 0 filesystems
  ext4: initialize full inode for inodes bigger than 128 bytes
  ext4: remove duplicated block release code for extents
  ext4: Correct block number handling, empty block vs. error code
  ext4: Fix memory leak of journal buffer if block is updated multiple times

 fs/ext4/ext4_common.c  | 288 +++++++++++++++++++++----------------------------
 fs/ext4/ext4_common.h  |   2 +-
 fs/ext4/ext4_journal.c |   6 +-
 fs/ext4/ext4_write.c   | 147 ++++++++++---------------
 include/ext4fs.h       |   3 +-
 include/ext_common.h   |   2 -
 6 files changed, 190 insertions(+), 258 deletions(-)

v2:
  Updated:
  ext4: fix possible crash on directory traversal, ignore deleted entries
    - Fix bad filename compare on delete, used substring only

v3:
  Added:
  ext4: Scan all directory blocks for space when inserting a new entry
  ext4: Only update number of of unused inodes if GDT_CSUM feature is set
  ext4: Do not clear zalloc'ed buffers a second time
  ext4: After completely filled group, scan next group from the beginning
  ext4: Avoid out-of-bounds access of block bitmap
  ext4: Fix memory leak in case of failure
  ext4: Use correct value for inode size even on revision 0 filesystems
  ext4: initialize full inode for inodes bigger than 128 bytes
  ext4: remove duplicated block release code for extents

  Updated:
  ext4: Scan all directory blocks when looking up an entry
    - use parent_inode instead of g_parent_inode when determining directory size

v4:
  Updated:
  ext4: Scan all directory blocks when looking up an entry
    - fix directory scan, direntname was advanced by offset instead of direntlen
      Problem reported by Thomas Schaefer <Thomas.Schaefer at kontron.com>

v5:
  Added:
  ext4: remove duplicated block release code for extents
  ext4: Correct block number handling, empty block vs. error code
  ext4: Fix memory leak of journal buffer if block is updated multiple times

  Updated:
  ext4: initialize full inode for inodes bigger than 128 bytes
    - fix memory corruption if sizeof(struct ext2_inode) != fs->inodesz
      Problem reported by Thomas Schaefer <Thomas.Schaefer at kontron.com>

-- 
2.9.3



More information about the U-Boot mailing list