]> git.ipfire.org Git - thirdparty/linux.git/commit
KVM: nSVM: Add missing consistency check for nCR3 validity
authorYosry Ahmed <yosry@kernel.org>
Tue, 3 Mar 2026 00:34:09 +0000 (00:34 +0000)
committerSean Christopherson <seanjc@google.com>
Thu, 5 Mar 2026 00:08:52 +0000 (16:08 -0800)
commitb71138fcc362c67ebe66747bb22cb4e6b4d6a651
tree724858f8d27ed6b6d13e068aa35b68d2f3e6e79d
parente0b6f031d64c086edd563e7af9c0c0a2261dd2a4
KVM: nSVM: Add missing consistency check for nCR3 validity

From the APM Volume #2, 15.25.4 (24593—Rev. 3.42—March 2024):

  When VMRUN is executed with nested paging enabled (NP_ENABLE = 1), the
  following conditions are considered illegal state combinations, in
  addition to those mentioned in “Canonicalization and Consistency Checks”:
      • Any MBZ bit of nCR3 is set.
      • Any G_PAT.PA field has an unsupported type encoding or any
        reserved field in G_PAT has a nonzero value.

Add the consistency check for nCR3 being a legal GPA with no MBZ bits
set.  Note, the G_PAT.PA check is being handled separately[*].

Link: https://lore.kernel.org/kvm/20260205214326.1029278-3-jmattson@google.com
Fixes: 4b16184c1cca ("KVM: SVM: Initialize Nested Nested MMU context on VMRUN")
Cc: stable@vger.kernel.org
Signed-off-by: Yosry Ahmed <yosry@kernel.org>
Link: https://patch.msgid.link/20260303003421.2185681-16-yosry@kernel.org
[sean: capture everything in CC(), massage changelog formatting]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/nested.c