summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/flamegraph.py
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2021-02-25 12:47:30 -0800
committerPaolo Bonzini <pbonzini@redhat.com>2021-03-15 04:43:37 -0400
commite0c378684b6545ad2d4403bb701d0ac4932b4e95 (patch)
tree068e4c08fe76e6bac75b2e92a359f206940caa0d /tools/perf/scripts/python/flamegraph.py
parent44aaa0150bfd576dc5043094fd1a23699cf280e8 (diff)
downloadlinux-e0c378684b6545ad2d4403bb701d0ac4932b4e95.tar.gz
linux-e0c378684b6545ad2d4403bb701d0ac4932b4e95.zip
KVM: x86/mmu: Retry page faults that hit an invalid memslot
Retry page faults (re-enter the guest) that hit an invalid memslot instead of treating the memslot as not existing, i.e. handling the page fault as an MMIO access. When deleting a memslot, SPTEs aren't zapped and the TLBs aren't flushed until after the memslot has been marked invalid. Handling the invalid slot as MMIO means there's a small window where a page fault could replace a valid SPTE with an MMIO SPTE. The legacy MMU handles such a scenario cleanly, but the TDP MMU assumes such behavior is impossible (see the BUG() in __handle_changed_spte()). There's really no good reason why the legacy MMU should allow such a scenario, and closing this hole allows for additional cleanups. Fixes: 2f2fad0897cb ("kvm: x86/mmu: Add functions to handle changed TDP SPTEs") Cc: Ben Gardon <bgardon@google.com> Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20210225204749.1512652-6-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/flamegraph.py')
0 files changed, 0 insertions, 0 deletions