When dev_hdr->dev_num is greater one, the initialization of last_addr is wrong. Fix it. Fixes: f83cd16 ("kvm tools: irq: replace the x86 irq rbtree with the PCI device tree") Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> --- x86/mptable.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x86/mptable.c b/x86/mptable.c index a984de9..f13cf0f 100644 --- a/x86/mptable.c +++ b/x86/mptable.c @@ -184,7 +184,7 @@ int mptable__init(struct kvm *kvm) mpc_intsrc = last_addr; mptable_add_irq_src(mpc_intsrc, pcibusid, srcbusirq, ioapicid, pci_hdr->irq_line); - last_addr = (void *)&mpc_intsrc[dev_hdr->dev_num]; + last_addr = (void *)&mpc_intsrc[1]; nentries++; dev_hdr = device__next_dev(dev_hdr); } -- 2.11.0