Commit 9bce50b
Gavin Shan
KVM: arm64: Unmap vLPIs affected by changes to GSI routing information
JIRA: https://issues.redhat.com/browse/RHEL-93666
KVM's interrupt infrastructure is dodgy at best, allowing for some ugly
'off label' usage of the various UAPIs. In one example, userspace can
change the routing entry of a particular "GSI" after configuring
irqbypass with KVM_IRQFD. KVM/arm64 is oblivious to this, and winds up
preserving the stale translation in cases where vLPIs are configured.
Honor userspace's intentions and tear down the vLPI mapping if affected
by a "GSI" routing change. Make no attempt to reconstruct vLPIs if the
new target is an MSI and just fall back to software injection.
Tested-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250523194722.4066715-5-oliver.upton@linux.dev
Signed-off-by: Marc Zyngier <maz@kernel.org>
(cherry picked from commit 4bf3693)
Signed-off-by: Gavin Shan <gshan@redhat.com>1 parent 5c929e4 commit 9bce50b
1 file changed
+23
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2741 | 2741 | | |
2742 | 2742 | | |
2743 | 2743 | | |
| 2744 | + | |
2744 | 2745 | | |
2745 | 2746 | | |
2746 | 2747 | | |
| |||
2754 | 2755 | | |
2755 | 2756 | | |
2756 | 2757 | | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
| 2771 | + | |
| 2772 | + | |
| 2773 | + | |
| 2774 | + | |
| 2775 | + | |
| 2776 | + | |
| 2777 | + | |
| 2778 | + | |
| 2779 | + | |
2757 | 2780 | | |
2758 | 2781 | | |
2759 | 2782 | | |
| |||
0 commit comments