freebsd-dev/sys/kern
Don Lewis 1e9bc9f889 Detect that a vnode has been reclaimed while vflush() was waiting to lock
the vnode and restart the loop.  Vflush() is vulnerable since it does not
hold a reference to the vnode and it holds no other locks while waiting
for the vnode lock.  The vnode will no longer be on the list when the
loop is restarted.

Approved by:	re (rwatson)
2003-05-16 19:46:51 +00:00
..
bus_if.m Give print_child a default method. 2003-03-25 04:32:52 +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 Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
imgact_elf32.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf64.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
imgact_gzip.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
imgact_shell.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
inflate.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
init_main.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
init_sysent.c Regen. 2003-04-09 02:57:29 +00:00
kern_acct.c Instead of recording the Unix time in a process when it starts, record the 2003-05-01 16:59:23 +00:00
kern_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
kern_alq.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_clock.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
kern_condvar.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_conf.c Since dynamic allocation of device major numbers so far have not 2003-04-13 15:27:49 +00:00
kern_context.c Add an argument to get_mcontext() which specified whether the 2003-04-25 01:50:30 +00:00
kern_descrip.c VOP_PATHCONF() requires a vnode lock; this patch adds locking to 2003-05-15 21:13:08 +00:00
kern_environment.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_event.c Fix race between a process registering a NOTE_EXIT EVFILT_PROC event and 2003-04-12 01:57:04 +00:00
kern_exec.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_exit.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_fork.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_idle.c Move the flag that indicates an idle thread from the KSE to the thread. 2003-05-02 00:33:12 +00:00
kern_intr.c Move the flag that indicates an idle thread from the KSE to the thread. 2003-05-02 00:33:12 +00:00
kern_jail.c style(9) 2003-04-28 18:32:19 +00:00
kern_kse.c Fix compiling problem, p_tracee is in my local repository for 2003-05-01 12:16:06 +00:00
kern_kthread.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_ktr.c Move the flag that indicates an idle thread from the KSE to the thread. 2003-05-02 00:33:12 +00:00
kern_ktrace.c - Push down Giant around vnode operations in ktrace(). 2003-04-25 19:59:35 +00:00
kern_linker.c FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch 2003-03-03 22:53:35 +00:00
kern_lock.c Use the KTR_LOCK mask for logging events via KTR in lockmgr() rather 2003-03-11 20:00:37 +00:00
kern_lockf.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
kern_mac.c Rename MAC_MAX_POLICIES to MAC_MAX_SLOTS, since the variables and 2003-05-08 19:49:42 +00:00
kern_malloc.c Don't pass NULL pointer to memset if we are compiled with DIAGNOSTIC 2003-05-12 05:09:56 +00:00
kern_mib.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
kern_module.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +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 Use TD_IS_RUNNING() instead of thread_running() in the adaptive mutex 2003-04-17 22:28:58 +00:00
kern_ntptime.c Explicitly have the timecounter init happen after the cpu_initclocks is 2003-01-06 01:01:08 +00:00
kern_physio.c Don't reinitialize fields that are already initialized by getpbuf(). 2003-04-05 23:02:58 +00:00
kern_poll.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
kern_proc.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_prot.c Remove Giant from the setuid(), seteuid(), setgid(), setegid(), 2003-05-01 21:21:42 +00:00
kern_resource.c Remove Giant from [gs]etpriority(). 2003-04-23 18:48:55 +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 Lock the sched_lock while setting TDF_INPANIC. 2003-04-17 22:29:23 +00:00
kern_sig.c Fix long standing bug that prevents the PT_CONTINUE, PT_KILL and 2003-05-16 01:34:23 +00:00
kern_subr.c Tweak the clearing of TDF_DEADLKTREAT so that we only bother grabbing the 2003-05-05 21:27:29 +00:00
kern_switch.c Commit a partial lazy thread switch mechanism for i386. it isn't as lazy 2003-04-02 23:53:30 +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 - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
kern_syscalls.c
kern_sysctl.c Use a shorter and less redundant name for the sysctl tree lock. 2003-03-11 20:01:51 +00:00
kern_tc.c Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
kern_thr.c AMD64 uses the new-style cpu_switch()/cpu_throw() calling conventions. 2003-04-30 21:45:03 +00:00
kern_thread.c Fix compiling problem, p_tracee is in my local repository for 2003-05-01 12:16:06 +00:00
kern_time.c In setitimer(2), if the it_value of the new itimer value is clear, then 2003-05-13 19:21:46 +00:00
kern_timeout.c Under DIAGNOSTIC, only report expensive timeouts if they are more expensive 2003-02-01 10:06:40 +00:00
kern_umtx.c - Make casuptr return the old value of the location we're trying to update, 2003-04-02 08:02:27 +00:00
kern_uuid.c SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
kern_xxx.c more caddr_t removal. 2002-06-29 02:00:02 +00:00
ksched.c Move a bunch of flags from the KSE to the thread. 2003-02-17 09:55:10 +00:00
link_elf_obj.c Bail out if there were not two loadable sections. Add XXX comment about 2003-05-12 15:08:10 +00:00
link_elf.c Bail out if there were not two loadable sections. Add XXX comment about 2003-05-12 15:08:10 +00:00
linker_if.m
Make.tags.inc Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
Makefile Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
makesyscalls.sh - Include umtx.h in files generated by makesyscalls.sh 2003-04-01 01:12:24 +00:00
md4c.c
md5c.c Use le32dec() instead of le32toh() because we are not guaranteed to have 2003-05-05 07:22:35 +00:00
p1003_1b.c Use copyout to access user memory. 2003-01-07 20:10:04 +00:00
posix4_mib.c Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
sched_4bsd.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
sched_ule.c Fix typo in last commit 2003-05-02 06:18:55 +00:00
subr_acl_posix1e.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
subr_autoconf.c
subr_blist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_bus.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
subr_clist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_clock.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_devstat.c Unbreak vinum, iostat and systat on sparc64 by changing the devstat 2003-04-17 15:06:28 +00:00
subr_disk.c Don't include <sys/disklabel.h> 2003-04-16 20:57:35 +00:00
subr_eventhandler.c Rework the eventhandler locking for hopefully the last time. The scheme 2003-03-11 20:17:00 +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 Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
subr_mbuf.c Make the mb_alloc low-watermark sysctl-tunable read-only and make 2003-05-15 19:05:28 +00:00
subr_mchain.c The "m = m->m_next" that was removed in the revision 1.12 was necessary 2003-02-19 10:12:42 +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 Don't assume that p_session hasn't changed out from under us after unlocking 2003-04-17 22:30:43 +00:00
subr_prof.c remove old and inaccurate XXX comment. 2003-05-02 01:02:20 +00:00
subr_rman.c Implement rman_get_device 2003-02-12 07:00:59 +00:00
subr_rtc.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_sbuf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_scanf.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
subr_smp.c Move the _oncpu entry from the KSE to the thread. 2003-04-10 17:35:44 +00:00
subr_taskqueue.c Introduce a new taskqueue that runs completely free of Giant, and in 2003-02-26 03:15:42 +00:00
subr_trap.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
subr_turnstile.c Use TD_IS_RUNNING() instead of thread_running() in the adaptive mutex 2003-04-17 22:28:58 +00:00
subr_witness.c Move the _oncpu entry from the KSE to the thread. 2003-04-10 17:35:44 +00:00
subr_xxx.c - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
sys_generic.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
sys_pipe.c Need to hold the same SMP lock for (knote) list traversal as for 2003-04-02 15:24:50 +00:00
sys_process.c Push down Giant around calls to proc_rwmem() in kern_ptrace. kern_ptrace() 2003-04-25 20:02:16 +00:00
sys_socket.c Remove duplicate includes. 2003-02-20 03:26:11 +00:00
syscalls.c Regen. 2003-04-09 02:57:29 +00:00
syscalls.master o In struct prison, add an allprison linked list of prisons (protected 2003-04-09 02:55:18 +00:00
sysv_ipc.c It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
sysv_msg.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sysv_sem.c Replace the at_fork, at_exec, and at_exit functions with the slightly more 2003-03-24 21:15:35 +00:00
sysv_shm.c Change the semantics of sysv shm emulation to take a additional 2003-05-05 09:22:58 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Don't call make_dev() before we are ready for it. 2003-03-09 20:42:49 +00:00
tty_pty.c - Merge struct procsig with struct sigacts. 2003-05-13 20:36:02 +00:00
tty_subr.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
tty_tty.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
tty.c p_sigignore moved into struct sigacts. move one which was missed. 2003-05-14 00:03:55 +00:00
uipc_accf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_cow.c The data in an sf_buf should not be modified by the mbuf system. Mark 2003-04-11 07:02:36 +00:00
uipc_domain.c Fix a spelling error. 2003-03-07 22:47:32 +00:00
uipc_jumbo.c Lock the jumbo_vm_object when performing vm_page_alloc(). 2003-04-19 19:13:25 +00:00
uipc_mbuf2.c Move MAC label storage for mbufs into m_tags from the m_pkthdr structure, 2003-04-14 20:39:06 +00:00
uipc_mbuf.c Add another MBUF_STRESS_TEST feature, m_defragrandomfailures. 2003-04-15 02:14:43 +00:00
uipc_proto.c
uipc_sem.c Replace the at_fork, at_exec, and at_exit functions with the slightly more 2003-03-24 21:15:35 +00:00
uipc_sockbuf.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
uipc_socket2.c Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
uipc_socket.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
uipc_syscalls.c Split sendit into two parts. The first part, still called sendit, that 2003-05-05 20:33:38 +00:00
uipc_usrreq.c s/discriptors/descriptors/ 2003-03-23 19:41:34 +00:00
vfs_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_aio.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
vfs_bio.c Finish the vm_object locking for this file, including holding the vm_object 2003-04-28 05:40:45 +00:00
vfs_cache.c Backout the getcwd changes, a more comprehensive effort will be needed. 2003-03-20 10:40:45 +00:00
vfs_cluster.c - Lock the vm_object when performing vm_object_pip_add(). 2003-04-20 07:29:50 +00:00
vfs_default.c Lock the vm_object when performing vm_pager_deallocate(). 2003-05-06 02:45:28 +00:00
vfs_export.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_extattr.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
vfs_init.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_lookup.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_mount.c Free mount credentials (mnt_cred) when freeing the mount struct 2003-04-24 08:16:06 +00:00
vfs_subr.c Detect that a vnode has been reclaimed while vflush() was waiting to lock 2003-05-16 19:46:51 +00:00
vfs_syscalls.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
vfs_vnops.c Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
vnode_if.src Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00