RE: [PATCH v1 13/23] KVM: VMX: Handle VMX nested exception for FRED

From: Li, Xin3
Date: Tue Nov 14 2023 - 22:03:42 EST


> >+ if (idt_vectoring_info & VECTORING_INFO_DELIVER_CODE_MASK)
> >+ kvm_requeue_exception_e(vcpu, vector,
> vmcs_read32(error_code_field),
> >+ idt_vectoring_info &
> INTR_INFO_NESTED_EXCEPTION_MASK);
> >+ else
> >+ kvm_requeue_exception(vcpu, vector,
> >+ idt_vectoring_info &
> INTR_INFO_NESTED_EXCEPTION_MASK);
>
> Exiting-event identification can also have bit 13 set, indicating a nested
> exception encountered and caused VM-exit. when reinjecting the exception to
> guests, kvm needs to set the "nested" bit, right? I suspect some changes
> to e.g., handle_exception_nmi() are needed.

The current patch relies on kvm_multiple_exception() to do that. But TBH,
I'm not sure it can recognize all nested cases. I probably should revisit
it.