diff options
author | Aaron Durbin <adurbin@chromium.org> | 2019-01-31 09:40:26 -0700 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2019-02-01 14:53:19 +0000 |
commit | eb722282da73f6afbe44f486eae6e64b9e00c568 (patch) | |
tree | 2f1d2c7f885287012644912756a204577f0e7e27 | |
parent | 3f559d960c637f09f74bbe217c562498ca1a5311 (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.c | 2 |
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)); } } |