Quoting r. Shirley Ma <[EMAIL PROTECTED]>: > Subject: Re: Re: [PATCH RESEND] net: Move destructor from?neigh->ops to > neigh_params > > > Hi, Michael, > > What's the current status of this patch? > > I kept hitting the panic when bring the interface up and down. I went through > the neighbour and ipoib_neigh code. I think it's not necessary to patch > net/core/neighbour. > > The reason we hit this problem is neighbour won't have a pointer to > ipoib_neigh if path_free() or mcast_free() being called by the time neighbour > has been freed. (ipoib_neigh always has a pointer to a neighbour). > > If neigh_destructor() gets called in this context, in > ipoib_neigh_destructor() if ipoib_neigh is NULL it does nothing. So removing > neigh->neighbour->ops->destructor = NULL in kfree(neigh) is sufficient to fix > this problem. How do you think? > > Here is the patch I used for testing.
With this approach you'll get crashes when the module will get unloaded. Further, we may get called with neighbour that is not related to ipoib at all. Shirley, please look under https://openib.org/svn/trunk/contrib/mellanox/patches There is a set of various patches for ipoib pending Rolands review there. Most of them fix various hang/oops conditions or packet leaks. An approach to fixing this specific problem that does not involve kernel patches is implemented in patch ipoib_all_neigh_issues_2.patch. I'll be thankful for more testing. -- Michael S. Tsirkin Staff Engineer, Mellanox Technologies _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
