On 08/16/2009 08:51 PM, Mohammed Gamal wrote:
+static void emulate_push_sreg(struct x86_emulate_ctxt *ctxt, int seg) +{ + struct decode_cache *c =&ctxt->decode; + struct kvm_segment segment; + kvm_x86_ops->get_segment(ctxt->vcpu,&segment, seg); + c->src.ptr = (unsigned long *)&segment.selector; + emulate_push(ctxt); +}
This will pick up random junk from segment.type if used in 32-bit mode, since segment.selector is only 16 bits wide.
btw, I see that emulate_push() uses src.val, not src.ptr. Have you tested this?
-- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html