NetBSD/sys/kern
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
..
Make.tags.inc use ${.CURDIR:H:H} instead of ../.. for default setting of SYSDIR, 2001-04-18 11:21:24 +00:00
Makefile SYSDIR should be relative here, too. 2001-04-05 19:49:40 +00:00
cnmagic.c
exec_aout.c
exec_conf.c remove use of gcc syntax for designated initialisers when initialising 2001-05-15 02:00:12 +00:00
exec_ecoff.c
exec_elf32.c In the check_header() function, bump the number of allowed section headers 2001-05-07 17:09:13 +00:00
exec_elf64.c
exec_elf_common.c
exec_script.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
exec_subr.c eliminate the KERN_* error codes in favor of the traditional E* codes. 2001-03-15 06:10:32 +00:00
genassym.awk
genassym.sh when executing args in the ccode=0 case, send output to a tmp file and 2001-03-06 02:20:18 +00:00
genlintstub.awk Add a /* LINTSTUB: include <foo.h> */ mechanism. 2001-05-16 04:17:04 +00:00
init_main.c use real \n's copyright[]; avoids gcc 3.0-prerelease warnings. 2001-06-08 12:53:30 +00:00
init_sysent.c regen for whitespace cleanup 2001-05-24 06:44:30 +00:00
kern_acct.c
kern_allocsys.c
kern_clock.c Declare schedhz. 2001-05-06 13:46:34 +00:00
kern_descrip.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
kern_exec.c Changed EMUL_BSD_ASYNCIO_PIPE to EMUL_NO_BSD_ASYNCIO_PIPE, so that 2001-05-07 09:55:12 +00:00
kern_exit.c Avoid spinning forever when hardclock() wants to grab the kernel lock 2001-03-05 20:38:21 +00:00
kern_fork.c minor KNF 2001-02-26 21:09:57 +00:00
kern_kthread.c
kern_ktrace.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
kern_lkm.c add a DEBUG for why the lkm entry point failed. 2001-06-05 12:36:08 +00:00
kern_lock.c Add a simple_lock_only_held() LOCKDEBUG routine, which allows code 2001-06-05 04:38:08 +00:00
kern_malloc.c Assert that no locks are held if we're called with M_WAITOK. 2001-06-05 04:39:02 +00:00
kern_ntptime.c
kern_physio.c eliminate the KERN_* error codes in favor of the traditional E* codes. 2001-03-15 06:10:32 +00:00
kern_proc.c When freeing a session, remove the reference to it from the associated tty. 2001-02-04 22:32:24 +00:00
kern_prot.c Remove an splimp() that really has no purpose in life. 2001-04-12 03:08:42 +00:00
kern_resource.c Move maxdmap and maxsmap where they belong and make them big enough. 2001-02-06 19:54:43 +00:00
kern_sig.c The trace_req() function is a no-op; garbage collect it. 2001-06-13 16:06:27 +00:00
kern_subr.c Make "reboot" an option at the root device/filesystem prompt (we 2001-05-27 01:29:50 +00:00
kern_synch.c don't define bpendtsleep in profiling kernels since it confuses gprof. 2001-05-28 22:20:03 +00:00
kern_sysctl.c Make sysctl_msgbuf() to copy message buffer to userland even if 2001-04-26 06:07:13 +00:00
kern_time.c Lower interrupt priortiy properly if setting the setting the kernel time 2001-06-11 07:07:12 +00:00
kern_xxx.c
kgdb_stub.c
makesyscalls.sh use _KERNEL_OPT not _KERNEL&&|_LKM 2001-05-30 11:27:46 +00:00
subr_autoconf.c Statically-initialize `allevents' so that events can be registered 2001-05-28 16:40:31 +00:00
subr_disk.c
subr_extent.c Assert that no locks are held if we're called with EX_WAITSPACE. 2001-06-05 04:39:56 +00:00
subr_log.c
subr_pool.c Do the reentrancy checking if POOL_DIAGNOSTIC, not DIAGNOSTIC. Prevents 2001-06-05 18:51:03 +00:00
subr_prf.c add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
subr_prof.c Before allowing kgmon to do anything, check that we managed to allocate the 2001-04-28 12:56:00 +00:00
subr_rmap.c
subr_xxx.c
sys_generic.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
sys_process.c The trace_req() function is a no-op; garbage collect it. 2001-06-13 16:06:27 +00:00
sys_socket.c Backed out a previous commit that was incomplete and hence broke several 2001-05-19 17:28:33 +00:00
syscalls.c regen. 2001-05-30 11:48:07 +00:00
syscalls.conf
syscalls.master Slight indentation nit. 2001-04-10 11:03:56 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c eliminate the KERN_* error codes in favor of the traditional E* codes. 2001-03-15 06:10:32 +00:00
tty.c Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
tty_conf.c Removed an incorrect use of __CONCAT when formatting panic messages. 2001-05-24 10:33:08 +00:00
tty_pty.c Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
tty_subr.c
tty_tb.c Remove unnecessary test of tp->t_linesw against NULL; they are results 2001-03-31 00:35:21 +00:00
tty_tty.c
uipc_domain.c add pfctlinput2() (pfctlinput() with args). 2001-02-11 06:38:45 +00:00
uipc_mbuf.c Change some low-hanging splimp() calls to splvm(). 2001-01-14 02:06:21 +00:00
uipc_mbuf2.c make sure we do not return shared M_EXT mbuf. it will avoid possible mbuf 2001-02-14 17:09:19 +00:00
uipc_proto.c
uipc_socket.c Remove the use of splimp() from the NetBSD kernel. splnet() 2001-04-13 23:29:55 +00:00
uipc_socket2.c Large values of sb_max would cause an overflow in sbreserve(); cast to 2001-04-30 03:32:56 +00:00
uipc_syscalls.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
uipc_usrreq.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
vfs_bio.c in bwrite(), when deciding whether to convert sync writes into delayed writes, 2001-04-01 16:16:56 +00:00
vfs_cache.c Depending on the NAMECACHE_ENTER_REVERSE option, always enter reverse 2001-03-29 22:39:23 +00:00
vfs_cluster.c
vfs_getcwd.c
vfs_init.c make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const 2001-01-22 12:17:35 +00:00
vfs_lockf.c
vfs_lookup.c
vfs_subr.c Avoid a sleeping malloc call while holding the spechash_slock. 2001-06-05 04:42:05 +00:00
vfs_syscalls.c Fix a partial construction problem that can cause race conditions 2001-06-14 20:32:41 +00:00
vfs_vnops.c Change the first arg to fileops fo_stat routine to struct file *, adjust 2001-04-09 10:22:00 +00:00
vnode_if.c regen. 2001-05-26 21:34:04 +00:00
vnode_if.sh delint: vop_default_desc was declared const but not defined const. 2001-05-07 08:46:02 +00:00
vnode_if.src replace vm_page_t with struct vm_page *. 2001-05-26 21:33:11 +00:00