freebsd-dev/sys/kern
Alfred Perlstein 3865fa138b Remove bogus assertion in dup2 that can lead to panics when kernel
threads race for a file slot.

dup2(2) incorrectly assumes that if it needs to grow the ofiles
array that it will get what it wants.  This assertion was valid
before we allowed shared filedescriptor tables but is now incorrect.

The assertion can trigger superfolous panics if the thread doing a
dup2 looses a race with another thread while possibly blocked in
the MALLOC call in fdalloc.  Another thread may grab the slot we
are requesting which makes fdalloc return something other than what
we asked for, this will triggering the bogus assertion.

MFC after: 2 weeks
Reviewed by: phk
2002-02-01 19:25:36 +00:00
..
bus_if.m Alter the return value and arguments of the GET_RESOURCE_LIST bus method. 2000-11-28 06:49:15 +00:00
device_if.m
genassym.sh brace by itself after function declaration. 2001-12-27 20:16:21 +00:00
imgact_aout.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_elf.c Remove whitespace at end of line. 2001-12-16 17:21:16 +00:00
imgact_gzip.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
inflate.c
init_main.c Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution. 2002-01-13 21:37:49 +00:00
init_sysent.c Regenerate to make osigreturn standard. 2002-02-01 17:41:45 +00:00
kern_acct.c o Move suser() calls in kern/ to using suser_xxx() with an explicit 2001-11-01 20:56:57 +00:00
kern_acl.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
kern_cap.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_clock.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
kern_condvar.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
kern_conf.c Add a new sysinit SI_SUB_DEVFS. Devfs hooks into the kernel at SI_ORDER_FIRST, 2002-01-09 04:58:49 +00:00
kern_descrip.c Remove bogus assertion in dup2 that can lead to panics when kernel 2002-02-01 19:25:36 +00:00
kern_environment.c Fix an inverted test csae. Success of getenv() is determined by a return 2001-10-25 17:22:31 +00:00
kern_event.c Add entry for EVFILT_NETDEV, which was inadverdently omitted back in Sept. 2002-01-24 17:20:55 +00:00
kern_exec.c o Call the functions registered with at_exec() from exec_new_vmspace() 2002-01-13 19:36:35 +00:00
kern_exit.c Release text vnode in exit() rather than wait(). Occasionally 2002-01-05 21:47:58 +00:00
kern_fork.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
kern_idle.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_intr.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
kern_jail.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_kthread.c Use a different mechanism to get the vnlru process to wake up and notice 2001-12-19 01:31:12 +00:00
kern_ktr.c Print parm6 too in the !KTR_EXTEND case. 2002-01-01 21:47:38 +00:00
kern_ktrace.c Fix ktrace enablement/disablement races that can result in a vnode 2001-10-24 01:05:39 +00:00
kern_linker.c - Ensure that linker file id's are unique, rather than blindly 2001-11-18 18:19:35 +00:00
kern_lock.c Fix a BUF_TIMELOCK race against BUF_LOCK and fix a deadlock in vget() 2001-12-20 22:42:27 +00:00
kern_lockf.c make LOCKF_DEBUG kernel option work (sorta) 2001-12-02 12:47:25 +00:00
kern_malloc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mib.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_module.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mtxpool.c cast hashing index to (int)(intptr_t) for calculation. 2001-11-19 00:20:36 +00:00
kern_mutex.c Bump the limits for determining if we've held a spinlock too long as they 2002-01-15 14:20:33 +00:00
kern_ntptime.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_physio.c
kern_poll.c Complete the device polling support by adding a thread in charge 2001-12-19 00:53:24 +00:00
kern_proc.c Fix a bug where the mutex name wasn't always displayed for processes in 2002-01-05 17:18:59 +00:00
kern_prot.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_random.c This patchset fixes a large number of file descriptor race conditions. 2000-11-18 21:01:04 +00:00
kern_resource.c use mutex pool mutexes for uidinfo locking. 2002-01-20 22:48:49 +00:00
kern_sema.c Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
kern_shutdown.c Allow dump device be configured as early as possible using loader(8) tunable. 2002-01-21 01:16:11 +00:00
kern_sig.c o Revert kern_sig.c#1.143, as cr_cansignal() doesn't currently permit 2002-01-10 01:25:35 +00:00
kern_subr.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
kern_switch.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_sx.c Invert the test of sx_xholder for SX_LOCKED. We need to warn if a 2002-01-18 09:21:15 +00:00
kern_synch.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
kern_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sysctl.c Add code to export and print the description associated to sysctl 2001-12-16 02:55:41 +00:00
kern_tc.c Be more conservative about interrupt latency, it aint getting better it seems. 2002-01-25 21:22:34 +00:00
kern_time.c o Modify static settime() to accept the proc * for the process requesting 2001-09-26 19:53:57 +00:00
kern_timeout.c Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_aout.c Since we used '#ifdef __i386__', don't close with '#endif /* !__alpha__ */' 2001-11-24 10:11:14 +00:00
link_elf_obj.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
link_elf.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
linker_if.m Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Update pathnames for creation of tags file. 2001-12-05 01:23:21 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
makesyscalls.sh Oops, fix previous commit to not generate a C comment in syscall.mk. 2002-01-30 15:12:12 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c Add ia64 support. 2000-09-29 13:36:47 +00:00
p1003_1b.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
posix4_mib.c
subr_acl_posix1e.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
subr_autoconf.c
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Fixed an apparent typo ("-" before ":") and an English error (comma 2001-12-28 18:32:13 +00:00
subr_clist.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
subr_devstat.c Export the head structure for the device statistics STAILQ in 2001-08-04 18:02:47 +00:00
subr_disk.c Don't call cdevsw_add(). 2001-11-04 11:56:22 +00:00
subr_disklabel.c Fix typo so that the delay code introduced in revision 1.60 actually 2002-01-12 02:04:15 +00:00
subr_diskmbr.c Wrap Dangerously Dedicated printf under if (bootverbose) 2001-12-11 05:35:43 +00:00
subr_diskslice.c Uninlined most of the bloated inline functions in <sys/disklabel.h>. Some 2002-01-17 18:33:18 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c On the first day of Christmas bde gave to me: 2001-12-23 22:04:08 +00:00
subr_mchain.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
subr_module.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
subr_param.c Make the 'maxusers 0' auto-sizing code slightly more conservative. Change 2002-01-25 01:54:16 +00:00
subr_pcpu.c Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Some fix for the recent apm module changes. 2001-11-01 16:34:07 +00:00
subr_prf.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
subr_prof.c - Change all callers of addupc_task() to check PS_PROFIL explicitly and 2001-12-18 09:06:10 +00:00
subr_rman.c Add a rman_reserve_resource_bound() function that takes an additional 2001-12-21 21:40:55 +00:00
subr_sbuf.c Yet a bug with extensible sbufs being marked as OVERFLOWED. This time 2002-01-24 20:57:56 +00:00
subr_scanf.c
subr_smp.c Fix forward_roundrobin(). It was mistakenly using the cpu number as 2002-01-05 09:38:47 +00:00
subr_taskqueue.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
subr_trap.c Changed the type of pcb_flags from u_char to u_int and adjusted things. 2002-01-17 17:49:23 +00:00
subr_turnstile.c Bump the limits for determining if we've held a spinlock too long as they 2002-01-15 14:20:33 +00:00
subr_witness.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
subr_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sys_generic.c Remove unused variables in select(2) from previous delta. 2002-01-30 19:48:25 +00:00
sys_pipe.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
sys_process.c Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to 2001-10-21 23:57:24 +00:00
sys_socket.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
syscalls.c Regenerate to make osigreturn standard. 2002-02-01 17:41:45 +00:00
syscalls.master Made osigreturn(2) standard so that SYS_osigreturn can be used in the 2002-02-01 17:27:14 +00:00
sysv_ipc.c Eliminate semexit_hook using at_exit(9) and rm_at_exit(9). 2001-12-30 18:55:09 +00:00
sysv_msg.c Make AIO a loadable module. 2001-12-29 07:13:47 +00:00
sysv_sem.c Eliminate semexit_hook using at_exit(9) and rm_at_exit(9). 2001-12-30 18:55:09 +00:00
sysv_shm.c Make AIO a loadable module. 2001-12-29 07:13:47 +00:00
tty_compat.c
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c Fix boot -p for DDBless kernels 2001-12-11 10:21:26 +00:00
tty_pty.c o Move suser() calls in kern/ to using suser_xxx() with an explicit 2001-11-01 20:56:57 +00:00
tty_subr.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
tty_tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty.c utime/stime.tv_sec are elapsed times, not relative to 1970. We can 2001-11-17 00:26:57 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Update the comment about System initialization to reflect the use of 2001-12-08 04:20:54 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c Revert 1.81; 1.19 fixed this already in a different way. 2002-01-09 01:45:17 +00:00
uipc_socket2.c Revert 1.81; 1.19 fixed this already in a different way. 2002-01-09 01:45:17 +00:00
uipc_socket.c Fix select on fifos. 2002-01-14 22:03:48 +00:00
uipc_syscalls.c Fixed bug in calculation of amount of file to send when nbytes !=0 and 2002-01-22 17:32:10 +00:00
uipc_usrreq.c Remove a bogus FILEDESC_UNLOCK. 2002-01-14 19:45:03 +00:00
vfs_acl.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +00:00
vfs_aio.c o Remove the unused vestiges of JOBST_JOBQPROC and 2002-01-20 18:59:58 +00:00
vfs_bio.c GC P_BUFEXHAUST leftovers, we've had a new mechanism to avoid buffer 2002-01-31 18:39:44 +00:00
vfs_cache.c Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution. 2002-01-13 21:37:49 +00:00
vfs_cluster.c Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking 2001-11-05 18:48:54 +00:00
vfs_conf.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_default.c Fix incorrect double-termination of vm_object. When a vm_object is 2001-10-23 01:23:41 +00:00
vfs_export.c Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
vfs_extattr.c Don't recurse on filedesc lock in chroot_refuse_vdir_fds(). 2002-02-01 18:27:16 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c Include sys/_lock.h and sys/_mutex.h to reduce namespace pollution. 2002-01-13 21:37:49 +00:00
vfs_mount.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_subr.c Remove 'VXLOCK: interlock avoided' warnings. This can now occur in normal 2002-01-19 02:14:45 +00:00
vfs_syscalls.c Don't recurse on filedesc lock in chroot_refuse_vdir_fds(). 2002-02-01 18:27:16 +00:00
vfs_vnops.c Make st_blksize default to PAGE_SIZE instead of zero. 2002-01-25 16:39:57 +00:00
vnode_if.pl Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
vnode_if.src KSE Milestone 2 2001-09-12 08:38:13 +00:00