Subject: Re: -current panic: tcp_reass_lock
To: Sean Doran <smd@sean.ebone.net>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: current-users
Date: 07/24/1999 21:40:55
On Sun, 25 Jul 1999 05:29:36 +0200 (CEST) 
 Sean Doran <smd@sean.ebone.net> wrote:

 > #10 0xf0162b2d in tcp_input (m=0xf0520808) at ../../../../netinet/tcp_var.h:247
 > #11 0xf015bf96 in ip_input (m=0xf0520808) at ../../../../netinet/ip_input.c:663
 > #12 0xf015ba24 in ipintr () at ../../../../netinet/ip_input.c:334
 > #13 0xf0101d5e in Xsoftnet ()
 > #14 0xf01227ff in pfind (pid=333) at ../../../../kern/kern_proc.c:337
 > #15 0xf012fab2 in selwakeup (sip=0xf0631ddc)
 >     at ../../../../kern/sys_generic.c:982
 > #16 0xf013b3b8 in sowakeup (so=0xf0631d80, sb=0xf0631dc4)
 >     at ../../../../kern/uipc_socket2.c:313
 > #17 0xf0162c13 in tcp_input (m=0xf0520708)
 >     at ../../../../netinet/tcp_input.c:1878

Aha.  Here's the problem.  Sigh, this is related to the proclist locking
stuff I did recently.

The problem here is the blasted call to splsoftclock() is *lowering*
the interrupt level.

Looks like I need to do a s/softclock/statlock/g in my proclist locking
functions; I forgot that pfind() can be called from interrupt context.

Grumble.

I'll cook up a fix soon.

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>