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

Stephen Warren swarren at wwwdotorg.org
Wed Oct 10 19:57:51 CEST 2012


From: Stephen Warren <swarren at nvidia.com>

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
-- 
1.7.0.4



More information about the U-Boot mailing list