freebsd-dev/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 Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents 2003-09-10 21:37:10 +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 Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
imgact_elf32.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf64.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_shell.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
inflate.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
init_main.c Remove the global variable 'cmask', which was used to initialize the 2003-10-02 03:57:59 +00:00
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 Add fdidx argument to vn_open() and vn_open_cred() and pass -1 throughout. 2003-07-27 17:04:56 +00:00
kern_acl.c Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
kern_alq.c Allow MAC policies to block/revoke kern_alq write access to a file. 2003-10-25 16:10:41 +00:00
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 Retire revoke_and_destroy_dev() with extreme prejudice. 2003-09-28 20:50:36 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Tidy up loose ends in the idle process. Call the MI cpu_idle() function 2003-10-19 02:43:57 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_kse.c s/Muliple/Multiple 2004-01-10 18:34:01 +00:00
kern_kthread.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_ktr.c Update the license on this file to be a bit more sane. 2003-09-10 01:09:32 +00:00
kern_ktrace.c Bound the number of iterations a thread can perform inside 2003-11-11 09:09:26 +00:00
kern_linker.c Avoid NULL pointer dereferencing in modlist_lookup2(). 2003-09-23 14:42:38 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 - Only use UMA to cache malloc requests up to PAGE_SIZE. Values larger than 2003-09-19 04:39:08 +00:00
kern_mib.c Change all SYSCTLS which are readonly and have a related TUNABLE 2003-10-21 18:28:36 +00:00
kern_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_mtxpool.c Rearrange the SYSINIT order to call lockmgr_init() earlier so that 2003-07-16 01:00:39 +00:00
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 During a positive leap second, the tai_time offset should be 2003-06-25 20:56:40 +00:00
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 - Update the sched api. sched_{add,rem,clock,pctcpu} now all accept a td 2003-10-16 08:39:15 +00:00
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 - Don't set td_priority directly here, use sched_prio(). 2003-10-27 07:15:47 +00:00
kern_sema.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_shutdown.c Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI 2003-08-16 16:57:57 +00:00
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 Extend the mutex pool implementation to permit the creation and use of 2003-07-13 01:22:21 +00:00
kern_synch.c Removed mostly-dead code for setting switchtime after the idle loop 2003-10-29 15:23:09 +00:00
kern_syscalls.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_sysctl.c Bring back sysctl_wire_old_buffer(). Fix a bug in sysctl_handle_opaque() 2003-10-05 13:31:33 +00:00
kern_tc.c Various minor details: 2003-11-13 10:03:58 +00:00
kern_thr.c Update powerpc to use the (old thread,new thread) calling convention 2003-08-14 03:56:24 +00:00
kern_thread.c s/Muliple/Multiple 2004-01-10 18:34:01 +00:00
kern_time.c constify the second args to timevaladd() and timevalsub(). 2003-10-26 02:19:00 +00:00
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 Return EINVAL if the contested bit is not set on the umtx passed to 2003-09-07 11:14:52 +00:00
kern_uuid.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_xxx.c Correct mostly harmless off-by-one error in getdomainname(). 2003-09-13 17:12:22 +00:00
ksched.c sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
link_elf_obj.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
link_elf.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
linker_if.m The method link_preload_finish is not static. 2003-09-20 17:39:32 +00:00
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 Remove the namespace column from the syscalls tables. We don't actually 2003-12-23 03:50:43 +00:00
md4c.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
md5c.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
p1003_1b.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
posix4_mib.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
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 Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
subr_autoconf.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_blist.c Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
subr_bus.c o make debug_mpsafenet globally visible 2003-11-05 23:42:51 +00:00
subr_clist.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_clock.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_devstat.c The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
subr_disk.c Report bio_pblkbo instead of bio_blkno. 2003-10-18 17:27:10 +00:00
subr_eventhandler.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_hints.c Add a resource_disabled() helper function that returns true (non-zero) if 2003-07-02 16:01:38 +00:00
subr_kobj.c * Add multiple inheritance to kobj. Each class can have zero or more base 2003-10-16 09:16:28 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_msgbuf.c Put the message about msgbuf cksum mismatch under bootverbose and tell 2003-09-05 11:12:00 +00:00
subr_param.c More pipe changes: 2003-08-11 05:51:51 +00:00
subr_pcpu.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_rman.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_rtc.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_sbuf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_scanf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Log involuntary context switches correctly. 2003-09-05 22:15:26 +00:00
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 Implement preliminary support for the PT_SYSCALL command to ptrace(2). 2003-10-09 10:17:16 +00:00
sys_socket.c Initialize struct fileops with C99 sparse initialization. 2003-06-18 18:16:40 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_conf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_cons.c I think rwatson got the sign wrong here... 2003-10-18 12:16:17 +00:00
tty_pty.c - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
tty_subr.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
tty_tty.c The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
tty.c Improve the expressiveness of ttyinfo (^T) when dealing with threads 2004-01-08 22:49:23 +00:00
uipc_accf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 move domain list mutex initialization to earlier in the boot sequence so 2003-09-02 20:59:23 +00:00
uipc_jumbo.c Lock the vm object when removing a page. 2003-06-11 21:23:04 +00:00
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 Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_sem.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Move more ACL logic from the UFS code (ufs_acl.c) to the central POSIX.1e 2003-08-04 02:13:05 +00:00
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 - Apply a big giant lock around the namecache. This has been sitting in 2003-10-05 07:13:50 +00:00
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 Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
vfs_extattr.c Mechanical whitespace cleanup; parenthesize return values; other minor 2004-01-11 19:52:10 +00:00
vfs_init.c Change all SYSCTLS which are readonly and have a related TUNABLE 2003-10-21 18:28:36 +00:00
vfs_lookup.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
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 Rename VOP_RMEXTATTR() to VOP_DELETEEXTATTR() for consistency with the 2003-07-28 18:53:29 +00:00