diff options
author | kib <kib@FreeBSD.org> | 2009-07-03 22:17:37 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2009-07-03 22:17:37 +0000 |
commit | af8ce5a98815085a29b45a941b5af56345470b10 (patch) | |
tree | 90fec0503ef96a4f2264eedd1ad62f2525a5c443 /sys/vm/vm_extern.h | |
parent | ea30121075999891414cf35314d413324382bb62 (diff) | |
download | FreeBSD-src-af8ce5a98815085a29b45a941b5af56345470b10.zip FreeBSD-src-af8ce5a98815085a29b45a941b5af56345470b10.tar.gz |
When forking a vm space that has wired map entries, do not forget to
charge the objects created by vm_fault_copy_entry. The object charge
was set, but reserve not incremented.
Reported by: Greg Rivers <gcr+freebsd-current tharned org>
Reviewed by: alc (previous version)
Approved by: re (kensmith)
Diffstat (limited to 'sys/vm/vm_extern.h')
-rw-r--r-- | sys/vm/vm_extern.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index 7bacde4..ec21a3a 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -55,7 +55,8 @@ vm_map_t kmem_suballoc(vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, void swapout_procs(int); int useracc(void *, int, int); int vm_fault(vm_map_t, vm_offset_t, vm_prot_t, int); -void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t); +void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t, + vm_ooffset_t *); void vm_fault_unwire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t); int vm_fault_wire(vm_map_t, vm_offset_t, vm_offset_t, boolean_t, boolean_t); int vm_forkproc(struct thread *, struct proc *, struct thread *, struct vmspace *, int); |