Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jun 2003 16:55:13 +0200
From:      Olivier Houchard <cognet@ci0.org>
To:        Maxime Henrion <mux@freebsd.org>
Cc:        Jason Dambrosio <jason@wiz.cx>
Subject:   Re: 5.1-RELEASE panic, trace included
Message-ID:  <20030614145513.GA13130@ci0.org>
In-Reply-To: <20030614143628.GP21011@elvis.mu.org>
References:  <14937.24.25.227.132.1055546004.squirrel@webmail.tekgenesis.net> <Pine.NEB.3.96L.1030614022738.77989B-100000@fledge.watson.org> <20030614143520.GB38547@garage.freebsd.pl> <20030614143628.GP21011@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 14, 2003 at 04:36:28PM +0200, Maxime Henrion wrote:
> Pawel Jakub Dawidek wrote:
> > On Sat, Jun 14, 2003 at 02:28:33AM -0400, Robert Watson wrote:
> > +> If you have the kernel.debug for this kernel, could you send the gdb -k
> > +> output of: 
> > +> 
> > +> l *in6_pcbbind+0x2a7
> > 
> > I've looked at objdump -d kernel, and it looks like this is somewhere here:
> > 
> > 214:					t = in_pcblookup_local(pcbinfo,
> > 215:						sin.sin_addr, lport,
> > 216:						INPLOOKUP_WILDCARD);
> > 217:					if (t &&
> > 218:					    (so->so_cred->cr_uid !=
> > 219:					     t->inp_socket->so_cred->cr_uid) &&
> > 220:					    (ntohl(t->inp_laddr.s_addr) !=
> > 221:					     INADDR_ANY ||
> > 222:					     INP_SOCKAF(so) ==
> > 223:					     INP_SOCKAF(t->inp_socket)))
> > 224:						return (EADDRINUSE);
> > 
> > We're talking about this line:
> > 
> > 	test	%eax,%eax
> > 	je	c03ac9c7 <in6_pcbbind+0x2e7>
> > 	mov	0x64(%eax),%eax
> > 	mov	%eax,0xffffffd0(%ebp)
> > =>	mov	0xc4(%eax),%edx
> > 	mov	0xc4(%esi),%eax
> > 	mov	0x4(%eax),%eax
> > 	cmp	0x4(%edx),%eax
> > 	je	c03ac9c7 <in6_pcbbind+0x2e7>
> > 
> > We're loading inp_socket->so_cred to edx here.
> > So it looks like inp_socket is NULL. Hmm, it is possible?
> 
> Yes, since jlemon's reduced TCP state work.  Olivier
> (cognet@FreeBSD.org) has a fix for this, so I added him to the Cc: line.

Hi,

I believe this patch :
http://people.FreeBSD.org/~cognet/in6_pcb.c.diff fixes this issue.
Unfortunately, I haven't been able to get it properly reviewed before
5.1-RELEASE.

Cheers,

Olivier



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030614145513.GA13130>