diff options
| author | Like Xu <like.xu.linux@gmail.com> | 2026-08-18 19:29:20 +0800 |
|---|---|---|
| committer | Marc Zyngier <maz@kernel.org> | 2026-09-14 13:01:08 +0100 |
| commit | 754c7b7d45074337972c5c3ad76ed9e7b103e5d0 (patch) | |
| tree | bcb725de945ee81458246db785c287fc0a20672b /tools/perf/scripts/python/stackcollapse.py | |
| parent | 2665ac1063e71f23888091a0bdb1b96297bd0370 (diff) | |
KVM: arm64: selftests: Skip sea_to_user when EINJ places no poison
sea_to_user injects a memory UER with EINJ notrigger=1 and expects the
guest to consume it and trap to KVM as an SEA. On some firmware the test
aborts instead:
arm64/sea_to_user.c:223: exit_reason == (41)
Wanted KVM exit reason: 41 (ARM_SEA), got: 6 (MMIO)
notrigger=1 asks firmware to arm the poison without consuming it, but on
these platforms the poison is only armed as part of the trigger step that
notrigger skips, so nothing consumable is left in memory. The guest reads
back the sentinel, no SEA occurs, and GUEST_FAIL fires. On arm64 a ucall
is delivered as an MMIO write, which surfaces as the KVM_EXIT_MMIO above
rather than a KVM bug.
The file already documents that the test must be skipped when firmware
cannot deliver a consumable error. Detect the guest abort that follows a
missing SEA and skip, instead of failing on a firmware limitation the
test cannot control.
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Like Xu <likexu@tencent.com>
Reviewed-by: Jiaqi Yan <jiaqiyan@google.com>
Link: https://patch.msgid.link/20260818112920.26252-4-likexu@tencent.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
