region: Turn region_end() into an inclusive region_last()

The current region_end() implementation is susceptible to overflow
if the region is at the end of the addressable space. A common case
with the memory-mapped flash of x86 directly below the 32-bit limit.

Note: This patch also changes console output to inclusive limits.
IMO, to the better.

Change-Id: Ic4bd6eced638745b7e845504da74542e4220554a
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79946
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
This commit is contained in:
Nico Huber
2024-01-14 14:26:37 +01:00
committed by Julius Werner
parent 7bb8de1843
commit 41feb32559
8 changed files with 23 additions and 27 deletions

View File

@@ -145,12 +145,8 @@ static void test_region_file_init_real_data(void **state)
static void test_region_file_init_invalid_region_device(void **state)
{
struct region_device bad_dev;
struct region_file regf;
rdev_chain_mem_rw(&bad_dev, NULL, 0);
/* Expect fail when passing invalid region_device. */
assert_int_equal(-1, region_file_init(&regf, &bad_dev));
assert_int_equal(rdev_chain_mem_rw(&bad_dev, NULL, 0), -1);
}
static void test_region_file_data(void **state)