On Friday 29 June 2018 03:30 PM, Lorenzo Pieralisi wrote: > On Thu, May 31, 2018 at 09:21:48AM +0300, Dan Carpenter wrote: >> We need to use list_for_each_entry_safe() because the >> pci_ep_cfs_remove_epf_group() function frees "group". >> >> Fixes: ef1433f717a2 ("PCI: endpoint: Create configfs entry for each pci_epf_device_id table entry") >> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> >> >> diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c >> index 523a8cab3bfb..bf53fad636a5 100644 >> --- a/drivers/pci/endpoint/pci-epf-core.c >> +++ b/drivers/pci/endpoint/pci-epf-core.c >> @@ -145,10 +145,10 @@ EXPORT_SYMBOL_GPL(pci_epf_alloc_space); >> */ >> void pci_epf_unregister_driver(struct pci_epf_driver *driver) >> { >> - struct config_group *group; >> + struct config_group *group, *tmp; >> >> mutex_lock(&pci_epf_mutex); >> - list_for_each_entry(group, &driver->epf_group, group_entry) >> + list_for_each_entry_safe(group, tmp, &driver->epf_group, group_entry) >> pci_ep_cfs_remove_epf_group(group); >> list_del(&driver->epf_group); >> mutex_unlock(&pci_epf_mutex); > > Kishon, I need your ACK to merge this fix, thanks. Looks correct to me. Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> > > Lorenzo >