summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorUtkarsh Gupta <utkarsh.gupta@nxp.com>2018-02-20 01:19:23 +0000
committerStefano Babic <sbabic@denx.de>2018-02-22 14:35:32 +0100
commit8c4037a09a5c2f15aae4c79860a31c8045bd4ee8 (patch)
tree365ea6f5464070972b5bac125565bd7fff1d8315 /arch/arm/mach-imx
parent669f2d189e4c3a738ad2863a5f8f66a85d468bd9 (diff)
downloadu-boot-8c4037a09a5c2f15aae4c79860a31c8045bd4ee8.tar.gz
u-boot-8c4037a09a5c2f15aae4c79860a31c8045bd4ee8.tar.xz
u-boot-8c4037a09a5c2f15aae4c79860a31c8045bd4ee8.zip
imx: hab: Ensure the IVT DCD pointer is Null prior to calling HAB authenticate function.
DCD commands should only be present in the initial boot image loaded by the SoC ROM. DCD should not be present in images that will be verified by software using HAB RVT authentication APIs. Newer versions of HAB will generate an error if a DCD pointer is present in an image being authenticated by calling the HAB RVT API. Older versions of HAB will process and run DCD if it is present, and this could lead to an incorrect authentication boot flow. It is highly recommended this check is in place to ensure additional HAB verified images do not include a DCD table. Signed-off-by: Utkarsh Gupta <utkarsh.gupta@nxp.com> Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/hab.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c
index 1e6b31da7a..ba6b31d490 100644
--- a/arch/arm/mach-imx/hab.c
+++ b/arch/arm/mach-imx/hab.c
@@ -516,6 +516,12 @@ int imx_hab_authenticate_image(uint32_t ddr_start, uint32_t image_size,
goto hab_authentication_exit;
}
+ /* Verify if IVT DCD pointer is NULL */
+ if (ivt->dcd) {
+ puts("Error: DCD pointer must be NULL\n");
+ goto hab_authentication_exit;
+ }
+
start = ddr_start;
bytes = image_size;