On Fri, Sep 14, 2012 at 6:48 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > Found one system one root bus hot remove get panic. > Panic happens when try to release hostbridge resource. > > It turns out that resource get reject during put into resource tree > because of conflicts. > Also that resource parent pointer have random value. > > That invalid value cause it pass through check __release_pci_root_info > and panic in release_resource. > > Try to use kzalloc instead. Don't we need the same fix for ia64 in pci_acpi_scan_root()? Here's what it does: if (windows) { controller->window = kmalloc_node(sizeof(*controller->window) * windows, GFP_KERNEL, controller->node); > Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> > Cc: x86@xxxxxxxxxx > > --- > arch/x86/pci/acpi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > Index: linux-2.6/arch/x86/pci/acpi.c > =================================================================== > --- linux-2.6.orig/arch/x86/pci/acpi.c > +++ linux-2.6/arch/x86/pci/acpi.c > @@ -305,7 +305,6 @@ setup_resource(struct acpi_resource *acp > res->flags = flags; > res->start = start; > res->end = end; > - res->child = NULL; > > if (!pci_use_crs) { > dev_printk(KERN_DEBUG, &info->bridge->dev, > @@ -434,7 +433,7 @@ probe_pci_root_info(struct pci_root_info > > size = sizeof(*info->res) * info->res_num; > info->res_num = 0; > - info->res = kmalloc(size, GFP_KERNEL); > + info->res = kzalloc(size, GFP_KERNEL); > if (!info->res) > return; > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html