From e6374f1c88f925bd01212a783680eda928ecfff9 Mon Sep 17 00:00:00 2001 From: Sylvain Gault Date: Thu, 13 Feb 2014 03:20:05 +0100 Subject: efi: Suspicious size reduction in emalloc It could happen on 32 bits architecture that the memory size really allocated could be less than required. On 64 bits, allocate_pages may be called more times than needed. This closes bug #39. Signed-off-by: Sylvain Gault Signed-off-by: H. Peter Anvin --- efi/main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'efi/main.c') diff --git a/efi/main.c b/efi/main.c index 0e6b1370..94878f93 100644 --- a/efi/main.c +++ b/efi/main.c @@ -691,10 +691,8 @@ EFI_STATUS emalloc(UINTN size, UINTN align, EFI_PHYSICAL_ADDRESS *addr) /* Low-memory is super-precious! */ if (end <= 1 << 20) continue; - if (start < 1 << 20) { - size -= (1 << 20) - start; + if (start < 1 << 20) start = (1 << 20); - } aligned = (start + align -1) & ~(align -1); -- cgit v1.2.1