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

Commit a81aba14 authored by Avi Kivity's avatar Avi Kivity Committed by Marcelo Tosatti
Browse files

KVM: VMX: Ignore segment G and D bits when considering whether we can virtualize



We will enter the guest with G and D cleared; as real hardware ignores D in
real mode, and G is taken care of by the limit test, we allow more code to
run in vm86 mode.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
parent ce566803
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3320,7 +3320,7 @@ static bool rmode_segment_valid(struct kvm_vcpu *vcpu, int seg)
		return false;
	if (var.limit < 0xffff)
		return false;
	if ((ar | (3 << AR_DPL_SHIFT)) != 0xf3)
	if (((ar | (3 << AR_DPL_SHIFT)) & ~(AR_G_MASK | AR_DB_MASK)) != 0xf3)
		return false;

	return true;