On 1/8/25 19:49, Patrick DELAUNAY wrote: > Hi, > > On 11/29/24 13:27, Patrice Chotard wrote: >> In arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c, in init_device(), >> in case of RAW_IMAGE, part->size = block_dev->lba * block_dev->blksz. >> >> _ part->size is declared as u64. >> _ block_dev->lba is declared as lbaint_t which is uint64_t >> if CONFIG_SYS_64BIT_LBA is enable, otherwise ulong. >> _ block_dev->blksz is declared as unsigned long. >> >> For example, in case block_dev->lba = 0x1dacc00, block_dev->blksz = 0x200 >> then part->size 0x5980000 which is incorrect as both are declared as ulong. >> >> To fix this overflow issue, enable CONFIG_SYS_64BIT_LBA, block_dev->lba is >> then declared as uint64_t and part->size get the correct value 0x3b5980000. >> >> Signed-off-by: Patrice Chotard <[email protected]> >> --- >> >> configs/stm32mp13_defconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/configs/stm32mp13_defconfig b/configs/stm32mp13_defconfig >> index 7f705808089..e4c92e851e1 100644 >> --- a/configs/stm32mp13_defconfig >> +++ b/configs/stm32mp13_defconfig >> @@ -54,6 +54,7 @@ CONFIG_SYS_MMC_ENV_DEV=-1 >> CONFIG_ENV_MMC_USE_DT=y >> CONFIG_BUTTON=y >> CONFIG_BUTTON_GPIO=y >> +CONFIG_SYS_64BIT_LBA=y >> CONFIG_CLK_SCMI=y >> CONFIG_SET_DFU_ALT_INFO=y >> CONFIG_USB_FUNCTION_FASTBOOT=y > > Reviewed-by: Patrick Delaunay <[email protected]> > > Thanks > Patrick > Applied to u-boot-stm32/master Thanks Patrice

