mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-09 09:30:47 +02:00
Fix verification with sparse layouts
The full verification step was not accounting for sparse layouts. Instead of the old contents, combine_image_by_layout() implicitly assumed the new contents for unspecified regions. Change-Id: I44e0cea621f2a3d4dc70fa7e93c52ed95e54014a Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/30372 Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
18
layout.c
18
layout.c
@ -225,3 +225,21 @@ int normalize_romentries(const struct flashctx *flash)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
const struct romentry *layout_next_included_region(
|
||||
const struct flashrom_layout *const l, const chipoff_t where)
|
||||
{
|
||||
unsigned int i;
|
||||
const struct romentry *lowest = NULL;
|
||||
|
||||
for (i = 0; i < l->num_entries; ++i) {
|
||||
if (!l->entries[i].included)
|
||||
continue;
|
||||
if (l->entries[i].end < where)
|
||||
continue;
|
||||
if (!lowest || lowest->start > l->entries[i].start)
|
||||
lowest = &l->entries[i];
|
||||
}
|
||||
|
||||
return lowest;
|
||||
}
|
||||
|
Reference in New Issue
Block a user