From owner-freebsd-bugs Thu Aug 13 18:00:08 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA21446 for freebsd-bugs-outgoing; Thu, 13 Aug 1998 18:00:08 -0700 (PDT) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA21417 for ; Thu, 13 Aug 1998 18:00:04 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id SAA11729; Thu, 13 Aug 1998 18:00:01 -0700 (PDT) Date: Thu, 13 Aug 1998 18:00:01 -0700 (PDT) Message-Id: <199808140100.SAA11729@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.ORG From: Matthew Dillon Subject: Re: kern/7422: FreeBSD-current VM systems do not properly remove mapped Reply-To: Matthew Dillon Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/7422; it has been noted by GNATS. From: Matthew Dillon To: Luoqi Chen Cc: freebsd-gnats-submit@freebsd.org, luoqi@watermarkgroup.com Subject: Re: kern/7422: FreeBSD-current VM systems do not properly remove mapped Date: Thu, 13 Aug 1998 17:48:38 -0700 (PDT) Great! That's one down! I was hoping someone would be able to fix that one quickly and, indeed, so it happens! I'll run the patch on our -current test box (running a news system) to life-test it. The mmap-reading/file-writing corruption is going to be a much stickier problem to solve. I think the key item is that the only thing writing to the file is write(), and a shared+RO mmap() is capable of causing the written file data to become corrupted as of the time of the write or as of a slightly later time. I've been concentrating on the page fault code trying to figure out how it could corrupt the buffer cache, but it's virtual black magic to me. -Matt Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet Communications (Please include original email in any response) :This is a one-line bug in vnode_pager_setsize() function. Below is :the fix, note that the higher end of page index range in function :vm_object_page_remove() is not inclusive (I got rid of some auto :variables and unused calculation, so the fix is more than one line). :This bug should exist in -stable also, not sure why it behaved :correctly (I don't have a -stable machine to test with). : :-lq : :Index: sys/vm/vnode_pager.c :=================================================================== :RCS file: /fun/cvs/src/sys/vm/vnode_pager.c,v :retrieving revision 1.94 :diff -u -r1.94 vnode_pager.c :... To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message