Andreas Tanz wrote:
i modded handle_exception as you said :
2711 printk(KERN_ERR "vmx->handle_exception 0f : vcpu->arch.rmode.active: 0x%x\n",vcpu->arch.rmode.active);
2712 int debug_handle_rmode_exception = handle_rmode_exception(vcpu, intr_info & INTR_INFO_VECTOR_MASK, error_code);
2713 printk(KERN_ERR "vmx->handle_exception 10 : handle_rmode_exception(vcpu, intr_info & INTR_INFO_VECTOR_MASK, error_code) returned 0x%x\n", debug_handle_rmode_exception
2714 if (vcpu->arch.rmode.active && debug_handle_rmode_exception) {
This bit is broken. The original code:
if (vcpu->arch.rmode.active &&
handle_rmode_exception(vcpu, intr_info & INTR_INFO_VECTOR_MASK,
error_code)) {
Only executes handle_rmode_exception() if rmode.active is true. Your
code executes it unconditionally.
You can write it as
if (vcpu->arch.rmode.active &&
(retval = handle_rmode_exception(vcpu, intr_info &
INTR_INFO_VECTOR_MASK,
error_code))) {
Please check for other cases as well. As it happens, the guest crashed
immediately after entering protected mode (so rmode.active became false,
triggering the bug).
--
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