]> xenbits.xensource.com Git - people/tklengyel/xen.git/commitdiff
x86/shadow: replace bogus return path in shadow_get_page_from_l1e()
authorJan Beulich <jbeulich@suse.com>
Tue, 2 Mar 2021 11:30:30 +0000 (12:30 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 2 Mar 2021 11:30:30 +0000 (12:30 +0100)
Prior to be640b1800bb ("x86: make get_page_from_l1e() return a proper
error code") a positive return value did indicate an error. Said commit
failed to adjust this return path, but luckily the only caller has
always been inside a shadow_mode_refcounts() conditional.

Subsequent changes caused 1 to end up at the default (error) label in
the caller's switch() again, but the returning of 1 (== _PAGE_PRESENT)
is still rather confusing here, and a latent risk.

Convert to an ASSERT() instead, just in case any new caller would
appear.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Release-Acked-by: Ian Jackson <iwj@xenproject.org>
xen/arch/x86/mm/shadow/multi.c

index 797ebde5863ede9b8dea46495f2393271262b64b..dd59bec2c38349326433c4f6265b8bd5e818e703 100644 (file)
@@ -802,9 +802,7 @@ shadow_get_page_from_l1e(shadow_l1e_t sl1e, struct domain *d, p2m_type_t type)
     struct domain *owner;
 
     ASSERT(!sh_l1e_is_magic(sl1e));
-
-    if ( !shadow_mode_refcounts(d) )
-        return 1;
+    ASSERT(shadow_mode_refcounts(d));
 
     res = get_page_from_l1e(sl1e, d, d);