summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2019-01-31 09:40:26 -0700
committerAaron Durbin <adurbin@chromium.org>2019-02-01 14:53:19 +0000
commiteb722282da73f6afbe44f486eae6e64b9e00c568 (patch)
tree2f1d2c7f885287012644912756a204577f0e7e27
parent3f559d960c637f09f74bbe217c562498ca1a5311 (diff)
cbmem: use aligned_memcpy for reading cbmem address information
The coreboot table entry containing the memory entries can have fields unnaturally aligned in memory. Therefore one needs to perform an aligned_memcpy() so that it doesn't cause faults on certain architectures that assume naturally aligned accesses. BUG=chromium:925961 Change-Id: I28365b204962ac89d65d046076d862b6f9374c06 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/c/31181 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Manoj Gupta <manojgupta@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--util/cbmem/cbmem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/util/cbmem/cbmem.c b/util/cbmem/cbmem.c
index 8e73d9c28d..fc2dcdcc75 100644
--- a/util/cbmem/cbmem.c
+++ b/util/cbmem/cbmem.c
@@ -302,7 +302,7 @@ static void parse_memory_tags(const struct lb_memory *mem)
continue;
debug(" LB_MEM_TABLE found.\n");
/* The last one found is CBMEM */
- cbmem = mem->map[i];
+ aligned_memcpy(&cbmem, &mem->map[i], sizeof(cbmem));
}
}