From: Jan Beulich Date: Tue, 21 Apr 2020 09:03:46 +0000 (+0200) Subject: x86/shadow: don't open-code shadow_blow_tables_per_domain() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~381 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7aacf6ac49829d8dd6242f67460f4d52d0d36503;p=xen.git 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 --- 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); }