summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--firmware/lib/include/rollback_index.h5
-rw-r--r--firmware/lib/rollback_index.c48
-rw-r--r--tests/rollback_index2_tests.c6
-rw-r--r--tests/vboot_api_kernel2_tests.c5
-rw-r--r--tests/vboot_api_kernel5_tests.c31
-rw-r--r--tests/vboot_detach_menu_tests.c5
7 files changed, 46 insertions, 60 deletions
diff --git a/Makefile b/Makefile
index d1557f81..2fd8538e 100644
--- a/Makefile
+++ b/Makefile
@@ -867,12 +867,6 @@ ${FWLIB21_OBJS}: CFLAGS += -DUNROLL_LOOPS
${FWLIB_OBJS}: CFLAGS += -DSAVE_LOCALE_IMMEDIATELY
endif
-ifeq (${FIRMWARE_ARCH},)
-# Disable rollback TPM when compiling locally, since otherwise
-# load_kernel_test attempts to talk to the TPM.
-${FWLIB_OBJS}: CFLAGS += -DDISABLE_ROLLBACK_TPM
-endif
-
${FWLIB21_OBJS}: INCLUDES += -Ifirmware/lib21/include
# Linktest ensures firmware lib doesn't rely on outside libraries
diff --git a/firmware/lib/include/rollback_index.h b/firmware/lib/include/rollback_index.h
index 9d6cfcc3..4836063e 100644
--- a/firmware/lib/include/rollback_index.h
+++ b/firmware/lib/include/rollback_index.h
@@ -118,6 +118,11 @@ enum fwmp_flags {
* global variables.
*/
+uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsf);
+uint32_t WriteSpaceFirmware(RollbackSpaceFirmware *rsf);
+uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk);
+uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk);
+
/**
* Read stored kernel version.
*/
diff --git a/firmware/lib/rollback_index.c b/firmware/lib/rollback_index.c
index c04a282d..e4493a4a 100644
--- a/firmware/lib/rollback_index.c
+++ b/firmware/lib/rollback_index.c
@@ -18,25 +18,6 @@
#define offsetof(A,B) __builtin_offsetof(A,B)
#endif
-/*
- * Provide protoypes for functions not in the header file. These prototypes
- * fix -Wmissing-prototypes warnings.
- */
-uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsf);
-uint32_t WriteSpaceFirmware(RollbackSpaceFirmware *rsf);
-uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk);
-uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk);
-
-#ifdef FOR_TEST
-/*
- * Compiling for unit test, so we need the real implementations of
- * rollback functions. The unit test mocks the underlying tlcl
- * functions, so this is okay to run on the host.
- */
-#undef CHROMEOS_ENVIRONMENT
-#undef DISABLE_ROLLBACK_TPM
-#endif
-
#define RETURN_ON_FAILURE(tpm_command) do { \
uint32_t result_; \
if ((result_ = (tpm_command)) != TPM_SUCCESS) { \
@@ -200,33 +181,6 @@ uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk)
return TPM_SUCCESS;
}
-#ifdef DISABLE_ROLLBACK_TPM
-/* Dummy implementations which don't support TPM rollback protection */
-
-uint32_t RollbackKernelRead(uint32_t* version)
-{
- *version = 0;
- return TPM_SUCCESS;
-}
-
-uint32_t RollbackKernelWrite(uint32_t version)
-{
- return TPM_SUCCESS;
-}
-
-uint32_t RollbackKernelLock(int recovery_mode)
-{
- return TPM_SUCCESS;
-}
-
-uint32_t RollbackFwmpRead(struct RollbackSpaceFwmp *fwmp)
-{
- memset(fwmp, 0, sizeof(*fwmp));
- return TPM_SUCCESS;
-}
-
-#else
-
uint32_t RollbackKernelRead(uint32_t* version)
{
RollbackSpaceKernel rsk;
@@ -338,5 +292,3 @@ uint32_t RollbackFwmpRead(struct RollbackSpaceFwmp *fwmp)
memcpy(fwmp, &u.fwmp, sizeof(*fwmp));
return TPM_SUCCESS;
}
-
-#endif /* DISABLE_ROLLBACK_TPM */
diff --git a/tests/rollback_index2_tests.c b/tests/rollback_index2_tests.c
index 9df8b06d..b8ebc80e 100644
--- a/tests/rollback_index2_tests.c
+++ b/tests/rollback_index2_tests.c
@@ -254,9 +254,6 @@ uint32_t TlclGetPermissions(uint32_t index, uint32_t* permissions)
/****************************************************************************/
/* Tests for CRC errors */
-extern uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsf);
-extern uint32_t WriteSpaceFirmware(RollbackSpaceFirmware *rsf);
-
static void FirmwareSpaceTest(void)
{
RollbackSpaceFirmware rsf;
@@ -290,9 +287,6 @@ static void FirmwareSpaceTest(void)
"tlcl calls");
}
-extern uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk);
-extern uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk);
-
static void KernelSpaceTest(void)
{
RollbackSpaceKernel rsk;
diff --git a/tests/vboot_api_kernel2_tests.c b/tests/vboot_api_kernel2_tests.c
index 49a4233a..1791dc71 100644
--- a/tests/vboot_api_kernel2_tests.c
+++ b/tests/vboot_api_kernel2_tests.c
@@ -127,6 +127,11 @@ static void ResetMocks(void)
}
/* Mock functions */
+uint32_t RollbackKernelLock(int recovery_mode)
+{
+ return TPM_SUCCESS;
+}
+
struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
{
return &gbb;
diff --git a/tests/vboot_api_kernel5_tests.c b/tests/vboot_api_kernel5_tests.c
index bd584395..f07fc2d9 100644
--- a/tests/vboot_api_kernel5_tests.c
+++ b/tests/vboot_api_kernel5_tests.c
@@ -19,6 +19,7 @@
#include "2struct.h"
#include "host_common.h"
#include "load_kernel_fw.h"
+#include "rollback_index.h"
#include "test_common.h"
#include "vb2_common.h"
#include "vboot_api.h"
@@ -115,6 +116,36 @@ struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
return &gbb;
}
+uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsk)
+{
+ return VB2_SUCCESS;
+}
+
+uint32_t WriteSpaceFirmware(RollbackSpaceFirmware *rsk)
+{
+ return VB2_SUCCESS;
+}
+
+uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk)
+{
+ return VB2_SUCCESS;
+}
+
+uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk)
+{
+ return VB2_SUCCESS;
+}
+
+uint32_t RollbackKernelLock(int recovery_mode)
+{
+ return TPM_SUCCESS;
+}
+
+uint32_t RollbackFwmpRead(struct RollbackSpaceFwmp *fwmp)
+{
+ return TPM_SUCCESS;
+}
+
vb2_error_t vb2ex_read_resource(struct vb2_context *c,
enum vb2_resource_index index, uint32_t offset,
void *buf, uint32_t size)
diff --git a/tests/vboot_detach_menu_tests.c b/tests/vboot_detach_menu_tests.c
index 1a0c6175..14e0aa30 100644
--- a/tests/vboot_detach_menu_tests.c
+++ b/tests/vboot_detach_menu_tests.c
@@ -129,6 +129,11 @@ static void ResetMocksForManualRecovery(void)
}
/* Mock functions */
+uint32_t RollbackKernelLock(int recovery_mode)
+{
+ return TPM_SUCCESS;
+}
+
struct vb2_gbb_header *vb2_get_gbb(struct vb2_context *c)
{
return &gbb;