[U-Boot] disk: part_dos: fix part_get_info_extended() function
Tom Rini
trini at konsulko.com
Mon Nov 6 23:28:15 UTC 2017
On Thu, Nov 02, 2017 at 04:46:34PM +0800, Shawn Guo wrote:
> From: Shawn Guo <shawn.guo at linaro.org>
>
> The check in part_get_info_extended() for a successful partition
> searching misses a condition for extended partition. In case of
> (ext_part_sector == 0), we should anyway mark the partition as found,
> even if it's an extended partition, i.e. (is_extended(pt->sys_ind) == 0).
> Otherwise, the extended partition (type 0x0f) will never be identified,
> and the following recursive call to part_get_info_extended() will get a
> wrong 'part_num' and 'which_part' parameter. In the end, all those
> partitions in extended table will not be identified.
>
> Let's add the missing OR condition of (ext_part_sector == 0) for
> is_extended() check to fix the problem.
>
> The issue is discovered by running fastboot flash to an extended
> partition on eMMC.
>
> $ fastboot flash mmcsda5 cache.img
> target reported max download size of 536870912 bytes
> sending 'mmcsda5' (18796 KB)...
> OKAY [ 2.144s]
> writing 'mmcsda5'...
> FAILED (remote: cannot find partition)
> finished. total time: 2.261s
>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171106/da39ae5b/attachment.sig>
More information about the U-Boot
mailing list