]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
UBUNTU: SAUCE: kvm: x86: mmu: Recovery of shattered NX large pages
authorJunaid Shahid <junaids@google.com>
Thu, 31 Oct 2019 23:33:47 +0000 (00:33 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 6 Nov 2019 09:27:25 +0000 (10:27 +0100)
commit90b9e10ebb74ae10526de52a8e9a877ed03234f4
treeb693091d450b08367dfff1ff3bb7442a54eb0273
parentebce4f7669f0dc2effce32b323d0d3a66e9deca9
UBUNTU: SAUCE: kvm: x86: mmu: Recovery of shattered NX large pages

The page table pages corresponding to broken down large pages are
zapped in FIFO order, so that the large page can potentially
be recovered, if it is no longer being used for execution.  This removes
the performance penalty for walking deeper EPT page tables.

By default, one large page will last about one hour once the guest
reaches a steady state.

Signed-off-by: Junaid Shahid <junaids@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
CVE-2018-12207

[tyhicks: Backport to 4.15
 - Minor context adjustments due to different members of struct
   kvm_mmu_page and kvm_arch]
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Documentation/admin-guide/kernel-parameters.txt
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/mmu.c
arch/x86/kvm/mmu.h
arch/x86/kvm/x86.c
virt/kvm/kvm_main.c