diff options
Diffstat (limited to 'sys/uvm/uvm_map.c')
-rw-r--r-- | sys/uvm/uvm_map.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/uvm/uvm_map.c b/sys/uvm/uvm_map.c index 7ee39c71838..620cece4f56 100644 --- a/sys/uvm/uvm_map.c +++ b/sys/uvm/uvm_map.c @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_map.c,v 1.310 2023/02/11 21:11:37 deraadt Exp $ */ +/* $OpenBSD: uvm_map.c,v 1.311 2023/02/13 14:51:49 deraadt Exp $ */ /* $NetBSD: uvm_map.c,v 1.86 2000/11/27 08:40:03 chs Exp $ */ /* @@ -3983,6 +3983,14 @@ uvmspace_fork(struct process *pr) } } new_map->flags |= old_map->flags & VM_MAP_SYSCALL_ONCE; +#ifdef PMAP_CHECK_COPYIN + if (PMAP_CHECK_COPYIN) { + memcpy(&new_map->check_copyin, &old_map->check_copyin, + sizeof(new_map->check_copyin)); + membar_producer(); + new_map->check_copyin_count = old_map->check_copyin_count; + } +#endif vm_map_unlock(old_map); vm_map_unlock(new_map); |