From 7aacf6ac49829d8dd6242f67460f4d52d0d36503 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 21 Apr 2020 11:03:46 +0200 Subject: [PATCH] x86/shadow: don't open-code shadow_blow_tables_per_domain() Make shadow_blow_all_tables() call the designated function, and on this occasion make the function itself use domain_vcpu(). Signed-off-by: Jan Beulich Acked-by: Andrew Cooper Acked-by: Tim Deegan --- xen/arch/x86/mm/shadow/common.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index ad15803cc8..aad977ccd7 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1005,7 +1005,8 @@ static void shadow_blow_tables(struct domain *d) void shadow_blow_tables_per_domain(struct domain *d) { - if ( shadow_mode_enabled(d) && d->vcpu != NULL && d->vcpu[0] != NULL ) { + if ( shadow_mode_enabled(d) && domain_vcpu(d, 0) ) + { paging_lock(d); shadow_blow_tables(d); paging_unlock(d); @@ -1022,14 +1023,7 @@ static void shadow_blow_all_tables(unsigned char c) printk("'%c' pressed -> blowing all shadow tables\n", c); rcu_read_lock(&domlist_read_lock); for_each_domain(d) - { - if ( shadow_mode_enabled(d) && d->vcpu != NULL && d->vcpu[0] != NULL ) - { - paging_lock(d); - shadow_blow_tables(d); - paging_unlock(d); - } - } + shadow_blow_tables_per_domain(d); rcu_read_unlock(&domlist_read_lock); } -- 2.30.2