freebsd-nq/sys/kern
Peter Wemm eb2d8c2e8a The newer module dependency code exposes an apparent bug in the
bus/driver/kobj system.  I am not 100% sure that this is the correct fix,
but it is harmless and does seem to solve the problem.  At worst, it could
cause a tiny memory leak at unload time - this is better than a free(NULL)
and subsequent panic.  I'm waiting for comments from Doug about this.
This may yet be backed out and fixed differently.

The change itself is to increment the reference count on drivers in one
case where it appears to have been missed.  When everything is unloaded,
kobj_class_free() was being called twice in some cases, and panicing the
second time.
2000-04-29 13:24:35 +00:00
..
bus_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
device_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
imgact_aout.c Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
imgact_elf.c Change our ELF binary branding to something more acceptable to the Binutils 2000-04-18 02:39:26 +00:00
imgact_gzip.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
imgact_shell.c Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
inflate.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
init_main.c Add new oid, debug.boothowto. This allows userland apps to see 2000-02-25 11:43:08 +00:00
init_sysent.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +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 Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
kern_conf.c Reword warning to make it clearer (I read it as "remove block devices created 2000-03-25 21:10:20 +00:00
kern_descrip.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
kern_environment.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
kern_event.c Add files that I forgot to `cvs add' on last commit. 2000-04-16 19:02:08 +00:00
kern_exec.c Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
kern_exit.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
kern_fork.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
kern_intr.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_jail.c Yet-another-update: rename ``kern.prison'' to a new sysctl root entry, 2000-02-12 13:41:56 +00:00
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 First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
kern_lock.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
kern_lockf.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
kern_malloc.c Print "previous type" correctly when INVARIANTS is defined. 2000-03-14 14:58:04 +00:00
kern_mib.c Draw the outline of "struct bio". 2000-04-02 09:26:51 +00:00
kern_module.c First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
kern_ntptime.c Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
kern_physio.c Move B_ERROR flag to b_ioflags and call it BIO_ERROR. 2000-04-02 15:24:56 +00:00
kern_proc.c Also allow non-rot processes to setproctitle() 2000-02-08 19:54:15 +00:00
kern_prot.c Make the sigprocmask() and geteuid() system calls MP SAFE. Expand 2000-04-02 17:52:43 +00:00
kern_random.c Hookup /dev/[u]random on the Alpha. 2000-04-28 17:18:48 +00:00
kern_resource.c Don't try to account for the partial quantum unless the process is 2000-02-15 09:02:07 +00:00
kern_shutdown.c The SMP cleanup commit broke UP compiles. Make UP compiles work again. 2000-03-28 18:06:49 +00:00
kern_sig.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
kern_subr.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
kern_switch.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
kern_synch.c The SMP cleanup commit broke UP compiles. Make UP compiles work again. 2000-03-28 18:06:49 +00:00
kern_syscalls.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_sysctl.c Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
kern_tc.c Isolate the Timecounter internals in their own two files. 2000-03-20 14:09:06 +00:00
kern_threads.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
kern_time.c Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
kern_timeout.c Restructure TCP timeout handling: 1999-08-30 21:17:07 +00:00
kern_xxx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ksched.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
link_aout.c First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
link_elf_obj.c First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
link_elf.c First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
linker_if.m First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +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 Fix some bugs in user-end output and add a reference to the original 1999-11-22 14:40:04 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00
makeobjops.pl * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
makesyscalls.sh Make makesyscalls.sh parse an optional field 'MPSAFE' that specifies 2000-04-03 06:36:14 +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 Well folks, this is it - The second stage of the removal for build support 1999-04-17 08:36:07 +00:00
posix4_mib.c Add $FreeBSD$. 2000-04-22 15:13:06 +00:00
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 Removal of sys/device.h 1999-10-05 21:19:41 +00:00
subr_blist.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
subr_bus.c The newer module dependency code exposes an apparent bug in the 2000-04-29 13:24:35 +00:00
subr_clist.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_devstat.c Clone bio versions of certain bits of infrastructure: 2000-04-02 19:08:05 +00:00
subr_disk.c Clone the {b|bio}_offset field, and make sure it is always initialized 2000-04-25 10:51:18 +00:00
subr_disklabel.c Retire bufqdisksort(), all drivers use bioqdisksort now. 2000-04-18 13:25:19 +00:00
subr_diskmbr.c Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
subr_diskslice.c Remove unused variable. 2000-04-26 00:20:01 +00:00
subr_eventhandler.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_kobj.c * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
subr_log.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
subr_module.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
subr_param.c Make sysv-style shared memory tuneable params fully runtime adjustable 2000-03-30 07:17:05 +00:00
subr_prf.c Do not fault if curproc is null. 2000-04-29 11:32:15 +00:00
subr_prof.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
subr_rman.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
subr_scanf.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
subr_smp.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
subr_trap.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
subr_xxx.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
sys_generic.c Fix select(2) for the Alpha. (!!) It was never returning true for 2000-02-20 13:36:26 +00:00
sys_pipe.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
sys_process.c Introduce the new function 1999-11-21 19:03:20 +00:00
sys_socket.c Update socket file type for fo_stat(). soo_stat() becomes a fileops 1999-11-08 03:31:01 +00:00
syscalls.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
syscalls.master Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
sysv_ipc.c In 'ipcperm()', only call 'suser()' if it is actually required. 2000-03-13 23:00:08 +00:00
sysv_msg.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysv_sem.c Remove #ifdef for sem_wakeup() - we just use wakeup(). 2000-03-30 11:35:25 +00:00
sysv_shm.c Make sysv-style shared memory tuneable params fully runtime adjustable 2000-03-30 07:17:05 +00:00
tty_compat.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_conf.c Don't refer to TABLDISC in the comments here. 2000-01-30 10:14:13 +00:00
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 Correct an oversight in jail() that allowed processes in jail to access 2000-02-09 03:32:11 +00:00
tty_snoop.c Unstaticize this driver. You can have as many snoop devices as you can 2000-04-02 00:35:37 +00:00
tty_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_tty.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
tty.c Add default 5min timeout for output drain to stop hanging on exit or in other 2000-04-27 20:14:21 +00:00
uipc_domain.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
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 Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
uipc_sockbuf.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
uipc_socket2.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
uipc_socket.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
uipc_syscalls.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
uipc_usrreq.c Enable SCM_RIGHTS on alpha. Allocate necessary buffer as conversion between 2000-03-09 15:15:27 +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 Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +00:00
vfs_bio.c Remove ~25 unneeded #include <sys/conf.h> 2000-04-19 14:58:28 +00:00
vfs_cache.c Move procfs_fullpath() to vfs_cache.c, with a rename to textvp_fullpath(). 2000-04-26 11:57:45 +00:00
vfs_cluster.c Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
vfs_conf.c Split the logic of 2000-03-20 16:28:35 +00:00
vfs_default.c Complete the bio/buf divorce for all code below devfs::strategy 2000-04-15 05:54:02 +00:00
vfs_export.c Rename the existing BUF_STRATEGY() to DEV_STRATEGY() 2000-03-20 11:29:10 +00:00
vfs_extattr.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +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 Split the logic of 2000-03-20 16:28:35 +00:00
vfs_subr.c Rename the existing BUF_STRATEGY() to DEV_STRATEGY() 2000-03-20 11:29:10 +00:00
vfs_syscalls.c Commit major SMP cleanups and move the BGL (big giant lock) in the 2000-03-28 07:16:37 +00:00
vfs_vnops.c Introduce kqueue() and kevent(), a kernel event notification facility. 2000-04-16 18:53:38 +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