Re: [PATCH v3 00/17] KVM: x86/pmu: Add support to enable Guest PEBS via DS

From: Xu, Like
Date: Mon Jan 25 2021 - 07:19:29 EST


On 2021/1/25 19:13, Peter Zijlstra wrote:
On Mon, Jan 25, 2021 at 04:08:22PM +0800, Like Xu wrote:
Hi Peter,

On 2021/1/22 17:56, Peter Zijlstra wrote:
On Fri, Jan 15, 2021 at 10:51:38AM -0800, Sean Christopherson wrote:
On Fri, Jan 15, 2021, Andi Kleen wrote:
I'm asking about ucode/hardare. Is the "guest pebs buffer write -> PEBS PMI"
guaranteed to be atomic?
Of course not.
So there's still a window where the guest could observe the bad counter index,
correct?
Guest could do a hypercall to fix up the DS area before it tries to read
it I suppose. Or the HV could expose the index mapping and have the
guest fix up it.
A weird (malicious) guest would read unmodified PEBS records in the
guest PEBS buffer from other vCPUs without the need for hypercall or
index mapping from HV.

Do you see any security issues on this host index leak window?

Adding a little virt crud on top shouldn't be too hard.

The patches 13-17 in this version has modified the guest PEBS buffer
to correct the index mapping information in the guest PEBS records.
Right, but given there is no atomicity between writing the DS area and
triggering the PMI (as already established earlier in this thread), a
malicious guest can already access this information, no?


So under the premise that counter cross-mapping is allowed,
how can hypercall help fix it ?

Personally,  I think it is acceptable at the moment, and
no security issues based on this have been defined and found.