On 26/05/20 17:30, Maxim Levitsky wrote: >>> Now the problem is that it is next to impossible to know the source >>> of the VINTR pending flag. Even if we remember that host is currently >>> setup an interrupt window, the guest afterwards could have used >>> EVENTINJ + interrupt disabled nested guest, to raise that flag as >>> well, and might need to know about it. >> Actually it is possible! is_intercept tests L0's VINTR intercept >> (see get_host_vmcb in svm.h), and that will be true if and only if >> we are abusing the V_IRQ/V_INTR_PRIO/V_INTR_VECTOR fields. > Yep. I wasn't aware of logic in svm_check_nested_events. > In fact I think that it was added by the path that I found via bisect, > since which the nesting started to not work well. > > BTW, since nesting is broken with that #DE on mainline, should we prepare > some patches to -stable to fix that? I think 5.7 is going to remain broken. But for 5.8 we need to fix Hyper-V. Paolo