Exposing the on-stack error code with internal error is cheap and
potentially useful.
Signed-off-by: Radim Krčmář <[email protected]>
---
arch/x86/kvm/vmx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 0caaf56eb459..cfbd737afcd1 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -5089,9 +5089,10 @@ static int handle_exception(struct kvm_vcpu *vcpu)
!(is_page_fault(intr_info) && !(error_code & PFERR_RSVD_MASK))) {
vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_SIMUL_EX;
- vcpu->run->internal.ndata = 2;
+ vcpu->run->internal.ndata = 3;
vcpu->run->internal.data[0] = vect_info;
vcpu->run->internal.data[1] = intr_info;
+ vcpu->run->internal.data[2] = error_code;
return 0;
}
--
2.3.4
On 02/04/2015 21:11, Radim Krčmář wrote:
> Exposing the on-stack error code with internal error is cheap and
> potentially useful.
>
> Signed-off-by: Radim Krčmář <[email protected]>
> ---
> arch/x86/kvm/vmx.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 0caaf56eb459..cfbd737afcd1 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -5089,9 +5089,10 @@ static int handle_exception(struct kvm_vcpu *vcpu)
> !(is_page_fault(intr_info) && !(error_code & PFERR_RSVD_MASK))) {
> vcpu->run->exit_reason = KVM_EXIT_INTERNAL_ERROR;
> vcpu->run->internal.suberror = KVM_INTERNAL_ERROR_SIMUL_EX;
> - vcpu->run->internal.ndata = 2;
> + vcpu->run->internal.ndata = 3;
> vcpu->run->internal.data[0] = vect_info;
> vcpu->run->internal.data[1] = intr_info;
> + vcpu->run->internal.data[2] = error_code;
> return 0;
> }
>
>
Applied, thanks.
Paolo