diff options
author | Christoffer Dall <cdall@linaro.org> | 2017-05-16 12:41:18 +0200 |
---|---|---|
committer | Christoffer Dall <cdall@linaro.org> | 2017-06-08 17:58:40 +0200 |
commit | cb3f0ad881a6cee39c6a652b4aa4f12f341d98f0 (patch) | |
tree | 60f64d85991db922057cdb48eb25969abda00b27 /virt/kvm/arm/pmu.c | |
parent | abcb851daa617706e90ee7d39d4d9a74ac05f4b1 (diff) | |
download | linux-cb3f0ad881a6cee39c6a652b4aa4f12f341d98f0.tar.gz linux-cb3f0ad881a6cee39c6a652b4aa4f12f341d98f0.tar.bz2 linux-cb3f0ad881a6cee39c6a652b4aa4f12f341d98f0.zip |
KVM: arm/arm64: Disallow userspace control of in-kernel IRQ lines
When injecting an IRQ to the VGIC, you now have to present an owner
token for that IRQ line to show that you are the owner of that line.
IRQ lines driven from userspace or via an irqfd do not have an owner and
will simply pass a NULL pointer.
Also get rid of the unused kvm_vgic_inject_mapped_irq prototype.
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm/pmu.c')
-rw-r--r-- | virt/kvm/arm/pmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/virt/kvm/arm/pmu.c b/virt/kvm/arm/pmu.c index 3f0866925b6b..9923eb90cdc7 100644 --- a/virt/kvm/arm/pmu.c +++ b/virt/kvm/arm/pmu.c @@ -215,7 +215,8 @@ static void kvm_pmu_check_overflow(struct kvm_vcpu *vcpu) if (likely(irqchip_in_kernel(vcpu->kvm))) { int ret = kvm_vgic_inject_irq(vcpu->kvm, vcpu->vcpu_id, - pmu->irq_num, overflow); + pmu->irq_num, overflow, + &vcpu->arch.pmu); WARN_ON(ret); } } |