On Tue, Oct 15, 2019 at 08:43:42PM +0200, Heinrich Schuchardt wrote:

> The signature 0x55 0xAA in bytes 510 and 511 of the first sector can either
> indicate a DOS partition table of the first sector of a FAT file system.
> 
> The current code tries to check if the partition table is valid by looking
> at the boot indicator of the partition entries. But first of all it does
> not count from 0 to 3 but only from 0 to 2. And second it misses to
> increment the pointer for the partition entry.
> 
> If it is a FAT file system can be discovered by looking for the text 'FAT'
> at offset 0x36 or 'FAT32' at offset 0x52. In a DOS PBR there are no
> partition entries, so those bytes are undefined. Don't require the byte at
> offset 0x1BE to differ from 0x00 and 0x80.
> 
> With the patch the logic is changed as follows:
> 
> If the partition table has either an invalid boot flag for any partition or
> has no partition at all, check if the first sector is a DOS PBR by looking
> at the FAT* signature.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to