RedBoot FIS Directory parsing bails out early
Thomas Gleixner
tglx at linutronix.de
Tue Aug 23 20:17:20 EDT 2005
On Tue, 2005-08-23 at 15:47 -0700, Russ Dill wrote:
> Deleted partitions cause the FIS directory parsing to bail out early,
> this is because in redboot, deleting a partition causes the first byte
> in the entry to be set to 0xff. The kernel is currently looking for
> 0xff as an end of table marker.
>
> This means that if you create two partitions, ie, test1 and test2, and
> then delete test1, the kernel will no longer detect test1.
>
> redboot.c should instead scan every entry in the FIS table, and throw
> out any entries that begin with 0xff, ie, change the break to a
> continue. The checksum check should also be changed from a break to a
> continue (even though checksums in fis tables were never implemented
> anyway).
>
> pseudo patch:
>
> struct fis_list *new_fl, **prev
>
> if (buf[i].name[0] == 0xff)
> - break;
> + continue;
> if (!redboot_checksum(&buf[i]))
> - break;
> + continue;
>
Care to provide a real patch ?
tglx
More information about the linux-mtd
mailing list