Re: perf with precise attribute kills all KVM based VMs

From: Gleb Natapov
Date: Mon Jul 09 2012 - 10:37:00 EST


On Mon, Jul 09, 2012 at 04:24:04PM +0200, Peter Zijlstra wrote:
> On Mon, 2012-07-09 at 17:19 +0300, Gleb Natapov wrote:
> > Yes, this is knows problem that I can't find time to fix. The crash is
> > cause by CPU using host PEBS virtual address while guest is running
> > which causes guest memory corruption. We should disable evens that use
> > PEBS at the guest entry.
>
> Whoops.. so the hardware is reading the DS address as programmed by the
> host (host linear address) and using it as a guest linear address?
>
Yes.

> Quality stuff..
DS area and vitalization are definitely not friends.

>
> Disabling PEBS events for guests isn't pretty though.. but I guess the
> only alternative is mapping the DS into the guest and reprogramming
> MSR_IA32_DS_AREA which is all a little involved I suppose?
This needs guest cooperation which is possible with PV guest of course,
but there is a security issue here. Intel SDM requires that DS have to
be mapped by page table at all time and marked dirty/accessed otherwise
unspecified bad things can happen. Nothing prevents guest from unmapping
DS and cause host troubles.

--
Gleb.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/