From owner-svn-src-head@FreeBSD.ORG Mon Sep 16 06:15:16 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 22FEB233; Mon, 16 Sep 2013 06:15:16 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 0EBE72F19; Mon, 16 Sep 2013 06:15:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8G6FF8k039080; Mon, 16 Sep 2013 06:15:15 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8G6FFqh039079; Mon, 16 Sep 2013 06:15:15 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201309160615.r8G6FFqh039079@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 16 Sep 2013 06:15:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255607 - head/sys/amd64/amd64 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Sep 2013 06:15:16 -0000 Author: kib Date: Mon Sep 16 06:15:15 2013 New Revision: 255607 URL: http://svnweb.freebsd.org/changeset/base/255607 Log: In pmap_copy(), when the copied region is mapped with superpage but does not cover entire superpage, avoid copying. Doing partial copy would require demotion, which is incompatible with the already held locks. Reported by: cperciva Reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Approved by: re (delphij) Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c ============================================================================== --- head/sys/amd64/amd64/pmap.c Mon Sep 16 02:01:36 2013 (r255606) +++ head/sys/amd64/amd64/pmap.c Mon Sep 16 06:15:15 2013 (r255607) @@ -4356,6 +4356,8 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pm continue; if (srcptepaddr & PG_PS) { + if ((addr & PDRMASK) != 0 || addr + NBPDR > end_addr) + continue; dstmpde = pmap_allocpde(dst_pmap, addr, NULL); if (dstmpde == NULL) break;