|
@@ -190,7 +190,6 @@ static void check_mappings_rmap(struct kvm *kvm, struct kvm_mmu_page *sp)
|
|
|
|
|
|
static void audit_write_protection(struct kvm *kvm, struct kvm_mmu_page *sp)
|
|
|
{
|
|
|
- struct kvm_memory_slot *slot;
|
|
|
unsigned long *rmapp;
|
|
|
u64 *sptep;
|
|
|
struct rmap_iterator iter;
|
|
@@ -198,8 +197,7 @@ static void audit_write_protection(struct kvm *kvm, struct kvm_mmu_page *sp)
|
|
|
if (sp->role.direct || sp->unsync || sp->role.invalid)
|
|
|
return;
|
|
|
|
|
|
- slot = gfn_to_memslot(kvm, sp->gfn);
|
|
|
- rmapp = &slot->rmap[sp->gfn - slot->base_gfn];
|
|
|
+ rmapp = gfn_to_rmap(kvm, sp->gfn, PT_PAGE_TABLE_LEVEL);
|
|
|
|
|
|
for (sptep = rmap_get_first(*rmapp, &iter); sptep;
|
|
|
sptep = rmap_get_next(&iter)) {
|