diff options
author | Shannon Zhao <zhaoshenglong@huawei.com> | 2018-05-31 15:16:34 +0800 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-05-31 16:32:35 +0100 |
commit | 2f15b79280cf71b7991dfd3f0312a1797630e376 (patch) | |
tree | f5b645728c9e6e164aaae9ec214222dd3ac54a7b /hw/intc | |
parent | 6e3e723966197463117642d8a5fd7b4f6446e510 (diff) | |
download | qemu-2f15b79280cf71b7991dfd3f0312a1797630e376.zip qemu-2f15b79280cf71b7991dfd3f0312a1797630e376.tar.gz qemu-2f15b79280cf71b7991dfd3f0312a1797630e376.tar.bz2 |
KVM: GIC: Fix memory leak due to calling kvm_init_irq_routing twice
kvm_irqchip_create called by kvm_init will call kvm_init_irq_routing to
initialize global capability variables. If we call kvm_init_irq_routing in
GIC realize function, previous allocated memory will leak.
Fix this by deleting the unnecessary call.
Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 1527750994-14360-1-git-send-email-zhaoshenglong@huawei.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/intc')
-rw-r--r-- | hw/intc/arm_gic_kvm.c | 1 | ||||
-rw-r--r-- | hw/intc/arm_gicv3_kvm.c | 1 |
2 files changed, 0 insertions, 2 deletions
diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c index 6f467e6..204369d 100644 --- a/hw/intc/arm_gic_kvm.c +++ b/hw/intc/arm_gic_kvm.c @@ -572,7 +572,6 @@ static void kvm_arm_gic_realize(DeviceState *dev, Error **errp) if (kvm_has_gsi_routing()) { /* set up irq routing */ - kvm_init_irq_routing(kvm_state); for (i = 0; i < s->num_irq - GIC_INTERNAL; ++i) { kvm_irqchip_add_irq_route(kvm_state, i, 0, i); } diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c index 3536795..0279b86 100644 --- a/hw/intc/arm_gicv3_kvm.c +++ b/hw/intc/arm_gicv3_kvm.c @@ -761,7 +761,6 @@ static void kvm_arm_gicv3_realize(DeviceState *dev, Error **errp) if (kvm_has_gsi_routing()) { /* set up irq routing */ - kvm_init_irq_routing(kvm_state); for (i = 0; i < s->num_irq - GIC_INTERNAL; ++i) { kvm_irqchip_add_irq_route(kvm_state, i, 0, i); } |