[U-Boot] [PATCH] arm: mach-omap2: Align image address before cache operations

The image address passed to secure_boot_verify_image() may not be cacheline aligned, round the address down to the nearest cacheline.
Signed-off-by: Andrew F. Davis afd@ti.com --- arch/arm/mach-omap2/sec-common.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/sec-common.c b/arch/arm/mach-omap2/sec-common.c index 030b36f332..2d54a3165e 100644 --- a/arch/arm/mach-omap2/sec-common.c +++ b/arch/arm/mach-omap2/sec-common.c @@ -112,8 +112,8 @@ int secure_boot_verify_image(void **image, size_t *size)
/* Perform cache writeback on input buffer */ flush_dcache_range( - (u32)*image, - (u32)*image + roundup(*size, ARCH_DMA_MINALIGN)); + rounddown((u32)*image, ARCH_DMA_MINALIGN), + roundup((u32)*image + *size, ARCH_DMA_MINALIGN));
cert_addr = (uint32_t)*image; sig_addr = find_sig_start((char *)*image, *size); @@ -151,8 +151,8 @@ int secure_boot_verify_image(void **image, size_t *size)
/* Perform cache writeback on output buffer */ flush_dcache_range( - (u32)*image, - (u32)*image + roundup(*size, ARCH_DMA_MINALIGN)); + rounddown((u32)*image, ARCH_DMA_MINALIGN), + roundup((u32)*image + *size, ARCH_DMA_MINALIGN));
auth_exit: if (result != 0) {

On 7/27/2017 1:23 AM, Andrew F. Davis wrote:
The image address passed to secure_boot_verify_image() may not be cacheline aligned, round the address down to the nearest cacheline.
Signed-off-by: Andrew F. Davis afd@ti.com
Reviewed-by: Lokesh Vutla lokeshvutla@ti.com
Thanks and regards, Lokesh

On Wed, Jul 26, 2017 at 02:53:19PM -0500, Andrew F. Davis wrote:
The image address passed to secure_boot_verify_image() may not be cacheline aligned, round the address down to the nearest cacheline.
Signed-off-by: Andrew F. Davis afd@ti.com Reviewed-by: Lokesh Vutla lokeshvutla@ti.com
Applied to u-boot/master, thanks!
participants (3)
-
Andrew F. Davis
-
Lokesh Vutla
-
Tom Rini