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

Commit 41d6af11 authored by Amit Shah's avatar Amit Shah Committed by Avi Kivity
Browse files

KVM: is_long_mode() should check for EFER.LMA



is_long_mode currently checks the LongModeEnable bit in
EFER instead of the LongModeActive bit. This is wrong, but
we survived this till now since it wasn't triggered. This
breaks guests that go from long mode to compatibility mode.

This is noticed on a solaris guest and fixes bug #1842160

Signed-off-by: default avatarAmit Shah <amit.shah@qumranet.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 401d10de
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ static inline int kvm_mmu_reload(struct kvm_vcpu *vcpu)
static inline int is_long_mode(struct kvm_vcpu *vcpu)
{
#ifdef CONFIG_X86_64
	return vcpu->arch.shadow_efer & EFER_LME;
	return vcpu->arch.shadow_efer & EFER_LMA;
#else
	return 0;
#endif