Date: Tue, 11 Nov 1997 07:13:54 -0800 (PST) From: jt@nanoteq.com To: freebsd-gnats-submit@FreeBSD.ORG Subject: kern/5011: rndcontrol -s 8 causes kernel panic Message-ID: <199711111513.HAA28208@hub.freebsd.org> Resent-Message-ID: <199711111520.HAA28705@hub.freebsd.org>
index | next in thread | raw e-mail
>Number: 5011
>Category: kern
>Synopsis: rndcontrol -s 8 causes kernel panic
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 11 07:20:00 PST 1997
>Last-Modified:
>Originator: Johann Tonsing
>Organization:
Nanoteq
>Release: 2.2.5-STABLE
>Environment:
FreeBSD Amnesiac.Domain 2.2.5-STABLE FreeBSD 2.2.5-STABLE #0: Mon Nov 10 05:21:1
4 SAT 1997 root@zibbi.mikom.csir.co.za:/ns/dist/src/kernel/sys/compile/NSR
i386
>Description:
If interrupt 8 is enabled for random information collection,
the kernel panics.
Admittedly this is a silly thing to do (IRQ8=RTC, which
is supposed to NOT be very random ;-)) but rndcontrol
and/or the kernel /dev/random code should disallow this -
kernel panic is too drastic a punishment.
>How-To-Repeat:
Add interrupt 8 to the random bit collection interrupts.
Example:
# rndcontrol -s 8
rndcontrol: setting irq 8
rndcontrol: Interrupts in use: 8
#
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x28
fault code = supervisor read, page not present
instruction pointer = 0x8:0xf0105ec5
stack pointer = 0x10:0xf01b9f6c
frame pointer = 0x10:0xf01b9f74
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = Idle
interrupt mask =
panic: page fault
>Fix:
Add (more) validation code to rndcontrol and/or /dev/random
to disallow IRQ 8 -or- allow addition but fix whatever causes
panic.
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711111513.HAA28208>
