[PATCH] commands: bfetch: use 64-bit integer types for sizes

Ahmad Fatoum a.fatoum at barebox.org
Sun Mar 29 00:30:33 PDT 2026


size_human_readable() accepts a 64-bit argument (unsigned long long),
but we pass smaller types into it, leading to truncation when computing
the total sizes for display.

Switch to 64-bit variables to fix this.

Reported-by: Jan Luebbe <jlu at pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum at barebox.org>
---
 commands/bfetch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/commands/bfetch.c b/commands/bfetch.c
index d9c615f65aca..9dfb07aa2ab7 100644
--- a/commands/bfetch.c
+++ b/commands/bfetch.c
@@ -244,7 +244,7 @@ static struct bobject *print_cpu_mem_info(unsigned *line)
 {
 	struct bobject *bret = NULL;
 	struct memory_bank *mem;
-	unsigned long memsize = 0;
+	u64 memsize = 0;
 	int nbanks = 0;
 	int ret;
 
@@ -565,9 +565,9 @@ static void print_storage(unsigned *line)
 	unsigned nmtds = 0, nnvmem =0;
 	struct block_device *blk;
 	unsigned nblkdevs[BLK_TYPE_COUNT] = {};
-	unsigned blkdev_sizes[BLK_TYPE_COUNT] = {};
+	u64 blkdev_sizes[BLK_TYPE_COUNT] = {};
 	struct mtd_info *mtd;
-	size_t mtd_size = 0, nvmem_size = 0;
+	u64 mtd_size = 0, nvmem_size = 0;
 	struct string_list sl;
 	struct device *dev;
 
-- 
2.47.3




More information about the barebox mailing list