diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2013-07-22 13:33:46 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-07-22 23:14:11 -0700 |
commit | 964144bf2f3befe8c8a010000439cb5e5dccf00d (patch) | |
tree | 13fe4fab0d1099ea17030b7720e7d60c4a8e1006 /firmware/lib/vboot_api_kernel.c | |
parent | 42c08cb2dac102509491810361e239fbde52b9e0 (diff) | |
download | vboot-964144bf2f3befe8c8a010000439cb5e5dccf00d.tar.gz |
rollback_index: Add recovery parameter to RollbackKernelLock.stabilize-4443.B
RollbackKernelLock previously checked a global to determine recovery
mode state. Since we have two copies of vboot_reference in firmware
(in coreboot and depthcharge), this creates a problem with
synchronization. Remove the global entirely and instead pass the
recovery state to RollbackKernelLock.
BUG=chrome-os-partner:20913.
TEST=Manual. Boot factory install shim in recovery mode and verify TPM
clear operations succeed. Boot in dev mode and verify "Lock physical
presence" print on UART.
BRANCH=FalcoPeppy.
Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org>
Change-Id: I4e751d4a9ca60cd57c5c662ce86eba595fb22ba2
Reviewed-on: https://gerrit.chromium.org/gerrit/62874
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'firmware/lib/vboot_api_kernel.c')
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index 895a81d4..f253e92d 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -970,7 +970,7 @@ VbError_t VbSelectAndLoadKernel(VbCommonParams *cparams, sizeof(kparams->partition_guid)); /* Lock the kernel versions. Ignore errors in recovery mode. */ - tpm_status = RollbackKernelLock(); + tpm_status = RollbackKernelLock(shared->recovery_reason); if (0 != tpm_status) { VBDEBUG(("Error locking kernel versions.\n")); if (!shared->recovery_reason) { |