Thread (8 messages) flat view 8 messages, 3 authors, 2012-06-21

Re: Possible deadlock in ipv6?

From: Eric Dumazet <hidden>
Date: 2012-06-12 09:09:49
Subsystem: networking [general], the rest · Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

On Mon, 2012-06-11 at 23:54 -0700, David Miller wrote:
From: Eric Dumazet <redacted>
Date: Wed, 06 Jun 2012 17:58:34 +0200
quoted
And it seems this neigh_down() can be removed, its called later
(after dev->ip6_ptr is cleared)
It is unclear whether we need to do the the neigh_down() in both
the 'how' and '!how' cases.  If so then we can't make this change.
Hmm...

Is it expected we send traffic on device dismantle ?

If no, we could do :
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index d81d026..16e0ddb 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -681,8 +681,6 @@ static int pneigh_ifdown(struct neigh_table *tbl, struct net_device *dev)
 		while ((n = *np) != NULL) {
 			if (!dev || n->dev == dev) {
 				*np = n->next;
-				if (tbl->pdestructor)
-					tbl->pdestructor(n);
 				if (n->dev)
 					dev_put(n->dev);
 				release_net(pneigh_net(n));
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help