summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-06-25 16:10:01 +0800
committerCommit Bot <commit-bot@chromium.org>2019-06-26 14:24:46 +0000
commit9e9619fd4adeeb9409b3ddd25c48c7ff8e7158d6 (patch)
tree92ed271e052e98b957151566c381d761411a4726
parent000ae5faa84c52e85e5d36b8e755257def90de5c (diff)
downloadvboot-9e9619fd4adeeb9409b3ddd25c48c7ff8e7158d6.tar.gz
vboot: remove OffsetOf function
Should use vboot2 equivalent instead: vb2_offset_of BUG=b:124141368 TEST=make clean && make runtests BRANCH=none Change-Id: I64afc88477cbb615a661833f45761030c55fcdf6 Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1675868 Tested-by: Joel Kitching <kitching@chromium.org> Commit-Queue: Joel Kitching <kitching@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--firmware/lib/include/vboot_common.h5
-rw-r--r--firmware/lib/vboot_common.c9
-rw-r--r--firmware/linktest/main.c1
-rw-r--r--tests/vb2_common_tests.c2
-rw-r--r--tests/vboot_common_tests.c17
5 files changed, 9 insertions, 25 deletions
diff --git a/firmware/lib/include/vboot_common.h b/firmware/lib/include/vboot_common.h
index deaa8d92..a3d1851a 100644
--- a/firmware/lib/include/vboot_common.h
+++ b/firmware/lib/include/vboot_common.h
@@ -47,11 +47,6 @@ enum {
};
extern const char *kVbootErrors[VBOOT_ERROR_MAX];
-/**
- * Return offset of ptr from base.
- */
-uint64_t OffsetOf(const void *base, const void *ptr);
-
/*
* Helper functions to get data pointed to by a public key or signature.
*/
diff --git a/firmware/lib/vboot_common.c b/firmware/lib/vboot_common.c
index fc32917b..ea44588c 100644
--- a/firmware/lib/vboot_common.c
+++ b/firmware/lib/vboot_common.c
@@ -28,11 +28,6 @@ const char *kVbootErrors[VBOOT_ERROR_MAX] = {
"Shared data invalid."
};
-uint64_t OffsetOf(const void *base, const void *ptr)
-{
- return (uint64_t)(size_t)ptr - (uint64_t)(size_t)base;
-}
-
/* Helper functions to get data pointed to by a public key or signature. */
uint8_t *GetPublicKeyData(VbPublicKey *key)
@@ -65,7 +60,7 @@ int VerifyMemberInside(const void *parent, uint64_t parent_size,
uint64_t member_data_offset,
uint64_t member_data_size)
{
- uint64_t end = OffsetOf(parent, member);
+ uint64_t end = vb2_offset_of(parent, member);
if (end > parent_size)
return 1;
@@ -107,7 +102,7 @@ int VerifySignatureInside(const void *parent, uint64_t parent_size,
void PublicKeyInit(VbPublicKey *key, uint8_t *key_data, uint64_t key_size)
{
- key->key_offset = OffsetOf(key, key_data);
+ key->key_offset = vb2_offset_of(key, key_data);
key->key_size = key_size;
key->algorithm = VB2_ALG_COUNT; /* Key not present yet */
key->key_version = 0;
diff --git a/firmware/linktest/main.c b/firmware/linktest/main.c
index 95a5d0fc..6877bfad 100644
--- a/firmware/linktest/main.c
+++ b/firmware/linktest/main.c
@@ -58,7 +58,6 @@ int main(void)
VbVerifyMemoryBootImage(0, 0, 0, 0, 0);
/* vboot_common.h */
- OffsetOf(0, 0);
GetPublicKeyData(0);
GetPublicKeyDataC(0);
GetSignatureData(0);
diff --git a/tests/vb2_common_tests.c b/tests/vb2_common_tests.c
index a9b25b61..3bb24e3b 100644
--- a/tests/vb2_common_tests.c
+++ b/tests/vb2_common_tests.c
@@ -152,6 +152,8 @@ static void test_helper_functions(void)
TEST_EQ((int)vb2_offset_of(p, p), 0, "vb2_offset_of() equal");
TEST_EQ((int)vb2_offset_of(p, p+10), 10,
"vb2_offset_of() positive");
+ TEST_EQ((int)vb2_offset_of(p, p+0x12345678), 0x12345678,
+ "vb2_offset_of() large");
}
{
diff --git a/tests/vboot_common_tests.c b/tests/vboot_common_tests.c
index 225d0bbb..04d32611 100644
--- a/tests/vboot_common_tests.c
+++ b/tests/vboot_common_tests.c
@@ -9,6 +9,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include "2common.h"
#include "host_common.h"
#include "test_common.h"
#include "utility.h"
@@ -55,26 +56,18 @@ static void ArraySizeTest(void)
static void VerifyHelperFunctions(void)
{
{
- uint8_t *p = (uint8_t *)VerifyHelperFunctions;
- TEST_EQ((int)OffsetOf(p, p), 0, "OffsetOf() equal");
- TEST_EQ((int)OffsetOf(p, p+10), 10, "OffsetOf() positive");
- TEST_EQ((int)OffsetOf(p, p+0x12345678), 0x12345678,
- "OffsetOf() large");
- }
-
- {
VbPublicKey k = {sizeof(k), 2, 3, 4};
- TEST_EQ((int)OffsetOf(&k, GetPublicKeyData(&k)), sizeof(k),
+ TEST_EQ((int)vb2_offset_of(&k, GetPublicKeyData(&k)), sizeof(k),
"GetPublicKeyData() adjacent");
- TEST_EQ((int)OffsetOf(&k, GetPublicKeyDataC(&k)), sizeof(k),
+ TEST_EQ((int)vb2_offset_of(&k, GetPublicKeyDataC(&k)), sizeof(k),
"GetPublicKeyDataC() adjacent");
}
{
VbPublicKey k = {123, 2, 3, 4};
- TEST_EQ((int)OffsetOf(&k, GetPublicKeyData(&k)), 123,
+ TEST_EQ((int)vb2_offset_of(&k, GetPublicKeyData(&k)), 123,
"GetPublicKeyData() spaced");
- TEST_EQ((int)OffsetOf(&k, GetPublicKeyDataC(&k)), 123,
+ TEST_EQ((int)vb2_offset_of(&k, GetPublicKeyDataC(&k)), 123,
"GetPublicKeyDataC() spaced");
}