[v2,0/2] KVM: selftests: Detect if KVM bugged the VM

Message ID 20231108010953.560824-1-seanjc@google.com
Headers
Series KVM: selftests: Detect if KVM bugged the VM |

Message

Sean Christopherson Nov. 8, 2023, 1:09 a.m. UTC
  Teach selftests' ioctl() macros to detect and report when an ioctl()
unexpectedly fails because KVM has killed and/or bugged the VM.  Because
selftests does the right thing and tries to gracefully clean up VMs, a
bugged VM can generate confusing errors, e.g. when deleting memslots.

v2:
 - Drop the ARM patch (not worth the churn).
 - Drop macros for ioctls() that return file descriptors.  Looking at this
   with fresh eyes, I agree they do more harm than good. [Oliver]

v1: https://lore.kernel.org/all/20230804004226.1984505-1-seanjc@google.com

Sean Christopherson (2):
  KVM: selftests: Drop the single-underscore ioctl() helpers
  KVM: selftests: Add logic to detect if ioctl() failed because VM was
    killed

 .../selftests/kvm/include/kvm_util_base.h     | 75 ++++++++++++-------
 tools/testing/selftests/kvm/lib/kvm_util.c    |  2 +-
 2 files changed, 51 insertions(+), 26 deletions(-)


base-commit: 45b890f7689eb0aba454fc5831d2d79763781677
  

Comments

Sean Christopherson Nov. 30, 2023, 1:44 a.m. UTC | #1
On Tue, 07 Nov 2023 17:09:51 -0800, Sean Christopherson wrote:
> Teach selftests' ioctl() macros to detect and report when an ioctl()
> unexpectedly fails because KVM has killed and/or bugged the VM.  Because
> selftests does the right thing and tries to gracefully clean up VMs, a
> bugged VM can generate confusing errors, e.g. when deleting memslots.
> 
> v2:
>  - Drop the ARM patch (not worth the churn).
>  - Drop macros for ioctls() that return file descriptors.  Looking at this
>    with fresh eyes, I agree they do more harm than good. [Oliver]
> 
> [...]

Applied to kvm-x86 selftests.

Xiaoyao, I definitely want to continue the conversation on improving the userspace
experience when KVM kills a VM, but I don't see a reason to hold up "fixing" the
selftests.

[1/2] KVM: selftests: Drop the single-underscore ioctl() helpers
      https://github.com/kvm-x86/linux/commit/6542a0036928
[2/2] KVM: selftests: Add logic to detect if ioctl() failed because VM was killed
      https://github.com/kvm-x86/linux/commit/1b78d474ce4e

--
https://github.com/kvm-x86/linux/tree/next