[Bug Report] external_aborts failure related to efa1368ba9f4 ("KVM: arm64: Commit exceptions from KVM_SET_VCPU_EVENTS immediately")

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

 



Hi Oliver,

I was doing some SEA injection dev work and found
tools/testing/selftests/kvm/arm64/external_aborts.c is failing at the
head of my locally-tracked kvmarm/next, commit 811ec70dcf9cc ("Merge
branch 'kvm-arm64/config-masks' into kvmarm/next"):

vobeb33:/export/hda3/tmp/yjq# ./external_aborts
Random seed: 0x6b8b4567
test_mmio_abort <= fail
==== Test Assertion Failure ====
  arm64/external_aborts.c:19: regs->pc == expected_abort_pc
  pid=25675 tid=25675 errno=4 - Interrupted system call
  (stack trace empty)
  0x0 != 0x21ed20 (regs->pc != expected_abort_pc)
vobeb33:/export/hda3/tmp/yjq#
vobeb33:/export/hda3/tmp/yjq#
vobeb33:/export/hda3/tmp/yjq# ./external_aborts
Random seed: 0x6b8b4567
test_mmio_nisv       <= pass
test_mmio_nisv_abort <=fail
==== Test Assertion Failure ====
  arm64/external_aborts.c:19: regs->pc == expected_abort_pc
  pid=26153 tid=26153 errno=4 - Interrupted system call
  (stack trace empty)
  0x0 != 0x21eb18 (regs->pc != expected_abort_pc)

It looks like the PC in the guest register is lost / polluted. I only
tested test_mmio_abort (fail), test_mmio_nisv (pass), and
test_mmio_nisv_abort (fail), but from reading the code of
test_mmio_nisv vs test_mmio_nisv_abort, I guess test failure is
probably due to some bug in the code kvm injects SEA into guest.

If I revert a single commit efa1368ba9f4 ("KVM: arm64: Commit
exceptions from KVM_SET_VCPU_EVENTS immediately"), all tests in
tools/testing/selftests/kvm/arm64/external_aborts.c pass. I have not
yet figured out the bug tho. Want to report since you are the author
maybe you can (or already) spot something.

Thanks,

Jiaqi




[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