[PATCH v4 03/11] arm: mach-k3: Explicitly identify TIFSSTUB images when discarding buffers
Beleswar Padhi
b-padhi at ti.com
Sat Apr 25 05:37:34 CEST 2026
The board_fit_image_post_process() function assumes that all TIFSSTUB
images appear at the end of the image_os_match[] array by using
the condition:
i < IMAGE_AMT && i > IMAGE_ID_DM_FW
However, this assumption breaks when new image types are appended to the
enum and the array, causing unintended image types to match this
condition and having their buffer sizes incorrectly set to 0 with:
*p_size = 0
To avoid this issue, replace the range-based check with an explicit
match for TIFSSTUB image IDs.
Signed-off-by: Beleswar Padhi <b-padhi at ti.com>
---
v4: Changelog:
1. Added the correct condition in commit message. [Andrew]
Link to v3:
https://lore.kernel.org/all/20251231173621.1069988-4-b-padhi@ti.com/
v3: Changelog:
1. None
Link to v2:
https://lore.kernel.org/all/20250506104202.16741-7-b-padhi@ti.com/
v2: Changelog:
1. New patch. Fixes condition to allow new images to be added at the end
of the enum.
arch/arm/mach-k3/r5/common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-k3/r5/common.c b/arch/arm/mach-k3/r5/common.c
index 50c4231655e..f075b881901 100644
--- a/arch/arm/mach-k3/r5/common.c
+++ b/arch/arm/mach-k3/r5/common.c
@@ -366,7 +366,8 @@ void board_fit_image_post_process(const void *fit, int node, void **p_image,
}
}
- if (i < IMAGE_AMT && i > IMAGE_ID_DM_FW) {
+ if (i == IMAGE_ID_TIFSSTUB_HS || i == IMAGE_ID_TIFSSTUB_FS ||
+ i == IMAGE_ID_TIFSSTUB_GP) {
int device_type = get_device_type();
if ((device_type == K3_DEVICE_TYPE_HS_SE &&
--
2.34.1
More information about the U-Boot
mailing list