From: Philippe Schenker <[email protected]> The ti_secure_image_check() function may relocate the image during authentication, updating image_addr to point to the verified location. The caller was not updated with this new address, causing it to reference the original unverified location.
Update p_image with the verified image address after authentication to ensure subsequent operations use the correct location. Signed-off-by: Philippe Schenker <[email protected]> --- (no changes since v2) Changes in v2: - Fixed pointer cast warning by using uintptr_t intermediate cast. The direct cast from u64 to pointer caused a -Wint-to-pointer-cast warning on 32-bit ARM R5 targets. Using (uintptr_t) as intermediate cast is safer and architecture-aware, ensuring proper handling on both 32-bit and 64-bit targets. arch/arm/mach-k3/security.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/mach-k3/security.c b/arch/arm/mach-k3/security.c index 3468a370a455..c7017bba99ab 100644 --- a/arch/arm/mach-k3/security.c +++ b/arch/arm/mach-k3/security.c @@ -119,6 +119,8 @@ void ti_secure_image_post_process(void **p_image, size_t *p_size) */ *p_size = image_size; + *p_image = (void *)(uintptr_t)image_addr; + /* * Output notification of successful authentication to re-assure the * user that the secure code is being processed as expected. However -- 2.51.2

