mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-04 08:34:47 +10:00 
			
		
		
		
	KVM: Fix removal of nx capability from guest cpuid
Testing the wrong bit caused kvm not to disable nx on the guest when it is disabled on the host (an mmu optimization relies on the nx bits being the same in the guest and host). This allows Windows to boot when nx is disabled on te host (e.g. when host pae is disabled). Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
		
							parent
							
								
									7cfa4b0a43
								
							
						
					
					
						commit
						4c981b43d7
					
				@ -2432,9 +2432,9 @@ static void cpuid_fix_nx_cap(struct kvm_vcpu *vcpu)
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (entry && (entry->edx & EFER_NX) && !(efer & EFER_NX)) {
 | 
			
		||||
	if (entry && (entry->edx & (1 << 20)) && !(efer & EFER_NX)) {
 | 
			
		||||
		entry->edx &= ~(1 << 20);
 | 
			
		||||
		printk(KERN_INFO ": guest NX capability removed\n");
 | 
			
		||||
		printk(KERN_INFO "kvm: guest NX capability removed\n");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user