Re: Oops at __neigh_for_each_release (2.6.9-rc3)

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

Re: Oops at __neigh_for_each_release (2.6.9-rc3)

From: "David S. Miller" <davem@davemloft.net>
Date: 2004-10-01 21:19:28

On Fri, 1 Oct 2004 22:17:35 +0200
Duncan Sands [off-list ref] wrote:
EIP is at __neigh_for_each_release+0x32/0xb0
Give this patch a try.  And please report networking bugs
to netdev@oss.sgi.com in the future, thanks.

===== net/atm/clip.c 1.42 vs edited =====
--- 1.42/net/atm/clip.c	2004-09-23 18:02:32 -07:00
+++ edited/net/atm/clip.c	2004-10-01 13:35:40 -07:00
@@ -984,19 +984,7 @@
 
 static int __init atm_clip_init(void)
 {
-	/* we should use neigh_table_init() */
-	clip_tbl.lock = RW_LOCK_UNLOCKED;
-	clip_tbl.kmem_cachep = kmem_cache_create(clip_tbl.id,
-	    clip_tbl.entry_size, 0, SLAB_HWCACHE_ALIGN, NULL, NULL);
-
-	if (!clip_tbl.kmem_cachep)
-		return -ENOMEM;
-
-	/* so neigh_ifdown() doesn't complain */
-	clip_tbl.proxy_timer.data = 0;
-	clip_tbl.proxy_timer.function = NULL;
-	init_timer(&clip_tbl.proxy_timer);
-	skb_queue_head_init(&clip_tbl.proxy_queue);
+	neigh_table_init(&clip_tbl);
 
 	clip_tbl_hook = &clip_tbl;
 	register_atm_ioctl(&clip_ioctl_ops);
@@ -1022,7 +1010,6 @@
 
 	deregister_atm_ioctl(&clip_ioctl_ops);
 
-	neigh_ifdown(&clip_tbl, NULL);
 	dev = clip_devs;
 	while (dev) {
 		next = PRIV(dev)->next;
@@ -1030,9 +1017,11 @@
 		free_netdev(dev);
 		dev = next;
 	}
-	if (start_timer == 0) del_timer(&idle_timer);
 
-	kmem_cache_destroy(clip_tbl.kmem_cachep);
+	neigh_table_clear(&clip_tbl);
+
+	if (start_timer == 0)
+		del_timer(&idle_timer);
 
 	clip_tbl_hook = NULL;
 }

Re: Oops at __neigh_for_each_release (2.6.9-rc3)

From: Duncan Sands <hidden>
Date: 2004-10-02 08:17:28

quoted
EIP is at __neigh_for_each_release+0x32/0xb0
Give this patch a try.  And please report networking bugs
to netdev@oss.sgi.com in the future, thanks.
OK, will do.  I tested the patch Linus committed - it indeed fixes
the oops.

Thanks a lot!

Duncan.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help