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_at_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, OlivierReceived on Sat Jun 14 2003 - 05:56:39 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:11 UTC