[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