We introduce two new functions to create region objects. They allow us to check for integer overflows (region_create_untrusted()) or assert their absence (region_create()). This fixes potential overflows in region_overlap() checks in SMI handlers, where we would wrongfully report MMIO as *not* overlapping SMRAM. Also, two cases of strtol() in parse_region() (cbfstool), where the results were implicitly converted to `size_t`, are replaced with the unsigned strtoul(). FIT payload support is left out, as it doesn't use the region API (only the struct). Change-Id: I4ae3e6274c981c9ab4fb1263c2a72fa68ef1c32b Ticket: https://ticket.coreboot.org/issues/522 Found-by: Vadim Zaliva <lord@digamma.ai> Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/79905 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> |
||
|---|---|---|
| .. | ||
| bist.h | ||
| cache.h | ||
| cr.h | ||
| gdt.h | ||
| lapic.h | ||
| lapic_def.h | ||
| legacy_save_state.h | ||
| mp.h | ||
| msr.h | ||
| msr_access.h | ||
| mtrr.h | ||
| name.h | ||
| pae.h | ||
| post_code.h | ||
| save_state.h | ||
| smi_deprecated.h | ||
| smm.h | ||
| topology.h | ||
| tsc.h | ||