From owner-cvs-src-old@FreeBSD.ORG Tue Nov 17 18:38:17 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9248D106568F for ; Tue, 17 Nov 2009 18:38:17 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7EC598FC20 for ; Tue, 17 Nov 2009 18:38:17 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAHIcHRM055236 for ; Tue, 17 Nov 2009 18:38:17 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAHIcHTo055235 for cvs-src-old@freebsd.org; Tue, 17 Nov 2009 18:38:17 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <200911171838.nAHIcHTo055235@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Tue, 17 Nov 2009 18:38:00 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_8 Subject: cvs commit: src/sys/vm vm_fault.c vm_map.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Nov 2009 18:38:17 -0000 kib 2009-11-17 18:38:00 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/vm vm_fault.c vm_map.c Log: SVN rev 199416 on 2009-11-17 18:38:00Z by kib MFC r198505: When protection of wired read-only mapping is changed to read-write, install new shadow object behind the map entry and copy the pages from the underlying objects to it. This makes the mprotect(2) call to actually perform the requested operation instead of silently do nothing and return success, that causes SIGSEGV on later write access to the mapping. Reuse vm_fault_copy_entry() to do the copying, modifying it to behave correctly when src_entry == dst_entry. Revision Changes Path 1.254.2.4 +46 -16 src/sys/vm/vm_fault.c 1.419.2.3 +10 -4 src/sys/vm/vm_map.c