From owner-freebsd-stable Sat Jun 29 13:27: 7 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6A6E537B401 for ; Sat, 29 Jun 2002 13:27:02 -0700 (PDT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id C964343E09 for ; Sat, 29 Jun 2002 13:27:01 -0700 (PDT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2653.19) id ; Sat, 29 Jun 2002 16:27:00 -0400 Message-ID: From: Don Bowman To: 'Jonathan Lemon' , stable@freebsd.org Subject: RE: panic in 4.6 with knote_enqueue from kill Date: Sat, 29 Jun 2002 16:26:52 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Jonathan Lemon wrote: > In article > 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