Date: Mon, 30 Aug 1999 12:10:02 -0700 (PDT) From: Tor.Egge@fast.no To: freebsd-bugs@FreeBSD.org Subject: Re: kern/12800: buffer leak in cluster_wbuild Message-ID: <199908301910.MAA89126@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/12800; it has been noted by GNATS.
From: Tor.Egge@fast.no
To: freebsd-gnats-submit@freebsd.org
Cc: dillon@apollo.backplane.com
Subject: Re: kern/12800: buffer leak in cluster_wbuild
Date: Mon, 30 Aug 1999 21:00:22 +0200
On FreeBSD it is legal to mmap() regions beyond end of the backing file.
The supplied test program tried to access pages after the end of the
backing file. That was a bug in the test program, and SIGBUS is the
normal expected behavior on FreeBSD when accessing those pages.
Matt Dillon has suggested the following patch which is better than
the one previously suggested by me.
Index: vfs_cluster.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/vfs_cluster.c,v
retrieving revision 1.88
diff -u -r1.88 vfs_cluster.c
--- vfs_cluster.c 1999/08/28 00:46:23 1.88
+++ vfs_cluster.c 1999/08/30 03:49:02
@@ -797,8 +797,10 @@
if (i != 0) { /* if not first buffer */
for (j = 0; j < tbp->b_npages; j += 1) {
m = tbp->b_pages[j];
- if (m->flags & PG_BUSY)
+ if (m->flags & PG_BUSY) {
+ bqrelse(tbp);
goto finishcluster;
+ }
}
}
The problem with corrupt coredumps still remains.
- Tor Egge
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?199908301910.MAA89126>
