forked from Minki/linux
KVM: MMU: Fix rmap_write_protect() hugepage iteration bug
rmap_next() does not work correctly after rmap_remove(), as it expects the rmap chains not to change during iteration. Fix (for now) by restarting iteration from the beginning. Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
06e0564566
commit
6597ca09e6
@ -640,6 +640,7 @@ static void rmap_write_protect(struct kvm *kvm, u64 gfn)
|
||||
rmap_remove(kvm, spte);
|
||||
--kvm->stat.lpages;
|
||||
set_shadow_pte(spte, shadow_trap_nonpresent_pte);
|
||||
spte = NULL;
|
||||
write_protected = 1;
|
||||
}
|
||||
spte = rmap_next(kvm, rmapp, spte);
|
||||
|
Loading…
Reference in New Issue
Block a user