Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 1996 23:41:31 +0100 (MET)
From:      jmrueda@diatel.upm.es
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/2319: Using Genius GS-4500 scanner causes page fault panic
Message-ID:  <199612292241.XAA01090@ozono.asin.es>
Resent-Message-ID: <199612292250.OAA15687@freefall.freebsd.org>

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

>Number:         2319
>Category:       kern
>Synopsis:       Using Genius GS-4500 scanner causes page fault panic
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 29 14:50:01 PST 1996
>Last-Modified:
>Originator:     Javier Martmn Rueda
>Organization:
>Release:        FreeBSD 2.2-ALPHA i386
>Environment:

	

>Description:

Apparently, someone changed the gsc driver to allocate one big buffer
at device attach time, instead of allocating and freeing buffers as
necessary. But he or she forgot to remove the line that invalidated
the buffer when the device is closed. Therefore, after using the
device for the first time, the buffer was incorrectly invalidated and
that caused a page fault on the second, and subsequent uses.

	

>How-To-Repeat:

sgsc -r 400 -h 800
cat < /dev/gsc0p > /tmp/file

WARNING: that will make the system panic.
	

>Fix:

This simple patch fixes this:

*** gsc.c.orig	Wed Jun 12 07:03:37 1996
--- gsc.c	Sun Dec 29 22:39:05 1996
***************
*** 635,641 ****
  
    outb(scu->ctrl, scu->ctrl_byte & ~GSC_POWER_ON);
  
-   scu->sbuf.base = NULL;
    scu->sbuf.size = INVALID;
    scu->sbuf.poi  = INVALID;
  
--- 635,640 ----
	
	

>Audit-Trail:
>Unformatted:



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