Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 May 1995 11:00:01 -0700
From:      wpaul@ctr.columbia.edu
To:        freebsd-bugs
Subject:   kern/400: fade_saver loadable kernel module crashes system
Message-ID:  <199505131800.LAA07401@freefall.cdrom.com>
In-Reply-To: Your message of Sat, 13 May 1995 13:54:05 -0400 <199505131754.NAA02863@nakedgun.ctr.columbia.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         400
>Category:       kern
>Synopsis:       fade_saver loadable kernel module crashes system
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 13 11:00:01 1995
>Originator:     Bill Paul
>Organization:
Center for Telecommunications Research, Columbia University
>Release:        FreeBSD 2.0.950418-SNAP i386
>Environment:

	The problem has been noted on two different systems, both
	running FreeBSD-current (as of today):

	Pentium 90Mhz CPU
	EISA system with 16 Mbytes RAM
	Adaptec 2740T EISA Twin Channel SCSI adapter
	Seagate ST31200N 1 Gbyte drive
	WD90C50 integrated SVGA hardware with 1 MB video RAM
	Inter EtherExpress Ethernet adapter
	SoundBlaster 16 sound card

	i386DX CPU (no FPU)
	ISA system with 8 Mbytes RAM
	IDE disk controller
	Quantum 50 Mbyte IDE disk
	3Com 3c503 ethernet adapter
	Diamond Speedstar 3.01 (ET4000) SVGA adapter with 1Mbyte video RAM
	Kernel config file:

	Both systems have the syscons console driver compiled into
	their kernels.

>Description:

	The fade_saver loadable screen saver module causes a fatal
	kernel trap when it activates. It can be modload'ed just fine,
	but as soon as syscons activates it, the system panics.

	The other modules seem to work fine.

	Here's a sample console log showing the panic. This is from
	a kernel built with sources supped just this morning:

marple# modload -e saver_init fade_saver_mod.o
fade screen saver installed
Module loaded as ID 0
marple# modstat
Type     Id Off Loadaddr Size Info     Rev Module Name
MISC      0   0 f049f000 0008 f04a0000   1 fade_saver
marple# vidcontrol -t 5 < /dev/ttyv0
marple# 

Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x3
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xf049f080
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

syncing disks... 1 1 done

	Note that the instruction pointer points to a location inside
	the fade_saver's address space.

	Also note that 'make load' does not seem to work for
	for any of the syscons screen saver modules. It should.

>How-To-Repeat:

	# cd /lkm
	# modload -e saver_init fade_saver_mod.o
	# vidcontrol -t 5
	<wait 5 seconds for the screen saver timer to expire>

>Fix:
	
	No idea, though I suspect that the module may have fallen out
	of sync with the code in the syscons driver proper.

	I don't suppose it's occured to anyone what could happen if
	a clueless user tries to load a syscons saver module into
	a kernel that doesn't have the syscons driver in it? It might
	be a good idea to have the saver modules check to see if the
	syscons driver is actually present when they start, and
	if it isn't, unload themselves before they can do any damage,
	or at least scream loudly and not touch anything dangerous
	while they're there.
>Audit-Trail:
>Unformatted:





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