All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: chengkev@google.com, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org,  pbonzini@redhat.com,
	yosry.ahmed@linux.dev
Subject: Re: [PATCH 2/2] KVM: SVM: Raise #UD if VMMCALL instruction is not intercepted
Date: Tue, 6 Jan 2026 10:57:15 -0800	[thread overview]
Message-ID: <aV1bC3Wk-LbP1hUZ@google.com> (raw)
In-Reply-To: <4c45344f-a462-4d18-810d-8a76a4695a6b@citrix.com>

On Tue, Jan 06, 2026, Andrew Cooper wrote:
> > 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.

Hrm, I can't find that.  I see:

  The VMRUN intercept bit is clear.

but I don't see anything about VMMCALL being a mandatory intercept.

> 
> 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

  reply	other threads:[~2026-01-06 18:57 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-06  4:12 [PATCH 0/2] KVM: SVM: Align SVM with APM defined behaviors Kevin Cheng
2026-01-06  4:12 ` [PATCH 1/2] KVM: SVM: Generate #UD for certain instructions when SVME.EFER is disabled Kevin Cheng
2026-01-06 18:21   ` Sean Christopherson
2026-01-06 20:38     ` Andrew Cooper
2026-01-06 23:42     ` Yosry Ahmed
2026-01-06 23:48       ` Sean Christopherson
2026-01-07  0:04         ` Yosry Ahmed
2026-01-06  4:12 ` [PATCH 2/2] KVM: SVM: Raise #UD if VMMCALL instruction is not intercepted Kevin Cheng
2026-01-06 18:29   ` Sean Christopherson
2026-01-06 18:52     ` Andrew Cooper
2026-01-06 18:57       ` Sean Christopherson [this message]
2026-01-06 20:40         ` Andrew Cooper
2026-01-06 23:31     ` Yosry Ahmed
2026-01-06 23:38       ` Sean Christopherson
2026-01-07  0:02         ` Yosry Ahmed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aV1bC3Wk-LbP1hUZ@google.com \
    --to=seanjc@google.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chengkev@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=yosry.ahmed@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.