KVM: irqfd: fix NULL pointer dereference in kvm_irq_map_gsi
[firefly-linux-kernel-4.4.55.git] / virt / kvm / irqchip.c
index f0b08a2a48ba3ff2486dc84180c709d0deacfe55..7d31d8c5b9ea844c089b7267790bdeac9317aa66 100644 (file)
@@ -40,7 +40,7 @@ int kvm_irq_map_gsi(struct kvm *kvm,
 
        irq_rt = srcu_dereference_check(kvm->irq_routing, &kvm->irq_srcu,
                                        lockdep_is_held(&kvm->irq_lock));
-       if (gsi < irq_rt->nr_rt_entries) {
+       if (irq_rt && gsi < irq_rt->nr_rt_entries) {
                hlist_for_each_entry(e, &irq_rt->map[gsi], link) {
                        entries[n] = *e;
                        ++n;