Re: [RFC v2-fix-v5 1/1] x86: Skip WBINVD instruction for VM guest

From: Dave Hansen
Date: Wed Jun 09 2021 - 19:55:59 EST


On 6/9/21 2:42 PM, Kuppuswamy, Sathyanarayanan wrote:
> On 6/9/21 2:38 PM, Dan Williams wrote:
>>> In TDX guests, these WBINVD operations cause #VE exceptions.  For debug,
>>> it would be ideal for the #VE handler to be able to WARN() when an
>>> unexpected WBINVD occurs. (<--- problem #2)
>> ...but it doesn't WARN() it triggers unhandled #VE, unless I missed
>> another patch that precedes this that turns it into a WARN()? If a
>> code path expects WBINVD for correct operation and the guest can't
>> execute that sounds fatal, not a WARN to me.
>
> Yes. It is not WARN. It is a fatal unhandled exception.

That makes the problem statement a wee bit different, but it should
still be pretty easy to explain:

In TDX guests, these WBINVD operations cause #VE exceptions.
While some #VE exceptions can be handled, there is no recourse
for a TDX guest to handle a WBINVD and it will panic(). (<---
problem #2)