Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Mar 1999 22:32:41 +0100 (CET)
From:      Frode Vatvedt Fjeld <frodef@dslab7.cs.uit.no>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   i386/10533: meteor driver panics
Message-ID:  <199903102132.WAA08519@dslab7.cs.uit.no>

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

>Number:         10533
>Category:       i386
>Synopsis:       A bug in the meteor driver causes kernel panic
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 10 13:40:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Frode Vatvedt Fjeld
>Release:        FreeBSD 3.1-STABLE i386
>Organization:
>Environment:

	FreeBSD-stable i386 with meteor video-grabber device.

>Description:

	The meteor driver (sys/pci/meteor.c) provides an ioctl
	SSIGNAL for specifying a signal to send to the process
	when a video frame is delivered. When this ioctl is used,
	the kernel will (more often than not) panic (pagefault)
	just when the process exits. 

>How-To-Repeat:

	main() {
		open device
		ioctl (SSIGNAL)
		ioctl (CAPTUR)
		exit
	}

>Fix:
	
	Adding a line "mtr -> proc = NULL;" somewhere in
	meteor_close() seems to remove the symptom. However,
	I guess the real problem is somewhere else.

	Also, the SSIGNAL ioctl interface is broken, as there
	is no way to return the device-driver to the original
	state (i.e. mtr -> proc == NULL) once this ioctl is
	used by a process. The code in meteor_ioctl() should
	go something like this:

	case SSIGNAL:
		mtr -> signal = arg;
		if (mtr -> signal) {
			mtr -> proc = p;
		} else {
			mtr -> proc = NULL;
		}
		break;


>Release-Note:
>Audit-Trail:
>Unformatted:


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




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