KVM: nEPT: reset PDPTR register cache on nested vmentry emulation
After nested vmentry stale cache can be used to reload L2 PDPTR pointers which will cause L2 guest to fail. Fix it by invalidating cache on nested vmentry emulation. https://bugzilla.kernel.org/show_bug.cgi?id=60830 Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
					parent
					
						
							
								ba6a354154
							
						
					
				
			
			
				commit
				
					
						72f857950f
					
				
			
		
					 1 changed files with 4 additions and 0 deletions
				
			
		|  | @ -7766,6 +7766,10 @@ static void prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) | |||
| 		vmcs_write64(GUEST_PDPTR1, vmcs12->guest_pdptr1); | ||||
| 		vmcs_write64(GUEST_PDPTR2, vmcs12->guest_pdptr2); | ||||
| 		vmcs_write64(GUEST_PDPTR3, vmcs12->guest_pdptr3); | ||||
| 		__clear_bit(VCPU_EXREG_PDPTR, | ||||
| 				(unsigned long *)&vcpu->arch.regs_avail); | ||||
| 		__clear_bit(VCPU_EXREG_PDPTR, | ||||
| 				(unsigned long *)&vcpu->arch.regs_dirty); | ||||
| 	} | ||||
| 
 | ||||
| 	kvm_register_write(vcpu, VCPU_REGS_RSP, vmcs12->guest_rsp); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Gleb Natapov
				Gleb Natapov