mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
x86/efi: efi_unmap_boot_services: fix calculation of ranges_to_free size
ranges_to_free array should have enough room to store the entire EFI
memmap plus an extra element for NULL entry.
The calculation of this array size wrongly adds 1 to the overall size
instead of adding 1 to the number of elements.
Add parentheses to properly size the array.
Reported-by: Guenter Roeck <linux@roeck-us.net>
Fixes: a4b0bf6a40 ("x86/efi: defer freeing of boot services memory")
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
a4b0bf6a40
commit
217c0a5c17
|
|
@ -424,7 +424,7 @@ void __init efi_unmap_boot_services(void)
|
|||
if (efi_enabled(EFI_DBG))
|
||||
return;
|
||||
|
||||
sz = sizeof(*ranges_to_free) * efi.memmap.nr_map + 1;
|
||||
sz = sizeof(*ranges_to_free) * (efi.memmap.nr_map + 1);
|
||||
ranges_to_free = kzalloc(sz, GFP_KERNEL);
|
||||
if (!ranges_to_free) {
|
||||
pr_err("Failed to allocate storage for freeable EFI regions\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user