[PATCH (fixed)] Fix infinite loop in INFTL_foldchain() in drivers/mtd/inftlcore.c
Greg Ungerer
gerg at snapgear.com
Wed Oct 8 02:25:03 EDT 2008
Hi Daniel,
Daniel Rosenthal wrote:
> I'm having problems with my email client, but I've attached a patch
> (both inline and as a regular attachment). This patch fixes a loop that
> is potentially infinite in INFTL_foldchain in drivers/mtd/inftlcore.c.
>
> When iterating over a chain in reverse (oldest block first), this patch
> correctly marks the PUtable[] entry of the second to last erase block of
> a chain as BLOCK_NIL, regardless of whether or not it can format the
> last block successfully. Before, the second to last block was only
> marked as pointing to BLOCK_NIL if INFTL_formatblock() succeeded on the
> last block of the chain, which could potentially result in an infinite
> loop if the block was worn out and refused to format.
>
> If there are any problems with this patch please let me know. I can
> apply them fine after pulling them from email, but my email client (web
> interface) isn't fullproof, so if anybody else has problems, please let
> me know. (I can't send it through pine or otherwise due to network
> configuration.)
I haven't looked at this code for quite a while, but your
reasoning and patch looks right to me. So you have my acked-by.
Acked-by: Greg Ungerer <gerg at snapgear.com>
David, I assume you are going to pick this up?
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: gerg at snapgear.com
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com
More information about the linux-mtd
mailing list