From nobody Thu Apr 2 15:41:49 2026 Received: from mail-pj1-f73.google.com (mail-pj1-f73.google.com [209.85.216.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A169E2D2496 for ; Tue, 10 Feb 2026 23:46:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.73 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770767180; cv=none; b=lRuCi4sj8DpGOh7OvIXK5podF4DJ/ik+/SHTG5ZrlD+u8qqwOSWrud0yC7oCYvENv1OwF4QqYy0VfHiBTr5S2DqXxrW2zyRbcBmB2ajtI52/POxNV2sc8j1LUX7S92WTEMv2yInv0y/Bl7UsSPHAqm+6R//Vte04MKE1zBDBlOE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770767180; c=relaxed/simple; bh=io0j3T7gVq7+8CIMOZ1xD2dlmsVdkJx8rgyMSLO0bqw=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=qoMprOkJzRcS2Otb1YRBNc6W+bZNCG9q7RFqhXXgUEIKRYodsJae0nvOQXwJNJzX2BmsAiUb5zWcQLt0cJ7h3Ey/jMLP0EqVGlvB904pU5CvMjXeK5MFu/9Xm7+IQqIZx840aP+3XXSknLyU2Iz5T2Rw8FN3Y1OR75Qol1+JnFQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--jmattson.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=rUSaQ6c6; arc=none smtp.client-ip=209.85.216.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--jmattson.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="rUSaQ6c6" Received: by mail-pj1-f73.google.com with SMTP id 98e67ed59e1d1-3562370038dso1056202a91.3 for ; Tue, 10 Feb 2026 15:46:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770767178; x=1771371978; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=9DhTawsZmRz3nzyhK8/Lugi87Ht2DdYYWmF9HyMvN+Y=; b=rUSaQ6c6otC5IvJpa/fCVbxt/ILACTOv7ymklo2ZPdSBtBJ84sy3VsESTt8SDJd0UD aRT1tUezQ+f5Ww4iP3voiQ7GAggYJncgwi3iIO3inEkjHMKLzyIW+iPv4vSv/MHJnURm LtgTJWmx4JPTy7C/vNiYlYRYnOw/J8xFJnQ0gk2ehE33XHK+uaj2ij1jzRZCS0+riG/a kF+8q9i8huQP/7leRjbRx3NZy6IgQEoz8Vpl+YCxe+ZkSV1V24fXNhTK03lOJGAdr7SR 4Uav9t7x8+tdiglfcQoyTtahb8q7vYCi0zd1pZLqFUZo4kTUIXVm/fLLQn4U+ZQ8Jf0P 42nQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770767178; x=1771371978; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=9DhTawsZmRz3nzyhK8/Lugi87Ht2DdYYWmF9HyMvN+Y=; b=i77vHRLXk5P3zy6MaaOrD5sM6aTZ/zBv7zfDmdZ5p3NAZzWrj1oVXgzclYYK8IE2Vc oNIjCtHDI1T+zVRhEBXhrNBh3oy+STDWWh81nE4kc9WC5NmymnQ5ZALqK/sP98FxvmCc U/uDYSlZDU70yhmDoUwtpazJA4XzakBdihkHp5hd2K4kgYw+xY5MLlIXf7/cNl89zRfa I6WHgRt62OdA8f4yiXWPmXpu+2SjL6uvG2PzrcigVers9nklyOAFsP0LrWjCT8kMjrnn 6/VpdUSabdcWXbVnoPdd9Vc7/A50EQzQkILD1dcpnNfP/umt8iNv592mNNvB5tSFahr6 FfhQ== X-Forwarded-Encrypted: i=1; AJvYcCVhShLi07RHobXJ/EMQRtq7LokL2DEQlQ6ilk/r0VUFjT8RiaIK9IsxyMaihihg9WBFBd5z92wd84dg/OE=@vger.kernel.org X-Gm-Message-State: AOJu0YysMNhrE4h5W44OqXoIQ5Hv1uE0F2Vsi5EJwnnoYS8e3Ji082pX kE50fRCmVq+HTOKYBB5yXZ66uvBbAHCmR1NN4TOM5twcYAMEYDtDl0a9vZpqQ6WfshyCArLmjta U4wlHtwCECQQ+wA== X-Received: from pjbfz3.prod.google.com ([2002:a17:90b:243:b0:356:1edc:b2a]) (user=jmattson job=prod-delivery.src-stubby-dispatcher) by 2002:a17:90b:5188:b0:341:315:f4ed with SMTP id 98e67ed59e1d1-354b3c84188mr12837061a91.10.1770767177895; Tue, 10 Feb 2026 15:46:17 -0800 (PST) Date: Tue, 10 Feb 2026 15:45:42 -0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.53.0.239.g8d8fc8a987-goog Message-ID: <20260210234613.1383279-1-jmattson@google.com> Subject: [PATCH] KVM: x86: Ignore cpuid faulting in SMM From: Jim Mattson To: Sean Christopherson , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Jamie Liu Cc: Jim Mattson Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Intel Virtualization Technology FlexMigration Application Note says, "When CPUID faulting is enabled, all executions of the CPUID instruction outside system-management mode (SMM) cause a general-protection exception (#GP(0)) if the current privilege level (CPL) is greater than 0." Always allow the execution of CPUID in SMM. Fixes: db2336a80489 ("KVM: x86: virtualize cpuid faulting") Signed-off-by: Jim Mattson --- arch/x86/kvm/cpuid.c | 3 ++- arch/x86/kvm/emulate.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 7fe4e58a6ebf..863ce81023e9 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -2157,7 +2157,8 @@ int kvm_emulate_cpuid(struct kvm_vcpu *vcpu) { u32 eax, ebx, ecx, edx; =20 - if (cpuid_fault_enabled(vcpu) && !kvm_require_cpl(vcpu, 0)) + if (!is_smm(vcpu) && cpuid_fault_enabled(vcpu) && + !kvm_require_cpl(vcpu, 0)) return 1; =20 eax =3D kvm_rax_read(vcpu); diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index c8e292e9a24d..4b7289a82bf8 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -3583,10 +3583,10 @@ static int em_cpuid(struct x86_emulate_ctxt *ctxt) u64 msr =3D 0; =20 ctxt->ops->get_msr(ctxt, MSR_MISC_FEATURES_ENABLES, &msr); - if (msr & MSR_MISC_FEATURES_ENABLES_CPUID_FAULT && - ctxt->ops->cpl(ctxt)) { + if (!ctxt->ops->is_smm(ctxt) && + (msr & MSR_MISC_FEATURES_ENABLES_CPUID_FAULT && + ctxt->ops->cpl(ctxt))) return emulate_gp(ctxt, 0); - } =20 eax =3D reg_read(ctxt, VCPU_REGS_RAX); ecx =3D reg_read(ctxt, VCPU_REGS_RCX); --=20 2.53.0.239.g8d8fc8a987-goog