Re: [RFC v2-fix 1/1] x86/traps: Add #VE support for TDX guest

From: Dave Hansen
Date: Tue May 18 2021 - 11:56:45 EST


On 5/18/21 8:45 AM, Andi Kleen wrote:
>
> On 5/18/2021 8:11 AM, Dave Hansen wrote:
>> On 5/17/21 5:09 PM, Kuppuswamy Sathyanarayanan wrote:
>>> After TDGETVEINFO #VE could happen in theory (e.g. through an NMI),
>>> although we don't expect it to happen because we don't expect NMIs to
>>> trigger #VEs. Another case where they could happen is if the #VE
>>> exception panics, but in this case there are no guarantees on anything
>>> anyways.
>> This implies: "we do not expect any NMI to do MMIO".  Is that true?  Why?
>
> Only drivers that are not supported in TDX anyways could do it (mainly
> watchdog drivers)

No APIC access either?

Also, shouldn't we have at least a:

WARN_ON_ONCE(in_nmi());

if we don't expect (or handle well) #VE in NMIs?