summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2011-03-04 12:19:25 -0800
committerRandall Spangler <rspangler@chromium.org>2011-03-04 12:19:25 -0800
commitc324fbfb6d37aa62b0e6e2f22dae7c949896ddef (patch)
tree78a7c3c8c9752b5a90845496782912e5e9dcf6fe
parentccdaa47b4d7a0528d148bcbdf22b3b7806ac9b7c (diff)
downloadvboot-c324fbfb6d37aa62b0e6e2f22dae7c949896ddef.tar.gz
Only advance kernel version when the booted partition has a valid key block
Change-Id: I879c18cc139f8a02bcaa6eb80437eaf836a5e851 BUG=chrome-os-partner:2597 TEST=manual install pvt-signed image flip dev switch on and boot install dev-signed firmware reboot reboot sudo bash stop tcsd tpmc read 0x1008 0x0d bytes 6-10 should be 1 0 1 0, not FF FF FF FF Review URL: http://codereview.chromium.org/6626020
-rw-r--r--firmware/include/bmpblk_header.h2
-rw-r--r--firmware/include/load_firmware_fw.h2
-rw-r--r--firmware/include/load_kernel_fw.h2
-rw-r--r--firmware/include/tlcl_stub.h2
-rw-r--r--firmware/include/tss_constants.h2
-rw-r--r--firmware/include/vboot_struct.h2
-rw-r--r--firmware/lib/cgptlib/cgptlib.c2
-rw-r--r--firmware/lib/cgptlib/include/cgptlib_internal.h2
-rw-r--r--firmware/lib/cgptlib/include/gpt.h2
-rw-r--r--firmware/lib/rollback_index.c2
-rw-r--r--firmware/lib/tpm_lite/tlcl.c2
-rw-r--r--firmware/lib/vboot_firmware.c2
-rw-r--r--firmware/lib/vboot_kernel.c4
13 files changed, 14 insertions, 14 deletions
diff --git a/firmware/include/bmpblk_header.h b/firmware/include/bmpblk_header.h
index 0c609dd2..ad697b7a 100644
--- a/firmware/include/bmpblk_header.h
+++ b/firmware/include/bmpblk_header.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/include/load_firmware_fw.h b/firmware/include/load_firmware_fw.h
index 2a895e0b..271063d7 100644
--- a/firmware/include/load_firmware_fw.h
+++ b/firmware/include/load_firmware_fw.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/include/load_kernel_fw.h b/firmware/include/load_kernel_fw.h
index 191ebe2a..45d18e2c 100644
--- a/firmware/include/load_kernel_fw.h
+++ b/firmware/include/load_kernel_fw.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/include/tlcl_stub.h b/firmware/include/tlcl_stub.h
index b9a1f9ab..ea7d96a3 100644
--- a/firmware/include/tlcl_stub.h
+++ b/firmware/include/tlcl_stub.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
diff --git a/firmware/include/tss_constants.h b/firmware/include/tss_constants.h
index b35f7613..42de46f3 100644
--- a/firmware/include/tss_constants.h
+++ b/firmware/include/tss_constants.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/include/vboot_struct.h b/firmware/include/vboot_struct.h
index 975d6f6d..ed83f3e7 100644
--- a/firmware/include/vboot_struct.h
+++ b/firmware/include/vboot_struct.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/lib/cgptlib/cgptlib.c b/firmware/lib/cgptlib/cgptlib.c
index 6590e80b..e1da7f44 100644
--- a/firmware/lib/cgptlib/cgptlib.c
+++ b/firmware/lib/cgptlib/cgptlib.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
diff --git a/firmware/lib/cgptlib/include/cgptlib_internal.h b/firmware/lib/cgptlib/include/cgptlib_internal.h
index ccd719c9..a4e7d9bd 100644
--- a/firmware/lib/cgptlib/include/cgptlib_internal.h
+++ b/firmware/lib/cgptlib/include/cgptlib_internal.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
diff --git a/firmware/lib/cgptlib/include/gpt.h b/firmware/lib/cgptlib/include/gpt.h
index b13b2210..14a79852 100644
--- a/firmware/lib/cgptlib/include/gpt.h
+++ b/firmware/lib/cgptlib/include/gpt.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/lib/rollback_index.c b/firmware/lib/rollback_index.c
index efbc87be..0d9dc8c7 100644
--- a/firmware/lib/rollback_index.c
+++ b/firmware/lib/rollback_index.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/lib/tpm_lite/tlcl.c b/firmware/lib/tpm_lite/tlcl.c
index 99cc165a..12742d8e 100644
--- a/firmware/lib/tpm_lite/tlcl.c
+++ b/firmware/lib/tpm_lite/tlcl.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
diff --git a/firmware/lib/vboot_firmware.c b/firmware/lib/vboot_firmware.c
index 036441fb..bbae0952 100644
--- a/firmware/lib/vboot_firmware.c
+++ b/firmware/lib/vboot_firmware.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c
index 87ed8747..ea39f7b1 100644
--- a/firmware/lib/vboot_kernel.c
+++ b/firmware/lib/vboot_kernel.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+/* Copyright (c) 2010-2011 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
@@ -457,7 +457,7 @@ int LoadKernel(LoadKernelParams* params) {
VBDEBUG(("Good_partition >= 0\n"));
/* See if we need to update the TPM */
- if (kBootRecovery != boot_mode) {
+ if (kBootRecovery != boot_mode && good_partition_key_block_valid) {
/* We only update the TPM in normal and developer boot modes. In
* developer mode, we only advanced lowest_version for kernels with valid
* key blocks, and didn't count self-signed key blocks. In recovery