diff mbox series

[U-Boot,6/6] cmd: efi: Fix wrong memory descriptor end address

Message ID 1529656712-3660-7-git-send-email-bmeng.cn@gmail.com
State Accepted
Commit dd099ec44b5d0a5d2dff537fc5b3b3441a49eec6
Delegated to: Bin Meng
Headers show
Series x86: efi: payload: Various fixes | expand

Commit Message

Bin Meng June 22, 2018, 8:38 a.m. UTC
Each entry of the EFI memory descriptors occupies map->desc_size,
not sizeof(struct efi_mem_desc).

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>

---

 cmd/efi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Simon Glass June 22, 2018, 7:28 p.m. UTC | #1
On 22 June 2018 at 02:38, Bin Meng <bmeng.cn@gmail.com> wrote:
> Each entry of the EFI memory descriptors occupies map->desc_size,
> not sizeof(struct efi_mem_desc).
>
> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>
> ---
>
>  cmd/efi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Bin Meng June 24, 2018, 12:54 a.m. UTC | #2
On Sat, Jun 23, 2018 at 3:28 AM, Simon Glass <sjg@chromium.org> wrote:
> On 22 June 2018 at 02:38, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Each entry of the EFI memory descriptors occupies map->desc_size,
>> not sizeof(struct efi_mem_desc).
>>
>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>
>> ---
>>
>>  cmd/efi.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg@chromium.org>

applied to u-boot-x86, thanks!
diff mbox series

Patch

diff --git a/cmd/efi.c b/cmd/efi.c
index 2511c6c..6c1eb88 100644
--- a/cmd/efi.c
+++ b/cmd/efi.c
@@ -83,7 +83,7 @@  void *efi_build_mem_table(struct efi_entry_memmap *map, int size, bool skip_bs)
 	prev = NULL;
 	addr = 0;
 	dest = base;
-	end = base + count;
+	end = (struct efi_mem_desc *)((ulong)base + count * map->desc_size);
 	for (desc = base; desc < end; desc = efi_get_next_mem_desc(map, desc)) {
 		bool merge = true;
 		int type = desc->type;