[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1] x86/vvmx: add hvm_intsrc_vector support to nvmx_intr_intercept()

> From: Sergey Dyasli [mailto:sergey.dyasli@xxxxxxxxxx]
> Sent: Wednesday, September 13, 2017 9:01 PM
> Under the following circumstances:
>     1. L1 doesn't enable PAUSE exiting or PAUSE-loop exiting controls
>     2. L2 executes PAUSE in a loop with RFLAGS.IE == 0
> L1's PV IPI through event channel will never reach the target L1's vCPU
> which runs L2 because nvmx_intr_intercept() doesn't know about
> hvm_intsrc_vector. This leads to infinite L2 loop without nested
> vmexits and can cause L1 to hang.
> The issue is easily reproduced with Qemu/KVM on CentOS-7-1611 as L1
> and an L2 guest with SMP.
> Fix nvmx_intr_intercept() by injecting hvm_intsrc_vector irq into L1
> which will cause nested vmexit.
> Signed-off-by: Sergey Dyasli <sergey.dyasli@xxxxxxxxxx>

Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.