From owner-freebsd-bugs Tue Nov 11 16:50:07 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id QAA09060 for bugs-outgoing; Tue, 11 Nov 1997 16:50:07 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id QAA09052; Tue, 11 Nov 1997 16:50:03 -0800 (PST) (envelope-from gnats) Date: Tue, 11 Nov 1997 16:50:03 -0800 (PST) Message-Id: <199711120050.QAA09052@hub.freebsd.org> To: freebsd-bugs Cc: From: Bruce Evans Subject: Re: kern/5011: rndcontrol -s 8 causes kernel panic Reply-To: Bruce Evans Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk The following reply was made to PR kern/5011; it has been noted by GNATS. From: Bruce Evans To: freebsd-gnats-submit@FreeBSD.ORG, jt@nanoteq.com Cc: Subject: Re: kern/5011: rndcontrol -s 8 causes kernel panic Date: Wed, 12 Nov 1997 11:38:18 +1100 >>Description: >If interrupt 8 is enabled for random information collection, >the kernel panics. This is because add_interrupt_randomness() calls statclock() with an invalid frame. This confuses statclock() about the whether the call came from user mode, and it sometimes follows a null curproc pointer. Other C-level interrupt handlers that are passed a frame (i.e., the ones for clk0 and npx0) have the same problem. Quick fix: In add_interrupt_randomness(), pass (void *)&irq instead of sec_intr_handler[irq] to the interrupt handlers that want a frame pointer. Bruce