svn commit: r255607 - head/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Mon Sep 16 06:15:16 UTC 2013
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;
More information about the svn-src-all
mailing list