NetBSD/sys/uvm
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
..
Makefile Rename VM_INHERIT_* to MAP_INHERIT_* and move them to sys/sys/mman.h as 2000-08-01 00:53:07 +00:00
uvm.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_amap.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_amap.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_amap_i.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_anon.c remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_anon.h replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
uvm_aobj.c replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_aobj.h add support for ``swapctl -d'' (removing swap space). 2000-01-11 06:57:49 +00:00
uvm_bio.c Add a sanity check for ubc_winshift. 2001-06-13 06:06:19 +00:00
uvm_ddb.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_device.c replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_device.h Don't silently truncate the voff_t offset to vaddr_t when passing it to 2000-05-28 10:21:55 +00:00
uvm_extern.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_fault.c work around an overflow problem in uvm_fault_wire(). 2001-06-14 05:12:56 +00:00
uvm_fault.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_fault_i.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_glue.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_glue.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_init.c remove include of <vm/vm.h> 2000-06-27 17:29:17 +00:00
uvm_io.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_km.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_km.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_loan.c remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_loan.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_map.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_map.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_map_i.h replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_meter.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_mmap.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
uvm_object.h replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
uvm_page.c replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_page.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_page_i.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_pager.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_pager.h replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_pager_i.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_param.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_pdaemon.c remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_pdaemon.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_pglist.c replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_pglist.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_pmap.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_prot.h remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_stat.c remove trailing whitespace. 2001-05-25 04:06:11 +00:00
uvm_stat.h use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
uvm_swap.c replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
uvm_swap.h add support for ``swapctl -d'' (removing swap space). 2000-01-11 06:57:49 +00:00
uvm_unix.c uvm_coredump32() moved into compat/netbsd32. 2001-06-06 21:28:51 +00:00
uvm_user.c replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
uvm_vnode.c replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
uvm_vnode.h Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00