tcp_syncache.hashbase should be zero cleared before calling mtx_init()

Andre Oppermann andre at freebsd.org
Tue Jun 20 08:12:37 UTC 2006


YAMAMOTO Shigeru wrote:
> 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?

Yes.  I committed your fix in rev. 1.93 of tcp_syncache.c.

Thanks
-- 
Andre


> Thanks,
> -------
> YAMAMOTO Shigeru	<shigeru at iij.ad.jp>
> 
> P.S.
> currently, I'm using following local patch.
> 
> 
> ------------------------------------------------------------------------
> 
> 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++) {
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"



More information about the freebsd-current mailing list