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>