Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Jun 2002 16:26:52 -0400
From:      Don Bowman <don@sandvine.com>
To:        'Jonathan Lemon' <jlemon@flugsvamp.com>, stable@freebsd.org
Subject:   RE: panic in 4.6 with knote_enqueue from kill
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337676636@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
Jonathan Lemon wrote:
> In article 
> <local.mail.freebsd-stable/FE045D4D9F7AED4CBFF1B3B813C85337676
> 60F@mail.sandvine.com> you write:
> >I have a system panic occuring with FreeBSD 4.6. The stack 
> trace is below...

 ...

> 
> The assumption made when calling knote() is that we are already at the
> correct spl level associated with a particular knote list, so 
> no locking
> should be required.  It appears that this isn't true for psignal(), it
> can be called either from a syscall, or from an interrupt.
> 
> My guess is that in the call chain above, after checking the kn_status
> in KNOTE_ACTIVATE(), but before reaching splhigh() in 
> knote_enqueue, an
> interrupt occurs which causes psignal() to be called again, and queues
> the knote for retrieval.  This causes the assertion to be triggered.
> 
> Try the patch below. 

 ...

This appears to fix the problem (at least, the panic hasn't occurred
since, and its been twice the previous 'normal' period). I suggest
checking it in.

--don

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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