1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys/kern
Ian Dowse ddb7d629f1 Sockets passed into uipc_abort() have been allocated by sonewconn()
but never accept'ed, so they must be destroyed. Originally, unp_drop()
detected this situation by checking if so->so_head is non-NULL.
However, since revision 1.54 of uipc_socket.c (Feb 1999), so->so_head
is set to NULL before calling soabort(), so any unix-domain sockets
waiting to be accept'ed are leaked if the server socket is closed.

Resolve this by moving the socket destruction code into uipc_abort()
itself, and making it unconditional (the other caller of unp_drop()
never needs the socket to be destroyed). Use unp_detach() to avoid
the original code duplication when destroying the socket.

PR:		kern/17895
Reviewed by:	dwmalone (an earlier version of the patch)
MFC after:	1 week
2002-02-25 00:03:34 +00:00
..
bus_if.m
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
imgact_elf.c
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
init_sysent.c Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
kern_acct.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_acl.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +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 MFS: synchronize the code with the version in -stable, specifically: 2002-02-11 23:56:18 +00:00
kern_condvar.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_conf.c (Doing that whole test-immediately-after-commit-thing like obrien sez:) 2002-02-16 17:44:43 +00:00
kern_descrip.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_environment.c
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 Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_exit.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_fork.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c MFS: synchronize the code with the version in -stable, specifically: 2002-02-11 23:56:18 +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 Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
kern_ktr.c Print parm6 too in the !KTR_EXTEND case. 2002-01-01 21:47:38 +00:00
kern_ktrace.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_linker.c - Whitespace fixes leftover from previous commit. 2002-02-22 13:43:56 +00:00
kern_lock.c
kern_lockf.c
kern_malloc.c
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 - Whitespace fixup left over from previous commit. 2002-02-22 13:33:10 +00:00
kern_mtxpool.c
kern_mutex.c Tidy up some unused variables 2002-02-20 21:25:44 +00:00
kern_ntptime.c Revise timercounters to use binary fixed point format internally. 2002-02-07 21:21:55 +00:00
kern_physio.c
kern_poll.c Make this compile after changes to kse structures. 2002-02-15 02:50:07 +00:00
kern_proc.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_prot.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_random.c Load the current timecounter into tc. The timecounter global can change 2002-02-18 19:49:30 +00:00
kern_resource.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_sema.c
kern_shutdown.c Replace accidentally removed setrunqueue() 2002-02-09 01:38:16 +00:00
kern_sig.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_subr.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_switch.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +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 Convert p->p_runtime and PCPU(switchtime) to bintime format. 2002-02-22 13:32:01 +00:00
kern_syscalls.c
kern_sysctl.c
kern_tc.c Add a generation number to timecounters and spin if it changes under 2002-02-24 20:04:07 +00:00
kern_time.c Take the common case of gettimeofday(&tv, NULL) out from under Giant. 2002-02-18 08:40:28 +00:00
kern_timeout.c
kern_xxx.c
ksched.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
link_aout.c
link_elf_obj.c
link_elf.c
linker_if.m
Make.tags.inc
Makefile
makeobjops.pl
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
md5c.c
p1003_1b.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
posix4_mib.c
subr_acl_posix1e.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c
subr_clist.c
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c
subr_disklabel.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_diskmbr.c
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
subr_hints.c
subr_kobj.c
subr_log.c
subr_mbuf.c
subr_mchain.c Add support for iovcnt greater than 1. This should resolve problems 2002-02-21 16:23:38 +00:00
subr_module.c
subr_param.c Allow the kern.maxusers boot tuneable to be set to 0 (previously only 2002-02-06 01:19:19 +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
subr_prf.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
subr_prof.c
subr_rman.c
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 Make this compile. 2002-02-23 01:42:13 +00:00
subr_turnstile.c Tidy up some unused variables 2002-02-20 21:25:44 +00:00
subr_witness.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
subr_xxx.c GC the unused einval() 2002-02-10 22:07:41 +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 Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +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 Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
syscalls.master Add stub syscalls and definitions for KSE calls. 2002-02-19 02:40:31 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c Rehash of 1.43: simply remove the comment, since it's highly redundant 2002-02-18 16:02:24 +00:00
sysv_shm.c
tty_compat.c
tty_conf.c
tty_cons.c
tty_pty.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
tty_subr.c
tty_tty.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
tty.c Fix a typo (?) in previous commit told ttyprintf() to print the integer 2002-02-24 19:56:41 +00:00
uipc_accf.c
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_proto.c
uipc_sockbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket2.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +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 Sockets passed into uipc_abort() have been allocated by sonewconn() 2002-02-25 00:03:34 +00:00
vfs_acl.c o Scatter vn_start_write() and vn_finished_write() through ACL code so 2002-02-04 17:58:15 +00:00
vfs_aio.c Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
vfs_bio.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
vfs_cache.c Remove cache_purgeleafdirs(), it has been #if 0 for quite some time. 2002-02-17 20:40:29 +00:00
vfs_cluster.c
vfs_conf.c
vfs_default.c
vfs_export.c
vfs_extattr.c Make sure to hold vnode lock when calling into VOP_GETATTR(). 2002-02-10 21:44:30 +00:00
vfs_init.c
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
vfs_subr.c Make v_addpollinfo() visible and non-inline. 2002-02-18 16:18:02 +00:00
vfs_syscalls.c Make sure to hold vnode lock when calling into VOP_GETATTR(). 2002-02-10 21:44:30 +00:00
vfs_vnops.c Lock struct pgrp, session and sigio. 2002-02-23 11:12: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 Per discussion at BSDCon, note that the vop_getattr locking protocol 2002-02-18 00:22:57 +00:00