All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Sean Christopherson <seanjc@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Xiaoyao Li <xiaoyao.li@intel.com>,
	Kai Huang <kai.huang@intel.com>,
	 Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Binbin Wu <binbin.wu@linux.intel.com>,
	 Yan Zhao <yan.y.zhao@intel.com>
Subject: [PATCH v3 1/8] KVM: VMX: Disallow using to_vmx() in common VT code
Date: Thu,  3 Sep 2026 18:03:46 -0700	[thread overview]
Message-ID: <20260904010353.3175819-2-seanjc@google.com> (raw)
In-Reply-To: <20260904010353.3175819-1-seanjc@google.com>

Poison to_vmx() in main.c and posted_intr.c so that attempting to interpret
the vCPU as a VMX vCPU will fail at compile time, as opposed to failing at
runtime, or worse corrupting state without outright failing.

Note, to_tdx() is buried in tdx.c, i.e. isn't broadly reachable, and so
doesn't need the same treatment as to_vmx().

Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Tested-by: Kai Huang <kai.huang@intel.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
---
 arch/x86/kvm/vmx/main.c        | 2 ++
 arch/x86/kvm/vmx/posted_intr.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/arch/x86/kvm/vmx/main.c b/arch/x86/kvm/vmx/main.c
index 4c52ab8d0786..ea0d825e556d 100644
--- a/arch/x86/kvm/vmx/main.c
+++ b/arch/x86/kvm/vmx/main.c
@@ -10,6 +10,8 @@
 #include "tdx.h"
 #include "tdx_arch.h"
 
+#pragma GCC poison to_vmx
+
 #ifdef CONFIG_KVM_INTEL_TDX
 static_assert(offsetof(struct vcpu_vmx, vt) == offsetof(struct vcpu_tdx, vt));
 
diff --git a/arch/x86/kvm/vmx/posted_intr.c b/arch/x86/kvm/vmx/posted_intr.c
index 4a6d9a17da23..24221ba553be 100644
--- a/arch/x86/kvm/vmx/posted_intr.c
+++ b/arch/x86/kvm/vmx/posted_intr.c
@@ -14,6 +14,8 @@
 #include "vmx.h"
 #include "tdx.h"
 
+#pragma GCC poison to_vmx
+
 /*
  * Maintain a per-CPU list of vCPUs that need to be awakened by wakeup_handler()
  * when a WAKEUP_VECTOR interrupted is posted.  vCPUs are added to the list when
-- 
2.55.0.979.g7e5102b832-goog


  reply	other threads:[~2026-09-04  1:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-04  1:03 [PATCH v3 0/8] KVM: VMX: Harden against interpreting TDX vCPU as vcpu_vmx Sean Christopherson
2026-09-04  1:03 ` Sean Christopherson [this message]
2026-09-04  2:19   ` [PATCH v3 1/8] KVM: VMX: Disallow using to_vmx() in common VT code Binbin Wu
2026-09-04  1:03 ` [PATCH v3 2/8] KVM: VMX: Move the shared "IRQs off" exit handler(s) to common code Sean Christopherson
2026-09-04  2:28   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 3/8] KVM: VMX: Move the shared NMI handler/trampoline " Sean Christopherson
2026-09-04  2:30   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 4/8] KVM: VMX: Rename posted interrupt prefixes from "vmx" to "vt" Sean Christopherson
2026-09-04  2:41   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 5/8] KVM: VMX: Rename EPT violation handler prefix " Sean Christopherson
2026-09-04  2:42   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 6/8] KVM: VMX: Use dummy pseudo-overlay struct for to_vt() and vt_to_vcpu() Sean Christopherson
2026-09-04  2:54   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 7/8] KVM: VMX: Move common VT getters/converters to common.h Sean Christopherson
2026-09-04  2:57   ` Binbin Wu
2026-09-04  1:03 ` [PATCH v3 8/8] KVM: VMX: Rename common exit info getters prefixes from "vmx" to "vt" Sean Christopherson
2026-09-04  3:00   ` Binbin Wu

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=20260904010353.3175819-2-seanjc@google.com \
    --to=seanjc@google.com \
    --cc=binbin.wu@linux.intel.com \
    --cc=kai.huang@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=xiaoyao.li@intel.com \
    --cc=yan.y.zhao@intel.com \
    /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.