Re: [PATCH 1/6] kvm: pass error code to handler

From: Avi Kivity
Date: Sun Jul 18 2010 - 10:04:58 EST


On 07/16/2010 05:12 AM, Lai Jiangshan wrote:
handle_ept_violation() does not pass error code to
the handler tdp_page_fault().

It means tdp_page_fault() handles the page fault with ignoring
the error code, It will not handle the page fault completely correctly,
and may causes endless page fault.


Please describe the fail scenario more accurately in the change log?

Can it happen now, or only with the next patches in the series?

@@ -3521,7 +3521,8 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)

gpa = vmcs_read64(GUEST_PHYSICAL_ADDRESS);
trace_kvm_page_fault(gpa, exit_qualification);
- return kvm_mmu_page_fault(vcpu, gpa& PAGE_MASK, 0);
+ return kvm_mmu_page_fault(vcpu, gpa& PAGE_MASK,
+ exit_qualification& 0x2);
}


Symbolic constant please.

I don't really like how kvm_mmu_page_fault() is overloaded, for !tdp the parameter is a gva, for tdp it is a gpa. We need to break it into two (but later).

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/