freebsd-dev/sys/kern
Kirk McKusick 9e4b381a54 This update removes a race between unmount and lookup. The lookup
locks the mount point directory while waiting for vfs_busy to clear.
Meanwhile the unmount which holds the vfs_busy lock tried to lock
the mount point vnode. The fix is to observe that it is safe for the
unmount to remove the vnode from the mount point without locking it.
The lookup will wait for the unmount to complete, then recheck the
mount point when the vfs_busy lock clears.

Sponsored by:	DARPA & NAI Labs.
2002-10-22 01:06:44 +00:00
..
bus_if.m Add two interfaces to allow for busses to report the pnpinfo for 2002-10-07 05:06:38 +00:00
clock_if.m Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
device_if.m
genassym.sh
imgact_aout.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
imgact_elf32.c Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
imgact_elf64.c Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
imgact_elf.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
imgact_elfN.c Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
imgact_gzip.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
imgact_shell.c
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
init_sysent.c Regen from addition of execve_mac placeholder. 2002-10-19 21:15:10 +00:00
kern_acct.c Make sure that the accounting credential is saved along with the vp 2002-10-05 20:05:23 +00:00
kern_acl.c Introduce support for Mandatory Access Control and extensible 2002-08-01 01:04:16 +00:00
kern_alq.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_clock.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_condvar.c Round out the facilty for a 'bound' thread to loan out its KSE 2002-10-09 02:33:36 +00:00
kern_conf.c Don't allow dev_stdclone(9) to accept minors larger than the system is 2002-10-05 17:10:28 +00:00
kern_descrip.c Don't lock the proc lock to clear p_fd. p_fd isn't protected by the proc 2002-10-18 17:42:28 +00:00
kern_environment.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
kern_event.c hashinit() calls MALLOC(), so release the filedesc lock in knote_attach() 2002-10-03 06:03:26 +00:00
kern_exec.c - Move the 'done1' label down below the unlock of the proc lock and move 2002-10-11 21:04:01 +00:00
kern_exit.c - Add a new global mutex 'ppeers_lock' to protect the p_peers list of 2002-10-15 00:14:32 +00:00
kern_fork.c Do not lock the process when calling fdfree() (this would have recursed on 2002-10-18 17:45:41 +00:00
kern_idle.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_intr.c Instead of (sizeof(source_buffer) - 1) bytes, copy at most 2002-10-17 21:02:02 +00:00
kern_jail.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
kern_kse.c Round out the facilty for a 'bound' thread to loan out its KSE 2002-10-09 02:33:36 +00:00
kern_kthread.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_ktr.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_ktrace.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_linker.c fix kldload error return when a module is rejected because it's statically 2002-10-17 17:28:57 +00:00
kern_lock.c Have lockinit() initialize the debugging fields of a lock 2002-10-18 01:34:10 +00:00
kern_lockf.c Remove a conditional #include <sys/kernel.h>, it is already 2002-09-14 14:44:41 +00:00
kern_mac.c Use if_printf(ifp, "blah") instead of 2002-10-21 02:51:56 +00:00
kern_malloc.c - Split UMA_ZFLAG_OFFPAGE into UMA_ZFLAG_OFFPAGE and UMA_ZFLAG_HASH. 2002-09-18 08:26:30 +00:00
kern_mib.c Update a sysctl to use _POSIX_VERSION from <sys/unistd.h>, instead of 2002-10-13 14:26:29 +00:00
kern_module.c - Remove Giant acquisition from modevent(), modfnext(), modstat() and 2002-06-26 00:31:44 +00:00
kern_mtxpool.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_mutex.c Reduce the overhead of the mutex statistics gathering code, try to produce 2002-10-21 18:48:28 +00:00
kern_ntptime.c Remove an unused variable. 2002-10-11 10:36:22 +00:00
kern_physio.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
kern_poll.c Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
kern_proc.c Add an actual implementation of kse_wakeup() 2002-10-20 21:08:47 +00:00
kern_prot.c Include file cleanup; mac.h and malloc.h at one point had ordering 2002-08-01 17:47:56 +00:00
kern_resource.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_sema.c Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
kern_shutdown.c Add kernel dump support, based on the ia64 version (which was committed 2002-10-20 17:03:15 +00:00
kern_sig.c Fix mis-indentation. 2002-10-02 09:09:25 +00:00
kern_subr.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_switch.c Did you ever notice how stupid bugs show up much clearer 2002-10-14 20:43:02 +00:00
kern_sx.c Set the lock type equal to the lock name for now as all of the current 2002-04-04 20:49:35 +00:00
kern_synch.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_syscalls.c
kern_sysctl.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
kern_tc.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
kern_thread.c Round out the facilty for a 'bound' thread to loan out its KSE 2002-10-09 02:33:36 +00:00
kern_time.c Round up instead of towards 0 in clock_getres() so that a resolution of 2002-09-25 12:00:38 +00:00
kern_timeout.c Fix a format buglet. 2002-09-05 11:42:03 +00:00
kern_uuid.c Include <sys/systm.h> for the declarations of many things instead of 2002-08-22 12:47:22 +00:00
kern_xxx.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
ksched.c Tidy up the scheduler's code for changing the priority of a thread. 2002-10-14 20:34:31 +00:00
link_elf_obj.c Add two hooks to signal module load and module unload to MD code. 2002-10-19 19:16:03 +00:00
link_elf.c Add two hooks to signal module load and module unload to MD code. 2002-10-19 19:16:03 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c. 2002-09-19 00:43:32 +00:00
md4c.c
md5c.c We have memset() and memcpy() in the kernel now, so we don't need to 2002-10-20 22:33:42 +00:00
p1003_1b.c Change p_can{debug,see,sched,signal}()'s first argument to be a thread 2002-05-19 00:14:50 +00:00
posix4_mib.c Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c. 2002-09-19 00:43:32 +00:00
sched_4bsd.c Tidy up the scheduler's code for changing the priority of a thread. 2002-10-14 20:34:31 +00:00
subr_acl_posix1e.c Introduce support for Mandatory Access Control and extensible 2002-08-01 01:04:16 +00:00
subr_autoconf.c
subr_blist.c Now that daddr_t has grown up, use %lld to printf it and cast it to long 2002-05-18 23:46:04 +00:00
subr_bus.c Use ; not , as statement separator in PDEBUG() macro. 2002-10-15 18:56:13 +00:00
subr_clist.c
subr_clock.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_devstat.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_disk.c This checkin reimplements the io-request priority hack in a way 2002-10-22 00:59:49 +00:00
subr_disklabel.c (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
subr_diskmbr.c Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1: 2002-10-01 07:24:55 +00:00
subr_diskslice.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_eventhandler.c Wrap a line longer than 80 characters. 2002-07-19 17:44:44 +00:00
subr_hints.c Cosmetic tweaks. Try and keep the style more consistent, catch some stray 2002-05-01 02:51:50 +00:00
subr_kobj.c Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
subr_log.c Fix the calculations of the length of the unread message buffer 2002-10-20 23:13:05 +00:00
subr_mbuf.c Fix a fairly subtle bug in mbuf_init() where the reference counter 2002-10-16 19:59:08 +00:00
subr_mchain.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
subr_module.c
subr_param.c Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
subr_pcpu.c
subr_power.c Use ISO 9X variadic macro format; arguments are not optional, just 2002-07-15 17:17:56 +00:00
subr_prf.c Fix %z to always print values as signed like it is supposed to. 2002-10-11 17:54:55 +00:00
subr_prof.c Don't #error if we are lint. 2002-10-01 13:15:11 +00:00
subr_rman.c Add debug.rman_debug sysctl MIB and loader tunable instead of broken 2002-09-05 11:45:02 +00:00
subr_rtc.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_sbuf.c Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
subr_scanf.c Fix mis-indentation. 2002-10-02 09:09:25 +00:00
subr_smp.c Completely redo thread states. 2002-09-11 08:13:56 +00:00
subr_taskqueue.c If we fail to write to a vnode during a ktrace write, then we drop all 2002-08-01 13:35:38 +00:00
subr_trap.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
subr_turnstile.c Reduce the overhead of the mutex statistics gathering code, try to produce 2002-10-21 18:48:28 +00:00
subr_witness.c #unifdef the code for checking blessed lock collisions until we need it. 2002-10-20 08:48:39 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
sys_pipe.c Remove a KASSERT I added in 1.73 to catch uninitialized pipes. 2002-10-14 21:15:04 +00:00
sys_process.c Add a missing PROC_UNLOCK in ptrace() for the PT_IO case. 2002-10-16 16:28:33 +00:00
sys_socket.c Integrate mac_check_socket_send() and mac_check_socket_receive() 2002-10-06 14:39:15 +00:00
syscalls.c Regen from addition of execve_mac placeholder. 2002-10-19 21:15:10 +00:00
syscalls.master Stake a claim on 418 (__xstat), 419 (__xfstat), 420 (__xlstat) 2002-10-19 22:25:31 +00:00
sysv_ipc.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_msg.c Make SYSVMSG mpsafe. Right now there is a global lock over the 2002-08-13 08:00:36 +00:00
sysv_sem.c Don't leak memory in semop(2). (Fix a bug I introduced in rev 1.55.) 2002-10-19 02:07:35 +00:00
sysv_shm.c return foo -> return (foo) 2002-08-15 02:10:12 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c
tty_cons.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
tty_pty.c - Lock proctree_lock instead of pgrpsess_lock. 2002-04-16 17:09:22 +00:00
tty_subr.c
tty_tty.c Pass active_cred and file_cred into the MAC framework explicitly 2002-08-19 19:04:53 +00:00
tty.c In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
uipc_accf.c
uipc_cow.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
uipc_domain.c Back out my lats commit of locking down a socket, it conflicts with hsu's work. 2002-05-31 11:52:35 +00:00
uipc_jumbo.c o Lock page queue accesses by vm_page_free(). 2002-07-21 19:06:46 +00:00
uipc_mbuf2.c Replace aux mbufs with packet tags: 2002-10-16 01:54:46 +00:00
uipc_mbuf.c Replace aux mbufs with packet tags: 2002-10-16 01:54:46 +00:00
uipc_proto.c
uipc_sem.c Be consistent about funtions being static. 2002-10-16 10:42:13 +00:00
uipc_sockbuf.c Use m_length() instead of home-rolled versions. 2002-09-18 19:44:14 +00:00
uipc_socket2.c Use m_length() instead of home-rolled versions. 2002-09-18 19:44:14 +00:00
uipc_socket.c Modify label allocation semantics for sockets: pass in soalloc's malloc 2002-10-05 21:23:47 +00:00
uipc_syscalls.c Integrate mac_check_socket_send() and mac_check_socket_receive() 2002-10-06 14:39:15 +00:00
uipc_usrreq.c - Allocate only enough space for a temporary buffer to hold 2002-10-17 15:52:42 +00:00
vfs_acl.c Introduce support for Mandatory Access Control and extensible 2002-08-01 01:04:16 +00:00
vfs_aio.c fdfree() clears p_fd for us, no need to do it again. 2002-10-18 17:44:39 +00:00
vfs_bio.c When the number of dirty buffers rises too high, the buf_daemon runs 2002-10-18 01:29:59 +00:00
vfs_cache.c Split up __getcwd so that kernel callers of the internal version 2002-09-02 22:40:30 +00:00
vfs_cluster.c - Use incore() where no other interlock locking is necessary. 2002-09-25 02:12:32 +00:00
vfs_default.c Regularize the vop_stdlock'ing protocol across all the filesystems 2002-10-14 03:20:36 +00:00
vfs_export.c Partial backout of 1.318, remove error handling added because it may be 2002-06-30 05:23:58 +00:00
vfs_extattr.c Hook up most of the MAC entry points relating to file/directory/node 2002-10-19 20:25:57 +00:00
vfs_init.c We don't need to check the return value of malloc() against 2002-06-22 21:44:11 +00:00
vfs_lookup.c Add a new 'NOMACCHECK' flag to namei() NDINIT flags, which permits the 2002-10-19 21:25:51 +00:00
vfs_mount.c This update removes a race between unmount and lookup. The lookup 2002-10-22 01:06:44 +00:00
vfs_subr.c When scanning the freelist looking for candidate vnodes to recycle, 2002-10-14 19:54:39 +00:00
vfs_syscalls.c Hook up most of the MAC entry points relating to file/directory/node 2002-10-19 20:25:57 +00:00
vfs_vnops.c Drop in the MAC check for file creation as part of open(). 2002-10-19 20:56:44 +00:00
vnode_if.src - We don't need any automated lock checking for vop_islocked. 2002-09-26 00:31:16 +00:00