Nico Huber af0d4bce65 region: Introduce region_create() functions
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>
2024-08-11 17:07:32 +00:00
..
2024-05-29 10:33:54 +00:00
2021-10-25 08:08:41 +00:00
2022-11-09 00:26:30 +00:00
2021-10-19 16:08:45 +00:00
2021-10-19 16:08:45 +00:00
2021-10-19 16:08:45 +00:00
2021-10-19 16:08:45 +00:00
2013-02-04 11:12:15 +01:00
2022-07-04 14:02:26 +00:00
2023-08-01 12:51:25 +00:00
2020-05-11 19:38:40 +00:00