Skip to content

Commit

Permalink
x86/shadow: replace bogus return path in shadow_get_page_from_l1e()
Browse files Browse the repository at this point in the history
Prior to be640b1 ("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>
  • Loading branch information
jbeulich committed Mar 2, 2021
1 parent 2de43f8 commit 4834936
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions xen/arch/x86/mm/shadow/multi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down

0 comments on commit 4834936

Please sign in to comment.