]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
configs: stm32mp15: enable CONFIG_SYS_64BIT_LBA
authorPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 29 Nov 2024 12:27:10 +0000 (13:27 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 31 Jan 2025 09:13:10 +0000 (10:13 +0100)
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.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
configs/stm32mp15_basic_defconfig
configs/stm32mp15_defconfig
configs/stm32mp15_trusted_defconfig

index dcf44bcc0e767f499c24e9d729fdc013ca1578ab..b0dc944a247b0793ea040c5aaf1013572445a19c 100644 (file)
@@ -98,6 +98,7 @@ CONFIG_TFTP_TSIZE=y
 CONFIG_USE_SERVERIP=y
 CONFIG_SERVERIP="192.168.1.1"
 CONFIG_STM32_ADC=y
+CONFIG_SYS_64BIT_LBA=y
 CONFIG_BUTTON=y
 CONFIG_BUTTON_GPIO=y
 CONFIG_SET_DFU_ALT_INFO=y
index f58a514308b8d41e3136bce4c22bc3d4327f8497..d31349e3f2b9927709b9b1d6af81c0f876a03ffc 100644 (file)
@@ -69,6 +69,7 @@ CONFIG_TFTP_TSIZE=y
 CONFIG_USE_SERVERIP=y
 CONFIG_SERVERIP="192.168.1.1"
 CONFIG_STM32_ADC=y
+CONFIG_SYS_64BIT_LBA=y
 CONFIG_BUTTON=y
 CONFIG_BUTTON_GPIO=y
 CONFIG_CLK_SCMI=y
index 2e99b8e6a854e278350a738e5ae2b6a60e3a957e..1f807f37c693aca0789e72ea540ee39cffd74d71 100644 (file)
@@ -70,6 +70,7 @@ CONFIG_TFTP_TSIZE=y
 CONFIG_USE_SERVERIP=y
 CONFIG_SERVERIP="192.168.1.1"
 CONFIG_STM32_ADC=y
+CONFIG_SYS_64BIT_LBA=y
 CONFIG_BUTTON=y
 CONFIG_BUTTON_GPIO=y
 CONFIG_CLK_SCMI=y