From: Wei Liu Date: Mon, 24 Apr 2017 13:33:43 +0000 (+0100) Subject: x86/domain: make release_compat_l4 NULL tolerant X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~2077 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=dfecffc84866c505aff2a16f521390a546a2b146;p=xen.git x86/domain: make release_compat_l4 NULL tolerant Push the check in caller down to that function so that it becomes idempotent. No functional change. Signed-off-by: Wei Liu Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index f2847cf871..673a6d95f9 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -338,7 +338,8 @@ static int setup_compat_l4(struct vcpu *v) static void release_compat_l4(struct vcpu *v) { - free_domheap_page(pagetable_get_page(v->arch.guest_table)); + if ( !pagetable_is_null(v->arch.guest_table) ) + free_domheap_page(pagetable_get_page(v->arch.guest_table)); v->arch.guest_table = pagetable_null(); v->arch.guest_table_user = pagetable_null(); } @@ -379,9 +380,7 @@ int switch_compat(struct domain *d) for_each_vcpu( d, v ) { free_compat_arg_xlat(v); - - if ( !pagetable_is_null(v->arch.guest_table) ) - release_compat_l4(v); + release_compat_l4(v); } return rc;