[U-Boot] [PATCH] disk: initialize name/part fields when returning a whole disk

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Wed Oct 10 20:43:29 CEST 2012


On Wednesday, October 10, 2012 7:57:51 PM, Stephen Warren wrote:
> When get_device_and_partition() finds a disk without a partition
> table,
> under some conditions, it "returns" a disk_partition_t that describes
> the entire raw disk. Make sure to initialize all fields in the
> partition
> descriptor in that case.
> 
> The value chosen for name is just some arbitrary descriptive string.
> 
> The value chosen for info matches the check at the end of
> get_device_and_partition(). However, it's probably not that
> important;
> it's not obvious that the value is really used.
> 
> Reported-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> Tom, this is technically a bug, so putting in the release might make
> sense, although I doubt it has much practical impact, so deferring it
> into u-boot/next would probably be just as good.
> 
>  disk/part.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/disk/part.c b/disk/part.c
> index a0c77dd..8ba3cde 100644
> --- a/disk/part.c
> +++ b/disk/part.c
> @@ -561,6 +561,8 @@ int get_device_and_partition(const char *ifname,
> const char *dev_part_str,
>  		info->size = (*dev_desc)->lba;
>  		info->blksz = (*dev_desc)->blksz;
>  		info->bootable = 0;
> +		strcpy((char *)info->type, BOOT_PART_TYPE);
> +		strcpy((char *)info->name, "Whole Disk");
>  #ifdef CONFIG_PARTITION_UUIDS
>  		info->uuid[0] = 0;
>  #endif

Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>

Best regards,
Benoît


More information about the U-Boot mailing list