From 5dc999d711a75e1a83d4b21da203d3c3197ec0e0 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 18 May 2020 17:13:38 +0200 Subject: [PATCH] x86/mm: no-one passes a NULL domain to init_xen_l4_slots() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Drop the NULL checks - they've been introduced by commit 8d7b633ada ("x86/mm: Consolidate all Xen L4 slot writing into init_xen_l4_slots()") without giving a reason; I'm told this was done in anticipation of the function potentially getting called with a NULL argument down the road. Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné --- xen/arch/x86/mm.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index f2d8190b5e..dba0903c8f 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1652,7 +1652,7 @@ static int promote_l3_table(struct page_info *page) * This function must write all ROOT_PAGETABLE_PV_XEN_SLOTS, to clobber any * values a guest may have left there from promote_l4_table(). * - * l4t and l4mfn are mandatory, but l4mfn doesn't need to be the mfn under + * l4t, l4mfn, and d are mandatory, but l4mfn doesn't need to be the mfn under * *l4t. All other parameters are optional and will either fill or zero the * appropriate slots. Pagetables not shared with guests will gain the * extended directmap. @@ -1664,7 +1664,7 @@ void init_xen_l4_slots(l4_pgentry_t *l4t, mfn_t l4mfn, * PV vcpus need a shortened directmap. HVM and Idle vcpus get the full * directmap. */ - bool short_directmap = d && !paging_mode_external(d); + bool short_directmap = !paging_mode_external(d); /* Slot 256: RO M2P (if applicable). */ l4t[l4_table_offset(RO_MPT_VIRT_START)] = @@ -1685,10 +1685,9 @@ void init_xen_l4_slots(l4_pgentry_t *l4t, mfn_t l4mfn, mfn_eq(sl4mfn, INVALID_MFN) ? l4e_empty() : l4e_from_mfn(sl4mfn, __PAGE_HYPERVISOR_RW); - /* Slot 260: Per-domain mappings (if applicable). */ + /* Slot 260: Per-domain mappings. */ l4t[l4_table_offset(PERDOMAIN_VIRT_START)] = - d ? l4e_from_page(d->arch.perdomain_l3_pg, __PAGE_HYPERVISOR_RW) - : l4e_empty(); + l4e_from_page(d->arch.perdomain_l3_pg, __PAGE_HYPERVISOR_RW); /* Slot 261-: text/data/bss, RW M2P, vmap, frametable, directmap. */ #ifndef NDEBUG -- 2.30.2