On Wed, Sep 19, 2012 at 10:49:00AM -0700, Yinghai Lu wrote: > Found one system one root bus hot remove get panic. Boy, this is mangled. Can you include the name of the system? Perhaps you can rephrase this to say: "On XYZ removing the root bus (through ACPI unplug) causes a panic." > Panic happens when try to release hostbridge resource. Can you include the stack trace? > > It turns out that resource get reject during put into resource tree > because of conflicts. Come again? Are you saying: "The reason for this is that the resources was never initialized properly because of .. (what type of conflict?)"? > 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. It is not just try, it _is_ using that now. > > 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-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- 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