cbfs: more accurate size check for simple buffer mapping
currently, if the cache size is, for example, 4096 byte, mapping 4096 byte data fails due to the overly strict check. this change allows cbfs_simple_buffer_map to use all the cache space to the last byte. BUG=None TEST=Booted Nyan Blaze. BRANCH=None Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Original-Change-Id: I0797b5010afd7316fdec605784e8f48e2d62c37f Original-Reviewed-on: https://chromium-review.googlesource.com/218883 Original-Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org> Original-Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> (cherry picked from commit b0b31da336fa2f87fe73f063782d6243f8262d10) Signed-off-by: Aaron Durbin <adurbin@chromium.org> Change-Id: I15e11e574cd14484fe83c9c3674bb5c2d14422f6 Reviewed-on: http://review.coreboot.org/9178 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
620fa5f30f
commit
2a567eeb1d
|
@ -144,7 +144,7 @@ void *cbfs_simple_buffer_map(struct cbfs_simple_buffer *buffer,
|
||||||
"allocated=%zd, size=%zd, last_allocate=%zd\n",
|
"allocated=%zd, size=%zd, last_allocate=%zd\n",
|
||||||
offset, count, buffer->allocated, buffer->size,
|
offset, count, buffer->allocated, buffer->size,
|
||||||
buffer->last_allocate);
|
buffer->last_allocate);
|
||||||
if (buffer->allocated + count >= buffer->size)
|
if (buffer->allocated + count > buffer->size)
|
||||||
return CBFS_MEDIA_INVALID_MAP_ADDRESS;
|
return CBFS_MEDIA_INVALID_MAP_ADDRESS;
|
||||||
if (media->read(media, address, offset, count) != count) {
|
if (media->read(media, address, offset, count) != count) {
|
||||||
ERROR("simple_buffer: fail to read %zd bytes from 0x%zx\n",
|
ERROR("simple_buffer: fail to read %zd bytes from 0x%zx\n",
|
||||||
|
|
Loading…
Reference in New Issue