From owner-freebsd-bugs Mon Sep 29 01:16:18 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id BAA26740 for bugs-outgoing; Mon, 29 Sep 1997 01:16:18 -0700 (PDT) Received: from dyson.iquest.net (dyson.iquest.net [198.70.144.127]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id BAA26728 for ; Mon, 29 Sep 1997 01:16:07 -0700 (PDT) Received: (from root@localhost) by dyson.iquest.net (8.8.6/8.8.5) id DAA05524; Mon, 29 Sep 1997 03:13:57 -0500 (EST) From: "John S. Dyson" Message-Id: <199709290813.DAA05524@dyson.iquest.net> Subject: Re: kern/4630: buffer_map might become corrupted In-Reply-To: <242.875515605@critter.freebsd.dk> from Poul-Henning Kamp at "Sep 29, 97 08:46:45 am" To: phk@critter.freebsd.dk (Poul-Henning Kamp) Date: Mon, 29 Sep 1997 03:13:57 -0500 (EST) Cc: Tor.Egge@idi.ntnu.no, freebsd-bugs@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Poul-Henning Kamp said: > > > This means that both vm_map_entry_dispose and vm_map_entry_create might > > be called in an interrupt context, manipulating buffer_map and the free > > pool of vm map entries. > > I think the problem here is calling brelse() at interrupt time, isn't it ? > The problem is that brelse isn't meant to be called to free the buffer at interrupt time. Brelse can be called at interrupt time under certain circumstances. Geesh, I hate those layered drivers (like CCD and VN.) Both of them need to be looked at. We need to look at a way of handling this type of problem without just sprinkling SPL's around. -- John dyson@freebsd.org jdyson@nc.com