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