tcp_syncache.hashbase should be zero cleared before calling
mtx_init()
YAMAMOTO Shigeru
shigeru at iij.ad.jp
Tue Jun 20 00:55:43 UTC 2006
Hi, all,
When I testing -current, my pc panic at booting time.
Message is 'lock "tcp_sc_head" XXXX already initialized'.
So, I read @src/sys/netinet/tcp_syncache.c.
It seems me that 'tcp_syncache.hashbase' should be zero cleared before
calling,
289 mtx_init(&tcp_syncache.hashbase[i].sch_mtx, "tcp_sc_head
289 ",
290 NULL, MTX_DEF);
Is it right?
Thanks,
-------
YAMAMOTO Shigeru <shigeru at iij.ad.jp>
P.S.
currently, I'm using following local patch.
-------------- next part --------------
Index: sys/netinet/tcp_syncache.c
===================================================================
RCS file: /share/cvsup/FreeBSD/current/usr/src/sys/netinet/tcp_syncache.c,v
retrieving revision 1.92
diff -u -r1.92 tcp_syncache.c
--- sys/netinet/tcp_syncache.c 18 Jun 2006 13:03:42 -0000 1.92
+++ sys/netinet/tcp_syncache.c 19 Jun 2006 03:01:00 -0000
@@ -281,7 +281,7 @@
/* Allocate the hash table. */
MALLOC(tcp_syncache.hashbase, struct syncache_head *,
tcp_syncache.hashsize * sizeof(struct syncache_head),
- M_SYNCACHE, M_WAITOK);
+ M_SYNCACHE, M_WAITOK | M_ZERO);
/* Initialize the hash buckets. */
for (i = 0; i < tcp_syncache.hashsize; i++) {
More information about the freebsd-current
mailing list