[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/vm_event: add gdtr_base to the vm_event structure



On Thu, May 2, 2019 at 7:30 AM Jan Beulich <JBeulich@xxxxxxxx> wrote:
>
> >>> On 02.05.19 at 15:09, <tamas@xxxxxxxxxxxxx> wrote:
> > That said I don't have a use for idt and gdtr_limit that warrants
> > having to receive it via the vm_event structure
>
> So what use if the GDT base without the limit? Are you silently
> assuming all presently loaded selectors are (still) within limits?

On 32-bit Windows the KPCR's address is cached at gdtr_base + 0x30
while in ring3. In ring0 we can just use fs_base for that. At the
moment I still just cache the KPCR location on every MOV-TO-CR3 but
that became an issue with recent versions of Windows10 implementing
Meltdown mitigations because it leads to extreme performance
degradation in the guest (opening an app takes ~20s). So now I just
try to find the KPCR based on the registers reported in each vm_event.
We use the KPCR to quickly find thread/process base addresses to
gather info relevant to introspection.

Tamas

Tamas

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.