From f7fbf1fdf0d79241f5cc95310b96f0c52452ab39 Mon Sep 17 00:00:00 2001
From: Uri Lublin <uril@qumranet.com>
Date: Wed, 13 Dec 2006 00:34:00 -0800
Subject: [PATCH] [PATCH] KVM: Make the GET_SREGS and SET_SREGS ioctls
 symmetric

This makes the SET_SREGS ioctl behave symmetrically to the GET_SREGS ioctl wrt
the segment access rights flag.

Signed-off-by: Uri Lublin <uril@qumranet.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
 drivers/kvm/vmx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index ad97014aa6eb..fc01c4b08fd5 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -884,6 +884,8 @@ static void vmx_set_segment(struct kvm_vcpu *vcpu,
 		ar |= (var->db & 1) << 14;
 		ar |= (var->g & 1) << 15;
 	}
+	if (ar == 0) /* a 0 value means unusable */
+		ar = AR_UNUSABLE_MASK;
 	vmcs_write32(sf->ar_bytes, ar);
 }