[PATCH 0/2] KVM: SVM improvements around INT3 and NMI

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

 



Two patches that aim at improving some hairy SVM parts: The emulation of
INT3 reinjection on older processors without nRIP support (required for
proper guest debugging) and the infamous NMI handling.

Unfortunately, I do not have test cases for all scenarios involved.
Specifically the exception-during-IRET-from-NMI requires a hand-crafted
test that does not exist yet. However, patch 1 was successfully tested
on a nRIP-capable host by disabling that bit, and patch 2 survived
basic tests, including single-step out of NMI via guest debugging.

If the core idea of patch 2 - interception of all exceptions that the
problematic instruction causes - works, it may also be applied on INT3.
However, I'm reluctant to invest too much effort in this given that the
remaining open issues are very improbable to show up in practice.

Please check sceptically, I surely messed up some corner case.

Jan Kiszka (2):
  KVM: SVM: Emulate nRIP feature when reinjecting INT3
  KVM: SVM: Make stepping out of NMI handlers more robust

 arch/x86/include/asm/kvm_host.h |    3 +
 arch/x86/kvm/svm.c              |  166 ++++++++++++++++++++++++++++----------
 2 files changed, 125 insertions(+), 44 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux