freebsd-dev/sys/kern
Robert Watson 9a2b8fca80 This patch fixes a locking bug that can result in deadlock if
the codepath is followed.

From the PR:

  vclean calls vrele leading to deadlock (if usecount > 0)

  vclean() calls vrele() if v_usecount of the node was higher than one.
  But before calling it, it sets the VXLOCK flag, which will make
  vn_lock called from vrele dead-lock.

PR:		kern/15117
Submitted by:	Assar Westerlund <assar@stacken.kth.se>
Reviewed by:	rwatson
Obtained from:	NetBSD
2000-01-29 15:22:58 +00:00
..
bus_if.m
device_if.m
imgact_aout.c
imgact_elf.c Changed the type used to represent the user stack pointer from `long *' 1999-12-27 10:42:55 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
init_main.c If we fail to find init, print out the search path used. This helps 1999-12-20 02:50:49 +00:00
init_sysent.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
kern_acct.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
kern_clock.c
kern_conf.c Backout previous commit. It was a mistake. 2000-01-23 15:47:46 +00:00
kern_descrip.c Fix the style bugs in the style bugs fix. The style bug fix made the 2000-01-21 06:57:52 +00:00
kern_environment.c
kern_exec.c When we are execing a setugid program, and we have a procfs filesystem 2000-01-20 07:12:52 +00:00
kern_exit.c Handle the case where we truss an SUGID program -- in particular, we need 2000-01-10 04:09:05 +00:00
kern_fork.c
kern_intr.c
kern_jail.c
kern_kthread.c Panic if proc0 hasn't been created and we try to call kthread_create. 2000-01-10 08:00:58 +00:00
kern_ktrace.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_linker.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_lock.c
kern_lockf.c
kern_malloc.c Fixed sign and overflow bugs that caused the allocation size of the kernel 2000-01-28 04:04:58 +00:00
kern_mib.c
kern_module.c
kern_ntptime.c Add a couple of strategic sysctls for monitoring. 2000-01-23 14:52:37 +00:00
kern_physio.c
kern_proc.c
kern_prot.c Implement setres[ug]id() and getres[ug]id(). This has been sitting in 2000-01-16 16:34:26 +00:00
kern_random.c
kern_resource.c Fix a bug that could crash the system if you press ^T while a slower 2000-01-28 20:40:29 +00:00
kern_shutdown.c Seconds to ticks conversion was done at the wrong place. 2000-01-12 17:26:42 +00:00
kern_sig.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
kern_subr.c
kern_switch.c
kern_synch.c
kern_syscalls.c
kern_sysctl.c
kern_tc.c
kern_threads.c
kern_time.c
kern_timeout.c
kern_xxx.c
ksched.c Fixed some type mismatches. p_retval[0] in struct proc has type 1999-12-27 10:22:09 +00:00
link_aout.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf_obj.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
link_elf.c Fixed a cast of a pointer to an integer of a possibly different size. 1999-12-24 15:33:36 +00:00
Make.tags.inc Add soft updates to the set of things being tagged. Syntax cleanup. 2000-01-27 01:22:06 +00:00
makedevops.pl
Makefile
makesyscalls.sh Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00
md5c.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
p1003_1b.c
posix4_mib.c
subr_acl_posix1e.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
subr_autoconf.c
subr_blist.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
subr_bus.c * Set the devclass of a device before calling the probe method. This allows 1999-12-24 16:21:15 +00:00
subr_clist.c
subr_devstat.c
subr_disk.c rename disk_delete() to disk_destroy(). 2000-01-28 20:49:43 +00:00
subr_disklabel.c
subr_diskmbr.c Don't permit generation of non-physical disk addresses. 2000-01-28 10:22:07 +00:00
subr_diskslice.c Fixed a memory leak for slices with an (unsupported) bad sector table. 2000-01-28 11:51:08 +00:00
subr_eventhandler.c
subr_log.c
subr_module.c
subr_param.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
subr_prf.c
subr_prof.c
subr_rman.c
subr_scanf.c
subr_smp.c Allow SMP systems with an MCA bus to work properly. 2000-01-13 09:09:02 +00:00
subr_trap.c Add a new mechanism, cndbctl(), to tell the console driver that 2000-01-11 14:54:01 +00:00
subr_xxx.c
sys_generic.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
sys_pipe.c Use vfs_timestamp() instead of getnanotime() to set timestamps. This 1999-12-26 13:04:52 +00:00
sys_process.c
sys_socket.c
syscalls.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:02:31 +00:00
syscalls.master Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:01:07 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c
tty_compat.c
tty_conf.c
tty_cons.c Don't follow null pointers if we somehow have a null devswitch entry 2000-01-25 09:20:08 +00:00
tty_pty.c
tty_snoop.c
tty_subr.c
tty_tb.c
tty_tty.c
tty.c Back out previous commit; it was premature. 2000-01-28 17:11:07 +00:00
uipc_domain.c
uipc_mbuf.c Actively limit the allocation of mbufs to NMBUFS/nmbufs and mbuf clusters 1999-12-28 06:35:57 +00:00
uipc_proto.c
uipc_sockbuf.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_socket2.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_socket.c Add aio_waitcomplete(). Make aio work correctly for socket descriptors. 2000-01-14 02:53:29 +00:00
uipc_syscalls.c This is Bosko Milekic's mbuf allocation waiting code. Basically, this 1999-12-12 05:52:51 +00:00
uipc_usrreq.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
vfs_acl.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
vfs_aio.c Back out the previous spl change, since it opens a race window. 2000-01-20 08:15:13 +00:00
vfs_bio.c Need to reset the buffer pointer to avoid reconsidering the same buffer 2000-01-18 02:13:26 +00:00
vfs_cache.c
vfs_cluster.c
vfs_conf.c Put on asbestos suit and put a splcam() around the 'Mounting root from..' 1999-12-12 16:34:43 +00:00
vfs_default.c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to 2000-01-19 06:07:34 +00:00
vfs_export.c This patch fixes a locking bug that can result in deadlock if 2000-01-29 15:22:58 +00:00
vfs_extattr.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_init.c The sysctl mod_xx hack is no longer required now that we have totally 1999-12-12 16:30:34 +00:00
vfs_lookup.c Introduce NDFREE (and remove VOP_ABORTOP) 1999-12-15 23:02:35 +00:00
vfs_mount.c Put on asbestos suit and put a splcam() around the 'Mounting root from..' 1999-12-12 16:34:43 +00:00
vfs_subr.c This patch fixes a locking bug that can result in deadlock if 2000-01-29 15:22:58 +00:00
vfs_syscalls.c Add bwillwrite to all system calls that create things in the filesystem. 2000-01-10 00:08:53 +00:00
vfs_vnops.c Give vn_isdisk() a second argument where it can return a suitable errno. 2000-01-10 12:04:27 +00:00
vnode_if.pl Use a seperate -c and -h mode. The vnode_if.c file is compiled only into 1999-12-12 16:43:05 +00:00
vnode_if.src Second pass commit to introduce new ACL and Extended Attribute system 1999-12-19 06:08:07 +00:00