[openib-general] Re: [PATCH]Repost: IPoIB skb panic

Roland Dreier rdreier at cisco.com
Fri Jun 2 18:11:57 PDT 2006


 > The skb has only one prev, one next pointers, it can only be on one list
 > at a time. How could skb go on two lists at once?

Good question.  Actually I was wrong about understanding things
before.  I don't see any way that path_free() and unicast_arp_send()
can be operating on the same struct ipoib_path at the same time.  And
I don't see how unicast_arp_send() could be handling the an skb that's
already queued in a path's queue.

path_free() only gets called from ipoib_flush_paths() after the path
has been removed from the list of paths and the rb_tree of paths (both
protected by priv->lock), so unicast_arp_send() wouldn't find the path
to queue an skb.  And ipoib_flush_paths() can't find a new path
created by unicast_arp_send().

Obviously I'm missing something but I still don't see the real cause
of your crash.

 - R.



More information about the general mailing list