iommu/amd: Return an error if vCPU affinity is set for non-vCPU IRTE

[ Upstream commit 07172206a26dcf3f0bf7c3ecaadd4242b008ea54 ]

Return -EINVAL instead of success if amd_ir_set_vcpu_affinity() is
invoked without use_vapic; lying to KVM about whether or not the IRTE was
configured to post IRQs is all kinds of bad.

Fixes: d98de49a53 ("iommu/amd: Enable vAPIC interrupt remapping mode by default")
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-ID: <20250404193923.1413163-6-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Sean Christopherson
2025-04-04 12:38:20 -07:00
committed by Greg Kroah-Hartman
parent 1d7c4b2b0b
commit 415f3481ca

View File

@@ -3619,7 +3619,7 @@ static int amd_ir_set_vcpu_affinity(struct irq_data *data, void *vcpu_info)
* we should not modify the IRTE * we should not modify the IRTE
*/ */
if (!dev_data || !dev_data->use_vapic) if (!dev_data || !dev_data->use_vapic)
return 0; return -EINVAL;
ir_data->cfg = irqd_cfg(data); ir_data->cfg = irqd_cfg(data);
pi_data->ir_data = ir_data; pi_data->ir_data = ir_data;