diff options
| author | Sean Christopherson <seanjc@google.com> | 2026-09-02 16:20:26 -0700 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2026-09-11 15:42:02 -0700 |
| commit | 115f9405a2ed6d78ee7ad8436bdd638743f6d1d4 (patch) | |
| tree | 41fdfecfd6f6a395a167bea6e9f0e96d54a8ec09 /tools/perf/scripts/python | |
| parent | 1c4c84a643b704e473cb171f7b61359ff29b12a4 (diff) | |
KVM: x86/mmu: Bug the VM if KVM attempts to walk more levels than the MMU has
Extend the "EFER.LMA && !CR4.PAE" check, which exists largely to guard
against KVM configuring a paging32 MMU with more than 2 levels of paging,
with a very explicit check for exactly that: that KVM isn't trying to walk
more levels of paging than the MMU template provides. I.e. harden KVM
against all bugs that would cause KVM to generates accesses beyond the
bounds of guest_walker's arrays, regardless of how KVM ended up with the
misconfigured MMU.
Note, don't use w->cpu_role.base.level directly as the paging64 template
only provides two levels of page tables for PAE paging on 32-bit hosts, and
handles the third level by manually emulating the PDPTR access.
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260902232028.2767071-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
