x86/mm/ident_map: Check for errors from ident_pud_init()
authorArvind Sankar <nivedita@alum.mit.edu>
Tue, 27 Oct 2020 23:06:48 +0000 (19:06 -0400)
committerBorislav Petkov <bp@suse.de>
Wed, 28 Oct 2020 13:48:30 +0000 (14:48 +0100)
commit1fcd009102ee02e217f2e7635ab65517d785da8e
tree8e81f186e313a92e0e15634ae1d4f873279e730a
parent3650b228f83adda7e5ee532e2b90429c03f7b9ec
x86/mm/ident_map: Check for errors from ident_pud_init()

Commit

  ea3b5e60ce80 ("x86/mm/ident_map: Add 5-level paging support")

added ident_p4d_init() to support 5-level paging, but this function
doesn't check and return errors from ident_pud_init().

For example, the decompressor stub uses this code to create an identity
mapping. If it runs out of pages while trying to allocate a PMD
pagetable, the error will be currently ignored.

Fix this to propagate errors.

 [ bp: Space out statements for better readability. ]

Fixes: ea3b5e60ce80 ("x86/mm/ident_map: Add 5-level paging support")
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Joerg Roedel <jroedel@suse.de>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Link: https://lkml.kernel.org/r/20201027230648.1885111-1-nivedita@alum.mit.edu
arch/x86/mm/ident_map.c