panic: mutex inp not owned at /usr/src/sys/netinet/tcp_output.c:140

Robert Watson rwatson at FreeBSD.org
Thu Aug 5 08:01:39 PDT 2004


On Thu, 5 Aug 2004, Jun Kuriyama wrote:

> At Thu, 5 Aug 2004 09:43:41 -0400 (EDT),
> Robert Watson wrote:
> > Could you try the attached patch?  This modifies the IPv6 code to match
> > the IPv4 code in passing in the "inpcbinfo" reference for a protocol,
> > rather than just its inpcb list.  This allows in6_pcbnotify() to lock the
> > structure before walking it.  It also acquires the per-pcb locks before
> > notifying each pcb of an event.
> 
> Can I have more patch?

==== //depot/user/rwatson/netperf/sys/netinet/tcp_subr.c#17 - /home/rwatson/p4/rwatson_netperf/sys/netinet/tcp_subr.c ====
@@ -1236,7 +1236,7 @@
 		bzero(&th, sizeof(th));
 		m_copydata(m, off, sizeof(*thp), (caddr_t)&th);
 
-		in6_pcbnotify(&tcb, sa, th.th_dport,
+		in6_pcbnotify(&tcbinfo, sa, th.th_dport,
 		    (struct sockaddr *)ip6cp->ip6c_src,
 		    th.th_sport, cmd, NULL, notify);
 
@@ -1247,7 +1247,7 @@
 		inc.inc_isipv6 = 1;
 		syncache_unreach(&inc, &th);
 	} else
-		in6_pcbnotify(&tcb, sa, 0, (const struct sockaddr *)sa6_src,
+		in6_pcbnotify(&tcbinfo, sa, 0, (const struct sockaddr *)sa6_src,
 			      0, cmd, NULL, notify);
 }
 #endif /* INET6 */



More information about the freebsd-current mailing list