freebsd-skq/sys
Bruce M Simpson ec002fee99 Implement reference counting for ifmultiaddr, in_multi, and in6_multi
structures. Detect when ifnet instances are detached from the network
stack and perform appropriate cleanup to prevent memory leaks.

This has been implemented in such a way as to be backwards ABI compatible.
Kernel consumers are changed to use if_delmulti_ifma(); in_delmulti()
is unable to detect interface removal by design, as it performs searches
on structures which are removed with the interface.

With this architectural change, the panics FreeBSD users have experienced
with carp and pfsync should be resolved.

Obtained from:	p4 branch bms_netdev
Reviewed by:	andre
Sponsored by:	Garance A Drosehn
Idea from:	NetBSD
MFC after:	1 month
2007-03-20 00:36:10 +00:00
..
amd64 Add another CPUID for AMD CPUs and fix style(9) while I am here. 2007-03-12 20:27:21 +00:00
arm Map the second CS of the compact flash too. This allow us access to 2007-03-14 19:03:07 +00:00
boot - Moved the uninitialized variables from the data to the bss section. 2007-03-17 05:30:03 +00:00
bsm
cam A silly buglet found by Coverity- check the return value from 2007-03-15 06:42:54 +00:00
coda Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
compat Add a pn_destroy field to pfs_node. This field points to a destructor 2007-03-12 12:16:52 +00:00
conf - Sysctl's move to seperate file 2007-03-15 11:27:14 +00:00
contrib Teach pfsync(4) that its member interfaces may go away. 2007-03-19 17:52:15 +00:00
crypto Initialize T1 to silent gcc warning. 2006-10-22 02:19:33 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev Revert couple of changes from 1.51 and 1.52. Reading link status with BMSR 2007-03-19 23:17:39 +00:00
fs Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
gdb
geom Warn when user use sectorsize bigger than the page size, which will lead 2007-03-05 12:41:44 +00:00
gnu Add "force" to ext2_ops, to match what was in the old mount_ext2fs binary. 2007-03-15 00:09:50 +00:00
i4b o break newbus api: add a new argument of type driver_filter_t to 2007-02-24 02:28:07 +00:00
i386 display two new Intel feature bits 2007-03-19 05:23:42 +00:00
ia64 Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
isa Partial fix for a bug in rev.1.231. If suspend/resume clobbers the 2007-03-05 09:10:17 +00:00
kern Maintain a pointer and offset pair into the socket buffer mbuf chain to 2007-03-19 18:35:13 +00:00
libkern
modules if_vlan no more depends on INET. 2007-03-19 17:34:31 +00:00
net Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
net80211 change ic_modecaps to a bit vector and use setbit, et. al. 2007-03-11 22:37:32 +00:00
netatalk Use privilege PRIV_NET_ADDIFADDR rather than suser() to authorize 2007-02-19 22:40:02 +00:00
netatm Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netgraph Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
netinet Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
netinet6 Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
netipsec s,#if INET6,#ifdef INET6, 2006-12-14 17:33:46 +00:00
netipx Build ipx_ip.c only if options IPXIP is defined. No functional change. 2007-02-26 11:55:34 +00:00
netkey
netnatm Factor out my copyrights + licenses from Charles D. Cranor and 2007-01-08 22:30:39 +00:00
netncp Use pause() rather than tsleep() on stack variables and function pointers. 2007-02-27 17:23:29 +00:00
netsmb Backing out the wrong fix which could possibly trash the memory if devfs 2007-02-09 17:22:10 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client Rename some functions and variables from nfs_* to nfs4_* to avoid 2007-01-25 14:33:13 +00:00
nfsclient Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
nfsserver - Turn all explicit giant acquires into conditional VFS_LOCK_GIANTs. 2007-03-17 18:18:08 +00:00
opencrypto
pc98 MFi386: revision 1.650 2007-03-18 03:25:40 +00:00
pccard
pci Add new ST201 PCI id. 2007-03-10 03:10:34 +00:00
powerpc Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
rpc
security Remove 'MPSAFE' annotations from the comments above most system calls: all 2007-03-04 22:36:48 +00:00
sparc64 Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
sun4v Push down the implementation of PCPU_LAZY_INC() into the machine-dependent 2007-03-11 05:54:29 +00:00
sys Space to tab in SB_* defines to match with rest of file. 2007-03-19 18:40:31 +00:00
tools - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in a 2007-03-02 11:42:56 +00:00
ufs When we write extended attributes, assert that the inode hasn't 2007-03-19 18:51:02 +00:00
vm Use PCPU_LAZY_INC() to update page fault statistics. 2007-03-05 18:55:14 +00:00
Makefile o Add cam to a list of cscope dirs. 2006-11-26 18:27:16 +00:00