diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 7634c3fc42..081a5d8d89 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -2224,8 +2224,8 @@ static void svm_invlpg_intercept(unsigned long vaddr) { struct vcpu *curr = current; HVMTRACE_LONG_2D(INVLPG, 0, TRC_PAR_LONG(vaddr)); - paging_invlpg(curr, vaddr); - svm_asid_g_invlpg(curr, vaddr); + if ( paging_invlpg(curr, vaddr) ) + svm_asid_g_invlpg(curr, vaddr); } static struct hvm_function_table __initdata svm_function_table = {