[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/6] x86/xpti: avoid copying L4 page table contents when possible
>>> On 06.03.18 at 09:06, <jgross@xxxxxxxx> wrote: > On 06/03/18 08:58, Jan Beulich wrote: >>>>> On 06.03.18 at 08:01, <jgross@xxxxxxxx> wrote: >>> On 05/03/18 17:43, Jan Beulich wrote: >>>>>>> On 02.03.18 at 09:13, <jgross@xxxxxxxx> wrote: >>>>> --- a/xen/arch/x86/mm.c >>>>> +++ b/xen/arch/x86/mm.c >>>>> @@ -509,6 +509,8 @@ void make_cr3(struct vcpu *v, mfn_t mfn) >>>>> >>>>> void write_ptbase(struct vcpu *v) >>>>> { >>>>> + get_cpu_info()->root_pgt_changed = this_cpu(root_pgt) && >>>>> is_pv_vcpu(v) && >>>>> + !is_pv_32bit_vcpu(v); >>>> >>>> Why is_pv_vcpu() when you already check is_pv_32bit_vcpu()? >>> >>> I check !is_pv_32bit_vcpu() to catch 64-bit pv-domains only. >> >> Oh, I'm sorry - For whatever reason I've ignored the ! there. >> >>>> And don't you need to disallow updating L4s of running guests now >>>> (which is a bad idea anyway)? >>> >>> Yes, I should do that. >> >> But please do this as a separate change, as strictly speaking this is >> a behavioral change that we can't allow. But I think we simply need >> to accept this (and perhaps uniformly for all page table levels). > > Hmm, thinking more about it: wouldn't it be enough to do the change and > then sending a FLUSH_ROOT_PGTBL to the vcpu(s) the affected guest is > running on? This would cause a cycle through the hypervisor resulting in > an updated root page table of that guest. Ah, yes, of course. That was the idea behind the original addition of the flush invocation after all. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |