Re: [PATCH 2/2] KVM: SVM: Raise #UD if VMMCALL instruction is not intercepted

From: Andrew Cooper

Date: Tue Jan 06 2026 - 13:52:26 EST


> Mentioning L2 and L1 is confusing. It reads like arbitrary KVM behavior. And
> IMO the most notable thing is what's missing: an intercept check. _That_ is
> worth commenting, e.g.
>
> /*
> * VMMCALL #UDs if it's not intercepted, and KVM reaches this point if
> * and only if the VMCALL intercept is not set in vmcb12.
> */

Not intercepting VMMCALL is stated to be an unconditional VMRUN
failure.  APM Vol3 15.5 Canonicalization and Consistency Checks.

The "VMMCALL was not intercepted" condition is probably what the
pipeline really checks, but really it means "in root mode".

In most nested virt scenarios, L1 knows it's in a VM and can use VMMCALL
for host facilities.

~Andrew