projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4b85c92
)
KVM: MMU: shadow nested paging does not have PKU
author
Paolo Bonzini
<pbonzini@redhat.com>
Mon, 22 Nov 2021 18:01:37 +0000
(13:01 -0500)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Tue, 30 Nov 2021 08:09:26 +0000
(
03:09
-0500)
Initialize the mask for PKU permissions as if CR4.PKE=0, avoiding
incorrect interpretations of the nested hypervisor's page tables.
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c
patch
|
blob
|
history
diff --git
a/arch/x86/kvm/mmu/mmu.c
b/arch/x86/kvm/mmu/mmu.c
index
1b3a7cc
..
0e017a3
100644
(file)
--- a/
arch/x86/kvm/mmu/mmu.c
+++ b/
arch/x86/kvm/mmu/mmu.c
@@
-4855,7
+4855,7
@@
void kvm_init_shadow_npt_mmu(struct kvm_vcpu *vcpu, unsigned long cr0,
struct kvm_mmu *context = &vcpu->arch.guest_mmu;
struct kvm_mmu_role_regs regs = {
.cr0 = cr0,
- .cr4 = cr4,
+ .cr4 = cr4
& ~X86_CR4_PKE
,
.efer = efer,
};
union kvm_mmu_role new_role;
@@
-4919,7
+4919,7
@@
void kvm_init_shadow_ept_mmu(struct kvm_vcpu *vcpu, bool execonly,
context->direct_map = false;
update_permission_bitmask(context, true);
-
update_pkru_bitmask(context)
;
+
context->pkru_mask = 0
;
reset_rsvds_bits_mask_ept(vcpu, context, execonly);
reset_ept_shadow_zero_bits_mask(vcpu, context, execonly);
}