[PATCH] [NET] NEIGHBOUR: hold refcnt of net_device from proxy neighbor entries.

STALE7977d

2 messages, 2 authors, 2004-10-01 · open the first message on its own page

[PATCH] [NET] NEIGHBOUR: hold refcnt of net_device from proxy neighbor entries.

From: YOSHIFUJI Hideaki / 吉藤英明 <hidden>
Date: 2004-09-30 08:07:29

Hello.

[NET] NEIGHBOUR: hold refcnt of net_device from proxy neighbor entries.
 
We did not hold refcnt of net_device from proxy neighbor entries
while we did from neighbor entries.
 
Signed-off-by: Hideaki YOSHIFUJI <redacted>

Thanks.

diff -Nru a/net/core/neighbour.c b/net/core/neighbour.c
--- a/net/core/neighbour.c	2004-09-30 16:32:24 +09:00
+++ b/net/core/neighbour.c	2004-09-30 16:32:24 +09:00
@@ -496,8 +496,12 @@
 
 	memcpy(n->key, pkey, key_len);
 	n->dev = dev;
+	if (dev)
+		dev_hold(dev);
 
 	if (tbl->pconstructor && tbl->pconstructor(n)) {
+		if (dev)
+			dev_put(dev);
 		kfree(n);
 		n = NULL;
 		goto out;
@@ -532,6 +536,8 @@
 			write_unlock_bh(&tbl->lock);
 			if (tbl->pdestructor)
 				tbl->pdestructor(n);
+			if (n->dev)
+				dev_put(n->dev);
 			kfree(n);
 			return 0;
 		}
@@ -552,6 +558,8 @@
 				*np = n->next;
 				if (tbl->pdestructor)
 					tbl->pdestructor(n);
+				if (n->dev)
+					dev_put(n->dev);
 				kfree(n);
 				continue;
 			}


-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

Re: [PATCH] [NET] NEIGHBOUR: hold refcnt of net_device from proxy neighbor entries.

From: "David S. Miller" <davem@davemloft.net>
Date: 2004-10-01 22:17:32

On Thu, 30 Sep 2004 17:07:29 +0900 (JST)
YOSHIFUJI Hideaki / $B5HF#1QL@(B [off-list ref] wrote:
[NET] NEIGHBOUR: hold refcnt of net_device from proxy neighbor entries.
 
We did not hold refcnt of net_device from proxy neighbor entries
while we did from neighbor entries.
 
Signed-off-by: Hideaki YOSHIFUJI <redacted>
Applied, thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help