summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2025-12-05 16:43:04 -0800
committerSean Christopherson <seanjc@google.com>2026-01-12 09:31:37 -0800
commit37187992dd821e0283da3f7664ef3d6ab4220ef8 (patch)
treef64b0440c90c42f5b6ee56fc524dd9b823857af3 /tools/perf/scripts/python
parenta4978324e4bd80427313e0baa16e53709e14d878 (diff)
downloadlinux-37187992dd821e0283da3f7664ef3d6ab4220ef8.tar.gz
linux-37187992dd821e0283da3f7664ef3d6ab4220ef8.zip
KVM: x86: Drop guest/user-triggerable asserts on IRR/ISR vectors
Remove the ASSERT()s in apic_find_highest_i{r,s}r() that exist to detect illegal vectors (0-15 are reserved and never recognized by the local APIC), as the asserts, if they were ever to be enabled by #defining DEBUG, can be trivially triggered from both the guest and from userspace, and ultimately because the ASSERT()s are useless. In large part due to lack of emulation for the Error Status Register and its "delayed" read semantics, KVM doesn't filter out bad IRQs (IPIs or otherwise) when IRQs are sent or received. Instead, probably by dumb luck on KVM's part, KVM effectively ignores pending illegal vectors in the IRR due vector 0-15 having priority '0', and thus never being higher priority than PPR. As for ISR, a misbehaving userspace could stuff illegal vector bits, but again the end result is mostly benign (aside from userspace likely breaking the VM), as processing illegal vectors "works" and doesn't cause functional problems. Regardless of the safety and correctness of KVM's illegal vector handling, one thing is for certain: the ASSERT()s have done absolutely nothing to help detect such issues since they were added 18+ years ago by commit 97222cc83163 ("KVM: Emulate local APIC in kernel"). For all intents and purposes, no functional change intended. Link: https://patch.msgid.link/20251206004311.479939-3-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions