imx: hab: Enable hab.c to authenticate additional images in open configuration
authorBreno Lima <breno.lima@nxp.com>
Thu, 25 Mar 2021 09:30:10 +0000 (17:30 +0800)
committerStefano Babic <sbabic@denx.de>
Thu, 8 Apr 2021 07:18:29 +0000 (09:18 +0200)
Currently it's not possible to authenticate additional boot images in HAB
open configuration.

The hab.c code is checking if the SEC_CONFIG[1] fuse is programmed prior
to calling the hab_authenticate_image() API function. Users cannot check
if their additional boot images has been correctly signed prior to closing
their device.

Enable hab.c to authenticate additional boot images in open mode so HAB
events can be retrieved through get_hab_status() function.

Signed-off-by: Breno Lima <breno.lima@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/mach-imx/hab.c

index bd00d4a..01ddfab 100644 (file)
@@ -794,10 +794,8 @@ int imx_hab_authenticate_image(uint32_t ddr_start, uint32_t image_size,
        struct ivt *ivt;
        enum hab_status status;
 
-       if (!imx_hab_is_enabled()) {
+       if (!imx_hab_is_enabled())
                puts("hab fuse not enabled\n");
-               return 0;
-       }
 
        printf("\nAuthenticate image from DDR location 0x%x...\n",
               ddr_start);
@@ -896,7 +894,7 @@ hab_exit_failure_print_status:
 
 hab_authentication_exit:
 
-       if (load_addr != 0)
+       if (load_addr != 0 || !imx_hab_is_enabled())
                result = 0;
 
        return result;