diff options
Diffstat (limited to 'firmware/2lib/2misc.c')
-rw-r--r-- | firmware/2lib/2misc.c | 6 |
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; |