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

Commit 07f42f5f authored by Gleb Natapov's avatar Gleb Natapov
Browse files

KVM: VMX: cleanup rmode_segment_valid()



Set segment fields explicitly instead of using  binary operations.

No behaviour changes.

Reviewed-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: default avatarGleb Natapov <gleb@redhat.com>
parent 116c14c0
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3380,13 +3380,16 @@ static bool rmode_segment_valid(struct kvm_vcpu *vcpu, int seg)
	u32 ar;

	vmx_get_segment(vcpu, &var, seg);
	var.dpl = 0x3;
	var.g = 0;
	var.db = 0;
	ar = vmx_segment_access_rights(&var);

	if (var.base != (var.selector << 4))
		return false;
	if (var.limit < 0xffff)
		return false;
	if (((ar | (3 << AR_DPL_SHIFT)) & ~(AR_G_MASK | AR_DB_MASK)) != 0xf3)
	if (ar != 0xf3)
		return false;

	return true;