On Mon, 19 Mar 2007, Guennadi Liakhovetski wrote:
On Fri, 16 Mar 2007, David Miller wrote:
There is an SKB leak somewhere, and that leaked SKB has references to
a route, that's what that message usually means.
Do you have an idea how to debug this? I tried just replacing all
(dev_)alloc_skb and (dev_)kfree_skb in net/irda and drivers/net/irda, and I
get for each skb address more free than alloc calls...
I wrote a small hashing debugger - from __aloc_skb I store the new skb on
a hash, from __kfree_skb I remove it from it. The first strange thing that
occurred to me is that __kfree_skb is very often called on already freed
skbs. Is it normal? It seems strange as trying to free memory that you no
longer own can free a newly allocated object at that address.
As for the original problem, looks like the packets that get leaked are
from af_irda.c::irda_sendmsg(). Any ideas where and when these skbs should
be freed?
Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany
-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html