summaryrefslogtreecommitdiff
path: root/firmware/2lib/2misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/2lib/2misc.c')
-rw-r--r--firmware/2lib/2misc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c
index 333e8064..e15d760b 100644
--- a/firmware/2lib/2misc.c
+++ b/firmware/2lib/2misc.c
@@ -754,10 +754,16 @@ void vb2_set_boot_mode(struct vb2_context *ctx)
bool vb2api_hwcrypto_allowed(struct vb2_context *ctx)
{
+ struct vb2_shared_data *sd = vb2_get_sd(ctx);
+
/* disable hwcrypto in recovery mode */
if (ctx->flags & VB2_CONTEXT_RECOVERY_MODE)
return 0;
+ /* disable hwcrypto if secdata isn't initialized */
+ if (!(sd->status & VB2_SD_STATUS_SECDATA_KERNEL_INIT))
+ return 0;
+
/* enable hwcrypto only if RW firmware set the flag */
return vb2_secdata_kernel_get(ctx, VB2_SECDATA_KERNEL_FLAGS) &
VB2_SECDATA_KERNEL_FLAG_HWCRYPTO_ALLOWED;