]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mach-k3: security: improve the checks around authentication
authorManorit Chawdhry <m-chawdhry@ti.com>
Tue, 25 Jul 2023 07:39:22 +0000 (13:09 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 28 Jul 2023 14:11:01 +0000 (10:11 -0400)
The following checks are more reasonable as the previous logs were a bit
misleading as we could still get the logs that the authetication is
being skipped but still authenticate. Move the debug prints and checks
to proper locations.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
arch/arm/mach-k3/security.c

index 6038c9665ecbf4ec39414354260b831497a6bf46..89659f479eed4ccbc839529e644e93ad4ab8a18b 100644 (file)
@@ -67,14 +67,6 @@ void ti_secure_image_check_binary(void **p_image, size_t *p_size)
 
                return;
        }
-
-       if (get_device_type() != K3_DEVICE_TYPE_HS_SE &&
-           !ti_secure_cert_detected(*p_image)) {
-               printf("Warning: Did not detect image signing certificate. "
-                      "Skipping authentication to prevent boot failure. "
-                      "This will fail on Security Enforcing(HS-SE) devices\n");
-               return;
-       }
 }
 
 void ti_secure_image_post_process(void **p_image, size_t *p_size)
@@ -91,11 +83,17 @@ void ti_secure_image_post_process(void **p_image, size_t *p_size)
                return;
        }
 
-       if (get_device_type() == K3_DEVICE_TYPE_GP &&
-           (get_device_type() != K3_DEVICE_TYPE_HS_SE &&
-            !ti_secure_cert_detected(*p_image)))
+       if (get_device_type() == K3_DEVICE_TYPE_GP)
                return;
 
+       if (get_device_type() != K3_DEVICE_TYPE_HS_SE &&
+           !ti_secure_cert_detected(*p_image)) {
+               printf("Warning: Did not detect image signing certificate. "
+                      "Skipping authentication to prevent boot failure. "
+                      "This will fail on Security Enforcing(HS-SE) devices\n");
+               return;
+       }
+
        /* Clean out image so it can be seen by system firmware */
        image_addr = dma_map_single(*p_image, *p_size, DMA_BIDIRECTIONAL);