summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesper Schmitz Mouridsen <jesper@schmitz.computer>2021-02-09 17:17:17 +0100
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2021-02-21 09:21:35 +0100
commite67beffee0795fbe3c2c6e65d9b63eb2b96897a2 (patch)
treefd0b5f8ef06944ecc145b65fd7277a7babcae425 /lib
parentea966d24ef3a9f7f32712a518a07374f9ae43905 (diff)
downloadu-boot-e67beffee0795fbe3c2c6e65d9b63eb2b96897a2.tar.gz
u-boot-e67beffee0795fbe3c2c6e65d9b63eb2b96897a2.tar.xz
u-boot-e67beffee0795fbe3c2c6e65d9b63eb2b96897a2.zip
Allow last block to be read
The last block is of size media->block_size Signed-off-by: Jesper Schmitz Mouridsen <jesper@schmitz.computer> Simplify expression. Apply same change to efi_disk_write_blocks(). Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_disk.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index 1f6b817dea..307d5d759b 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -148,7 +148,7 @@ static efi_status_t EFIAPI efi_disk_read_blocks(struct efi_block_io *this,
(uintptr_t)buffer & (this->media->io_align - 1))
return EFI_INVALID_PARAMETER;
if (lba * this->media->block_size + buffer_size >
- this->media->last_block * this->media->block_size)
+ (this->media->last_block + 1) * this->media->block_size)
return EFI_INVALID_PARAMETER;
#ifdef CONFIG_EFI_LOADER_BOUNCE_BUFFER
@@ -216,7 +216,7 @@ static efi_status_t EFIAPI efi_disk_write_blocks(struct efi_block_io *this,
(uintptr_t)buffer & (this->media->io_align - 1))
return EFI_INVALID_PARAMETER;
if (lba * this->media->block_size + buffer_size >
- this->media->last_block * this->media->block_size)
+ (this->media->last_block + 1) * this->media->block_size)
return EFI_INVALID_PARAMETER;
#ifdef CONFIG_EFI_LOADER_BOUNCE_BUFFER