Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82b7005f authored by Sheng Yang's avatar Sheng Yang Committed by Marcelo Tosatti
Browse files

KVM: x86: Fix host_mapping_level()



When found a error hva, should not return PAGE_SIZE but the level...

Also clean up the coding style of the following loop.

Cc: stable@kernel.org
Signed-off-by: default avatarSheng Yang <sheng@linux.intel.com>
Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
parent e1f829b6
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -477,7 +477,7 @@ static int host_mapping_level(struct kvm *kvm, gfn_t gfn)

	addr = gfn_to_hva(kvm, gfn);
	if (kvm_is_error_hva(addr))
		return page_size;
		return PT_PAGE_TABLE_LEVEL;

	down_read(&current->mm->mmap_sem);
	vma = find_vma(current->mm, addr);
@@ -515,11 +515,9 @@ static int mapping_level(struct kvm_vcpu *vcpu, gfn_t large_gfn)
	if (host_level == PT_PAGE_TABLE_LEVEL)
		return host_level;

	for (level = PT_DIRECTORY_LEVEL; level <= host_level; ++level) {

	for (level = PT_DIRECTORY_LEVEL; level <= host_level; ++level)
		if (has_wrprotected_page(vcpu->kvm, large_gfn, level))
			break;
	}

	return level - 1;
}