Re: [PATCH] PCI: hv: Fix double ida_free in hv_pci_probe error path

Wei Liu
2026-04-04T05:19:20Z

On Sat, Apr 04, 2026 at 08:12:36AM +0530, Manivannan Sadhasivam wrote:
> On Fri, Apr 03, 2026 at 05:09:29AM -0700, Sahil Chandna wrote:
> > If hv_pci_probe() fails after storing the domain number in
> > hbus->bridge->domain_nr, there is a call to free this domain_nr via
> > pci_bus_release_emul_domain_nr(), however, during cleanup, the bridge
> > release callback pci_release_host_bridge_dev() also frees the domain_nr
> > causing ida_free to be called on same ID twice and triggering following
> > warning:
> >
> > ida_free called for id=28971 which is not allocated.
> > WARNING: lib/idr.c:594 at ida_free+0xdf/0x160, CPU#0: kworker/0:2/198
> > Call Trace:
> > pci_bus_release_emul_domain_nr+0x17/0x20
> > pci_release_host_bridge_dev+0x4b/0x60
> > device_release+0x3b/0xa0
> > kobject_put+0x8e/0x220
> > devm_pci_alloc_host_bridge_release+0xe/0x20
> > devres_release_all+0x9a/0xd0
> > device_unbind_cleanup+0x12/0xa0
> > really_probe+0x1c5/0x3f0
> > vmbus_add_channel_work+0x135/0x1a0
> >
> > Fix this by letting pci core handle the free domain_nr and remove
> > the explicit free called in pci-hyperv driver.
> >
> > Fixes: bcce8c74f1ce ("PCI: Enable host bridge emulation for PCI_DOMAINS_GENERIC platforms")
> > Signed-off-by: Sahil Chandna <sahilchandna@linux.microsoft.com>
>
> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
>
> Wei: I see that you've taken previous hyperv patches. So feel free to take this
> one also.

Sure. I will pick this up.

Wei