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

From: Stephen Warren swarren@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@advansee.com Signed-off-by: Stephen Warren swarren@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

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@advansee.com Signed-off-by: Stephen Warren swarren@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@advansee.com
Best regards, Benoît

On Wed, Oct 10, 2012 at 11:57:51AM -0600, Stephen Warren wrote:
From: Stephen Warren swarren@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@advansee.com Signed-off-by: Stephen Warren swarren@nvidia.com
Applied to u-boot/master, thanks!

On Wed, Oct 10, 2012 at 07:57:51AM -0000, Stephen Warren wrote:
From: Stephen Warren swarren@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@advansee.com Signed-off-by: Stephen Warren swarren@nvidia.com Reviewed-by: Beno??t Th??baudeau benoit.thebaudeau@advansee.com
Applied to u-boot/master, thanks!
participants (3)
-
Benoît Thébaudeau
-
Stephen Warren
-
Tom Rini