RedBoot FIS Directory parsing bails out early
Russ Dill
russ.dill at gmail.com
Tue Aug 23 18:47:41 EDT 2005
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;
More information about the linux-mtd
mailing list