lmb: fix allocation at end of address range
authorSimon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
Mon, 14 Jan 2019 21:38:15 +0000 (22:38 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 16 Jan 2019 21:36:48 +0000 (16:36 -0500)
commitd67f33cf4ee72fd9bc64d68cb51a77798b65cf3a
tree26bf0439372588bf6a600387650033862ae90f34
parenta01ae0c23f3a72b05dab623806adee4634def172
lmb: fix allocation at end of address range

The lmb code fails if base + size of RAM overflows to zero.

Fix this by calculating end as 'base + size - 1' instead of 'base + size'
where appropriate.

Added tests to assert this is fixed.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
lib/lmb.c
test/lib/lmb.c