diff options
author | kib <kib@FreeBSD.org> | 2017-06-28 05:20:28 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2017-06-28 05:20:28 +0000 |
commit | eb68a05ac0b7244bce89dd423945345403220149 (patch) | |
tree | 63816710f691e81b9d26588c9290804982b35c70 /sys/vm/vm_map.c | |
parent | dbddf865df49a518c3ec48975a59c67c6e2b0a9c (diff) | |
download | FreeBSD-src-eb68a05ac0b7244bce89dd423945345403220149.zip FreeBSD-src-eb68a05ac0b7244bce89dd423945345403220149.tar.gz |
MFC r320202:
Call pmap_copy() only for map entries which have the backing object
instantiated.
Approved by: re (delphij)
Diffstat (limited to 'sys/vm/vm_map.c')
-rw-r--r-- | sys/vm/vm_map.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index ae30a94..083f33a 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -3239,6 +3239,10 @@ vm_map_copy_entry( fake_entry->next = curthread->td_map_def_user; curthread->td_map_def_user = fake_entry; } + + pmap_copy(dst_map->pmap, src_map->pmap, + dst_entry->start, dst_entry->end - dst_entry->start, + src_entry->start); } else { dst_entry->object.vm_object = NULL; dst_entry->offset = 0; @@ -3248,9 +3252,6 @@ vm_map_copy_entry( *fork_charge += size; } } - - pmap_copy(dst_map->pmap, src_map->pmap, dst_entry->start, - dst_entry->end - dst_entry->start, src_entry->start); } else { /* * We don't want to make writeable wired pages copy-on-write. |