arm: mach-omap2: Flush cache after FIT post-processing image
authorAndrew F. Davis <afd@ti.com>
Wed, 22 Feb 2017 23:46:39 +0000 (17:46 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 27 Feb 2017 17:14:59 +0000 (12:14 -0500)
After we authenticate/decrypt an image we need to flush the caches
as they may still contain bits of the encrypted image. This will
cause failures if we attempt to jump to this image.

Reported-by: Yogesh Siraswar<yogeshs@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
arch/arm/mach-omap2/sec-common.c

index c5a000ac3a56c046702cf9f33d0603c5b3292749..0fa8db05fe74330dd99865e520ee3987c329b6fd 100644 (file)
@@ -120,6 +120,12 @@ int secure_boot_verify_image(void **image, size_t *size)
        result = secure_rom_call(
                API_HAL_KM_VERIFYCERTIFICATESIGNATURE_INDEX, 0, 0,
                4, cert_addr, cert_size, sig_addr, 0xFFFFFFFF);
+
+       /* Perform cache writeback on output buffer */
+       flush_dcache_range(
+               (u32)*image,
+               (u32)*image + roundup(*size, ARCH_DMA_MINALIGN));
+
 auth_exit:
        if (result != 0) {
                printf("Authentication failed!\n");