freebsd-skq/sys/kern
Don Lewis 288e351b55 If a device attach routine fails during boot and calls bus_teardown_intr(),
ithread_remove_handler() may fail to remove the interrupt handler if
it decides to let the ithread do the removal.  The problem is that during
boot "cold" is set, which causes msleep() to return immediately.  This
will cause ithread_remove_handler() to fail to wait for the ithread
to do the removal from the handler TAILQ before freeing the handler
back to the heap.  Bad things will happen when some other user of the
TAILQ, such as ithread_add_handler() or the actual ithread attempts to use
the freed handler.  Fix the problem by forcing ithread_remove_handler()
to do the actual removal itself if the "cold" flag is set.

Reviewed by:	jhb
2004-01-13 22:55:46 +00:00
..
bus_if.m
clock_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Add an additional field to the elf brandinfo structure to support 2003-12-23 02:42:39 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c
init_sysent.c Regen - this should be essentially a NOP, except for rcsid changes. 2003-12-23 03:52:14 +00:00
kern_acct.c
kern_acl.c
kern_alq.c
kern_clock.c Catch a few places where NULL (pointer) was used where 0 (integer) was 2003-12-23 02:36:43 +00:00
kern_condvar.c - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
kern_conf.c
kern_context.c Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
kern_descrip.c Mechanical whitespace cleanup. 2004-01-11 19:39:14 +00:00
kern_environment.c
kern_event.c Don't TAILQ_INIT kq_head twice, once is enough. 2003-12-25 23:42:36 +00:00
kern_exec.c Fixed some style bugs (mainly, try to always use explicit comparisons with 2003-12-28 04:37:59 +00:00
kern_exit.c Better fix than my previous commit: 2003-11-14 18:49:01 +00:00
kern_fork.c Prevent a race condition between fork1() and whatever changes the pgrp by 2004-01-09 23:42:36 +00:00
kern_idle.c
kern_intr.c If a device attach routine fails during boot and calls bus_teardown_intr(), 2004-01-13 22:55:46 +00:00
kern_jail.c
kern_kse.c s/Muliple/Multiple 2004-01-10 18:34:01 +00:00
kern_kthread.c
kern_ktr.c
kern_ktrace.c Bound the number of iterations a thread can perform inside 2003-11-11 09:09:26 +00:00
kern_linker.c
kern_lock.c Add pid to the info printed in lockmgr_printinfo. This makes VFS 2004-01-06 04:34:13 +00:00
kern_lockf.c
kern_mac.c Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
kern_malloc.c
kern_mib.c
kern_module.c
kern_mtxpool.c
kern_mutex.c - Allow mtx_trylock() to recurse on a recursive mutex. Attempts to recurse 2004-01-05 23:09:51 +00:00
kern_ntptime.c
kern_physio.c Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +00:00
kern_poll.c o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
kern_proc.c
kern_prot.c Rename mac_create_cred() MAC Framework entry point to mac_copy_cred(), 2003-12-06 21:48:03 +00:00
kern_resource.c
kern_sema.c
kern_shutdown.c
kern_sig.c When not creating a core dump due to resource limits specifying 2004-01-11 02:28:06 +00:00
kern_subr.c Add __restrict qualifiers to copyinfrom, copyinstrfrom, copystr, copyinstr, 2003-12-26 05:54:35 +00:00
kern_switch.c Although sometimes to the uninitiated, it may seem like goup, KSEGOUP 2003-12-12 21:25:56 +00:00
kern_sx.c
kern_synch.c
kern_syscalls.c
kern_sysctl.c
kern_tc.c Various minor details: 2003-11-13 10:03:58 +00:00
kern_thr.c
kern_thread.c s/Muliple/Multiple 2004-01-10 18:34:01 +00:00
kern_time.c
kern_timeout.c Make the DIAGNOSTIC code which complains about long {call|time}out(9) 2003-12-07 20:03:28 +00:00
kern_umtx.c
kern_uuid.c
kern_xxx.c
ksched.c
link_elf_obj.c
link_elf.c
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh Remove the namespace column from the syscalls tables. We don't actually 2003-12-23 03:50:43 +00:00
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c Create a separate kthread that executes sched_cpu() once a second. Because 2003-12-26 17:07:29 +00:00
sched_ule.c - Make our transfer decisions based on load and not transferable load. A 2003-12-20 22:35:20 +00:00
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c
subr_bus.c o make debug_mpsafenet globally visible 2003-11-05 23:42:51 +00:00
subr_clist.c
subr_clock.c
subr_devstat.c
subr_disk.c
subr_eventhandler.c
subr_hints.c
subr_kobj.c
subr_log.c - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
subr_mbpool.c Pass MTX_DEF as the last argument to mtx_init() instead of 0. This 2003-12-07 21:53:41 +00:00
subr_mbuf.c Track current and peak sfbuf usage, export the values via sysctl. 2003-12-27 07:52:47 +00:00
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c
subr_pcpu.c
subr_power.c Move the kernel power change printf under bootverbose since the 2004-01-02 18:24:13 +00:00
subr_prf.c Re-arrange and consolidate some random debugging stuff 2003-12-07 05:04:49 +00:00
subr_prof.c
subr_rman.c
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_smp.c Introduce mp_maxcpus which can be used by libkvm utils to find out 2003-12-23 13:54:16 +00:00
subr_taskqueue.c Various style fixes. 2003-12-17 21:13:04 +00:00
subr_trap.c
subr_turnstile.c Adjust an assertion for the TDF_TSNOBLOCK race handling in 2003-12-09 21:14:31 +00:00
subr_witness.c Fix a major faux pas of mine. I was causing 2 very bad things to 2003-11-20 15:35:48 +00:00
sys_generic.c - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
sys_pipe.c Back out 1.160, which was committed by mistake. 2004-01-11 20:08:57 +00:00
sys_process.c
sys_socket.c
syscalls.c Regen - this should be essentially a NOP, except for rcsid changes. 2003-12-23 03:52:14 +00:00
syscalls.master Put restrict back in, the compilation failure was my fault when I 2003-12-26 05:58:16 +00:00
sysv_ipc.c
sysv_msg.c Slight whitespace consistency improvement: 2003-11-07 04:47:14 +00:00
sysv_sem.c Reduce the overhead of semop() by using the kernel stack instead of 2003-12-19 13:07:17 +00:00
sysv_shm.c Slight whitespace consistency improvement: 2003-11-07 04:47:14 +00:00
tty_compat.c
tty_conf.c
tty_cons.c
tty_pty.c - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
tty_subr.c
tty_tty.c
tty.c Improve the expressiveness of ttyinfo (^T) when dealing with threads 2004-01-08 22:49:23 +00:00
uipc_accf.c
uipc_cow.c - Modify alpha's sf_buf implementation to use the direct virtual-to- 2003-11-16 06:11:26 +00:00
uipc_domain.c
uipc_jumbo.c
uipc_mbuf2.c m_tag fixups in preparation for heavier use: 2004-01-02 17:27:39 +00:00
uipc_mbuf.c Fix another 0 / NULL mixup. 2003-12-25 01:17:27 +00:00
uipc_proto.c
uipc_sem.c
uipc_sockbuf.c Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
uipc_socket2.c Introduce a MAC label reference in 'struct inpcb', which caches 2003-11-18 00:39:07 +00:00
uipc_socket.c Reduce gratuitous redundancy and length in function names: 2003-11-16 18:25:20 +00:00
uipc_syscalls.c Back out 1.166, which was committed by mistake. 2004-01-11 20:07:15 +00:00
uipc_usrreq.c Mechanical whitespace cleanup; parenthesize return values; other minor 2004-01-11 19:48:19 +00:00
vfs_acl.c
vfs_aio.c Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +00:00
vfs_bio.c Remove a variable that has been initialized but otherwise unused since 2003-12-20 19:46:21 +00:00
vfs_cache.c
vfs_cluster.c Update the statfs structure with 64-bit fields to allow 2003-11-12 08:01:40 +00:00
vfs_default.c Remove mntvnode_mtx and replace it with per-mountpoint mutex. 2003-11-05 04:30:08 +00:00
vfs_export.c
vfs_extattr.c Mechanical whitespace cleanup; parenthesize return values; other minor 2004-01-11 19:52:10 +00:00
vfs_init.c
vfs_lookup.c
vfs_mount.c In dounmount(), only call checkdirs() prior to VFS_UNMOUNT() in the 2003-11-30 23:30:09 +00:00
vfs_subr.c More style fixes. 2004-01-05 23:40:46 +00:00
vfs_syscalls.c Mechanical whitespace cleanup; parenthesize return values; other minor 2004-01-11 19:52:10 +00:00
vfs_vnops.c v_vxproc was a bogus name for a thread (pointer). 2003-12-28 09:12:56 +00:00
vnode_if.src