freebsd-skq/sys
rwatson 127682bc8c Protect link layer network interface multicast address list manipulation
using ifp->if_addr_mtx:

- Initialize if_addr_mtx when ifnet is initialized.

- Destroy if_addr_mtx when ifnet is torn down.

- Rename ifmaof_ifpforaddr() to if_findmulti(); assert if_addr_mtx.
  Staticize.

- Extract ifmultiaddr allocation and initialization into if_allocmulti();
  accept a 'mflags' argument to indicate whether or not sleeping is
  permitted.  This centralizes error handling and address duplication.

- Extract ifmultiaddr tear-down and deallocation in if_freemulti().

- Re-structure if_addmulti() to hold if_addr_mtx around manipulation of
  the ifnet multicast address list and reference count manipulation.
  Make use of non-sleeping allocations.  Annotate the fact that we only
  generate routing socket events for explicit address addition, not
  implicit link layer address addition.

- Re-structure if_delmulti() to hold if_addr_mtx around manipulation of
  the ifnet multicast address list and reference count manipulation.
  Annotate the lack of a routing socket event for implicit link layer
  address removal.

- De-spl all and sundry.

Problem reported by:	Ed Maste <emaste at phaedrus dot sandvine dot ca>
MFC after:		1 week
2005-08-02 23:23:26 +00:00
..
alpha Move MODULE_DEPEND() statements for SYSVIPC dependencies to linux_ipc.c 2005-07-29 19:40:39 +00:00
amd64 Move MODULE_DEPEND() statements for SYSVIPC dependencies to linux_ipc.c 2005-07-29 19:40:39 +00:00
arm msdosfs_conv.c references cmos_wall_clock and adjkerntz. Since these 2005-07-27 21:19:28 +00:00
boot Fix a comparison that broke ``set console=vidconsole'' and even the 2005-07-29 12:47:42 +00:00
bsm For consistency with more system include files, add a trailing '_' to 2005-05-29 16:11:34 +00:00
cam Fix the recent panics/LORs/hangs created by my kqueue commit by: 2005-07-01 16:28:32 +00:00
coda - Change all filesystems and vfs_cache to relock the dvp once the child is 2005-04-13 10:59:09 +00:00
compat Add missing dependencies on the SYSVIPC modules. 2005-07-29 19:41:04 +00:00
conf Connect GEOM_ELI class to the build. 2005-07-27 21:47:55 +00:00
contrib Prevent a race condition. As pf_send_tcp() - called for expired synproxy 2005-07-20 18:58:27 +00:00
crypto gbde(8) is also rejndael user. 2005-03-11 22:07:04 +00:00
ddb Implement functions calls from within DDB on ia64. On ia64 a function 2005-07-02 23:52:37 +00:00
dev Do not lock an to check gone flag. Only need to hold the lock to set 2005-08-02 16:03:51 +00:00
doc
fs devfs is not yet fully MPSAFE - for example, multiple concurrent devfs(8) 2005-07-29 23:00:56 +00:00
gdb check return value of gdb_rx_varhex 2005-03-28 18:31:18 +00:00
geom MFp4: Export more informations about encrypted providers. 2005-07-27 22:31:57 +00:00
gnu Repair this: 2005-07-09 18:30:31 +00:00
i4b Fix some long standing bugs in writing to the BPF device attached to 2005-06-26 18:11:11 +00:00
i386 Propagate error code of kern_execve() to the caller properly. 2005-08-01 17:35:48 +00:00
ia64 Convert the atomic_ptr() operations over to operating on uintptr_t 2005-07-15 18:17:59 +00:00
isa Add pnp and location info for the ISA bus. The pnp info is the 2005-08-01 07:03:10 +00:00
isofs/cd9660 - Change all filesystems and vfs_cache to relock the dvp once the child is 2005-04-13 10:59:09 +00:00
kern Long overdue, keep up with mbuf.h,v 1.148. 2005-08-02 20:03:23 +00:00
libkern Temporary restore a part of rev 1.6. 2005-07-23 16:52:57 +00:00
modules Connect GEOM_ELI class to the build. 2005-07-27 21:47:55 +00:00
net Protect link layer network interface multicast address list manipulation 2005-08-02 23:23:26 +00:00
net80211 close a race between reclaiming a node when a station is inactive 2005-07-31 06:12:32 +00:00
netatalk Eliminate MAC entry point mac_create_mbuf_from_mbuf(), which is 2005-07-05 23:39:51 +00:00
netatm Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
netgraph Fix up the comment. 2005-08-02 20:06:48 +00:00
netinet recover the line which was wrongly disappeared during scope cleanup. 2005-08-01 12:08:49 +00:00
netinet6 simplied the fix to FreeBSD-SA-04:06.ipv6. The previous one worried 2005-07-28 18:07:07 +00:00
netipsec Correct typo in a comment describing vshiftl(). 2005-06-02 23:56:10 +00:00
netipx Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
netkey fix build without option INET6. 2005-07-30 20:10:31 +00:00
netnatm Remove FreeBSD 2.2 protocol usrreq compatibility code. 2005-07-19 13:36:39 +00:00
netncp Change API of mb_copy_t in libmchain so that netsmb can handle 2005-07-29 13:22:37 +00:00
netsmb Change API of mb_copy_t in libmchain so that netsmb can handle 2005-07-29 13:22:37 +00:00
nfs Fixes for NFS crashes on architectures that require strict alignment. 2005-07-14 20:08:27 +00:00
nfs4client - We want if (mrep != NULL) not if (m_freem != NULL). m_freem will never 2005-04-25 05:11:19 +00:00
nfsclient FIx for a bug in the change that made nfs_timer() MPSAFE. We need to 2005-07-27 15:06:26 +00:00
nfsserver NFS write gathering defers execution of NFS server write requests to wait 2005-04-17 16:25:36 +00:00
opencrypto malloc.h relies on param.h for a definition of MAXCPU. I guess that there is 2005-05-30 05:01:44 +00:00
pc98 MFi386: revision 1.1204. 2005-07-21 11:13:12 +00:00
pccard Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
pci - Use callout_*() rather than timeout() to periodically poll the media. 2005-07-27 13:51:01 +00:00
posix4 Introduce MAC Framework and MAC Policy entry points to label and control 2005-05-04 10:39:15 +00:00
powerpc Temporary band-aid to fix hang when a process exec's Altivec instructions. 2005-07-30 11:14:31 +00:00
rpc - Don't call rpcclnt_realign() if we don't have any mbufs to realign. 2005-03-19 01:16:25 +00:00
security If a "hole" opens up in the ruleset (i.e.: remove 5), do not return 2005-07-28 13:55:12 +00:00
sparc64 Add extra constraints to tell the compiler that the memory be modified 2005-07-27 20:01:45 +00:00
sys Include a SYSUNINIT() to destroy the mutex in MTX_SYSINIT. This makes 2005-08-02 20:50:45 +00:00
tools Allow EVFILT_VNODE events to work on every filesystem type, not just 2005-06-09 20:20:31 +00:00
ufs Delay freeing disk space for file system blocks until all dirty buffers 2005-07-31 20:24:14 +00:00
vm Rename UMA_MAX_NAME to UTH_MAX_NAME, since it's a maximum in the 2005-07-25 00:47:32 +00:00
Makefile When building cscopnamefile, default architecture to ${MACHINE}, not i386. 2005-03-08 00:09:41 +00:00