[U-Boot] fs: ext4: Prevent infinite loop in ext4fs_iterate_dir

Tom Rini trini at konsulko.com
Mon Nov 23 23:44:30 CET 2015


On Wed, Nov 18, 2015 at 12:42:53PM -0500, Thomas Fitzsimmons wrote:

> If the ext3 journal gets out of sync with what is written on disk, for
> example because of an unexpected power cut, ext4fs_read_file can
> return an all-zero directory entry.  In that case, ext4fs_iterate_dir
> would infinite loop.
> 
> This patch detects when a directory entry's direntlen member is 0 and
> returns a failure status, which breaks out of the infinite loop.  As a
> result, U-Boot will not find files that may subsequently be recovered
> when the journal is replayed.
> 
> This is better behaviour than hanging in an infinite loop, but as a
> further improvement maybe U-Boot could interpret the ext3 journal and
> actually find the unsynced entries.
> 
> Signed-off-by: Thomas Fitzsimmons <fitzsim at cisco.com>
> Reviewed-by: Stefan Roese <sr at denx.de>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151123/396abff4/attachment.sig>


More information about the U-Boot mailing list