On 03/01/2018 10:58 AM, Jan Beulich wrote:
>>>> On 28.02.18 at 11:38, <rcojoc...@bitdefender.com> wrote:
>> In hardware, when PCID support is enabled and the NOFLUSH bit is set
>> when writing a CR3 value, the hardware will clear that that bit and
>> change the CR3 without flushing the TLB. hvm_set_cr3(), however, was
>> ignoring this bit; the result was that post-vm_event checks detected
>> an invalid CR3 value and crashed the domain.
>>
>> Handle NOFLUSH in hvm_set_cr3() by:
>> 1. Clearing the bit
>> 2. Passing a "noflush" flag to lower-level cr3 setting functions to
>> indicate that a flush should not be performed.
>>
>> Also clear X86_CR3_NOFLUSH when reporting CR3 monitored CR3 writes.
>>
>> This allows introspection to be used on VMs whose operating system uses
>> the NOFLUSH bit.
>>
>> Signed-off-by: Razvan Cojocaru <rcojoc...@bitdefender.com>
>> Reported-by: Bitweasil <bitwea...@cryptohaze.com>
>> Suggested-by: Andrew Cooper <andrew.coop...@citrix.com>
>> Acked-by: Tamas K Lengyel <ta...@tklengyel.com>
>> Reviewed-by: Jan Beulich <jbeul...@suse.com>
>> Reviewed-by: Kevin Tian <kevin.t...@intel.com>
>> Acked-by: George Dunlap <george.dun...@citrix.com>
> 
> There's now the question of whether to backport this change:
> It's quite large, and as per the description it deals with an
> introspection issue only. Hence for the moment I'll leave this
> out. If someone comes forward with good reasons to take this
> for some or all of the still maintained older trees, I'm willing to
> reconsider. But of course possible interdependencies with
> other changes that weren't backported will also need to be
> taken into consideration with any such request.

That seems reasonable to me.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to