[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