Commit-ID:  06ace26f4e6fcf747e890a39193be811777a048a
Gitweb:     https://git.kernel.org/tip/06ace26f4e6fcf747e890a39193be811777a048a
Author:     Waiman Long <long...@redhat.com>
AuthorDate: Thu, 22 Mar 2018 15:18:53 -0400
Committer:  Thomas Gleixner <t...@linutronix.de>
CommitDate: Fri, 23 Mar 2018 20:18:31 +0100

x86/efi: Free efi_pgd with free_pages()

The efi_pgd is allocated as PGD_ALLOCATION_ORDER pages and therefore must
also be freed as PGD_ALLOCATION_ORDER pages with free_pages().

Fixes: d9e9a6418065 ("x86/mm/pti: Allocate a separate user PGD")
Signed-off-by: Waiman Long <long...@redhat.com>
Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Cc: linux-...@vger.kernel.org
Cc: Dave Hansen <dave.han...@linux.intel.com>
Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
Cc: sta...@vger.kernel.org
Link: 
https://lkml.kernel.org/r/1521746333-19593-1-git-send-email-long...@redhat.com

---
 arch/x86/platform/efi/efi_64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c
index c310a8284358..f9cfbc0d1f33 100644
--- a/arch/x86/platform/efi/efi_64.c
+++ b/arch/x86/platform/efi/efi_64.c
@@ -227,7 +227,7 @@ int __init efi_alloc_page_tables(void)
        if (!pud) {
                if (CONFIG_PGTABLE_LEVELS > 4)
                        free_page((unsigned long) pgd_page_vaddr(*pgd));
-               free_page((unsigned long)efi_pgd);
+               free_pages((unsigned long)efi_pgd, PGD_ALLOCATION_ORDER);
                return -ENOMEM;
        }
 

Reply via email to