freebsd-dev/sys/vm
Konstantin Belousov 641e2829b6 Extend the struct vm_page wire_count to u_int to avoid the overflow
of the counter, that may happen when too many sendfile(2) calls are
being executed with this vnode [1].

To keep the size of the struct vm_page and offsets of the fields
accessed by out-of-tree modules, swap the types and locations
of the wire_count and cow fields. Add safety checks to detect cow
overflow and force fallback to the normal copy code for zero-copy
sockets. [2]

Reported by:	Anton Yuzhaninov <citrin citrin ru> [1]
Suggested by:	alc [2]
Reviewed by:	alc
MFC after:	2 weeks
2009-01-03 13:24:08 +00:00
..
default_pager.c
device_pager.c
memguard.c
memguard.h
phys_pager.c
pmap.h
redzone.c
redzone.h
swap_pager.c
swap_pager.h
uma_core.c
uma_dbg.c
uma_dbg.h
uma_int.h
uma.h
vm_contig.c
vm_extern.h
vm_fault.c
vm_glue.c
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c Resurrect shared map locks allowing greater concurrency during some map 2009-01-01 00:31:46 +00:00
vm_map.h Resurrect shared map locks allowing greater concurrency during some map 2009-01-01 00:31:46 +00:00
vm_meter.c
vm_mmap.c
vm_object.c
vm_object.h
vm_page.c Extend the struct vm_page wire_count to u_int to avoid the overflow 2009-01-03 13:24:08 +00:00
vm_page.h Extend the struct vm_page wire_count to u_int to avoid the overflow 2009-01-03 13:24:08 +00:00
vm_pageout.c
vm_pageout.h
vm_pager.c
vm_pager.h
vm_param.h
vm_phys.c
vm_phys.h
vm_reserv.c
vm_reserv.h
vm_unix.c
vm_zeroidle.c
vm.h
vnode_pager.c
vnode_pager.h