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

Andrew F. Davis afd at ti.com
Wed Jul 26 19:53:19 UTC 2017


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 at 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) {
-- 
2.13.0



More information about the U-Boot mailing list