On 1/8/25 19:50, 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 <patrice.chot...@foss.st.com> >> --- >> >> configs/stm32mp25_defconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/configs/stm32mp25_defconfig b/configs/stm32mp25_defconfig >> index d3f0c088157..073172c3804 100644 >> --- a/configs/stm32mp25_defconfig >> +++ b/configs/stm32mp25_defconfig >> @@ -33,6 +33,7 @@ CONFIG_CMD_REGULATOR=y >> CONFIG_CMD_LOG=y >> CONFIG_OF_LIVE=y >> CONFIG_NO_NET=y >> +CONFIG_SYS_64BIT_LBA=y >> CONFIG_GPIO_HOG=y >> CONFIG_DM_I2C=y >> CONFIG_SYS_I2C_STM32F7=y > > > > Reviewed-by: Patrick Delaunay <patrick.delau...@foss.st.com> > > Thanks > Patrick > > > Applied to u-boot-stm32/master Thanks Patrice