diff options
| author | Yosry Ahmed <yosry@kernel.org> | 2026-06-16 21:46:50 +0000 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2026-07-08 13:40:58 -0700 |
| commit | f0772389413dce9657c7d6950abf3edbbd511356 (patch) | |
| tree | 09621a46f835a9c4ea8c4c3567471494f359bfff /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | a204badd8432f93b7e862e7dac6db0fe3d65f370 (diff) | |
KVM: nVMX: Always flush vpid02 on first use
Make sure vpid02 is always flushed on first use by setting last_vpid=0
when allocating vpid02. nested_vmx_transition_tlb_flush() will always
detect a VPID change on first VM-Enter after VMXON, because VPID=0 in
vmcs12 is not allowed if L1 enables VPID.
This avoids using stale TLB entries from a previous lifetime of the
VPID, that might have been associated with a different vCPU (or a
completely different VM).
Note that last_vpid is already being initialized as 0 when the vCPU is
created, but it is not reset when vpid02 is freed on VMXOFF. Hence, the
problem can only occur if L1 does VMXOFF -> VMXON, runs an L2, and KVM
happens to reuse a VPID that has TLB entries on the physical CPU.
Cc: stable@vger.kernel.org
Signed-off-by: Yosry Ahmed <yosry@kernel.org>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Reviewed-by: Jim Mattson <jmattson@google.com>
Link: https://patch.msgid.link/20260616214652.2157032-2-yosry@kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
