]> www.infradead.org Git - users/jedix/linux-maple.git/commit
KVM: x86/mmu: WARN if huge page recovery triggered during dirty logging
authorDavid Matlack <dmatlack@google.com>
Fri, 23 Aug 2024 23:56:48 +0000 (16:56 -0700)
committerSean Christopherson <seanjc@google.com>
Tue, 5 Nov 2024 02:37:23 +0000 (18:37 -0800)
commit06c4cd957b5cfc8ce995474d3dc935cf89bcf454
tree47582c9a6a628ceb20e47f28e1db1d7e39e4ae55
parent430e264b76538d371ff4e2d0d20801fa11b10198
KVM: x86/mmu: WARN if huge page recovery triggered during dirty logging

WARN and bail out of recover_huge_pages_range() if dirty logging is
enabled. KVM shouldn't be recovering huge pages during dirty logging
anyway, since KVM needs to track writes at 4KiB. However it's not out of
the possibility that that changes in the future.

If KVM wants to recover huge pages during dirty logging, make_huge_spte()
must be updated to write-protect the new huge page mapping. Otherwise,
writes through the newly recovered huge page mapping will not be tracked.

Note that this potential risk did not exist back when KVM zapped to
recover huge page mappings, since subsequent accesses would just be
faulted in at PG_LEVEL_4K if dirty logging was enabled.

Signed-off-by: David Matlack <dmatlack@google.com>
Link: https://lore.kernel.org/r/20240823235648.3236880-7-dmatlack@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/mmu/tdp_mmu.c